@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap";:root{--background:#f3f0e7;--surface:#faf8f2;--surface-raised:#fffdf8;--text-primary:#18221b;--text-secondary:#667068;--border:#d9d7cc;--accent:#d75436;--forest:#163e2b;--lime:#c8e362;--success:#277d52;--danger:#b63632;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--shadow:0 24px 70px rgba(31,43,34,.12);font-family:DM Sans,sans-serif;color:var(--text-primary);background:var(--background);font-synthesis:none}:root[data-theme=dark]{--background:#121713;--surface:#19201b;--surface-raised:#212a23;--text-primary:#f2f0e8;--text-secondary:#a7b0a8;--border:#364139;--forest:#bcd5a9;--shadow:0 24px 70px #0008}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--background)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:76px;display:flex;align-items:center;padding:0 clamp(20px,5vw,76px);border-bottom:1px solid var(--border);position:relative;z-index:10}.brand{font-size:20px;font-weight:600;letter-spacing:-1px;display:flex}.brand i{font-family:Libre Caslon Display,serif;font-weight:400;color:var(--accent)}.topbar nav{display:flex;gap:28px;margin:auto}.topbar nav a{display:flex;gap:8px;align-items:center;color:var(--text-secondary);font-size:14px}.topbar nav a.active{color:var(--text-primary)}.header-actions{display:flex;gap:9px;align-items:center}.icon-button,.profile-button{height:38px;border:1px solid var(--border);border-radius:99px;background:transparent;display:flex;align-items:center;justify-content:center}.icon-button{width:38px}.profile-button{padding:0 15px;gap:7px;font-size:13px}.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:70px clamp(25px,7vw,110px);overflow:hidden}.hero-copy{max-width:610px}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:11px;font-weight:600;color:var(--accent)}h1,h2{font-family:Libre Caslon Display,serif;font-weight:400;margin:0}h1{font-size:clamp(55px,6.5vw,96px);line-height:.98;letter-spacing:-3px}.hero h1{margin:22px 0 28px}.hero h1 em,.manifesto em{color:var(--accent);font-weight:400}.hero-copy>p{font-size:18px;line-height:1.65;color:var(--text-secondary);max-width:570px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:36px}.button{border:0;padding:15px 21px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600}.button.primary{background:var(--forest);color:var(--surface)}[data-theme=dark] .button.primary{background:var(--accent);color:#fff}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:14px}.proof{display:flex;gap:15px;align-items:center;margin-top:65px}.avatars{display:flex}.avatars span{width:34px;height:34px;border-radius:50%;background:var(--forest);color:var(--surface);border:2px solid var(--background);display:grid;place-items:center;font-size:11px;margin-left:-8px}.avatars span:nth-child(2){background:var(--accent)}.avatars span:nth-child(3){background:#9a795f}.proof p{font-size:11px;line-height:1.5;color:var(--text-secondary)}.hero-visual{position:relative;min-height:570px;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,#d9e6b6 0,#e6e2ce 46%,transparent 68%);opacity:.85}.orbit{position:absolute;border:1px solid var(--border);border-radius:50%;transform:rotate(-18deg)}.orbit.one{width:570px;height:390px}.orbit.two{width:650px;height:480px;transform:rotate(28deg)}.dna-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow);position:relative;width:min(100%,760px)}.hero .dna-card{width:460px;transform:rotate(-2.5deg)}.dna-card-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:25px}.dna-card h2{font-family:DM Sans;font-size:24px;font-weight:600;letter-spacing:-1.5px;margin-top:8px}.dna-card h2 span,.dna-page h1 span{font-family:Libre Caslon Display;color:var(--accent);font-weight:400}.confidence{border-left:1px solid var(--border);padding-left:22px;display:flex;flex-direction:column}.confidence strong{font:32px Libre Caslon Display}.confidence span{font-size:10px;color:var(--text-secondary);text-transform:uppercase}.trait{margin:17px 0;animation:reveal .5s both;animation-delay:var(--delay)}.trait-meta{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}.trait-meta b{font:16px Libre Caslon Display;color:var(--accent)}.track{height:5px;background:var(--border);border-radius:99px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,var(--forest),#5b875a,var(--lime));border-radius:99px}.dna-note{font-size:12px;background:var(--background);padding:13px;border-radius:8px;color:var(--text-secondary);margin:26px 0 0}.dna-note span{color:var(--accent)}.floating-tag{position:absolute;background:var(--surface-raised);border:1px solid var(--border);box-shadow:0 12px 30px #25382b20;border-radius:99px;padding:11px 16px;font-size:11px}.floating-tag b{color:var(--success)}.tag-one{right:-4%;top:16%}.tag-two{left:-5%;bottom:18%}.manifesto{text-align:center;padding:120px 25px;background:var(--forest);color:var(--surface)}[data-theme=dark] .manifesto{background:#0c2b1d}.manifesto>span{font-size:10px;letter-spacing:3px;color:var(--lime)}.manifesto h2{font-size:clamp(38px,5vw,66px);line-height:1.08;margin:28px auto;max-width:950px}.manifesto p{max-width:680px;margin:auto;color:#c1cdc3;line-height:1.7}.steps{display:grid;grid-template-columns:repeat(3,1fr);padding:110px clamp(25px,8vw,130px);gap:1px;background:var(--border)}.steps article{background:var(--background);padding:15px 55px 45px;position:relative}.steps article>span{font:72px Libre Caslon Display;color:var(--border)}.steps svg{display:block;color:var(--accent);margin:35px 0 20px}.steps h3{font:28px Libre Caslon Display;margin:0}.steps p{color:var(--text-secondary);line-height:1.6;font-size:14px}.cta{margin:0;background:var(--accent);color:#fff;text-align:center;padding:100px 20px}.cta .eyebrow{color:#ffe2d8}.cta h2{font-size:clamp(45px,6vw,74px);line-height:1.05;margin:20px 0 35px}.button.light{background:#fff9ef;color:#293329}footer{height:110px;display:flex;align-items:center;padding:0 clamp(25px,7vw,110px);gap:30px;color:var(--text-secondary);font-size:12px}footer p:last-child{margin-left:auto}.brand.small{font-size:16px}.page{min-height:750px;padding:80px clamp(25px,8vw,130px)}.page-heading{margin-bottom:50px}.page-heading h1{font-size:clamp(50px,6vw,78px);margin:13px 0}.page-heading>p{color:var(--text-secondary)}.page-heading.row{display:flex;justify-content:space-between;align-items:end}.big-count{font:62px Libre Caslon Display;color:var(--accent);display:flex;flex-direction:column}.big-count small{font:10px DM Sans;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary)}.searchbar{height:68px;background:var(--surface-raised);border:1px solid var(--border);border-radius:99px;display:flex;align-items:center;padding:8px 9px 8px 24px;max-width:980px;box-shadow:0 12px 35px #2f3d3210}.searchbar input{flex:1;border:0;background:transparent;outline:0;padding:0 17px;color:var(--text-primary)}.searchbar button{border:0;border-radius:99px;background:var(--forest);color:var(--surface);padding:14px 25px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:55px 0 24px;font-size:13px;text-transform:uppercase;letter-spacing:1.5px}.section-title div{display:flex;gap:9px}.section-title svg{color:var(--accent)}.section-title p{color:var(--text-secondary);font-size:10px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 24px}.cover-wrap{aspect-ratio:2/3;background:#dedbcf;position:relative;overflow:hidden;border-radius:4px;box-shadow:0 13px 25px #1c2e2220}.cover-wrap img{width:100%;height:100%;object-fit:cover;transition:.35s}.book-card:hover img{transform:scale(1.025)}.cover-wrap button{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:#fffdf0dd;display:grid;place-items:center;color:#1b2b20}.cover-placeholder{height:100%;display:grid;place-items:center;padding:20px;text-align:center;background:linear-gradient(145deg,#2b4935,#b1563c);color:#fff;font:24px Libre Caslon Display}.book-info h3{font:20px Libre Caslon Display;margin:17px 0 5px}.book-info>p{font-size:12px;color:var(--text-secondary);margin:0}.book-meta{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:14px;padding-top:10px;color:var(--text-secondary);font-size:10px}.book-meta span{display:flex;gap:4px}.filter-tabs{display:flex;gap:7px;margin:-20px 0 45px;overflow:auto}.filter-tabs button{border:1px solid var(--border);background:transparent;color:var(--text-secondary);padding:9px 16px;border-radius:99px;white-space:nowrap}.filter-tabs .active{background:var(--forest);color:var(--surface)}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);padding:100px 20px;color:var(--text-secondary)}.empty svg{color:var(--accent)}.empty h2{font-size:33px;color:var(--text-primary);margin:18px}.dna-page{max-width:1050px;margin:auto}.dna-page .page-heading{text-align:center}.dna-page .dna-card{margin:auto}.dna-explain{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:25px}.dna-explain article{padding:25px;text-align:center;border-right:1px solid var(--border)}.dna-explain article:last-child{border:0}.dna-explain strong{display:block;font:32px Libre Caslon Display;color:var(--accent)}.dna-explain span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.auth-page{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr}.auth-intro{background:var(--forest);color:var(--surface);padding:12vh 8vw;display:flex;flex-direction:column;justify-content:center}.auth-intro h1{font-size:clamp(50px,6vw,84px);margin:24px 0}.auth-intro p{max-width:500px;line-height:1.7;color:#bdc9c0}.auth-card{padding:9vh 8vw;display:flex;flex-direction:column;justify-content:center;max-width:620px}.auth-card h2{font-size:38px;margin-bottom:35px}.auth-card label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px}.auth-card input{display:block;width:100%;margin-top:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);padding:14px;color:var(--text-primary);outline:0}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d7543620}.auth-card .button{margin-top:8px}.auth-card>p{text-align:center;font-size:12px;color:var(--text-secondary)}.auth-card a{text-decoration:underline}.error{color:var(--danger)!important;background:#b6363210;padding:10px;border-radius:6px}.discover{min-height:900px}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}}@media(max-width:900px){.topbar nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface-raised);height:64px;justify-content:space-around;z-index:20;border-top:1px solid var(--border)}.topbar nav a{flex-direction:column;gap:3px;font-size:9px}.profile-button{font-size:0;width:38px;padding:0}.hero{grid-template-columns:1fr;padding-top:70px}.hero-visual{min-height:520px}.steps{grid-template-columns:1fr}.book-grid{grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:1fr}.auth-intro{min-height:430px}.topbar{padding:0 20px}.app-shell{padding-bottom:64px}}@media(max-width:560px){h1{letter-spacing:-2px}.hero{padding:55px 20px}.hero-visual{min-height:420px}.hero .dna-card{width:95%;padding:22px}.orbit,.floating-tag{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.proof{margin-top:45px}.manifesto{padding:90px 20px}.steps{padding:50px 20px}.steps article{padding:20px}.page{padding:55px 20px}.book-grid{gap:27px 14px}.searchbar button{padding:13px;font-size:0}.searchbar button:after{content:"Go";font-size:13px}.auth-card{padding:60px 25px}.dna-explain article{padding:15px 5px}.dna-explain strong{font-size:24px}footer{display:none}}.collection-tabs{display:flex;gap:8px;margin:24px 0 0;overflow-x:auto;padding-bottom:5px}.collection-tabs button{white-space:nowrap;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);border-radius:99px;padding:9px 15px}.collection-tabs button.active{background:var(--forest);border-color:var(--forest);color:var(--surface)}.cover-wrap button.saved{background:var(--success);color:#fff}.load-more{display:flex;justify-content:center;padding:55px 0 10px}.save-toast{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:8px;background:var(--forest);color:#fff;padding:13px 18px;border-radius:99px;box-shadow:var(--shadow);font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.trait-toggle{width:100%;border:0;background:none;color:inherit;text-align:left;padding:0}.trait-meta small{color:var(--text-secondary);margin-left:5px}.trait-evidence{border-left:2px solid var(--accent);padding:8px 12px;margin-top:10px;font-size:11px}.trait-evidence p{margin:5px 0;color:var(--text-secondary)}.metric-explanation{text-align:center;color:var(--text-secondary);font-size:12px;line-height:1.6}.settings-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:30px;margin:20px 0}.settings-card h2{font:28px Libre Caslon Display}.settings-card label,.danger-zone label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:15px 0}.settings-card input,.settings-card select{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-primary)}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.account-actions{display:flex;gap:10px;margin-bottom:25px}.avatar-options{display:flex;gap:12px;margin-top:12px}.avatar{width:48px;height:48px;border-radius:50%;border:3px solid transparent;color:#fff}.avatar.selected{outline:3px solid var(--accent)}.avatar.forest{background:#274b35}.avatar.clay{background:#b35e44}.avatar.gold{background:#a27b20}.avatar.ocean{background:#316f8b}.avatar.plum{background:#714c72}.success{color:var(--success)}.remove-book{display:block;margin:18px auto 0;border:0;background:none;color:var(--danger);text-decoration:underline}.similar-link{border:0;background:none;color:var(--accent);padding:8px 0;text-decoration:underline}.recommendations-dialog{position:relative;background:var(--surface-raised);width:min(1100px,96vw);max-height:92vh;overflow:auto;padding:35px;border-radius:var(--radius-lg)}.recommendations-dialog h2{font-size:38px;margin:12px 40px 8px 0}.recommendations-dialog h3{font:26px Libre Caslon Display;margin-top:35px}.recommendation-basis{color:var(--text-secondary);font-size:12px}.mini-book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mini-book-grid>div>p{font-size:11px;color:var(--text-secondary)}@media(max-width:700px){.settings-grid,.mini-book-grid{grid-template-columns:1fr 1fr}.account-actions{flex-direction:column}}.status-pill{display:inline-block;margin-top:10px;padding:4px 8px;border-radius:99px;background:var(--border);font-size:9px;letter-spacing:.8px}.dnf-note{font-size:11px!important;line-height:1.5;margin-top:10px!important}.dialog-backdrop{position:fixed;inset:0;background:#08110ccc;z-index:50;display:grid;place-items:center;padding:20px}.reading-dialog{position:relative;background:var(--surface-raised);width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow)}.reading-dialog h2{font-size:32px;margin:10px 35px 4px 0}.reading-dialog>p{color:var(--text-secondary)}.dialog-close{position:absolute;right:18px;top:18px;border:0;background:transparent;color:var(--text-primary)}fieldset{border:0;padding:0;margin:25px 0}legend,.reading-dialog label{font-size:11px;text-transform:uppercase;letter-spacing:1px}.status-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.status-options button,.favourite-toggle{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:99px;padding:9px 13px}.status-options button.active,.favourite-toggle.active{background:var(--forest);color:var(--surface)}.reading-dialog select,.reading-dialog textarea,.account-page input{display:block;width:100%;margin:8px 0 18px;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-primary)}.reading-dialog label span,.reading-dialog label small{color:var(--text-secondary);text-transform:none}.reading-dialog label small{display:block;text-align:right}.favourite-toggle{display:flex;gap:8px;margin:0 0 20px}.slow-search{padding:12px 16px;background:#d7a83b20;border-radius:8px;margin:20px 0}.slow-search button,.error button{border:0;background:none;text-decoration:underline;color:inherit}.filter-tabs small{margin-left:4px}.legal-page,.account-page,.admin-page{max-width:1000px;margin:auto}.legal-page h1,.account-page h1,.admin-page h1{margin:15px 0 45px}.legal-page h2,.danger-zone h2,.admin-page h2{font:28px Libre Caslon Display;margin-top:35px}.legal-page p{line-height:1.75;color:var(--text-secondary)}.danger-zone{border:1px solid var(--danger);padding:30px;border-radius:var(--radius-md)}.danger-zone form{max-width:500px}.confirm-check{display:flex;gap:9px;margin:20px 0}.confirm-check input{width:auto;margin:0}.button.danger{background:var(--danger);color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-grid article{padding:25px;border:1px solid var(--border);border-radius:var(--radius-md)}.metric-grid strong{font:36px Libre Caslon Display;display:block;color:var(--accent)}.metric-grid span{text-transform:uppercase;font-size:10px;color:var(--text-secondary)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px;font-size:12px}@media(max-width:560px){.reading-dialog{padding:26px 20px}.metric-grid{grid-template-columns:1fr 1fr}}.brand-lockup,.brand-wordmark{display:inline-flex;align-items:center}.brand-lockup{gap:9px}.brand-marks{display:block;width:29px;height:39px;flex:none}.brand-mark{display:block;width:100%;height:100%}.brand-mark-dark,[data-theme=dark] .brand-mark-light{display:none}[data-theme=dark] .brand-mark-dark{display:block}.brand-lockup.small{gap:7px;font-size:16px}.brand-lockup.small .brand-marks{width:22px;height:30px}.collection-scroll{position:relative}.collection-tabs,.filter-tabs{scrollbar-width:none}.collection-tabs::-webkit-scrollbar,.filter-tabs::-webkit-scrollbar{display:none}.collection-tabs button,.filter-tabs button{flex:0 0 auto}.collection-scroll:after{content:"";position:absolute;right:0;top:24px;bottom:5px;width:45px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--background))}.collection-hint{display:none;color:var(--text-secondary);font-size:11px;text-align:right;margin:4px 0}.book-title-button{border:0;background:none;color:inherit;font:inherit;padding:0;text-align:left}.book-title-button:hover,.book-title-button:focus{text-decoration:underline;text-underline-offset:3px}.cover-wrap.viewable{cursor:pointer}.cover-wrap.viewable:focus{outline:3px solid var(--accent);outline-offset:3px}.dna-preview-note{color:var(--text-secondary);font-size:11px;line-height:1.5;margin:22px 0 0}.book-details-dialog{position:relative;background:var(--surface-raised);width:min(820px,100%);max-height:90vh;overflow:auto;border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow)}.book-details-layout{display:grid;grid-template-columns:220px 1fr;gap:35px}.book-details-layout>img,.book-details-layout>.cover-placeholder{width:220px;aspect-ratio:2/3;object-fit:cover;border-radius:5px}.book-details-layout h2{font-size:42px;margin:12px 35px 5px 0}.book-details-author,.book-details-note{color:var(--text-secondary)}.book-details-layout dl{display:flex;flex-wrap:wrap;gap:18px;margin:25px 0}.book-details-layout dl div{border-left:2px solid var(--accent);padding-left:10px}.book-details-layout dt{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.book-details-layout dd{margin:3px 0 0}.book-details-layout h3{font:23px Libre Caslon Display}.subject-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:25px}.subject-list span{font-size:10px;padding:6px 9px;border-radius:99px;background:var(--border)}.not-found{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.not-found h1{margin:20px 0}.not-found h1 em{color:var(--accent);font-weight:400}.not-found>p{color:var(--text-secondary);font-size:17px}.not-found>div{display:flex;gap:10px;margin-top:25px}.empty>h1{font-size:33px;letter-spacing:-1px;margin:18px}@media(max-width:560px){.auth-card input{font-size:16px}.collection-hint{display:block}.book-details-dialog{padding:28px 20px}.book-details-layout{grid-template-columns:1fr}.book-details-layout>img,.book-details-layout>.cover-placeholder{width:140px}.book-details-layout h2{font-size:33px}.not-found>div{flex-direction:column}}.stay-signed-in{display:flex;align-items:flex-start;gap:10px;text-transform:none!important;letter-spacing:0!important}.auth-card .stay-signed-in input{width:auto;margin:2px 0 0}.stay-signed-in span{font-size:13px}.stay-signed-in small{display:block;color:var(--text-secondary);margin-top:4px}.draft-restored{padding:9px 11px;border-radius:8px;background:#d7a83b20;color:var(--text-secondary)!important;font-size:12px}.dialog-actions{position:sticky;bottom:-34px;margin:18px -34px -34px;padding:14px 34px calc(14px + env(safe-area-inset-bottom));background:var(--surface-raised);border-top:1px solid var(--border);z-index:2}.dialog-actions>.button{width:100%;min-height:48px}.dialog-actions .error{margin:0 0 10px}.save-toast{position:fixed;right:20px;bottom:20px;z-index:80;padding:14px 18px;border-radius:10px;background:var(--forest);color:#fff;box-shadow:var(--shadow);font-size:13px}.save-toast button{border:0;background:none;color:inherit;padding:0;font-weight:600;text-decoration:underline;text-underline-offset:3px}.quick-status-dialog{position:relative;background:var(--surface-raised);width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow);outline:0}.quick-status-dialog h2{font-size:34px;line-height:1.08;margin:12px 38px 5px 0}.quick-status-author{margin:0;color:var(--text-secondary)}.quick-status-help{margin:25px 0 16px;padding-top:20px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:13px;line-height:1.55}.quick-status-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-status-options button{min-height:72px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:13px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary)}.quick-status-options button:hover:not(:disabled),.quick-status-options button:focus-visible{border-color:var(--forest);box-shadow:0 0 0 2px color-mix(in srgb,var(--forest) 16%,transparent);outline:0}.quick-status-options button.active{background:var(--forest);border-color:var(--forest);color:var(--surface)}.quick-status-options button.saving{border-color:var(--accent)}.quick-status-options button svg{grid-row:1 / span 2}.quick-status-options button span{font-weight:600}.quick-status-options button small{font-size:9px;text-transform:uppercase;letter-spacing:1px;opacity:.75}.quick-status-options button:disabled{cursor:wait;opacity:.7}.quick-status-error{margin:14px 0 0}.quick-status-footnote{margin:18px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.5}@media(max-width:700px){.topbar nav{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.icon-button,.profile-button,.cover-wrap>button,.filter-tabs button,.collection-tabs button{min-width:44px;min-height:44px}.page-heading h1{font-size:clamp(38px,12vw,52px);line-height:1.02}.page-heading{margin-bottom:30px}.page-heading.row{align-items:center}.big-count{font-size:44px}.dialog-backdrop{padding:0;align-items:end}.reading-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:22px 22px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));scroll-padding-bottom:100px}.reading-dialog h2{font-size:28px}.dialog-actions{bottom:calc(-20px - env(safe-area-inset-bottom));margin:18px -20px calc(-20px - env(safe-area-inset-bottom));padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.quick-status-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:22px 22px 0 0;padding:28px 20px calc(22px + env(safe-area-inset-bottom))}.quick-status-dialog h2{font-size:29px}.quick-status-options button{min-height:68px;padding:11px}.status-options button,.favourite-toggle{min-height:44px}.reading-dialog textarea{font-size:16px}.save-toast{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));text-align:center}.auth-intro{min-height:auto;padding:42px 25px 32px}.auth-intro h1{font-size:42px;margin:14px 0}.auth-intro p{margin-bottom:0}.auth-card{padding:38px 25px}.auth-card h2{margin-bottom:25px}}@media(max-width:380px){.book-grid{grid-template-columns:1fr}.book-card{max-width:280px;width:100%;margin-inline:auto}.searchbar{padding-left:14px}.searchbar input{min-width:0;padding-inline:10px}}@media(min-width:381px)and (max-width:900px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.results-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:25px}.results-toolbar .section-title{flex:1;margin:30px 0 0}.results-toolbar>label{display:flex;flex-direction:column;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.results-toolbar select{min-width:175px;padding:10px 34px 10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text-primary)}.sort-note,.sorting-status{font-size:11px;color:var(--text-secondary);text-align:right}.sorting-status{color:var(--accent)}@media(max-width:560px){.results-toolbar{align-items:stretch;flex-direction:column;gap:12px}.results-toolbar>label,.results-toolbar select{width:100%}.sort-note{text-align:left}}.booktok-intro{margin:1.25rem 0 1.75rem;padding:1.25rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 88%,#ff416c 12%),var(--surface))}.booktok-intro>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.booktok-intro p{max-width:54rem;margin:.35rem 0;color:var(--text-secondary)}.booktok-intro small{display:block;margin-top:1rem;color:var(--text-secondary)}.booktok-intro a{color:inherit;text-decoration:underline;text-underline-offset:3px}.booktok-categories{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.booktok-categories button{border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-primary);padding:.55rem .85rem;cursor:pointer}.booktok-categories button.active{background:var(--accent);border-color:var(--accent);color:var(--background)}.private-note{margin-top:.75rem;border-top:1px solid var(--border);padding-top:.65rem}.private-note summary{cursor:pointer;color:var(--text-secondary);font-size:.82rem}.private-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0 0;color:var(--text-primary);font-size:.88rem;line-height:1.5}.completion-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:25px 0 0;padding:18px 22px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.completion-summary strong{font:22px Libre Caslon Display;color:var(--accent)}.completion-summary span{font-size:11px;color:var(--text-secondary)}.dna-explain button{border:0;border-right:1px solid var(--border);background:transparent;color:inherit;padding:25px;cursor:pointer}.dna-explain button strong,.dna-explain button span{display:block}.dna-explain button small{display:block;margin-top:5px;color:var(--accent);font-size:10px}.classification-panel{margin-top:24px;padding:25px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.classification-panel h2{font-size:28px}.classification-panel>div>p{color:var(--text-secondary);font-size:12px}.classification-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.classification-list article{display:flex;gap:12px;border:1px solid var(--border);border-radius:10px;padding:15px}.classification-list article>svg{flex:0 0 auto;color:var(--success)}.classification-list article.needs-classification>svg{color:var(--accent)}.classification-list h3{font:18px Libre Caslon Display;margin:0}.classification-list p,.classification-list small{display:block;color:var(--text-secondary);font-size:10px;margin:4px 0;line-height:1.5}.classification-list span{display:inline-block;border-radius:99px;padding:3px 7px;background:#39835418;color:var(--success);font-size:9px;text-transform:uppercase;letter-spacing:.6px}.classification-list .needs-classification span{background:#d7543618;color:var(--accent)}.classification-list .partial-collection span{background:#b684181c;color:#b68418}.classification-list .duplicate-excluded span{background:var(--border);color:var(--text-secondary)}.classification-list .partial-collection>svg{color:#b68418}.classification-list .duplicate-excluded>svg{color:var(--text-secondary)}@media(max-width:700px){.completion-summary{align-items:flex-start;flex-direction:column}.classification-list{grid-template-columns:1fr}}.dna-guidance{margin:0 0 24px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);text-align:center}.dna-guidance h2{margin:0 0 8px;font-size:28px}.dna-guidance p{color:var(--text-secondary);line-height:1.6}.dna-guidance.warning{border-color:#b6841866;background:#b6841810}.spin{animation:dna-spin 1s linear infinite}@keyframes dna-spin{to{transform:rotate(360deg)}}.admin-lookup{display:flex;gap:10px;max-width:620px;margin:18px 0}.admin-lookup input{flex:1;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);color:var(--text-primary);padding:12px}.admin-lookup .button{margin:0}@media(max-width:560px){.admin-lookup{flex-direction:column}}
