
.book-shell{max-width:1500px;margin:0 auto;padding:18px}.book-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin:18px 0}.book-head h1{margin:.25rem 0}.book-meta{display:flex;gap:8px;flex-wrap:wrap}.book-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px}.book-side{position:sticky;top:78px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;border:1px solid var(--line,#d8dce4);border-radius:16px;padding:14px;background:var(--card,#fff)}.book-side a{display:block;padding:8px 9px;border-radius:9px;text-decoration:none}.book-side a:hover,.book-side a:focus{background:rgba(200,169,81,.16)}.book-frame-wrap{height:calc(100vh - 150px);min-height:640px;border:1px solid var(--line,#d8dce4);border-radius:16px;overflow:hidden;background:#e9edf3}.book-frame{width:100%;height:100%;border:0;background:#fff}.book-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.book-note{font-size:.9rem;opacity:.8}.resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.resources-card{border:1px solid var(--line,#d8dce4);border-radius:16px;padding:16px;background:var(--card,#fff)}@media(max-width:900px){.book-grid{grid-template-columns:1fr}.book-side{position:static;max-height:none}.book-frame-wrap{height:78vh;min-height:520px}.book-head{grid-template-columns:1fr}}
