.books-page .site-header{margin-bottom:55px}.shelf-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.shelf-intro h1{font-size:clamp(42px,5vw,64px)}.shelf-intro p:not(.eyebrow){color:var(--muted);margin-top:20px;max-width:48ch}.shelf-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.shelf-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:35px;color:var(--muted);font-size:13px}.shelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.book-cover{position:relative;display:flex;flex-direction:column;min-height:320px;padding:29px 25px 28px 35px;border:1px solid #0002;border-left:7px solid #0002;border-radius:5px 18px 18px 5px;background:hsl(var(--book-hue) 19% 34%);color:#f0e4d3;text-decoration:none;box-shadow:7px 7px 0 -3px var(--panel),7px 7px 0 -2px var(--line),0 14px 30px var(--shadow)}.book-cover:hover{transform:translateY(-5px)}.book-number{font:italic 14px var(--serif);opacity:.8}.book-cover h2{font:29px/1.3 var(--serif);margin:auto 0;overflow-wrap:anywhere;letter-spacing:-.02em}.book-cover-line{width:40px;height:1px;background:currentColor;opacity:.5;margin-bottom:18px}.book-cover-tag{font-size:8px;letter-spacing:.15em}.book-card-info{padding:22px 0 0}.book-card-info>p{font-size:13px;color:var(--muted)}.book-card-info .book-date{font-size:11px;margin-top:4px}.book-card-actions{display:flex;gap:8px;margin-top:15px}.book-card-actions .quiet-button{font-size:12px;min-height:44px;padding:10px 14px}.shelf-empty{padding:65px 30px;text-align:center;border:1px dashed var(--line);border-radius:22px;background:var(--panel)}.shelf-empty h2{font-size:36px}.shelf-empty p{max-width:42ch;margin:18px auto 27px;color:var(--muted)}.shelf-empty .button{width:auto}.shelf-footer{margin:65px auto 30px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}.shelf-footer p{max-width:65ch}.shelf-footer a{white-space:nowrap}.shelf-status{color:var(--muted);font-size:14px;margin:15px 0}.shelf-status:empty{display:none}.book-dialog{width:min(490px,calc(100% - 32px));border:1px solid var(--line);border-radius:22px;padding:32px;background:var(--panel);color:var(--ink);box-shadow:0 30px 100px #0004}.book-dialog::backdrop{background:#17121988;backdrop-filter:blur(4px)}.book-dialog h2{font-size:33px;margin-bottom:25px}.book-dialog label{display:grid;gap:9px;font-size:14px}.book-dialog input,.project-form input,.project-form select,.project-form textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px}.book-dialog input{min-height:52px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.dialog-actions .button{min-height:48px;padding:12px 18px}.form-error{font-size:13px;color:var(--accent);margin-top:15px}.form-error:empty{display:none}.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 18px;margin-bottom:18px;background:var(--soft);border:1px solid var(--line);border-radius:14px}.book-toolbar a,.book-toolbar button{font-size:12px}.book-switch-control{display:flex;align-items:center;gap:10px;flex:1;min-width:180px;max-width:500px;font-size:12px}.book-switch-control select{min-width:0;max-width:100%;flex:1;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);font-size:14px}.book-save-status{font-size:11px;color:var(--muted);max-width:360px}.book-save-status[data-state=error]{font-size:13px;color:var(--accent)}.is-focused .book-toolbar{background:transparent;border:0;padding-block:4px;justify-content:center}.is-focused .book-toolbar>.book-switch-control,.is-focused .book-toolbar>a{display:none}.is-focused .book-toolbar>button{display:none}.project-form{display:grid;gap:16px;background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:16px;margin-bottom:25px}.project-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.project-form textarea{min-height:100px}.project-empty{padding:38px;border:1px dashed var(--line);border-radius:18px;text-align:center;background:var(--panel)}.project-empty h3{font-size:28px;margin-bottom:13px}.project-empty p{font-size:14px;color:var(--muted);margin-bottom:22px}.project-add-row{display:flex;justify-content:flex-end;margin:-10px 0 22px}.book-notes{width:100%;min-height:420px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:25px;font:19px/1.9 var(--serif);resize:vertical}.book-loading{padding:40px;text-align:center;color:var(--muted)}[data-book-loading=true] .bw-shell{display:none}
@media(max-width:1050px){.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-intro{align-items:start;flex-direction:column}}
@media(max-width:750px){.shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.book-cover{min-height:280px}.shelf-footer{flex-direction:column;gap:16px}.shelf-meta{align-items:start;flex-direction:column;gap:12px}.book-toolbar{gap:10px}.book-save-status{flex-basis:100%}.book-switch-control{max-width:none;order:0;flex-basis:100%}}
@media(max-width:480px){.books-page .site-header{margin-bottom:35px}.shelf-grid{gap:25px 18px}.book-cover{min-height:240px;padding:20px 15px 20px 20px;border-left-width:5px}.book-cover h2{font-size:24px}.book-cover-tag{font-size:7px;letter-spacing:.07em}.book-card-actions{flex-wrap:wrap}.book-card-actions .quiet-button{padding:9px 12px;font-size:11px}.shelf-actions{width:100%}.shelf-actions .button{width:auto;flex:1}.shelf-actions .quiet-button{flex:1}.shelf-empty{padding:40px 20px}.book-dialog{padding:26px}.dialog-actions .button{width:auto}.book-toolbar{padding:12px}.project-form{padding:18px}.project-empty{padding:28px 20px}}
.book-cover{isolation:isolate;background:linear-gradient(90deg,#0003 0,#ffffff08 9px,#0002 13px,transparent 23px),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px),hsl(var(--book-hue) 19% 34%);border-radius:4px 11px 11px 4px;box-shadow:8px 8px 0 -1px #d0c2aa,9px 9px 0 0 hsl(var(--book-hue) 19% 22%),0 18px 26px #0002;transition:transform .2s ease,box-shadow .2s ease}.book-cover::before{content:"";position:absolute;inset:19px 17px 19px 26px;border:1px solid #dfceb551;border-radius:2px 5px 5px 2px;z-index:-1}.book-cover::after{content:"";position:absolute;top:12px;bottom:0;right:-8px;width:6px;border-radius:0 5px 3px 0;background:repeating-linear-gradient(0deg,#c4b59d 0 1px,#e4d9c6 1px 3px);transform:skewY(35deg);z-index:-2}.book-cover h2{padding:8px 3px;text-shadow:0 1px #0003}.book-cover:hover{transform:translateY(-6px) rotate(-1deg)}#book-workspace-maps-preview[data-book-loading=true] .bw-shell{display:none!important}.book-dialog{margin:auto}.book-cover:focus-visible{outline:3px solid var(--accent);outline-offset:12px}@media(prefers-reduced-motion:reduce){.book-cover{transition:none}.book-cover:hover{transform:none}}
.book-portal{position:fixed;inset:0;z-index:10000;perspective:1500px;isolation:isolate;overflow:hidden}.book-portal:before{content:"";position:absolute;inset:0;background:var(--paper);animation:veil-portal-shade 1.2s ease both}.book-flight{position:absolute;transform-style:preserve-3d;transform-origin:center;animation:veil-book-dive 1.2s cubic-bezier(.35,0,.25,1) both;will-change:transform}.portal-front.book-cover{position:absolute;inset:0;width:100%;height:100%;min-height:0;transform-origin:left center;animation:veil-book-open 1.2s cubic-bezier(.3,0,.2,1) both;backface-visibility:hidden;pointer-events:none}.portal-page{position:absolute;inset:0;border-radius:4px 12px 12px 4px;padding:30px 25px 25px 35px;background:var(--panel);color:var(--ink);box-shadow:inset 12px 0 18px #0001,5px 5px 0 -1px var(--soft),0 16px 40px #0002;display:flex;flex-direction:column;justify-content:center;gap:25px;border:1px solid var(--line);overflow:hidden}.portal-page>span{font-size:8px;letter-spacing:.18em;color:var(--muted)}.portal-page>h2{font:29px/1.3 var(--serif);overflow-wrap:anywhere}.portal-lines{display:grid;gap:10px}.portal-lines i{height:1px;background:var(--line)}.portal-lines i:last-child{width:65%}.portal-status{position:absolute;left:20px;right:20px;top:30px;text-align:center;z-index:2;font-size:13px;color:var(--muted);animation:veil-portal-label 1.2s linear both}.portal-skip{position:absolute;right:20px;bottom:20px;z-index:3;font-size:12px;background:var(--panel)}.book-arrival .bw-shell{animation:veil-book-arrival .32s ease-out both}@keyframes veil-portal-shade{0%{opacity:0}35%,100%{opacity:1}}@keyframes veil-portal-label{0%,65%{opacity:1}100%{opacity:0}}@keyframes veil-book-dive{0%{transform:translate3d(0,0,0) scale(1)}35%,62%{transform:translate3d(var(--travel-x),var(--travel-y),0) scale(var(--mid-scale))}100%{transform:translate3d(var(--travel-x),var(--travel-y),0) scale(var(--end-scale))}}@keyframes veil-book-open{0%,24%{transform:rotateY(0deg)}63%,100%{transform:rotateY(-155deg)}}@keyframes veil-book-arrival{from{opacity:.2;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.book-portal{display:none}.book-arrival .bw-shell{animation:none}}
