:root{color:#fff4f8;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#252328;--chrome:#1d1820;--surface:#343037;--raised:#4a4048;--line:#ffddef2b;--text:#fff4f8;--muted:#d0bbc9;--acid:#ffabd1;--coral:#ffc389;--aqua:#a5dbca;--danger:#ffaaa5;background:#252328;font-family:Outfit,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,.fallback-photo:focus-within{outline:2px solid var(--acid);outline-offset:3px}img{max-width:100%}h1,h2,h3,p{letter-spacing:0;margin-top:0}svg{flex:none}.eyebrow{color:var(--aqua);letter-spacing:1.4px;text-transform:uppercase;margin:0;font-size:10px;font-weight:700;line-height:1.3}.app-shell{background:var(--bg);grid-template-rows:93px minmax(0,1fr);grid-template-columns:minmax(265px,315px) minmax(0,1fr);min-height:100dvh;display:grid}.app-header{border-bottom:1px solid var(--line);background:var(--chrome);grid-area:1/1;min-width:0;padding:16px 20px 13px 30px}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--acid);color:#2a1928;flex:none;place-items:center;width:39px;height:42px;font:500 29px/.9 Instrument Serif,serif;display:grid;position:relative}.brand-mark small{font:700 7px/.8 Outfit,sans-serif;position:absolute;bottom:4px;right:4px}.brand-copy{min-width:0}.brand-copy .eyebrow{color:var(--coral);letter-spacing:.6px;white-space:nowrap;font-size:8px}.brand-copy h1{white-space:nowrap;margin:2px 0 0;font:400 25px/1 Instrument Serif,serif}.brand-deck{display:none}.header-rail{align-items:center;gap:9px;margin:7px 0 0 49px;display:flex}.goal-total{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:3px;display:flex}.goal-total strong{font-size:12px;font-weight:700}.goal-total span{color:var(--muted);font-size:10px}.header-rail p{display:none}.progress-track{background:#584659;flex:1;max-width:110px;height:3px;overflow:hidden}.progress-track span{background:var(--acid);min-width:2px;height:100%;display:block}.topbar{border-bottom:1px solid var(--line);background:var(--chrome);grid-area:1/2;justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(22px,4vw,68px) 0 10px;display:flex}.app-tabs{align-items:center;gap:8px;height:100%;display:flex}.app-tabs button{height:100%;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;padding:0 17px;font-size:13px;font-weight:600;display:flex}.app-tabs button:hover{color:var(--text)}.app-tabs button.is-active{color:var(--text);border-color:var(--acid)}.app-tabs button.is-active svg{color:var(--acid)}.session-actions{color:var(--muted);white-space:nowrap;align-items:center;gap:13px;font-size:11px;display:flex}.session-actions>span{border:1px solid var(--line);color:var(--aqua);text-transform:uppercase;padding:5px 8px;font-size:9px;font-weight:700}.session-actions button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:11px;display:flex}.session-actions button:hover{color:var(--text)}.books-view,.activity-view,.admin-view{grid-area:2/1/auto/-1;width:100%;min-width:0;max-width:1530px;margin:0 auto;padding:38px clamp(24px,5vw,82px) 78px}.catalog-panel,.activity-panel,.admin-add-panel{min-width:0}.panel-heading{justify-content:space-between;align-items:end;gap:16px;margin:0 0 26px;display:flex}.panel-heading h2{margin:7px 0 0;font-size:clamp(34px,3vw,48px);font-weight:600;line-height:1.05}.panel-heading h3{margin:7px 0 0;font-size:25px;font-weight:600;line-height:1.12}.catalog-count{border:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;padding:8px 11px;font-size:11px}.notice{color:#e5f5df;border-left:3px solid var(--acid);background:#2d4438;align-items:center;gap:8px;padding:12px 15px;font-size:13px;display:flex}.notice.is-error{color:#ffe7e6;border-left-color:var(--coral);background:#493135}.global-notice{z-index:60;max-width:min(400px,100vw - 36px);position:fixed;top:16px;right:18px;box-shadow:0 20px 45px #0008}.library-toolbar{grid-template-columns:minmax(190px,1fr) minmax(145px,186px) minmax(145px,186px);gap:9px;margin-bottom:16px;display:grid}.shelf-search,.library-toolbar label{border:1px solid var(--line);min-width:0;height:49px;color:var(--muted);background:var(--surface);align-items:center;gap:10px;padding:0 13px;display:flex}.shelf-search{color:#38283a;background:#fff5f8;border-color:#f5dce8}.shelf-search:focus-within,.library-toolbar label:focus-within{outline:2px solid var(--acid);outline-offset:2px}.shelf-search input,.library-toolbar select{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.shelf-search input{color:#38283a}.shelf-search input::placeholder{color:#856f80}.library-toolbar select{color:var(--text);appearance:none}.library-toolbar select option,.form-grid select option{color:#38283a;background:#fff5f8}.genre-row{scrollbar-width:thin;scrollbar-color:#66716a transparent;border-bottom:1px solid var(--line);align-items:center;gap:5px;margin-bottom:22px;padding-bottom:17px;display:flex;overflow-x:auto}.genre-row button{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:600;display:flex}.genre-row button:hover{color:var(--text);background:var(--surface)}.genre-row button.is-active{color:#2a1928;background:var(--acid)}.genre-row button strong{opacity:.7;font-variant-numeric:tabular-nums;font-size:10px}.genre-empty{color:var(--muted);font-size:12px}.book-grid,.loading-shelf{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 20px;display:grid}.book-card{cursor:pointer;background:0 0;min-width:0;position:relative}.book-card>.cover{aspect-ratio:3/4;border:1px solid var(--line);background:#3b2f3f;justify-content:center;align-items:center;width:100%;padding:12px;transition:border-color .2s,transform .2s,background .2s;display:flex;overflow:hidden}.book-card:hover>.cover,.book-card:focus-visible>.cover{border-color:var(--book-accent,var(--acid));background:#4b3b4d;transform:translateY(-3px)}.book-card>.cover img{object-fit:contain;filter:drop-shadow(0 9px 9px #0005);width:100%;height:100%}.cover-fallback{color:var(--acid)}.cover-fallback span{font:400 76px/1 Instrument Serif,serif}.book-body{min-width:0;padding:12px 0 6px}.book-kicker{text-transform:uppercase;color:color-mix(in srgb, var(--book-accent,var(--aqua)) 52%, white);flex-wrap:wrap;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.book-kicker span+span{color:var(--muted);font-weight:500}.book-kicker span+span:before{content:"·";margin-right:6px}.book-card h3{overflow-wrap:anywhere;margin:8px 0 5px;font:400 23px/1.06 Instrument Serif,serif}.book-card p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 9px;font-size:12px;line-height:1.35}.book-meta{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.book-status{color:var(--text)}.book-status:before{content:"";background:var(--acid);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.book-rating{color:var(--acid);align-items:center;gap:6px;margin-top:8px;font-size:10px;display:flex}.book-rating>div{gap:1px;display:flex}.book-rating.is-unrated{color:#707d78}.book-action-cue{color:#171d19;background:var(--acid);opacity:0;place-items:center;width:28px;height:28px;transition:opacity .2s,transform .2s;display:grid;position:absolute;top:10px;right:10px;transform:translateY(5px)}.book-card:hover .book-action-cue,.book-card:focus-visible .book-action-cue{opacity:1;transform:none}.loading-copy{color:var(--muted);grid-column:1/-1;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.loading-copy svg,.photo-status.is-reading svg{animation:1.2s linear infinite spin}.book-skeleton{min-height:325px}.book-skeleton>span{aspect-ratio:3/4;background:var(--surface);animation:1s ease-in-out infinite alternate pulse;display:block}.book-skeleton div{padding-top:14px}.book-skeleton b,.book-skeleton small{background:var(--surface);width:80%;height:10px;margin:9px 0;animation:1s ease-in-out infinite alternate pulse;display:block}.book-skeleton b+b{width:60%}.book-skeleton small{width:35%}.empty-shelf{border-top:1px solid var(--line);text-align:center;min-height:270px;color:var(--muted);place-items:center;padding:24px;display:grid}.empty-shelf h2{color:var(--text);margin:10px 0 2px;font:400 29px Instrument Serif,serif}.empty-shelf p{font-size:13px}.empty-shelf button{border:1px solid var(--acid);color:var(--acid);background:0 0;padding:10px 14px}.catalog-pagination{border-top:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:15px;margin-top:38px;padding-top:17px;font-size:12px;display:flex}.catalog-pagination>div{align-items:center;gap:10px;display:flex}.catalog-pagination button{border:1px solid var(--line);width:38px;height:38px;color:var(--text);background:var(--surface);place-items:center;display:grid}.activity-stats{border-bottom:1px solid var(--line);color:var(--muted);gap:24px;padding:7px 0 20px;font-size:12px;display:flex}.activity-stats strong{color:var(--acid);margin-right:4px;font-size:17px}.timeline{max-width:950px}.action-row{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:14px;padding:20px 0;display:grid}.action-icon{background:var(--raised);width:34px;height:34px;color:var(--aqua);place-items:center;display:grid}.action-row.is-deleted .action-icon{color:var(--coral)}.action-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-title-line strong{font-size:13px;font-weight:600}.action-title-line span{color:var(--aqua);text-transform:uppercase;font-size:10px}.action-row p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.action-row time{color:var(--muted);white-space:nowrap;font-size:11px}.action-skeleton{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:18px 0;display:flex}.action-skeleton>span{background:var(--raised);width:34px;height:34px}.action-skeleton b,.action-skeleton small{background:var(--raised);width:180px;height:10px;margin:6px;display:block}.action-skeleton small{width:130px}.empty-activity{text-align:center;color:var(--muted);padding:70px 20px}.empty-activity h2{color:var(--text);margin:12px 0 4px;font:400 30px Instrument Serif,serif}.empty-activity p{font-size:13px}.mobile-nav{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.45}}.admin-heading{margin-bottom:20px}.workflow-lane{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:920px;margin-bottom:28px;display:grid}.workflow-lane button{border:1px solid var(--line);background:var(--surface);min-width:0;height:57px;color:var(--muted);text-align:left;align-items:center;gap:10px;padding:0 16px;display:flex}.workflow-lane button:hover{border-color:var(--aqua);color:var(--text)}.workflow-lane button.is-active{background:var(--acid);color:#2a1928;border-color:var(--acid)}.workflow-lane button span{opacity:.7;font-size:9px;font-weight:700}.workflow-lane button strong{white-space:nowrap;font-size:12px}.admin-workspace{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:38px;display:grid}.admin-add-panel{border-top:2px solid var(--acid);min-width:0;padding-top:20px}.admin-add-panel>.panel-heading{margin-bottom:17px}.admin-side-panel{border-top:1px solid var(--line);padding-top:22px}.admin-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:22px;display:flex}.admin-actions button{border:1px solid var(--line);background:var(--surface);min-height:37px;color:var(--text);align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.admin-actions button:hover{border-color:var(--acid)}.manage-list{padding-top:24px}.manage-list .eyebrow{margin-bottom:10px}.manage-row{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 30px 30px;align-items:center;gap:6px;padding:10px 0;display:grid}.manage-row .cover{background:var(--raised);place-items:center;width:34px;height:49px;display:grid}.manage-row .cover img{object-fit:contain;width:100%;height:100%}.manage-row .cover-fallback span{font-size:22px}.manage-row strong,.manage-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.manage-row strong{font-size:11px}.manage-row span{color:var(--muted);margin-top:3px;font-size:10px}.manage-row button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.manage-row button:hover{color:var(--acid)}.quiet-copy{color:var(--muted);font-size:12px}.primary-action,.ghost-action,.capture-action,.danger-action{white-space:nowrap;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s;display:inline-flex}.primary-action{background:var(--acid);border-color:var(--acid);color:#2a1928}.primary-action:hover:not(:disabled){background:#ffcae1}.ghost-action{background:var(--surface);border-color:var(--line);color:var(--text)}.ghost-action:hover:not(:disabled){border-color:var(--acid)}.capture-action{color:#17221c;background:var(--aqua);border-color:var(--aqua)}.danger-action{color:var(--danger);background:0 0;border-color:#765353}.danger-action:hover:not(:disabled){background:#543839}.lookup-bar{gap:8px;margin:0 0 17px;display:flex}.lookup-bar input,.isbn-entry input,.form-grid input,.form-grid select,.form-grid textarea,.gate-form input{border:1px solid var(--line);width:100%;min-width:0;height:45px;color:var(--text);background:var(--surface);border-radius:2px;outline:0;padding:0 12px}.lookup-bar input:focus,.isbn-entry input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.gate-form input:focus{border-color:var(--acid)}.lookup-bar input::placeholder,.isbn-entry input::placeholder,.form-grid input::placeholder,.form-grid textarea::placeholder{color:#96a29d}.lookup-results{gap:8px;display:grid}.lookup-result{border:1px solid var(--line);background:var(--surface);grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.lookup-result.is-verified{border-color:var(--aqua)}.lookup-result>.cover{background:var(--raised);place-items:center;width:45px;height:68px;display:grid}.lookup-result>.cover img{object-fit:contain;width:100%;height:100%}.lookup-result>.cover-fallback span{font-size:29px}.lookup-result>div:nth-child(2){min-width:0}.lookup-result strong{font-size:12px}.lookup-result p,.lookup-result small{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:11px;display:block}.result-title-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.result-actions{gap:5px;display:flex}.result-actions button{border:1px solid var(--line);min-height:36px;color:var(--text);background:var(--raised);align-items:center;gap:5px;padding:0 9px;font-size:11px;display:flex}.result-actions button:hover{border-color:var(--acid)}.source-tags{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.source-tags span{border:1px solid var(--line);color:var(--muted);padding:3px 6px;font-size:10px}.lookup-empty{text-align:center;border:1px dashed var(--line);color:var(--muted);padding:25px;font-size:12px}.lookup-empty h3{color:var(--text);margin:5px;font:400 24px Instrument Serif,serif}.lookup-confirmation{color:var(--acid);background:#493349;align-items:center;gap:7px;margin-bottom:10px;padding:10px 12px;font-size:12px;display:flex}.photo-flow{grid-template-columns:minmax(0,1fr) minmax(235px,290px);gap:18px;display:grid}.camera-stage,.scan-details{min-width:0}.camera-frame{aspect-ratio:4/3;border:1px solid var(--line);background:#0d1111;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%}.camera-placeholder{text-align:center;color:var(--acid);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:18px;display:flex;position:absolute;inset:0}.camera-placeholder strong{color:var(--text);font:400 25px Instrument Serif,serif}.camera-placeholder span{color:var(--muted);font-size:12px}.camera-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.camera-actions button{flex:1;padding:0 7px}.fallback-photo{min-height:44px;color:var(--acid);cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.fallback-photo input{opacity:0;width:1px;height:1px;position:absolute}.scan-details{border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:9px;padding:18px;display:flex}.photo-status{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.photo-status svg{vertical-align:middle;margin-right:5px}.isbn-entry{gap:8px;margin:5px 0;display:grid}.isbn-entry label{color:var(--muted);font-size:11px}.isbn-entry .primary-action{width:100%}.scan-details>.ghost-action{justify-content:flex-start;min-height:37px}.scan-book{gap:5px;margin:9px 0;display:grid}.scan-book strong{font:400 23px Instrument Serif,serif}.scan-book span,.scan-book small{color:var(--muted);font-size:12px}.scan-details>.cover{width:65px;height:96px}.scan-details>.cover img{object-fit:contain;width:100%;height:100%}.cover-review{border:1px solid var(--line);background:var(--surface);align-items:center;gap:16px;margin-bottom:17px;padding:11px;display:flex}.cover-review>.cover{background:var(--raised);flex:none;place-items:center;width:64px;height:88px;display:grid}.cover-review>.cover img{object-fit:contain;width:100%;height:100%}.cover-review>.cover-fallback span{font-size:36px}.cover-review>div:nth-child(2){min-width:0}.cover-review strong{font-size:12px}.cover-review .ghost-action{margin-top:9px}.cover-review .photo-status{margin-top:5px}.manual-form{width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-grid label{gap:6px;min-width:0;display:grid}.form-grid label>span,.rating-field>span{color:var(--muted);font-size:11px;font-weight:700}.form-grid .span-2{grid-column:1/-1}.form-grid select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none}.form-grid textarea{resize:vertical;min-height:84px;padding-top:11px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:17px;display:flex}.rating-field{gap:5px;display:grid}.rating-input{align-items:center;gap:1px;display:flex}.rating-input button{color:#707d78;background:0 0;border:0;place-items:center;width:33px;height:37px;padding:0;display:grid}.rating-input button.is-filled{color:var(--acid)}.rating-input .rating-clear{width:auto;color:var(--muted);padding:0 7px;font-size:11px}.draft-cover-preview{border:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:10px;display:flex}.draft-cover-preview .cover{background:var(--raised);place-items:center;width:48px;height:70px;display:grid}.draft-cover-preview img{object-fit:contain;width:100%;height:100%}.draft-cover-preview strong,.draft-cover-preview span{font-size:11px;display:block}.draft-cover-preview span{color:var(--muted)}.modal-backdrop{z-index:70;background:#080c0bd9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.book-modal{background:var(--surface);border:1px solid #59665c;width:min(1010px,100%);max-height:min(92dvh,960px);overflow:auto;box-shadow:0 28px 80px #0009}.modal-heading{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:start;gap:15px;padding:19px 24px 18px;display:flex;position:sticky;top:0}.modal-heading h2{overflow-wrap:anywhere;margin:7px 0 0;font:400 32px/1.05 Instrument Serif,serif}.modal-heading p:last-child{color:var(--muted);margin:5px 0 0;font-size:12px}.icon-action{width:37px;height:37px;color:var(--text);background:var(--raised);border:1px solid var(--line);flex:none;place-items:center;display:grid}.icon-action:hover{border-color:var(--acid)}.modal-editor-grid{grid-template-columns:235px minmax(0,1fr);display:grid}.modal-book-plate{border-right:1px solid var(--line);background:#291f2d;padding:22px}.modal-book-plate>.cover{background:var(--raised);place-items:center;height:285px;padding:11px;display:grid}.modal-book-plate>.cover img{object-fit:contain;width:100%;height:100%}.modal-book-plate>.cover-fallback span{font-size:76px}.modal-book-plate>div:nth-child(2){padding-top:17px}.modal-book-plate h3{overflow-wrap:anywhere;margin:6px 0;font:400 23px/1.08 Instrument Serif,serif}.modal-book-plate span{color:var(--muted);font-size:12px}.modal-chip-grid{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.modal-chip-grid span{border:1px solid var(--line);padding:5px 7px;font-size:10px}.cover-repair-actions{margin-top:18px}.cover-repair-actions .ghost-action{width:100%}.cover-repair-actions .photo-status{margin-top:8px}.modal-form-stack{min-width:0;padding:23px}.modal-danger{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.delete-confirmation{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.delete-confirmation>div{flex:1;min-width:140px}.delete-confirmation strong,.delete-confirmation span{display:block}.delete-confirmation strong{color:var(--danger);font-size:13px}.delete-confirmation span{color:var(--muted);margin-top:3px;font-size:11px}.book-detail-modal{width:min(745px,100%)}.book-detail-grid{grid-template-columns:205px minmax(0,1fr);gap:25px;padding:24px;display:grid}.book-detail-grid>.cover{background:var(--raised);place-items:center;height:285px;padding:11px;display:grid}.book-detail-grid>.cover img{object-fit:contain;width:100%;height:100%}.book-detail-grid>.cover-fallback span{font-size:70px}.book-detail-content{min-width:0}.book-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.book-detail-facts>div{border-bottom:1px solid var(--line);padding:10px 0}.book-detail-facts span,.book-detail-facts strong{display:block}.book-detail-facts span{color:var(--muted);text-transform:uppercase;font-size:10px}.book-detail-facts strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px}.book-detail-notes{color:#dce4db;margin-top:17px;font:400 19px/1.4 Instrument Serif,serif}.login-shell{background:var(--bg);place-items:center;min-height:100dvh;padding:25px;display:grid}.login-experience{border:1px solid var(--line);grid-template-columns:1fr 405px;width:min(980px,100%);min-height:565px;display:grid;box-shadow:0 22px 65px #0007}.login-identity{background:#482d48;flex-direction:column;align-items:flex-start;padding:40px;display:flex;position:relative;overflow:hidden}.login-identity .brand-mark{width:52px;height:56px;margin-bottom:auto;font-size:39px}.login-identity .brand-mark small{font-size:7px}.login-identity .eyebrow{color:var(--aqua);margin-bottom:14px}.login-identity h1{margin:0;font:400 80px/.86 Instrument Serif,serif}.login-deck{color:#f7d8e8;max-width:310px;margin:22px 0 0;font:400 21px/1.3 Instrument Serif,serif}.login-card{color:#38283a;background:#fff2f6;flex-direction:column;justify-content:center;padding:70px 37px 40px;display:flex}.login-card .eyebrow{color:#765270}.login-card h2{margin:13px 0 12px;font:400 46px/.95 Instrument Serif,serif}.login-card-copy{color:#6d586a;margin:0 0 25px;font-size:13px;line-height:1.5}.role-tabs{border:1px solid #cbaeba;grid-template-columns:1fr 1fr;margin-bottom:23px;display:grid}.role-tabs button{color:#6d586a;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;height:43px;font-size:12px;font-weight:700;display:flex}.role-tabs button+button{border-left:1px solid #cbaeba}.role-tabs button.is-active{color:#38283a;background:var(--acid)}.gate-form{gap:15px;display:grid}.gate-form label{color:#6d586a;gap:7px;font-size:11px;font-weight:700;display:grid}.gate-form input{color:#38283a;background:#fffafd;border-color:#cbaeba}.gate-form input:focus{border-color:#9b5e81}.gate-form .primary-action{color:#fff2f6;background:#482d48;border-color:#482d48;min-height:46px;margin-top:5px}.gate-form .primary-action:hover:not(:disabled){background:#684268}.gate-form .notice.is-error{font-size:12px}.loading-card .loading-copy{color:#4d6053}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.outline-action{border:1px solid var(--line);min-height:38px;color:var(--text);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.outline-action:hover{border-color:var(--acid);color:var(--acid)}.queued-meta,.queued-note,.book-link{align-items:center;gap:5px;display:inline-flex}.queued-meta{color:var(--acid)}.queued-note{color:var(--acid);font-size:12px}.book-link{width:fit-content;color:var(--aqua);text-underline-offset:3px;font-size:12px;font-weight:700}.book-link:hover{color:var(--text)}.queue-view,.reading-view{grid-area:2/1/auto/-1;width:100%;min-width:0;max-width:1530px;margin:0 auto;padding:38px clamp(24px,5vw,82px) 78px}.queue-layout,.reading-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:clamp(28px,4vw,65px);display:grid}.queue-main,.reading-main{min-width:0}.section-title{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin:20px 0 13px;display:flex}.section-title h3{margin:0;font:400 28px/1.1 Instrument Serif,serif}.section-title span{color:var(--muted);font-size:11px}.queue-picker{border-bottom:1px solid var(--line);padding:0 0 18px;position:relative}.queue-picker>label,.timer-picker>label{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.queue-picker .shelf-search,.timer-picker .shelf-search{height:46px}.queue-choices{z-index:8;border:1px solid var(--line);background:var(--surface);max-height:300px;position:absolute;top:calc(100% - 17px);left:0;right:0;overflow:auto;box-shadow:0 14px 30px #0006}.queue-choices button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:54px;color:var(--text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:15px;padding:8px 15px;display:flex}.queue-choices button:hover{background:var(--raised)}.queue-choices button span{min-width:0}.queue-choices strong,.queue-choices small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.queue-choices strong{font-size:12px}.queue-choices small{color:var(--muted);margin-top:3px}.queue-choices p{color:var(--muted);margin:0;padding:13px;font-size:12px}.queue-list{border-top:1px solid var(--line)}.queue-item{border-bottom:1px solid var(--line);grid-template-columns:33px 76px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 0;display:grid}.queue-number{color:var(--coral);align-self:start;padding-top:3px;font:400 24px/1 Instrument Serif,serif}.queue-position{align-self:start;justify-items:start;gap:8px;display:grid}.queue-position button{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--acid);place-items:center;padding:0;display:grid}.queue-position button:hover{border-color:var(--acid)}.queue-item>.cover{background:var(--raised);place-items:center;width:76px;height:106px;padding:5px;display:grid}.queue-item>.cover img{object-fit:contain;width:100%;height:100%}.queue-item>.cover-fallback span{font-size:45px}.queue-item-copy{min-width:0}.queue-item-copy h4,.recommendation-item h4{overflow-wrap:anywhere;margin:6px 0 3px;font:400 24px/1.05 Instrument Serif,serif}.queue-item-copy p,.recommendation-item p{color:var(--muted);margin:0 0 7px;font-size:12px}.queue-status{color:var(--aqua);text-transform:uppercase;font-size:10px;font-weight:700}.queue-item-actions{align-items:center;gap:6px;display:flex}.queue-item-actions .ghost-action,.queue-item-actions .primary-action{min-height:36px;padding:0 10px}.queue-item-actions .icon-action{width:36px;height:36px}.empty-queue{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:53px 20px}.empty-queue h3{color:var(--text);margin:12px 0 5px;font:400 30px/1.1 Instrument Serif,serif}.empty-queue p{margin:0;font-size:12px}.recommendation-panel,.achievement-panel{border-left:1px solid var(--line);min-width:0;padding:3px 0 0 24px}.recommendation-panel>.section-title,.achievement-panel>.section-title{margin:0 0 20px}.recommendation-panel>.section-title>svg,.achievement-panel>.section-title>svg{color:var(--acid)}.recommendation-list{gap:0;display:grid}.recommendation-item{border-top:1px solid var(--line);grid-template-columns:58px minmax(0,1fr);gap:13px;padding:12px 0;display:grid}.recommendation-item>div:last-child{min-width:0}.recommendation-cover{background:var(--raised);width:58px;height:80px;color:var(--acid);place-items:center;display:grid}.recommendation-cover img{object-fit:contain;width:100%;height:100%}.recommendation-item h4{margin:5px 0 3px;font-size:20px}.recommendation-item .eyebrow{letter-spacing:.6px;font-size:8px}.recommendation-item a{color:var(--acid);align-items:center;gap:4px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.recommendation-item a:hover{text-decoration:underline}.recommendation-source{border-top:1px solid var(--line);color:var(--muted);margin:20px 0 0;padding-top:12px;font-size:10px;line-height:1.4}.timer-panel{border-top:2px solid var(--acid);border-bottom:1px solid var(--line);padding:6px 0 28px}.timer-panel .section-title{margin-top:13px}.timer-panel .section-title>svg{color:var(--acid)}.timer-current h4{margin:4px 0 0;font:400 22px Instrument Serif,serif}.timer-picker{position:relative}.timer-book-choices{flex-wrap:wrap;gap:6px;max-height:180px;margin-top:10px;display:flex;overflow:auto}.timer-book-choices button{border:1px solid var(--line);max-width:100%;min-height:42px;color:var(--text);background:var(--surface);align-items:center;gap:6px;padding:3px 11px;font-size:11px;display:inline-flex}.timer-book-choices button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timer-book-choices button.is-selected{border-color:var(--acid);color:var(--acid)}.timer-selection{color:var(--aqua);align-items:center;gap:5px;margin:10px 0 0;font-size:11px;display:flex}.timer-face{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;padding:18px 0 12px;font:400 clamp(56px,7vw,100px)/1 Instrument Serif,serif}.timer-actions{flex-wrap:wrap;gap:8px;display:flex}.timer-panel .quiet-copy{margin:12px 0 0}.reading-metrics{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:23px 0 29px;display:grid}.reading-metrics div{background:var(--surface);min-width:0;padding:16px}.reading-metrics span{color:var(--muted);font-size:11px;display:block}.reading-metrics strong{color:var(--acid);margin-top:7px;font:400 31px/1 Instrument Serif,serif;display:block}.book-time-list,.reading-history{border-top:1px solid var(--line);margin-bottom:30px}.book-time-list>div,.reading-history>div{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:12px 0;font-size:12px;display:grid}.book-time-list>div{grid-template-columns:19px minmax(0,1fr) auto}.book-time-list svg{color:var(--aqua)}.book-time-list span,.reading-history strong{overflow-wrap:anywhere}.book-time-list strong{color:var(--acid)}.reading-history>div{grid-template-columns:86px minmax(0,1fr) auto}.reading-history span{color:var(--muted)}.achievement-list{border-top:1px solid var(--line)}.achievement{border-bottom:1px solid var(--line);opacity:.55;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 0;display:grid}.achievement.is-earned{opacity:1}.achievement-mark{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);place-items:center;display:grid}.achievement.is-earned .achievement-mark{color:#30202b;background:var(--coral);border-color:var(--coral)}.achievement strong,.achievement small{display:block}.achievement strong{font-size:12px}.achievement small{color:var(--muted);margin-top:3px;font-size:10px}.achievement-progress{color:var(--acid);font-size:10px}.isbn-check-modal{width:min(520px,100%);padding-bottom:22px}.isbn-check-modal>p{color:var(--muted);margin:20px 24px 14px;font-size:13px;line-height:1.5}.ownership-photo{border:1px solid var(--acid);background:var(--acid);color:#30202b;justify-content:center;min-height:52px;margin:0 24px 10px;display:flex}.isbn-check-entry{gap:8px;padding:0 24px;display:flex}.isbn-check-entry input{border:1px solid var(--line);background:var(--raised);min-width:0;height:43px;color:var(--text);flex:1;padding:0 12px}.ownership-result{border-left:3px solid var(--coral);background:var(--raised);align-items:flex-start;gap:12px;margin:15px 24px 0;padding:16px;display:flex}.ownership-result.is-owned{border-left-color:var(--aqua)}.ownership-result.is-wishlist{border-left-color:var(--acid)}.ownership-result>svg{color:var(--aqua);flex:none}.ownership-result strong{font-size:13px;display:block}.ownership-result p{color:var(--text);margin:5px 0;font-size:12px}.ownership-result small{color:var(--muted)}@media (width<=1250px){.app-shell{grid-template-columns:minmax(225px,260px) minmax(0,1fr)}.app-header{padding-left:20px}.topbar{padding-right:20px}.app-tabs{gap:0}.app-tabs button{padding:0 10px}.book-grid,.loading-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-workspace{grid-template-columns:minmax(0,1fr) 205px;gap:23px}.photo-flow{grid-template-columns:1fr}}@media (width<=900px){.app-shell{padding-bottom:calc(70px + env(safe-area-inset-bottom));display:block}.app-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 19px;display:flex}.brand-mark{width:35px;height:38px;font-size:25px}.brand-copy h1{font-size:23px}.brand-copy .eyebrow{font-size:8px}.header-rail{min-width:70px;margin:0;display:block}.goal-total{justify-content:flex-end}.goal-total strong{font-size:17px}.progress-track{max-width:none;margin-top:4px}.topbar{background:0 0;border:0;padding:0;display:block}.app-tabs{display:none}.session-actions{position:absolute;top:67px;right:19px}.session-actions>span{display:none}.session-actions button{padding:3px 0;font-size:10px}.books-view,.activity-view,.admin-view,.queue-view,.reading-view{width:100%;max-width:none;padding:36px 19px 30px;display:block}.queue-layout,.reading-layout{grid-template-columns:1fr;gap:35px}.recommendation-panel,.achievement-panel{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.book-grid,.loading-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-workspace{grid-template-columns:1fr}.admin-side-panel{margin-top:15px}.mobile-nav{z-index:50;border-top:1px solid var(--line);padding:5px 8px calc(6px + env(safe-area-inset-bottom));background:var(--chrome);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #0006}.mobile-nav button{min-width:0;height:51px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:700;display:flex}.mobile-nav button.is-active{color:var(--acid)}.mobile-nav button.is-active:before{content:"";background:var(--acid);width:43px;height:2px;position:absolute;top:0}}@media (width<=650px){.app-header{padding:12px 15px}.brand-copy .eyebrow{text-overflow:ellipsis;max-width:175px;overflow:hidden}.brand-copy h1{font-size:21px}.session-actions{top:61px;right:15px}.books-view,.activity-view,.admin-view,.queue-view,.reading-view{padding:37px 15px 27px}.panel-heading{flex-wrap:wrap;align-items:center;margin-bottom:18px}.heading-actions{justify-content:space-between;width:100%}.panel-heading h2{font-size:32px}.catalog-count{padding:7px 8px;font-size:10px}.library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:14px}.shelf-search{grid-column:1/-1}.library-toolbar label{height:43px;padding:0 10px}.library-toolbar select{font-size:12px}.genre-row{margin-bottom:14px;padding-bottom:13px}.book-grid,.loading-shelf{grid-template-columns:1fr;gap:0}.book-card{border-bottom:1px solid var(--line);grid-template-columns:79px minmax(0,1fr) 28px;align-items:stretch;min-height:129px;display:grid}.book-card>.cover{aspect-ratio:auto;background:var(--surface);border-color:#0000;align-self:center;width:79px;height:111px;padding:4px}.book-card>.cover img{filter:none}.book-card>.cover-fallback span{font-size:44px}.book-body{flex-direction:column;min-height:0;padding:13px 6px 11px 13px;display:flex}.book-kicker{font-size:9px}.book-card h3{margin:6px 0 3px;font-size:21px}.book-card p{margin:0 0 auto;font-size:11px}.book-meta{padding-top:5px;font-size:10px}.queued-meta{font-size:9px}.book-rating{margin-top:5px;font-size:9px}.book-rating svg{width:11px;height:11px}.book-action-cue{opacity:1;width:28px;height:auto;color:var(--muted);background:0 0;align-self:center;position:static;transform:none}.book-skeleton{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:129px;display:flex}.book-skeleton>span{aspect-ratio:auto;flex:none;width:79px;height:111px}.book-skeleton div{flex:1}.catalog-pagination{flex-wrap:wrap;align-items:flex-start}.catalog-pagination>div{margin-left:auto}.queue-item{grid-template-columns:23px 64px minmax(0,1fr);align-items:start;gap:9px}.queue-position button{width:23px;height:27px}.queue-item>.cover{width:64px;height:92px}.queue-item-copy h4{font-size:21px}.queue-item-actions{flex-wrap:nowrap;grid-column:1/-1;justify-content:flex-end}.queue-item-actions .primary-action,.queue-item-actions .ghost-action{min-height:34px;font-size:10px}.queue-item-actions .icon-action{width:34px;height:34px}.reading-metrics div{padding:12px 8px}.reading-metrics span{font-size:9px}.reading-metrics strong{font-size:25px}.timer-face{font-size:clamp(45px,12vw,68px)}.isbn-check-modal{border-radius:7px 7px 0 0}.activity-stats{gap:15px}.action-row{grid-template-columns:32px minmax(0,1fr);gap:10px}.action-row time{grid-column:2}.workflow-lane{gap:5px}.workflow-lane button{flex-direction:column;justify-content:center;gap:3px;height:57px;padding:0 7px}.workflow-lane button svg{width:17px;height:17px}.workflow-lane button span{display:none}.workflow-lane button strong{font-size:11px}.admin-add-panel>.panel-heading h3{font-size:23px}.photo-flow{grid-template-columns:1fr}.camera-stage{flex-direction:column;display:flex}.fallback-photo{color:#30202b;background:var(--acid);border:1px solid var(--acid);order:0;justify-content:center;min-height:48px;margin:0 0 8px}.camera-frame{aspect-ratio:auto;order:1;height:150px}.camera-frame:not(.is-live){display:none}.camera-actions{order:2;margin-top:7px}.camera-stage:has(.camera-frame:not(.is-live)) .capture-action{display:none}.camera-stage:has(.camera-frame:not(.is-live)) .camera-actions .ghost-action{display:none}.camera-stage:has(.camera-frame:not(.is-live)) .camera-actions .primary-action{width:100%}.camera-actions .primary-action{color:var(--text);background:var(--surface);border-color:var(--line)}.scan-details{padding:15px}.lookup-bar{flex-direction:column}.lookup-bar .primary-action{width:100%}.lookup-result{grid-template-columns:42px minmax(0,1fr);gap:9px}.lookup-result>.cover{width:42px;height:63px}.result-actions{grid-column:2}.result-actions button{min-height:34px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.form-grid label>span{font-size:10px}.form-grid input,.form-grid select{font-size:13px}.form-actions button{flex:1}.modal-backdrop{align-items:flex-end;padding:0}.book-modal{border-bottom:0;border-radius:7px 7px 0 0;width:100%;max-height:94dvh}.modal-heading{padding:16px}.modal-heading h2{font-size:26px}.modal-editor-grid{flex-direction:column;display:flex}.modal-book-plate{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:69px minmax(0,1fr);gap:8px 14px;padding:13px 16px;display:grid}.modal-book-plate>.cover{grid-row:span 2;width:69px;height:100px;padding:5px}.modal-book-plate>.cover-fallback span{font-size:40px}.modal-book-plate>div:nth-child(2){padding:0}.modal-book-plate h3{margin:4px 0;font-size:21px}.modal-chip-grid{margin:0}.cover-repair-actions{grid-column:1/-1;margin:0}.cover-repair-actions .ghost-action{width:auto;min-height:36px}.modal-form-stack{padding:16px}.book-detail-grid{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px}.book-detail-grid>.cover{height:133px;padding:4px}.book-detail-grid>.cover-fallback span{font-size:40px}.book-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 9px}.book-detail-facts strong{font-size:11px}.login-shell{padding:0;display:block}.login-experience{border:0;min-height:100dvh;display:block}.login-identity{height:250px;padding:22px 24px 18px}.login-identity .brand-mark{width:37px;height:41px;margin-bottom:auto;font-size:28px}.login-identity .eyebrow{margin-bottom:8px;font-size:9px}.login-identity h1{font-size:56px}.login-deck{display:none}.login-card{justify-content:flex-start;min-height:calc(100dvh - 250px);padding:29px 24px 45px}.login-card h2{font-size:38px}.login-card-copy{margin-bottom:19px}.ownership-photo{margin:0 16px 10px}.isbn-check-modal>p{margin:17px 16px 14px}.isbn-check-entry{padding:0 16px}.ownership-result{margin:15px 16px 0}.global-notice{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));max-width:none;left:15px;right:15px}}@media (width<=380px){.brand-copy .eyebrow{max-width:130px}.brand-copy h1{font-size:19px}.catalog-count{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:1}.mobile-nav{padding-left:2px;padding-right:2px}.mobile-nav button{font-size:9px}.mobile-nav svg{width:18px;height:18px}.reading-history>div{grid-template-columns:65px minmax(0,1fr) auto;gap:6px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
