@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-vietnamese-wght-normal-DKRsWTd7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-latin-ext-wght-normal-Cvgdx4cy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/familjen-grotesk-latin-wght-normal-CfZa4wxB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-normal-DIwfbPUE.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-normal-C0olyEE-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-normal-DrHU7SY7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-normal-DX68cEVD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-normal-HoL-AExg.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-italic-Bl6DJqma.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-italic-Dibx14aP.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-italic-CMW9dfKg.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-italic-Hh3oeMt5.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-italic-BhUEwDRF.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-italic-BOLXpvkj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#eff3f1;--surface:#fbfcfb;--surface-2:#e4ebe8;--fg:#172321;--muted:#55655f;--line:#cfdad5;--edge:#7a8b85;--accent:#0e5a57;--accent-fg:#fff;--reader-a:var(--reader-a-light,#2a55c7);--reader-b:var(--reader-b-light,#a3366f);--reader-c:var(--reader-c-light,#1f7a4a);--reader-d:var(--reader-d-light,#b8561a);--good:#1f7a4a;--warn:#9a6200;--cover-l:32%;--r-sm:6px;--r-md:8px;--r-lg:12px;--font-ui:"Familjen Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-title:"Source Serif 4 Variable", Georgia, "Times New Roman", serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1816;--surface:#17231f;--surface-2:#1f2f2a;--fg:#e6efeb;--muted:#9bb0a8;--line:#2b3d37;--edge:#667d74;--accent:#4fc2b8;--accent-fg:#07211f;--reader-a:var(--reader-a-dark,#86a6ff);--reader-b:var(--reader-b-dark,#ee8bbd);--reader-c:var(--reader-c-dark,#5fd39a);--reader-d:var(--reader-d-dark,#f5a46b);--good:#5fd39a;--warn:#e8b34f;--cover-l:27%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1816;--surface:#17231f;--surface-2:#1f2f2a;--fg:#e6efeb;--muted:#9bb0a8;--line:#2b3d37;--edge:#667d74;--accent:#4fc2b8;--accent-fg:#07211f;--reader-a:var(--reader-a-dark,#86a6ff);--reader-b:var(--reader-b-dark,#ee8bbd);--reader-c:var(--reader-c-dark,#5fd39a);--reader-d:var(--reader-d-dark,#f5a46b);--good:#5fd39a;--warn:#e8b34f;--cover-l:27%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font-ui);padding-inline:max(16px, env(safe-area-inset-left,0px)) max(16px, env(safe-area-inset-right,0px));padding-block:0 48px;font-size:15px;line-height:1.45}.wrap{max-width:980px;margin:0 auto}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}header.top{z-index:5;background:var(--bg);padding-block:calc(16px + env(safe-area-inset-top,0px)) 12px;border-bottom:1px solid var(--line);position:sticky;top:0}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}h1{font-family:var(--font-title);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:600}.tabs{background:var(--surface-2);border-radius:var(--r-lg);gap:4px;padding:4px;display:flex}.tab{border-radius:var(--r-md);cursor:pointer;color:var(--muted);background:0 0;border:0;padding:7px 16px;font-weight:500}.tab[aria-selected=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #0000001f}.note{background:var(--surface-2);border-radius:var(--r-md);color:var(--muted);margin:14px 0 0;padding:10px 14px;font-size:13px}.note b{color:var(--fg);font-weight:600}.summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px;display:grid}.sum{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.sum .who{align-items:center;gap:8px;font-weight:600;display:flex}.sum .nums{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot.a{background:var(--reader-a)}.dot.b{background:var(--reader-b)}.dot.c{background:var(--reader-c)}.dot.d{background:var(--reader-d)}.filters{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:20px 0 14px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--edge);background:var(--surface);cursor:pointer;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:500}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.shelf{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px;display:grid}.cover{--h:200;aspect-ratio:2/3;background:linear-gradient(90deg, hsl(var(--h) 40% calc(var(--cover-l) - 8%)) 0 6px, hsl(var(--h) 40% var(--cover-l)) 6px);color:#f6f4ee;font-family:var(--font-title);--ct-max:13px;border-radius:3px 6px 6px 3px;flex-direction:column;justify-content:space-between;width:100%;padding:9px 8px;display:flex;overflow:hidden;box-shadow:2px 3px 8px #00000038;container-type:inline-size}.cover .ct{font-size:min(var(--ct-max), max(7px, calc((100cqi - var(--ct-pad,6px)) / (var(--longest,8) * .7))));padding-left:var(--ct-pad,6px);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:600;line-height:1.15}.cover .ca{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:break-word;padding-left:6px;font-size:9px}.info{flex-direction:column;gap:10px;min-width:0;display:flex}.title{font-family:var(--font-title);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:600;line-height:1.2}.author{color:var(--muted);font-size:13px}.rows{flex-direction:column;gap:8px;display:flex}.entry{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:grid}.erow{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.ename{align-items:center;gap:7px;min-width:64px;font-size:14px;font-weight:600;display:flex}select.status{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);padding:4px 8px;font-size:13px;font-weight:500}.status[data-s=reading]{color:var(--accent);border-color:var(--accent)}.status[data-s=finished]{color:var(--good);border-color:var(--good)}.status[data-s=abandoned]{color:var(--warn);border-color:var(--warn)}.prog{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.bar-track{background:var(--surface-2);border-radius:3px;flex:100px;min-width:80px;height:6px;overflow:hidden}.bar-fill{background:var(--accent);height:100%}.pageinput{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;width:64px;padding:3px 6px}.meta{color:var(--muted);font-size:12px}.link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.link:hover{text-decoration:underline}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-lg);grid-column:1/-1;padding:40px 16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-width:560px;margin-top:24px;padding:22px}.panel h2{font-family:var(--font-title);margin:0 0 4px;font-size:21px}.panel p.hint{color:var(--muted);margin:0 0 18px;font-size:13px}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field label,.field .lab{font-size:13px;font-weight:600}.field input[type=text],.field input[type=number],.field select{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);width:100%;padding:9px 11px}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checks{flex-wrap:wrap;gap:8px 18px;display:flex}.checks label{align-items:center;gap:7px;font-size:14px;font-weight:500;display:flex}.btn{background:var(--accent);color:var(--accent-fg);border-radius:var(--r-md);cursor:pointer;border:0;padding:10px 20px;font-weight:600}.err{color:var(--warn);min-height:18px;margin:0 0 8px;font-size:13px}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);border-radius:var(--r-md);z-index:10;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 18px;font-weight:500;display:flex;position:fixed;transform:translate(-50%)}.toast-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}@media (width<=480px){.card{grid-template-columns:72px minmax(0,1fr);gap:12px}.two{grid-template-columns:1fr}.cover{--ct-max:11px;--ct-pad:3px;padding-inline:6px 5px}}@media (prefers-reduced-motion:no-preference){.bar-fill{transition:width .25s}}body{margin:0}.field input[type=email],.field input[type=password]{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);width:100%;padding:9px 11px}.btn:disabled{opacity:.6;cursor:default}.panel.login{max-width:400px;margin:48px auto 0}.account{align-items:center;gap:14px;display:flex}.loading{text-align:center;color:var(--muted);padding:40px 16px}span.status{border:1px solid var(--line);border-radius:var(--r-md);padding:4px 8px;font-size:13px;font-weight:500;display:inline-block}.book-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.edit-book .field{margin-bottom:10px}.edit-book .err:empty{display:none}.edit-actions{align-items:center;gap:16px;display:flex}.account-tools{align-items:center;gap:14px;display:flex}.tab{white-space:nowrap}.past{gap:4px;display:grid}.past>.link{justify-self:start;font-size:12px}.past-list{gap:4px;margin:0;padding:0 0 0 2px;list-style:none;display:grid}.past-list li{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.past-list .link{font-size:12px}.cover.has-img{background:var(--surface-2);padding:0}.cover{position:relative}.cover.has-img img{object-fit:cover;width:100%;height:100%;animation:.25s cover-in;display:block}.cover img.cover-pending{opacity:0;width:100%;height:100%;position:absolute;inset:0}@keyframes cover-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.cover.has-img img{animation:none}}.cover-pick{align-items:center;gap:12px;display:flex}.cover-thumb,.cover-none{aspect-ratio:2/3;border-radius:3px;flex:none;width:44px}.cover-thumb{object-fit:cover;box-shadow:1px 2px 5px #0003}.cover-none{border:1px dashed var(--line);text-align:center;color:var(--muted);place-items:center;font-size:9px;display:grid}.cover-pick-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.cover-search{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);gap:10px;margin-top:10px;padding:12px;display:grid}.cover-search p{margin:0}.cover-search .err{min-height:0}.cover-query{align-items:center;gap:8px;display:flex}.cover-query input{border:1px solid var(--edge);background:var(--surface);border-radius:var(--r-md);flex:1;min-width:0;padding:8px 10px}.btn-sm{padding:7px 14px}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.cover-option{border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;aspect-ratio:2/3;border:2px solid #0000;padding:0;overflow:hidden}.cover-option img{object-fit:cover;width:100%;height:100%;display:block}.cover-option:hover,.cover-option[aria-pressed=true]{border-color:var(--accent)}.suggest{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);gap:2px;padding:6px;display:grid}.suggest>.meta{padding:2px 8px 4px}.suggest-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:7px 8px;display:flex}.suggest-item:hover,.suggest-item:focus-visible{background:var(--surface-2)}.suggest-title{overflow-wrap:anywhere;font-weight:600}.formats{background:var(--surface-2);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.fmt{color:var(--muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-width:28px;height:26px;padding:0 6px;display:inline-flex}.fmt.wide{height:32px;padding:0 12px;font-size:13px;font-weight:500}.fmt:hover{color:var(--fg)}.fmt[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0000001f}.field .formats{flex-wrap:wrap;align-self:flex-start}.fmt-icon{color:var(--muted);place-items:center;display:inline-grid}.dateinput{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);font-variant-numeric:tabular-nums;padding:4px 8px}.field .dateinput{border-radius:var(--r-md);padding:8px 10px}.past-form{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);gap:8px;width:100%;padding:8px;display:grid}.past-form-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.past-form .err{min-height:0;margin:0}.past-list li:has(.past-form){display:block}.link.danger{color:var(--warn);margin-left:auto}.suggest-pages{align-self:flex-start;font-size:12px}.check{cursor:pointer;align-items:center;gap:8px;margin:2px 0 12px;font-size:14px;font-weight:500;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.edit-book .check{margin:0 0 10px}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 14px;display:flex}.lib-heading{font-family:var(--font-title);align-items:baseline;gap:10px;margin:0;font-size:22px;display:flex}.lib-search{border:1px solid var(--edge);background:var(--surface);border-radius:var(--r-md);flex:200px;min-width:0;max-width:320px;padding:8px 11px}.lib-reader{align-items:center;gap:5px;display:inline-flex}.lib-reader .dot{width:8px;height:8px}.link.quiet{color:var(--muted)}.show-more{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:18px 0 4px;display:flex}.modal-backdrop{z-index:20;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(440px,100%);max-height:calc(100vh - 32px);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;overflow:auto;box-shadow:0 12px 40px #0000004d}.modal-text{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 18px}.btn-danger{background:var(--warn);color:#fff}.lib-reader-row{gap:2px;font-size:12px;display:grid}.lib-reader-row .lib-reader{color:var(--muted)}.past-form .formats .fmt.wide{height:28px;padding:0 10px;font-size:12px}.past-list{gap:6px}.past-list>li{display:block}.past-item{background:var(--bg);border-left:3px solid var(--good);border-radius:0 6px 6px 0;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:6px 9px;display:grid}.past-item.is-abandoned{border-left-color:var(--warn)}.past-item-top{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.outcome-tag{letter-spacing:.07em;text-transform:uppercase;color:var(--good);font-size:10px;font-weight:700}.is-abandoned .outcome-tag{color:var(--warn)}.past-date{color:var(--fg);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.past-item-top,.past-item-detail{grid-column:1}.past-item-actions{flex-direction:column;grid-area:1/2/span 2;align-items:flex-end;gap:2px;display:flex}.past-item-actions .link{font-size:12px}.past-item-detail{color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px 12px;font-size:12px;display:flex}.fmt-icon.with-label{align-items:center;gap:5px;display:inline-flex}.import-panel{max-width:720px;margin:0 0 18px}.import-panel h2{margin-bottom:8px}.import-steps{margin:0 0 10px;padding-left:20px}.import-steps li{margin-bottom:3px}.import-panel code{font-size:12px}.import-panel input[type=file]{font-size:13px}.import-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:14px 0 6px;display:flex}.import-select{gap:14px;display:flex}.import-list{border:1px solid var(--line);border-radius:var(--r-md);max-height:380px;margin:0 0 14px;padding:0;list-style:none;overflow:auto}.import-list li+li{border-top:1px solid var(--line)}.import-list label{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.import-list input{width:16px;height:16px;accent-color:var(--accent)}.import-list .is-skipped{opacity:.55}.import-list .is-skipped label{cursor:default}.import-book{min-width:0;display:grid}.import-title{overflow-wrap:anywhere;font-size:14px;font-weight:600}.import-tag{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:700}.import-tag.tag-new{color:var(--good)}.import-tag.tag-join{color:var(--accent)}.textinput{border:1px solid var(--edge);background:var(--surface);border-radius:var(--r-md);flex:140px;min-width:0;padding:4px 8px}@media (width<=600px){.top .bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.top .account{display:contents}.top .account-tools{grid-area:1/2;justify-self:end}.top .tabs{grid-area:2/1/auto/-1}.tab{flex:1;padding:7px 4px;font-size:13px}}.dest-choice{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dest-option{text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:var(--r-md);cursor:pointer;gap:2px;padding:9px 11px;display:grid}.dest-option[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface)}.dest-name{font-size:14px;font-weight:600}.dest-option[aria-pressed=true] .dest-name{color:var(--accent)}.dest-desc{color:var(--muted);font-size:12px;line-height:1.3}@media (width<=480px){.dest-choice{grid-template-columns:1fr}}.isbn-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.isbn-row .textinput{background:var(--bg);flex:150px;max-width:220px;padding:7px 10px}.scanner{justify-items:start;gap:8px;display:grid}.scanner-view{aspect-ratio:4/3;border-radius:var(--r-lg);background:#000;width:min(100%,420px);position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border-radius:var(--r-md);border:2px solid #ffffffd9;position:absolute;inset:35% 12%;box-shadow:0 0 0 999px #00000040}.goals{border-top:1px solid var(--line);gap:6px;margin-top:8px;padding-top:8px;display:grid}.goal-head{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.goal-line{gap:3px;display:grid}.goal-text{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:13px;display:flex}.goal-pace{font-size:12px;font-weight:600}.goal-pace.tone-good{color:var(--good)}.goal-pace.tone-warn{color:var(--warn)}.goal-pace.tone-neutral{color:var(--muted)}.goal-fill.a{background:var(--reader-a)}.goal-fill.b{background:var(--reader-b)}.goal-fill.c{background:var(--reader-c)}.goal-fill.d{background:var(--reader-d)}.goal-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.goal-actions .link{font-size:12px}.goal-form .pageinput{width:72px}.goal-form .goal-pages-input{width:90px}.goal-years{color:var(--muted);gap:3px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.goal-years b{color:var(--fg);margin-right:4px}.goal-years .link{margin-left:8px;font-size:12px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 14px;margin:14px 0 0;padding:0;list-style:none;display:grid}@media (width<=480px){.lib-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}}.lib-tile{text-align:left;cursor:pointer;width:100%;color:inherit;border-radius:var(--r-sm);background:0 0;border:0;align-content:start;gap:3px;padding:0;display:grid}.lib-tile .cover{transition:transform .15s,box-shadow .15s}.lib-tile:hover .cover,.lib-tile:focus-visible .cover{transform:translateY(-2px);box-shadow:3px 6px 14px #0000004d}.tile-title{font-family:var(--font-title);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:14px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.tile-author{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tile-tags{flex-wrap:wrap;gap:2px 8px;display:flex}.tile-tag{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.tile-tag .dot{width:7px;height:7px}@media (width<=480px){.lib-tile .cover{--ct-max:10px}.lib-tile .cover .ca{letter-spacing:.04em;font-size:9px}}.drawer-backdrop{z-index:15;background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--line);align-content:start;gap:16px;width:min(480px,100%);height:100%;padding:14px 20px 32px;display:grid;overflow-y:auto;box-shadow:-10px 0 40px #0000004d}@media (prefers-reduced-motion:no-preference){.drawer{animation:.2s drawer-in}@keyframes drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}}.drawer-head{justify-content:flex-end;display:flex}.drawer-book{grid-template-columns:110px minmax(0,1fr);gap:16px;display:grid}.drawer-info{align-content:start;gap:5px;min-width:0;display:grid}.drawer-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px;display:flex}.drawer-section{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.drawer-heading{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:700}.drawer .lib-reader-row{gap:6px;font-size:13px}.drawer .lib-reader{color:var(--fg);font-weight:500}.lib-filters{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 18px;margin:0 0 6px;display:flex}.lib-sort{align-items:center;gap:2px;display:inline-flex}.lib-sort select{border:1px solid var(--edge);background:var(--surface);border-radius:var(--r-md);padding:5px 8px;font-size:13px}.more{flex:none;position:relative}.more-btn{border-radius:var(--r-md);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;margin:-4px -6px 0 0;padding:0;display:grid}.more-btn:hover,.more-btn[aria-expanded=true]{color:var(--fg);background:var(--surface-2)}.more-menu{z-index:8;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:200px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 28px #00000040}.more-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;color:var(--fg);background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.more-item:hover,.more-item:focus-visible{background:var(--surface-2)}.more-item.danger{color:var(--warn)}.more-check{width:14px;color:var(--accent);font-weight:700}.more-heading{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 10px 2px;font-size:11px;font-weight:700}.more-divider{background:var(--line);height:1px;margin:4px 2px}.add-form h2{margin-bottom:6px}.form-section{border:0;border-top:1px solid var(--line);gap:10px;min-width:0;margin:16px 0 0;padding:14px 0 0;display:grid}.form-section legend{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:0 8px 0 0;font-size:12px;font-weight:700}.form-section .field{margin-bottom:0}.form-section .hint,.form-section .check,.lookup-msg{margin:0}.form-submit{margin-top:18px}.settings{gap:16px;max-width:720px;margin-top:22px;display:grid}.settings-title{margin:0}.settings .settings-card{max-width:none;margin:0}.settings-card>h2{margin-bottom:12px}.tool{border-top:1px solid var(--line);gap:8px;padding:14px 0;display:grid}.tool:first-of-type{border-top:0;padding-top:0}.tool h3{margin:0;font-size:15px}.tool .hint{margin:0}.tool-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.tool .import-panel{max-width:none;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.tool .import-panel>h2{display:none}.tidy-list{gap:4px;max-height:320px;margin:0;padding:0;font-size:13px;list-style:none;display:grid;overflow:auto}.tidy-list label{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.tidy-list input{accent-color:var(--accent)}.tidy-list .is-skipped .tidy-new{color:var(--muted);font-weight:400;text-decoration:line-through}.tidy-old{color:var(--muted);overflow-wrap:anywhere}.tidy-arrow{color:var(--muted)}.tidy-new{overflow-wrap:anywhere;font-weight:500}@media (width<=480px){.tidy-list label{grid-template-columns:auto minmax(0,1fr);gap:0 8px}.tidy-new{grid-column:2}.tidy-arrow{display:none}.tidy-new:before{content:"→ ";color:var(--muted)}}.btn-secondary{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:0 0}.btn-secondary:hover{background:var(--surface-2)}.btn:disabled,.btn-secondary:disabled{opacity:.55;cursor:default}.link:disabled{opacity:.55;cursor:default;text-decoration:none}.price-row{border-radius:var(--r-md);grid-template-columns:96px 96px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:6px 8px;display:grid}.price-row.is-best{background:var(--surface-2)}.price-shop{font-size:14px;font-weight:600}.price-box{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.price-box input{font-variant-numeric:tabular-nums;background:0 0;border:0;width:100%;padding:0}.price-box input:focus{outline:none}.price-box:focus-within{outline:2px solid var(--accent);outline-offset:1px}.price-row.is-best .price-when{color:var(--good);font-weight:600}.price-row a.btn{text-align:center;font-size:13px;text-decoration:none}.price-err{grid-column:1/-1;min-height:0;margin:0}@media (width<=480px){.price-row{grid-template-columns:1fr 1fr}.price-row a.btn{grid-column:1/-1}}.tile-price{color:var(--good);width:100%;font-size:12px;font-weight:600}.wish-total{font-family:var(--font-ui);color:var(--fg);font-weight:600}.section-toggle{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:baseline;gap:10px;padding:0;display:flex}.section-toggle .toggle-arrow{color:var(--muted);margin-left:auto;font-size:12px}.section-toggle:hover .drawer-heading{color:var(--fg)}.place-icon{flex:none}.place-tag{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;font-size:11px;display:inline-flex;overflow:hidden}.card .place-tag{margin-top:2px;font-size:12px}.place-picker{gap:8px;display:grid}.place-picker-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.place-picker select,.place-row select,.place-add select,.select-move select{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);padding:6px 8px;font-size:13px}.place-picker .textinput{background:var(--bg);padding:7px 10px}.place-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.place-row{grid-template-columns:auto minmax(0,1fr) 112px 10ch auto;align-items:center;gap:8px;display:grid}.place-row select{width:100%}.place-row .textinput{background:var(--bg);padding:6px 9px}.place-count{white-space:nowrap;line-height:1.25;display:grid}.place-archived{font-size:11px}@media (width<=480px){.place-row{grid-template-columns:auto minmax(0,1fr) 10ch auto}.place-row select{grid-area:2/2}}.place-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.place-add .textinput{background:var(--bg);flex:180px;padding:7px 10px}.lib-tile{position:relative}.tile-check{z-index:2;border-radius:var(--r-sm);color:#fff;background:#00000059;border:2px solid #fff;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid;position:absolute;top:6px;left:6px}.lib-tile.is-selected .tile-check{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.lib-tile.is-selecting .cover{opacity:.75}.lib-tile.is-selected .cover{opacity:1;outline:3px solid var(--accent);outline-offset:2px}.select-bar{bottom:max(12px, env(safe-area-inset-bottom,0px));z-index:9;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:16px;padding:10px 14px;display:flex;position:sticky;box-shadow:0 8px 28px #00000040}.select-count{font-weight:600}.select-move{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.score-badge-wrap{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:inline-flex}.score-badge{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.score-badge b{color:var(--fg);font-size:15px}.score-from{font-size:11px}.score-breakdown{color:var(--muted);font-size:11px}.score-inputs{gap:6px;display:grid}.score-line{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;display:grid}.score-label{font-size:13px;font-weight:600}.score-nums{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-width:320px;display:grid}.score-num{border:1px solid var(--edge);background:var(--bg);color:var(--muted);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;cursor:pointer;min-width:0;padding:4px 0;font-size:12px}.score-num.on{background:color-mix(in srgb, var(--accent) 22%, var(--bg));color:var(--fg);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.score-num[aria-checked=true]{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:700}.score-total{margin-top:2px}.score-total b{color:var(--fg)}.score-form{margin-top:4px}@media (width<=480px){.score-line{grid-template-columns:1fr;gap:3px}}.archive-tools{margin:10px 0 4px}.archive-list{margin:0;padding:0;list-style:none;display:grid}.archive-row{border-top:1px solid var(--line);grid-template-columns:auto 44px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.archive-row>input{accent-color:var(--accent);margin-top:4px}.archive-row .cover{aspect-ratio:2/3;width:44px;height:auto;padding:0}.archive-row .cover:not(.has-img) .ct,.archive-row .cover:not(.has-img) .ca{display:none}.archive-row .title{font-family:var(--font-title);font-weight:600}.archive-row .author{color:var(--muted);font-size:13px}.archive-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;display:flex}.archive-history{gap:2px;margin-top:6px;font-size:13px;display:grid}.archive-history .lib-reader{color:var(--muted)}@media (width<=480px){.archive-row{grid-template-columns:auto 40px minmax(0,1fr)}.archive-row>.btn{grid-column:3;justify-self:start}}.archive-match{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);margin:6px 0 0;padding:8px 10px;font-size:13px}.sum .who{justify-content:space-between}.sum .who>span{align-items:center;gap:8px;display:inline-flex}.sum .who .link{font-size:13px;font-weight:500}.dates-row{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.dates-row .dateinput,.prog .dateinput{padding:4px 6px;font-size:13px}.took{color:var(--fg);font-weight:600}.started-label{margin-left:6px}.stats-drawer{width:min(560px,100%)}.stats-drawer .lib-heading{align-items:center;gap:8px;margin:0;display:flex}.stats-period{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px 14px;display:grid}.stats-year select{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);height:38px;padding:8px 10px;font-size:13px}@media (width<=480px){.stats-period{grid-template-columns:1fr}}.stats-headline{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);gap:2px;padding:10px;display:grid}.stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stat-label{color:var(--muted);font-size:11px}@media (width<=480px){.stats-headline{grid-template-columns:repeat(2,minmax(0,1fr))}}.top-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.top-row{grid-template-columns:22px 36px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.top-rank{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.top-row .cover{width:36px;padding:0}.top-row .cover:not(.has-img) .ct,.top-row .cover:not(.has-img) .ca{display:none}.top-info{min-width:0;display:grid}.top-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.top-info .meta{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.stats-chart{font-size:11px}.stats-chart .recharts-cartesian-axis-tick-value{fill:var(--muted)}.stats-chart .recharts-cartesian-grid line,.stats-chart .recharts-cartesian-axis-line{stroke:var(--line)}.stats-chart.a .recharts-bar-rectangle path{fill:var(--reader-a)}.stats-chart.b .recharts-bar-rectangle path{fill:var(--reader-b)}.stats-chart.c .recharts-bar-rectangle path{fill:var(--reader-c)}.stats-chart.d .recharts-bar-rectangle path{fill:var(--reader-d)}.stats-chart .recharts-tooltip-wrapper .recharts-default-tooltip{border-radius:var(--r-md);color:var(--fg);background:var(--surface)!important;border-color:var(--line)!important}.stats-chart .recharts-tooltip-cursor{fill:var(--fg)}.series-fields{grid-template-columns:minmax(0,1fr) 90px;gap:12px;display:grid}.series-fields input:disabled{opacity:.55}.tile-series{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;overflow:hidden}.select-series{border-top:1px solid var(--line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px 12px;padding-top:8px;display:flex}.select-series .textinput{background:var(--bg);flex:200px;padding:6px 9px}.select-series .check{margin:0;font-size:13px}.select-series .pageinput{width:56px}.file-btn{cursor:pointer;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.lib-group{margin-top:6px}.lib-group+.lib-group{margin-top:14px}.lib-group.is-plain+.lib-group.is-plain{margin-top:0}.group-head{border-bottom:1px solid var(--line);z-index:3;background:var(--bg);align-items:center;gap:12px;padding:6px 0;display:flex;position:sticky;top:0}.group-toggle{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:baseline;gap:2px 8px;padding:0;display:flex}.group-caret{width:12px;color:var(--muted);font-size:12px}.group-name{font-family:var(--font-title);text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px);font-size:17px;font-weight:600;overflow:hidden}.group-toggle .meta{white-space:nowrap;font-size:12px}.lib-list{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:2px 14px;margin:8px 0 0;padding:0;list-style:none;display:grid}.lib-row{text-align:left;border-radius:var(--r-md);cursor:pointer;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:6px;display:grid;position:relative}.lib-row:hover,.lib-row:focus-visible{background:var(--surface)}.lib-row .cover{width:38px;padding:0;box-shadow:1px 2px 4px #0003}.lib-row .cover:not(.has-img) .ct,.lib-row .cover:not(.has-img) .ca{display:none}.row-info{gap:1px;min-width:0;display:grid}.lib-row .tile-title{-webkit-line-clamp:1;margin-top:0}.lib-row .tile-check{top:50%;left:14px;transform:translateY(-50%)}.lib-row.is-selected{background:var(--surface);outline:2px solid var(--accent);outline-offset:-2px}.lib-row.is-selected .tile-check{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.lib-row .tile-series{font-style:italic}.lib-toolbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.lib-toolbar .lib-search{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23889a93' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px center;flex:auto;min-width:0;max-width:none;padding:9px 12px 9px 34px}.lib-toolbar .btn{white-space:nowrap}.lib-toolbar .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.view-options{position:relative}.view-btn{justify-content:center;align-items:center;padding:7px 10px;display:inline-flex}.view-panel{z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);justify-items:start;gap:14px;width:min(360px,100vw - 32px);padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000047}.view-choice{gap:6px;width:100%;display:grid}.view-label{color:var(--muted);font-size:12px;font-weight:600}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;gap:4px;padding:3px;display:flex}.segmented button{color:var(--fg);font:inherit;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:auto;padding:6px 10px;font-size:13px;font-weight:500}.segmented button:hover{background:var(--surface-2)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.lib-filters{gap:8px;margin:0 0 8px}.chip-count{opacity:.65;font-variant-numeric:tabular-nums;margin-left:2px}.chip-select{appearance:none;color:var(--fg);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23889a93' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;max-width:220px;padding-right:28px}.chip-select.is-on{border-color:var(--accent);color:var(--accent)}.select-bar{gap:8px;display:grid}.select-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.select-done{margin-left:auto;font-weight:600}.select-actions{gap:8px}.select-actions .select-move{margin-left:0}.select-series{border-top:1px solid var(--line)}.lib-row.is-selecting{grid-template-columns:22px 38px minmax(0,1fr)}.lib-row .tile-check{border-color:var(--line);background:var(--bg);color:var(--fg);position:static;transform:none}.lib-toolbar .lib-search,.lib-toolbar .btn{box-sizing:border-box;height:40px}.lib-toolbar .view-btn{width:40px;padding:0}.place-filter{position:relative}.place-filter>.chip-select{text-align:left}.place-filter-panel{justify-items:stretch;gap:8px;width:min(320px,100vw - 32px);left:0;right:auto}.place-filter-head{align-items:center;gap:12px;display:flex}.place-filter-head .view-label{flex:1}.place-filter-list{gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.place-filter-list li{border-radius:var(--r-sm);align-items:center;gap:8px;padding:2px 6px;display:flex}.place-filter-list li:hover{background:var(--surface-2)}.place-filter-list .check{cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;margin:0;padding:6px 0;display:flex}.place-filter-list input{accent-color:var(--accent)}.place-filter-list .place-icon{width:13px;color:var(--muted);flex:none}.place-filter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.only-link{opacity:0;font-size:12px}.place-filter-list li:hover .only-link,.only-link:focus-visible{opacity:1}@media (hover:none){.only-link{opacity:1}}.add-book-btn{white-space:nowrap}.add-book-btn[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}@media (width<=600px){.top .bar{grid-template-columns:minmax(0,1fr) auto}.top .tabs{grid-area:2/1/auto/-1}.top .tab{min-height:42px}.top .account-tools{grid-area:1/2;justify-self:end}.top .add-book-btn{display:none}.wrap{padding-bottom:90px}.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.avatar-btn{width:34px;height:34px;color:var(--bg);cursor:pointer;background:var(--reader-a);border:0;border-radius:50%;place-items:center;padding:0;font-size:15px;font-weight:700;display:grid}.avatar-btn.b{background:var(--reader-b)}.avatar-btn.c{background:var(--reader-c)}.avatar-btn.d{background:var(--reader-d)}.avatar-btn[aria-expanded=true],.avatar-btn:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.sign-out{justify-self:start}.organiser-backdrop{padding:max(16px, env(safe-area-inset-top,0px)) 12px 24px;justify-content:center;align-items:flex-start;overflow-y:auto}.organiser{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);gap:12px;width:min(620px,100%);padding:14px 18px 18px;display:grid;box-shadow:0 16px 48px #00000059}.organiser-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.organiser-head .link{font-weight:600}.organiser-card{touch-action:pan-y;gap:14px;display:grid}.organiser-book{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;display:grid}.organiser-where{align-content:start;gap:8px;display:grid}.organiser .edit-book{margin:0}.organiser-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.organiser-swipe{text-align:center;font-size:12px}@media (hover:hover){.organiser-swipe{visibility:hidden}}.organiser-end{gap:10px;padding:18px 0 6px;display:grid}.organiser-end .lib-heading{margin:0}.drawer-head{align-items:center;gap:10px}.drawer-head .more-btn{margin:0}.org-badge{color:var(--accent);background:var(--surface-2);border-radius:999px;justify-self:start;padding:2px 9px;font-size:12px;font-weight:600}.lib-toolbar{position:relative}.lib-toolbar .view-options{position:static}.lib-toolbar .view-panel{max-width:100%;right:0}.read-on{color:var(--accent);font-weight:600}.ns-section{margin-top:18px}.ns-heading{font-family:var(--font-title);align-items:baseline;gap:8px;margin:0 0 10px;font-size:18px;font-weight:600;display:flex}.ns-hint{font-family:var(--font-ui);margin-left:auto;font-size:12px;font-weight:400}.card-tools{flex:none;align-items:flex-start;gap:2px;display:flex}.drag-handle{border-radius:var(--r-md);width:30px;height:30px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;margin:-4px 0 0;padding:0;display:grid}.drag-handle:hover,.drag-handle:focus-visible{background:var(--surface-2);color:var(--fg)}.drag-handle:active{cursor:grabbing}.sortable{position:relative}.sortable>.card{height:100%}.sortable.is-dragging{z-index:6}.sortable.is-dragging>.card{border-color:var(--accent);box-shadow:0 14px 36px #00000059}.queue-no{background:var(--surface-2);min-width:22px;height:22px;color:var(--muted);font-family:var(--font-ui);vertical-align:3px;border-radius:999px;place-items:center;margin-right:8px;padding:0 5px;font-size:12px;font-weight:700;display:inline-grid}.wish-item{position:relative}.wish-item.is-dragging{z-index:6}.wish-item.is-dragging .cover{outline:2px solid var(--accent);box-shadow:0 14px 36px #0006}.wish-hint{margin:0 0 4px;font-size:12px}.wish-who{margin:0 0 10px}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;background:var(--sw-light);width:34px;height:34px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--line);border:0;border-radius:50%;padding:0}.swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--fg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .swatch{background:var(--sw-dark)}}:root[data-theme=dark] .swatch{background:var(--sw-dark)}.warn-text{color:var(--warn)}.password-form{gap:10px;display:grid}.stats-range{margin:-6px 0 0;font-size:12px}.hidden-row{grid-template-columns:44px minmax(0,1fr)}.hidden-actions{gap:8px 12px;margin-top:8px}.tools-intro{margin:0 0 4px}.settings .tools-intro+.tool{border-top:0;padding-top:4px}@media (width<=600px){.settings-tabs{width:100%}.settings-tabs .tab{flex:1}}.settings-card>.place-list{margin-bottom:18px}.settings-card .goal-line+.tool-actions{margin-top:16px}.wish-columns{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:18px;display:grid}.wish-columns .wish-col+.wish-col{border-left:1px solid var(--line);padding-left:18px}.wish-col-head{align-items:center;gap:8px;font-size:16px;display:flex}.wish-columns .lib-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));margin-top:6px}@media (width<=480px){.wish-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wish-columns .wish-col+.wish-col{padding-left:12px}.wish-columns .lib-grid{grid-template-columns:1fr}}.lib-tile .tile-title .queue-no{vertical-align:1px;margin-right:6px}.wish-list{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.wish-single .wish-list{max-width:640px}.wish-item{border-radius:var(--r-md);align-items:center;gap:4px;display:flex}.wish-row{flex:1;grid-template-columns:22px 38px minmax(0,1fr);min-width:0}.wish-row .queue-no{margin:0}.wish-item.is-dragging{background:var(--surface);box-shadow:0 10px 28px #0000004d}.row-drag{flex:none;margin:0}.wish-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (width<=480px){.wish-columns{grid-template-columns:1fr}.wish-columns .wish-col+.wish-col{border-left:0;border-top:1px solid var(--line);padding-top:12px;padding-left:0}}.wish-columns{column-gap:0}.wish-columns .wish-col{min-width:0;padding:0 22px}.wish-columns .wish-col:first-child{padding-left:0}.wish-columns .wish-col:last-child{padding-right:0}.wish-columns .wish-col+.wish-col{padding-left:22px}@media (width<=480px){.wish-columns .wish-col,.wish-columns .wish-col+.wish-col{padding:0}.wish-columns .wish-col+.wish-col{margin-top:12px;padding-top:12px}}.wish-columns{align-items:stretch}@media (width>=481px){.wish-columns.two{grid-template-columns:var(--split,minmax(0, 1fr)) minmax(0, 1fr)}}.wish-hint{margin-bottom:18px}.wishlist.is-aligned .lib-head .lib-search{flex:auto;max-width:none}.wishlist.is-aligned .lib-head{flex-wrap:nowrap}.nightstand.is-aligned .summary{grid-template-columns:calc(var(--split) - 12px) minmax(0, 1fr)}.nightstand.is-aligned .shelf{grid-template-columns:calc(var(--split) - 14px) minmax(0, 1fr)}.chip-select{border-radius:var(--r-md)}.dd-label{color:var(--muted);font-weight:500}.chip-select.is-on .dd-label{color:inherit;opacity:.8}.dd-chip{cursor:pointer;align-items:center;gap:4px;display:inline-flex;position:relative}.dd-chip select{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;position:absolute;inset:0}.dd-chip:focus-within{outline:2px solid var(--accent);outline-offset:2px}.brand{font-family:var(--font-title);letter-spacing:-.01em;color:var(--fg);align-items:center;gap:10px;font-size:26px;font-weight:600;line-height:1.2;display:inline-flex}.brand-icon{border-radius:var(--r-md);flex:none;width:34px;height:34px;box-shadow:0 1px 3px #00000040}.brand-name{font-weight:700}.brand-accent{color:var(--accent);font-style:italic;font-weight:500}.feedback-form{gap:12px;display:grid}.feedback-form .field{margin:0}.field textarea{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);width:100%;font:inherit;color:var(--fg);resize:vertical;min-height:110px;padding:9px 11px}.feedback-list{margin:0;padding:0;list-style:none;display:grid}.feedback-row{border-top:1px solid var(--line);gap:6px;padding:14px 0;display:grid}.feedback-row:first-child{border-top:0}.feedback-row.is-closed .feedback-message{color:var(--muted)}.feedback-top{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;display:flex}.feedback-kind{background:var(--surface-2);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.feedback-kind.kind-bug{color:var(--warn)}.feedback-kind.kind-idea{color:var(--good)}.feedback-kind.kind-question{color:var(--accent)}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.feedback-context{margin:0;font-size:12px}.feedback-errors summary{cursor:pointer;font-size:12px}.feedback-errors ul{overflow-wrap:anywhere;margin:4px 0 0;padding-left:18px;font-size:12px}.feedback-actions{align-items:center;gap:12px;margin-top:2px;display:flex}.feedback-copy{gap:8px;margin-top:14px;display:grid}.feedback-copy p{margin:0}.feedback-copy textarea{border:1px solid var(--edge);background:var(--bg);border-radius:var(--r-md);width:100%;color:var(--fg);resize:vertical;padding:9px 11px;font:12px/1.45 ui-monospace,monospace}.privacy-note{font-size:13px}.privacy-note summary{cursor:pointer;color:var(--accent);font-weight:600}.privacy-note p{margin:10px 0 4px}.privacy-note ul{gap:4px;margin:0;padding-left:18px;display:grid}.group-collection{color:var(--accent)}.group-collection-btn{white-space:nowrap;margin-left:auto;font-size:13px}.collection-form{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 12px;display:flex}.collection-form .textinput{flex:200px;min-width:0}.collection-form .meta{flex-basis:100%}.group-toggle .group-collection{text-overflow:ellipsis;max-width:100%;overflow:hidden}.cropper{justify-items:start;gap:12px;display:grid}.crop-frame{aspect-ratio:2/3;background:var(--surface-2);width:min(240px,60vw);box-shadow:0 0 0 1px var(--line), 2px 3px 8px #0000002e;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.crop-frame img{transform-origin:50%;pointer-events:none;image-orientation:from-image;max-width:none;position:absolute}.crop-loading{text-align:center;place-items:center;padding:8px;display:grid;position:absolute;inset:0}.crop-controls{gap:10px;width:100%;max-width:340px;display:grid}.crop-turns{flex-wrap:wrap;gap:8px;display:flex}.crop-slider{gap:4px;font-size:13px;font-weight:600;display:grid}.crop-slider input[type=range]{width:100%;accent-color:var(--accent)}.crop-controls>.link{justify-self:start}.cover-none-found{justify-items:start;gap:8px;display:grid}.cover-upload-row{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:max(16px,1em)!important}}@media (width<=600px){.card:has(>.info>.edit-book){grid-template-columns:minmax(0,1fr)}.card:has(>.info>.edit-book)>.cover{display:none}}.date-pair{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}@media (pointer:coarse){select.status,.pageinput,.dateinput,.lib-search,.cover-query input,.textinput,.chip-select,.btn{min-height:44px}.tab,.chip,.link,.more-btn,.avatar-btn,.drag-handle,.toast-action{position:relative}.tab:after,.chip:after,.link:after,.more-btn:after,.avatar-btn:after,.drag-handle:after,.toast-action:after{content:"";position:absolute;inset:min(0px,50% - 22px)}}.lib-switch{flex:none}.me-page .settings{margin-top:0}.share-list{gap:4px;margin:6px 0 14px;padding-left:18px;font-size:14px;display:grid}.members{margin:4px 0 16px;padding:0;list-style:none}.members li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:9px 0;font-size:14px;display:flex}.members li:last-child{border-bottom:1px solid var(--line)}.members .member-role{margin-left:auto}.household-switch{margin-top:8px}.household-note{margin:-6px 0 12px}.household-rename{margin-bottom:8px}.code-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin:6px 0 12px;padding:12px 14px;display:flex}.code-box .code{font:600 20px/1.1 var(--font-ui);letter-spacing:.18em}.code-input{text-transform:uppercase;letter-spacing:.12em}.invite,.leave{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:14px;display:grid}.invite h3,.leave h3{margin:0;font-size:15px}.invite .hint,.leave .hint{color:var(--muted);margin:0;font-size:13px}.invite>.link{justify-self:start}.pick-list{border:1px solid var(--line);border-radius:var(--r-md);max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.pick-list li{border-bottom:1px solid var(--line);padding:4px 10px}.pick-list li:last-child{border-bottom:0}.pick-list .check{flex-wrap:wrap;margin:4px 0}.pick-list .meta{margin-left:4px}.me-card .view-choice{margin-bottom:14px}.top .avatar-btn[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.welcome{max-width:640px;margin:24px auto 0}.welcome-short{max-width:none;margin:18px 0 0}.welcome-step{margin:0 0 6px}.welcome .choice{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.welcome-choice{align-content:start;gap:8px;margin:0;padding:16px;display:grid}.welcome-choice h3{margin:0;font-size:15px}.welcome-choice .meta{margin:0}.welcome-choice .btn{justify-self:start}.welcome-actions{margin-top:14px}.import-step{margin:0 0 10px}.import-part .check{flex-wrap:wrap;margin:0}.import-note{margin:6px 0 8px}.import-library{max-width:380px}.import-already{display:block}.import-filters{margin:6px 0 4px}.import-filters .lib-search{flex:200px}.friends-reading-section{margin:0}.friends-reading{gap:16px;padding-bottom:6px;display:flex;overflow-x:auto}.friends-reading-tile{flex:none;width:96px}.friends-reading-tile .meta{align-items:center;gap:5px;display:inline-flex}.friends-list li>b{font-weight:600}.friend-page .ns-section{margin-top:22px}.friend-month{font:600 14px var(--font-title);color:var(--muted);margin:14px 0 8px}.vis-seg button:disabled{opacity:.45;cursor:default}.vis-about{margin:6px 0 0}.visibility{gap:2px;display:grid}.first-friend-choice{max-width:360px;margin-bottom:12px}.privacy-settings .field{margin-bottom:12px}:root{--plank:#c9d4cf;--plank-edge:#b3c1bb;--shelf-back:#e6ece9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--plank:#2f423b;--plank-edge:#24342e;--shelf-back:#131e1b}}:root[data-theme=dark]{--plank:#2f423b;--plank-edge:#24342e;--shelf-back:#131e1b}.status-bar{background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.club-tabs{margin:12px 0 4px}.club-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-fg);background:var(--accent);border-radius:999px;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.club-book,.watch-draw{margin-top:14px}.pot{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:12px;display:grid}.nom{align-content:start;gap:4px;display:grid}.nom .chip-who{font-size:12px;font-weight:700}.nom.out{opacity:.55}.nom.mine .cover{outline:2px solid var(--accent);outline-offset:2px}.nom .link{justify-self:start}.nom-empty{border:1px dashed var(--line);border-radius:var(--r-md);text-align:center;color:var(--muted);place-items:center;min-height:180px;padding:10px;font-size:13px;display:grid}.pot-actions{margin-top:18px}.pot-tabs{max-width:440px;margin-bottom:12px}.pot-choices{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pot-choices li{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.pot-choices li>span{min-width:0;display:grid}.progress-row{grid-template-columns:100px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:grid}.progress-row>span:first-child{align-items:center;gap:6px;display:inline-flex}.progress-row .bar-track{height:8px}.shelfwrap{background:var(--shelf-back);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;justify-content:flex-end;min-height:330px;margin-top:10px;padding:22px 14px 0;display:flex;position:relative;overflow:hidden}.drawshelf{justify-content:center;align-items:flex-end;gap:4px;height:196px;display:flex}.plank{background:var(--plank);border-top:1px solid var(--plank-edge);height:14px;margin:0 -14px}.spine{color:#fff;border-radius:3px 3px 1px 1px;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 0 6px;transition:transform .16s ease-out,box-shadow .16s;display:flex;position:relative;box-shadow:inset 3px 0 #ffffff1a,inset -4px 0 6px #00000040}.spine:before,.spine:after{content:"";background:#ffecbe8c;height:1.5px;position:absolute;left:5px;right:5px}.spine:before{top:16px}.spine:after{bottom:30px}.spine .st{writing-mode:vertical-rl;font-family:var(--font-title);white-space:nowrap;text-overflow:ellipsis;max-height:120px;margin-top:16px;font-size:13px;font-weight:600;overflow:hidden;transform:rotate(180deg)}.spine .sdot{color:#fff;border:1.5px solid #fffc;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:grid}.spine.lit{box-shadow:inset 3px 0 0 #ffffff1a, inset -4px 0 6px #00000040, 0 0 0 2px var(--accent), 0 10px 18px -6px #00000073;transform:translateY(-12px)}.spine.chosen{box-shadow:0 0 0 2px var(--accent), 0 18px 30px -8px #00000080;transition:transform .6s cubic-bezier(.2,.8,.2,1);transform:translateY(-70px)}.spine.dim{opacity:.35;transition:opacity .5s}.chances{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.chances b{color:var(--fg)}.reveal{background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:5;perspective:900px;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:none;position:absolute;inset:0}.reveal.on{display:flex}.bigcover{color:#fff;text-align:left;transform-origin:0;border-radius:6px 10px 10px 6px;flex-direction:column;justify-content:space-between;width:130px;height:192px;padding:14px 12px;animation:.8s cubic-bezier(.2,.8,.2,1) both flipin;display:flex;position:relative;overflow:hidden;box-shadow:inset 8px 0 10px -6px #00000073,0 24px 40px -12px #00000080}.bigcover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.bigcover .bt{font-family:var(--font-title);font-size:19px;font-weight:600;line-height:1.1}.bigcover .ba{opacity:.85;font-size:12px}.bigcover .rule{background:#ffecbe99;height:1.5px;margin:8px 0}@keyframes flipin{0%{opacity:0;transform:rotateY(-95deg)scale(.6)}to{opacity:1;transform:rotateY(0)scale(1)}}.reveal .who{margin-top:12px;font-size:14px;font-weight:600;animation:.5s .6s both drawup}.reveal .lead{font-family:var(--font-title);margin-top:4px;font-size:19px;font-weight:600;animation:.5s .75s both drawup}.reveal .btn{margin-top:10px;animation:.5s .9s both drawup}@keyframes drawup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bigcover,.reveal .who,.reveal .lead,.reveal .btn{animation:none}.spine,.spine.chosen{transition:none}}.use-choice .welcome-choice{cursor:pointer}.use-choice .welcome-choice.is-picked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.use-choice .check{margin:0}.club-only{max-width:720px}.club-only-club .ns-heading{justify-content:space-between}.club-only-pot{gap:10px;margin-top:10px;display:grid}.pot-mine{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.pot-mine>span{gap:2px;display:grid}.pot-others{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pot-other{width:56px}.just-club-switch{margin-top:6px}.site-head{flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;display:flex}.site-head>a{color:inherit;text-decoration:none}.site-head .site-links{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}@media (width<=700px){.site-head .site-text-link{display:none}}.site main{min-height:60vh}.site .panel.login{margin-inline:auto}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;padding:26px 0 34px;display:grid}.hero h2{font:600 clamp(30px, 5vw, 46px)/1.08 var(--font-ui);letter-spacing:-.01em;margin:0 0 14px}.hero .lede{color:var(--muted);max-width:34em;margin:0 0 20px;font-size:18px;line-height:1.5}.hero .cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-end{text-align:center;grid-template-columns:1fr;padding-top:0}.hero-end h2{font-size:30px}.hero-end .cta{justify-content:center}.hero-shelf{background:var(--surface);border:1px solid var(--line);border-bottom:10px solid var(--line);border-radius:var(--r-lg);align-items:flex-end;gap:8px;min-height:240px;padding:18px 18px 0;display:flex}.hero-shelf .cover{flex:1 1 0;min-width:0}.hero-shelf .cover:nth-child(3){transform:rotate(-4deg)translateY(-6px)}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:6px 0 30px;display:grid}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.feature .ico{font-size:24px}.feature h3{margin:6px 0;font-size:17px}.feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.band{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px;padding:22px;display:grid}.band h3{grid-column:1/-1;margin:0;font-size:20px}.band-club-only{grid-template-columns:1fr auto;align-items:center}.band-club-only .band-lede{margin:0 0 8px;font-size:16px;line-height:1.5}.band-club-only .meta{margin:0}.band-cover{width:110px}.step b{background:var(--accent);width:26px;height:26px;color:var(--accent-fg);border-radius:50%;place-items:center;margin-right:8px;font-size:13px;display:inline-grid}.step p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.promise{gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.site-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:20px;padding:18px 0 40px;font-size:13px;display:flex}.site-foot .link{font-size:13px}.site-foot-end{margin-left:auto}.invite-banner{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border:1px solid var(--accent);border-radius:var(--r-lg);align-items:center;gap:14px;margin-top:8px;padding:14px 16px;display:flex}.invite-banner .tool-actions{margin-top:10px}.login-submit{width:100%}.login-links{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;display:flex}.field-hint{margin:4px 0 0}.panel.login .check{align-items:flex-start;margin-bottom:10px}.turnstile{min-height:65px;margin:4px 0 8px}.check-email{text-align:center}.check-email .tool-actions{justify-content:center}.check-email-icon{font-size:40px}.legal{max-width:720px;margin-inline:auto}.legal h3{margin:18px 0 6px;font-size:16px}.legal p,.legal li{line-height:1.55}.otp-input{font:600 22px var(--font-ui);letter-spacing:.3em;max-width:9em}.otp-secret{word-break:break-all;font-size:12px}.two-step-setup img{border-radius:var(--r-md);background:#fff;padding:6px}.report-link{color:var(--muted);font-size:12px}.admin-tabs{flex-wrap:wrap;gap:6px;margin:14px 0 16px;display:flex}.admin-tabs .count{background:var(--warn);color:#fff;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px}.admin-sub{width:fit-content;margin-bottom:10px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px}.stat .n{font:600 26px var(--font-ui)}.stat .n.warn{color:var(--warn)}.stat .meta{display:block}.admin-needs,.admin-account,.admin-club{margin-top:16px}.rtable{border-collapse:collapse;width:100%;font-size:14px}.rtable th{text-align:left;font:600 12px var(--font-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px}.rtable td{border-top:1px solid var(--line);vertical-align:top;padding:10px 8px}.rtable tbody tr{cursor:pointer}.rtable tr.sel td{background:color-mix(in srgb, var(--accent) 8%, transparent)}.pill{border:1px solid var(--line);vertical-align:2px;border-radius:999px;margin:0 6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.pill.new{background:var(--warn);color:#fff;border-color:var(--warn)}.pill.ok{color:var(--good,#2f9e6a);border-color:currentColor}.pill.sus{color:var(--warn);border-color:currentColor}.admin-split{grid-template-columns:1.2fr 1fr;align-items:start;gap:16px;display:grid}.admin-split .panel{margin:0}.evidence{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;padding:12px;display:flex}.evidence .cover{flex:none;width:60px}.kv{grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 14px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.locked{color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-md);margin-bottom:12px;padding:10px 12px;font-size:13px}.admin-inline{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.admin-page textarea,.modal textarea{width:100%;min-height:64px;font:inherit}.tool.tool-first{border-top:0;padding-top:0}@media (width<=760px){.hero,.admin-split,.band-club-only{grid-template-columns:1fr}.rtable .hide-sm{display:none}.site-foot-end{margin-left:0}}.settings>.panel.login{margin-inline:auto}.band-why{grid-template-columns:1fr}.band-why .band-lede{max-width:46em;margin:0 0 8px;font-size:16px;line-height:1.55}.me-page>.panel+.panel,.me-page>.settings+.panel,.me-page>.panel+.settings{margin-top:16px}.club-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.club-sub{margin:-10px 0 0}.nom .tool-actions{align-items:center}@media (width<=600px){.pot-actions{flex-direction:column;align-items:stretch}.pot-actions .btn{width:100%}}.select-in-menu{display:none}@media (width<=600px){.lib-toolbar .select-btn:not([aria-pressed=true]){display:none}.select-in-menu{display:inline}.lib-filters{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:6px;overflow-x:auto}.lib-filters .chips{flex-wrap:nowrap}.lib-filters .chip,.lib-filters>*{flex:none}}.settings.community,.settings.club-page,.settings.friend-page{max-width:none}@media (width>=1000px){.settings.community{columns:2;column-gap:16px;display:block}.settings.community>*{break-inside:avoid;margin:0 0 16px}.settings.community>.settings-title,.settings.community>.ns-section{column-span:all}.settings.community>.panel{max-width:none}}.cover .ca{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-size:min(9px, max(6px, calc((100cqi - 12px) / (var(--ca-longest,8) * .68))))}.site-logo{margin:0}.site-logo a{color:inherit;text-decoration:none}.me-page{gap:20px}.me-page .settings-card{padding:24px}.me-card .tool{gap:10px;padding:18px 0}.me-card .tool:last-child{padding-bottom:4px}.settings-card>.tool-actions+.tool,.settings-card>.hint+.tool,.me-card>.tool-actions+.tool{margin-top:20px}.settings-card>h2+.hint{margin-top:-4px}.settings-card>.hint+.tool-actions{margin-top:8px}@media (width<=600px){.me-page .settings-card{padding:18px}}.help-privacy{margin-top:24px}.avatar{vertical-align:middle;border-radius:50%;flex:none;display:inline-block}.avatar-btn.has-avatar{background:0 0;width:36px;height:36px}.avatar-btn.has-avatar .avatar{width:36px;height:36px}.who-name{align-items:center;gap:8px;display:inline-flex}.members li>.avatar{margin-right:2px}.sdot.sdot-avatar{background:0 0;width:22px;height:22px;padding:0}.character-grid{flex-wrap:wrap;gap:8px;display:flex}.character-pick{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:3px;line-height:0}.character-pick img{border-radius:50%}.character-pick[aria-checked=true]{outline:3px solid var(--fg);outline-offset:1px}.character-skins{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.install-sheet{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-width:480px;margin-inline:auto;padding:16px;position:fixed;box-shadow:0 -6px 30px #00000073}.install-sheet.ios:after{content:"";border:11px solid #0000;border-top-color:var(--surface);border-bottom:0;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)}.install-head{align-items:center;gap:12px;display:flex}.install-head img{border-radius:var(--r-md);flex:none}.install-head .meta{font-size:13px}.install-steps{gap:8px;margin:12px 0 10px;padding:0;font-size:14px;list-style:none;display:grid}.install-steps li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.install-steps .n{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.install-steps .ico{border-radius:var(--r-sm);background:var(--surface-2);place-items:center;width:26px;height:26px;display:inline-grid}.install-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;display:flex}.install-actions .link:first-child{margin-right:auto}.update-popup{left:10px;right:10px;top:calc(10px + env(safe-area-inset-top,0px));z-index:30;background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-lg);gap:4px;max-width:520px;margin-inline:auto;padding:14px 16px;display:grid;position:fixed;box-shadow:0 10px 30px #00000073}.update-popup .meta{font-size:13px}.update-popup .install-actions{margin-top:8px}.character-current{align-items:center;gap:12px;display:flex}.character-current img{border-radius:50%;flex:none}.character-current .btn{margin-left:auto}.character-modal{width:min(520px,100%)}.character-modal h2{margin-top:0}.character-tabs{flex-wrap:wrap;gap:6px;margin:4px 0 14px;display:flex}.character-tabs .chip{flex:none}.character-modal .character-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.character-modal .character-pick{border-radius:var(--r-md);color:var(--muted);justify-items:center;gap:6px;padding:8px 4px;font-size:12px;line-height:1.2;display:grid}.character-modal .character-pick[aria-checked=true]{outline:2px solid var(--accent);outline-offset:0;color:var(--fg);background:var(--surface-2)}.character-modal .character-skins{margin-top:14px}.character-done{justify-content:flex-end;margin-top:16px}.reveal .bigcover{font:inherit;color:inherit;cursor:pointer;border:0}.reveal .bigcover:disabled{cursor:default}.reveal .bigcover:not(:disabled):hover{transform:translateY(-2px)}.cover-open{cursor:pointer;background:0 0;border:0;padding:0}.club-book-sheet{width:min(460px,100%)}.club-book-head{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:14px;display:grid}.club-book-head .title{margin:0}.club-book-actions{gap:8px;margin-top:16px;display:grid}.club-book-actions .btn{width:100%}.club-book-done{justify-content:flex-end;margin-top:10px}@media (width<=600px){.card{grid-template-columns:76px minmax(0,1fr);row-gap:12px}.card>.info{display:contents}.card>.info>*{grid-column:1/-1}.card>.info>.book-head{grid-column:2;align-self:center}.card .rows{gap:0}.card .entry{gap:10px;padding:12px 0 4px}.card .erow{gap:8px 12px}.card .prog{grid-template-columns:64px auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.card .prog>.meta,.card .prog .date-pair>.meta{grid-column:1;margin:0}.card .prog .date-pair{display:contents}.card .prog .date-pair>input{grid-column:2/-1;justify-self:start}.card .prog>.bar-track{grid-column:1/-1;min-width:0}.card .entry>.erow:first-child{grid-template-columns:96px auto auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.card .entry>.erow:first-child .ename{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.card .prog{grid-template-columns:96px auto minmax(0,1fr)}}.me-layout{gap:18px;margin-top:16px;display:grid}.me-menu{align-content:start;gap:14px;display:grid}.me-who{align-items:center;gap:14px;padding:4px 2px;display:flex}.me-who-text{min-width:0;display:grid}.me-who-text b{font:600 22px/1.2 var(--font-title)}.me-who-text .meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me-who .link{margin-left:auto;font-size:14px}.me-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:0;padding:0;list-style:none;overflow:hidden}.me-group li+li{border-top:1px solid var(--line)}.me-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-height:56px;padding:13px 14px;display:flex}.me-row:hover,.me-row[aria-current=page]{background:var(--surface-2)}.me-ic{border-radius:var(--r-md);flex:none;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.me-row-text{min-width:0;font-size:15px;font-weight:500;display:grid}.me-row-text .meta{font-size:12px;font-weight:400}.me-chev{color:var(--muted);margin-left:auto;font-size:20px}.me-signout{color:var(--warn);justify-content:center}.me-signout .me-row-text{text-align:center}.me-section{max-width:none;margin-top:0}.me-back{justify-self:start}@media (width<=899px){.me-layout:not(.open) .me-section,.me-layout.open .me-menu{display:none}}@media (width>=900px){.me-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}.me-menu{position:sticky;top:100px}.me-back,.me-row .me-row-text .meta{display:none}.me-row{min-height:46px;padding:10px 12px}}.pick-modal{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.pick-sub{font:600 13px var(--font-ui);align-items:baseline;gap:8px;margin:14px 0 0;display:flex}.pick-sub .link{margin-left:auto;font-size:13px}.pick-list{border:1px solid var(--line);border-radius:var(--r-lg);margin:6px 0 0;padding:0;list-style:none;overflow:hidden}.pick-list li+li{border-top:1px solid var(--line)}.pick-row{cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:10px 12px;font-size:14px;display:flex}.pick-mini{border-radius:3px;flex:none;width:22px;height:34px}.pick-text{min-width:0;display:grid}.pick-text b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pick-row input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-left:auto}.pick-new{flex-wrap:wrap;gap:8px;margin:6px 0 14px;display:flex}.pick-new .textinput{flex:160px;min-width:0}.pick-reveal{justify-items:center;gap:8px;margin-top:8px;animation:.5s .9s both drawup;display:grid}.pick-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pick-reveal .btn{margin-top:0;animation:none}.pick-reveal .past-form{text-align:left}@media (prefers-reduced-motion:reduce){.pick-reveal{animation:none}}.new-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;margin-left:auto}.new-dot+.me-chev{margin-left:8px}.news{gap:14px;display:grid}.news-entry h3{font:600 17px var(--font-title);margin:0}.news-entry ul{gap:6px;margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.5;display:grid}.news-tag{font:600 11px var(--font-ui);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 8px}.news-tag.new{color:var(--accent)}.news-tag.fixed{color:var(--warn)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.modal-backdrop{place-items:end stretch;padding:0}.modal-backdrop>.modal{border-radius:var(--r-lg);width:100%;max-width:none;max-height:92dvh;padding:12px 18px calc(22px + env(safe-area-inset-bottom,0px));border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-up}.modal-backdrop>.modal:before{content:"";background:var(--line);border-radius:999px;width:40px;height:4px;margin:0 auto 14px;display:block}.modal>.edit-actions,.modal>.tool-actions{gap:8px;display:grid}.modal>.edit-actions>.btn,.modal>.tool-actions>.btn{width:100%;min-height:48px}.modal>.edit-actions>.link,.modal>.tool-actions>.link{justify-self:center;min-height:44px}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-backdrop>.modal{animation:none}}.find-it{gap:10px;display:grid}.find-it .scan-btn{justify-self:start;min-height:52px;padding-inline:22px;font-size:16px}.find-it .isbn-row{align-items:center;gap:8px;display:flex}.find-it .isbn-row .textinput{flex:auto;min-width:0;max-width:240px}@media (width<=600px){.find-it .scan-btn{justify-self:stretch}.find-it .isbn-row .textinput{max-width:none}}.reader-rows{display:none}@media (width<=600px){.nightstand>.summary{display:none}.reader-rows{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin:14px 0 0;padding:0;list-style:none;display:block;overflow:hidden}.reader-rows li+li{border-top:1px solid var(--line)}.reader-row{width:100%;min-height:50px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,84px) minmax(0,1fr) auto 12px;align-items:center;gap:10px;padding:9px 12px;display:grid}.reader-row b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.reader-row .bar-track{min-width:0;height:5px;display:block}.reader-row .bar-fill{height:100%;display:block}.reader-row .meta{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.reader-chev{color:var(--muted);font-size:18px}.reader-sheet .sum{background:0 0;border:0;padding:0}}.finish-row{display:none}@media (width<=600px){.entry-reading-mine>.erow:first-child{display:none!important}.entry-reading-mine{padding-top:12px}.entry-reading-mine .prog .date-pair{display:none}.entry-reading-mine .prog{grid-template-columns:auto auto minmax(0,1fr)!important}.entry-reading-mine .prog>.bar-track{grid-column:1/-1}.finish-row{align-items:center;gap:12px;display:flex}.finish-row .btn{min-height:44px;margin-left:auto}.started-text{text-underline-offset:3px;cursor:pointer;align-items:center;min-height:44px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-flex;position:relative}.started-text input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}}.card-open,.card-close{display:none}@media (width<=600px){.card-compact{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;position:relative}.card-compact>.cover{border-radius:3px;width:34px;height:50px}.card-compact>.cover .ct,.card-compact>.cover .ca{display:none}.card-compact .title{font-size:16px}.card-compact .author{font-size:12px}.card-compact:not(.is-open) .rows,.card-compact:not(.is-open) .place-tag{display:none}.card-compact .card-tools{z-index:2;position:relative}.card-open{z-index:1;border-radius:var(--r-lg);cursor:pointer;background:0 0;border:0;display:block;position:absolute;inset:0}.card-compact.is-open{grid-template-columns:76px minmax(0,1fr);align-items:start}.card-compact.is-open>.cover{width:76px;height:auto}.card-close{justify-self:center;min-height:40px;display:block}.ns-section .shelf:has(.card-compact){gap:8px}}.panel-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel-head h2{margin:0}.panel-head .btn{margin-left:auto}.row-list{border:1px solid var(--line);border-radius:var(--r-lg);margin:12px 0 4px;padding:0;list-style:none;overflow:hidden}.row-list li+li{border-top:1px solid var(--line)}.row-btn{width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px;display:flex}.row-btn:hover{background:var(--surface-2)}.row-ic{border-radius:var(--r-md);flex:none;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.row-text{flex:1;gap:1px;min-width:0;display:grid}.row-text b{font-size:15px;font-weight:600}.row-text .meta{font-size:12px}.row-next{color:var(--accent);font-size:13px;font-weight:600}.row-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px}.row-chev{color:var(--muted);flex:none;font-size:20px}.row-plain{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px;font-size:14px;display:flex}.row-plain .member-role{margin-left:auto}.code-ask{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:18px 0 8px;display:flex}.code-ask .link{min-height:44px}.slide-group{isolation:isolate;touch-action:pan-y;position:relative}.slide-group:before{content:"";z-index:-1;pointer-events:none;width:var(--pw,0);height:var(--ph,0);transform:translate(var(--px,0), var(--py,0)) scaleX(var(--sx,1)) scaleY(var(--sy,1));transform-origin:50%;opacity:var(--pill-o,0);filter:brightness(var(--pill-glow,1));transition:transform var(--pill-t,0s) var(--pill-ease,ease), width var(--pill-t,0s) var(--pill-ease,ease), height var(--pill-t,0s) var(--pill-ease,ease), opacity .15s;border-radius:var(--r-md);background:var(--surface);position:absolute;top:0;left:0;box-shadow:0 1px 2px #0000001f}.slide-group.segmented:before{border-radius:var(--r-sm);background:var(--accent);box-shadow:none}.slide-group.formats:before{border-radius:var(--r-sm)}.slide-ready>.tab[aria-selected=true],.slide-ready>button[aria-pressed=true]{box-shadow:none;background:0 0}.slide-group>button{transition:color .2s,scale .16s cubic-bezier(.3,1.2,.5,1);position:relative}.slide-group>button.slide-press{transition-duration:90ms;scale:.97}.slide-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.slide-dragging>button:hover{background:0 0}.slide-lock:before{animation:.12s cubic-bezier(.3,0,.3,1) slide-lock}@keyframes slide-lock{50%{transform:translate(var(--px,0), var(--py,0)) scaleX(1.015) scaleY(.95)}}.haptic-tick{clip-path:inset(50%);width:1px;height:1px;position:fixed;overflow:hidden}@media (prefers-reduced-motion:reduce){.slide-group:before{transition:opacity .15s}.slide-lock:before{animation:none}}.swipe-page{touch-action:pan-y;will-change:transform;min-height:calc(100dvh - 170px)}html{overflow-x:clip}.auth-box{max-width:460px;margin:18px auto 0;overflow-x:clip}.auth-tabs{grid-template-columns:1fr 1fr;margin-bottom:12px;display:grid}.auth-tabs .tab{min-height:44px;padding:10px 0;font-weight:600}.auth-page{min-height:0}.auth-box .panel.login{max-width:none;margin-top:0}.pick-banner{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:var(--r-lg);width:100%;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;margin:18px 0 0;padding:14px 16px;display:flex}.pick-banner:hover{border-color:var(--accent)}.pick-banner b{font-size:16px;display:block}.pick-banner .meta{font-size:13px}.pick-banner-ic{font-size:28px;line-height:1}.pick-banner-chev{color:var(--accent);margin-left:auto;font-size:22px}.ns-heading .pick-link{font:500 13px var(--font-ui);margin-left:auto}.ns-heading .ns-hint+.pick-link{margin-left:10px}.lib-head>.wish-total{flex:1 0 100%;margin-top:-6px}@media (width<=600px){.lib-head:has(>.lib-switch){grid-template-columns:minmax(0,1fr) auto;column-gap:10px;display:grid}.lib-head:has(>.lib-switch)>:not(.lib-heading):not(.lib-switch){grid-column:1/-1}.lib-head:has(>.lib-switch)>.lib-heading{min-width:0}}.lib-heading.swipe-fade{transform-origin:0}@media (width<=600px){.lib-head:has(>.lib-switch){top:var(--head-h,130px);z-index:4;background:var(--bg);margin:0 0 10px;padding:14px 0 10px;position:sticky}}.pick-sub-links{gap:14px;margin-left:auto;display:inline-flex}.pick-sub-links .link{min-height:32px;font-size:13px}.pick-sub .pick-sub-links .link{margin-left:0}.pick-everything{margin:4px 0 2px}.pick-sub{flex-wrap:wrap;align-items:center;row-gap:0}.pick-sub>.meta{flex-basis:100%;order:3;font-weight:400}@media (width>=601px){.fab-dock,.add-book-fab{display:none}}@media (width<=600px){.fab-dock{z-index:8;padding:0 16px calc(18px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.fab-dock .add-book-fab{pointer-events:auto}.add-book-fab{border-radius:999px;align-items:center;gap:6px;height:52px;padding:0 22px 0 18px;font-size:15px;display:inline-flex;position:static;box-shadow:0 8px 22px #00000073}.add-book-fab[aria-pressed=true]{display:none}.add-book-fab .add-plus{margin-top:-2px;font-size:24px;font-weight:500;line-height:1}}.fab-dock{flex-direction:column;align-items:flex-end;gap:10px}.add-book-fab{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transform-origin:70% 60%;will-change:transform}.add-book-fab.popped{transition:transform 80ms!important;transform:scale(0)!important}.add-book-fab:not(.popped){animation:.42s cubic-bezier(.3,1.6,.5,1) balloon-back}@keyframes balloon-back{0%{transform:scale(.3)}}.balloon-menu{pointer-events:none;justify-items:end;gap:10px;display:grid}.balloon-menu button{border:1px solid var(--line);background:var(--surface);height:48px;color:var(--fg);font:600 15px var(--font-ui);opacity:0;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 18px;transition:transform .32s cubic-bezier(.3,1.5,.5,1),opacity .2s;display:inline-flex;transform:translateY(20px)scale(.6);box-shadow:0 6px 18px #0006}.balloon-ic{font-size:20px}.balloon-menu.open{pointer-events:auto}.balloon-menu.open button{opacity:1;transform:none}.balloon-menu.open button:nth-child(4){transition-delay:0s}.balloon-menu.open button:nth-child(3){transition-delay:40ms}.balloon-menu.open button:nth-child(2){transition-delay:80ms}.balloon-menu.open button:first-child{transition-delay:.12s}.balloon-shade{z-index:7;opacity:0;pointer-events:none;background:#00000080;transition:opacity .2s;position:fixed;inset:0}.balloon-shade.open{opacity:1;pointer-events:auto}.balloon-bit{z-index:9;background:var(--accent);pointer-events:none;border-radius:3px;width:10px;height:7px;animation:.6s cubic-bezier(.15,.8,.3,1) forwards balloon-bit;position:fixed}@keyframes balloon-bit{to{transform:translate(var(--dx), var(--dy)) rotate(var(--r)) scale(.4);opacity:0}}.balloon-ring{z-index:9;border:3px solid var(--accent);pointer-events:none;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.45s ease-out forwards balloon-ring;position:fixed}@keyframes balloon-ring{to{opacity:0;transform:scale(7)}}@media (width>=601px){.balloon-shade{display:none}}@media (prefers-reduced-motion:reduce){.add-book-fab:not(.popped){animation:none}.balloon-menu button{transition:opacity .15s}}.swipe-frame{overflow-x:clip}.pull-hint{left:50%;top:calc(var(--head-h,130px) + 14px);z-index:6;opacity:0;pointer-events:none;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;position:fixed;transform:translate(-50%)}.pull-hint.ready{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}@media (width>=601px){.pull-hint{display:none}}.crash-screen{padding-top:calc(40px + env(safe-area-inset-top,0px))}.crash-screen h1{margin:0 0 12px}.crash-detail{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--warn);padding:12px;font-size:12px}
