:root{--bg:#f6f4fa;--card:#fff;--border:#e3e0ea;--ink:#1c1a22;--ink-2:#5a5664;--ink-3:#8a8a90;--lavender:#c9b8ff;--mint:#b8ebd0;--accent:#b9dcff;--accent-mid:#6fb2f2;--accent-soft:#e8f3ff;--accent-ink:#1f5f99;--radius:4px;--radius-tag:2px;--sans:"Space Grotesk", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}img{max-width:100%;display:block}button{font:inherit;color:inherit}a{color:inherit}.mono{font-family:var(--mono)}.topbar{border-bottom:1px solid var(--border);box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;min-height:74px;margin:0 auto;padding:16px 24px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{flex:none;display:block}.header-search-wrap{width:100%;min-width:0;max-width:380px;margin-left:auto;position:relative}.header-search{display:flex}.header-search input{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);background:var(--card);border-right:0;outline:none;flex:1;padding:8px 12px;font-size:15px}.header-search input:focus,.header-search input:focus+button{border-color:var(--ink)}.header-search button{border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;background:var(--card);cursor:pointer;width:40px;color:var(--ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.header-search button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.search-drop{z-index:40;background:var(--card);border:1px solid var(--ink);border-radius:var(--radius);width:min(420px,100vw - 32px);max-height:min(70vh,560px);position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #1c1a221f}.search-drop ul{margin:0;padding:4px;list-style:none}.search-drop-msg{padding:14px 16px;font-size:14px}.error-text{color:#a4161a}.search-hit{border-radius:2px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:8px;text-decoration:none;display:grid}.search-hit:hover,.search-hit:focus-visible{background:var(--bg);outline:none}.search-hit .cover{aspect-ratio:2/3;width:36px;padding:2px;font-size:6px}.search-hit-text{flex-direction:column;min-width:0;display:flex}.search-hit-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden}.search-hit-meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (width<=640px){.header-search input{padding:7px 10px;font-size:16px}.header-search button{width:36px}.brand{flex:none}}.footer{border-top:1px solid var(--border);max-width:1200px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;margin:64px auto 0;padding:24px;font-size:11px}.page{max-width:1200px;margin:0 auto;padding:32px 24px}.narrow{max-width:760px}.label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);margin:0 0 12px;font-size:11px;font-weight:500}.label .num{color:var(--ink)}.h2{letter-spacing:-.03em;margin:0 0 12px;font-size:28px;line-height:1.1}.textlink{color:var(--ink);text-underline-offset:3px}.back-link{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;margin-bottom:14px;padding:0;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.muted{color:var(--ink-2)}.hero{max-width:880px;padding:56px 0 24px}.hero h1{letter-spacing:-.045em;isolation:isolate;margin:0 0 20px;font-size:clamp(44px,9vw,96px);font-weight:700;line-height:.98}.hl{white-space:nowrap;padding:0 .04em;font-style:italic;position:relative}.hl:before{content:"";z-index:-1;background:var(--lavender);position:absolute;inset:.22em -.14em .02em -.04em}.hero p{color:var(--ink-2);max-width:560px;margin:0;font-size:19px}.searchbar{gap:0;max-width:720px;margin:32px 0 16px;display:flex}.searchbar input{min-width:0;font:inherit;border:1px solid var(--ink);border-radius:var(--radius) 0 0 var(--radius);background:var(--card);border-right:0;outline:none;flex:1;padding:14px 16px;font-size:18px}.searchbar input:focus{box-shadow:inset 0 0 0 1px var(--ink)}.btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink);color:var(--card)}.btn:disabled{opacity:.5;cursor:default}.btn-solid{background:var(--ink);color:#fff}.btn-solid:hover{background:#34313d}.searchbar .btn{border-radius:0 var(--radius) var(--radius) 0;padding:0 24px}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chips .label{margin:0 6px 0 0}.chip{font-family:var(--sans);border:1px solid var(--border);border-radius:var(--radius-tag);background:var(--card);cursor:pointer;padding:6px 10px;font-size:14px;text-decoration:none}.chip:hover{border-color:var(--ink)}.results{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-top:32px;display:grid}.result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:10px;text-decoration:none;display:flex}.result:hover{border-color:var(--ink)}.result .cover{aspect-ratio:2/3;width:100%}.result-title{font-size:15px;font-weight:600;line-height:1.2}.result-meta{color:var(--ink-2);font-size:12px}.cover{object-fit:cover;text-align:center;font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;background:#ebe8f1;border-radius:2px;justify-content:center;align-items:center;padding:6px;font-size:10px;display:flex;overflow:hidden}img.cover{padding:0}.notice{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);margin:24px 0;padding:14px 16px;font-size:15px}.notice.error{color:#a4161a;border-color:#e5484d}.book-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card+.card{margin-top:24px}.book-head{grid-template-rows:auto 1fr;grid-template-columns:140px minmax(0,1fr);column-gap:24px;display:grid}.book-head .cover-stack{flex-direction:column;grid-row:1/span 2;gap:12px;width:140px;display:flex}.book-head .cover{aspect-ratio:2/3;width:100%;box-shadow:0 1px 0 var(--border)}.book-info{min-width:0}.book-title{letter-spacing:-.04em;overflow-wrap:anywhere;margin:4px 0 8px;font-size:clamp(30px,5vw,48px);font-weight:700;line-height:1}.book-author{color:var(--ink-2);margin:0 0 14px;font-size:18px}.genre-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:var(--ink);border-radius:var(--radius-tag);padding:3px 7px;font-size:11px;display:inline-block}.tag{font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius-tag);white-space:nowrap;background:var(--card);padding:3px 8px;font-size:12px}.head-card{container-type:inline-size}@container (width<=600px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.stat-value{overflow-wrap:anywhere}.stat-unit{color:var(--ink-2);font-size:.6em}.balance-fill{background:var(--accent-mid);border-radius:2px;height:100%}.char-note{margin:12px 0 0;font-size:15px;line-height:1.45}.trope-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trope-list li{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.trope-name{font-family:var(--mono);text-transform:lowercase;font-size:13px;font-weight:500}.trope-note{color:var(--ink-2);font-size:14px;line-height:1.4}.stat{border:1px solid var(--border);border-radius:var(--radius);padding:14px}.stat-value{font-family:var(--mono);letter-spacing:-.02em;font-size:22px;font-weight:500;line-height:1.1}.stat .label{margin:6px 0 0;font-size:10px}.ai-info{vertical-align:-3px;margin-left:6px;display:inline-flex;position:relative}.ai-info-btn{width:22px;height:22px;color:var(--ink-3);cursor:help;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-4px;padding:0;display:inline-flex}.ai-info-btn:hover,.ai-info-btn:focus-visible{color:var(--ink);outline:none}.ai-info-btn:focus-visible{box-shadow:0 0 0 2px var(--ink)}.ai-info-tip{left:var(--tip-left,-10px);z-index:30;background:var(--ink);color:#fff;border-radius:var(--radius);width:max-content;max-width:min(260px,70vw);font-family:var(--sans);text-transform:none;letter-spacing:0;pointer-events:none;padding:8px 10px;font-size:13px;font-weight:400;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 8px)}.ai-info-tip:after{content:"";left:var(--tip-arrow,14px);border:5px solid #0000;border-top-color:var(--ink);position:absolute;top:100%}.ai-info:hover .ai-info-tip,.ai-info-btn:focus-visible+.ai-info-tip,.ai-info.open .ai-info-tip{animation:.12s ease-out tip-in;display:block}@keyframes tip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lede{letter-spacing:-.01em;margin:0;font-size:20px;line-height:1.45}.lowconf{color:var(--ink-2);margin-top:12px;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.flag{color:var(--ink-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.flag-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.flag-form input{min-width:180px;font:inherit;border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:8px 10px;font-size:14px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:20px;margin:0 0 24px;display:flex;overflow-x:auto}.tab{cursor:pointer;white-space:nowrap;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 0;font-size:12px}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tab:hover{color:var(--ink)}.dna-card{container-type:inline-size}.analysis-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}@container (width<=600px){.analysis-grid{grid-template-columns:minmax(0,1fr)}.analysis-grid .radar-wrap{width:100%;max-width:440px;margin:0 auto}}.bars{flex-direction:column;gap:14px;display:flex}.bar-row{grid-template-columns:1fr auto;gap:4px 12px;display:grid}.bar-label{font-size:14px}.bar-value{font-family:var(--mono);text-align:right;font-size:13px}.bar-track{background:#eeecf3;border-radius:2px;grid-column:1/-1;height:10px;overflow:hidden}.bar-fill{background:var(--accent-mid);border-radius:2px;height:100%;transition:width .6s}.radar{width:100%;height:auto;overflow:visible}.radar-wrap{position:relative}.dna-filling{color:var(--ink-2);flex-direction:column;gap:6px;margin:0 0 8px;font-size:13px;display:flex}.dna-filling .progress-track{height:6px;display:block}.dna-filling .progress-fill{display:block}.radar-key{color:var(--ink-2);justify-content:center;align-items:center;gap:6px;margin:4px 0 0;font-size:13px;display:flex}.radar-key-you,.radar-key-typical{border-top:3px solid #5b3fc4;border-radius:2px;width:18px;height:0;display:inline-block}.radar-key-typical{border-top:2px dashed #6b6480;margin-left:12px}.radar-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;fill:var(--ink-2);font-size:12px}.radar-tip{pointer-events:none;background:var(--ink);color:#fff;font-family:var(--mono);white-space:nowrap;border-radius:2px;padding:4px 8px;font-size:12px;position:absolute;transform:translate(-50%,-130%)}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.kv-item{border:1px solid var(--border);border-radius:var(--radius);padding:14px}.kv-item .label{margin-bottom:6px}.kv-value{text-transform:capitalize;font-size:18px;font-weight:500}.balance{margin-top:10px}.balance-track{background:#eeecf3;border-radius:2px;height:8px;position:relative}.balance-dot{background:var(--ink);width:4px;height:16px;position:absolute;top:-4px;transform:translate(-50%)}.balance-ends{font-family:var(--mono);text-transform:uppercase;color:var(--ink-2);letter-spacing:.06em;justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.cn-verdict{flex-wrap:wrap;align-items:baseline;gap:10px;margin:4px 0 16px;display:flex}.cn-level{font-size:22px;font-weight:600}.cn-summary{color:var(--ink-2);flex:240px;font-size:14px}.cn-rows{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.cn-row{border-bottom:1px solid var(--border);grid-template-columns:16px minmax(0,1fr) auto 76px;align-items:center;gap:12px;padding:11px 4px;display:grid}.cn-icon{color:var(--ink-2)}.cn-graphic .cn-icon{color:var(--ink)}.cn-topic{font-size:15px}.cn-graphic .cn-topic{font-weight:600}.cn-meter{gap:3px;display:inline-flex}.cn-meter i{background:#e6e3ec;border-radius:1px;width:14px;height:8px}.cn-meter i.on{background:var(--ink)}.cn-int{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:right;font-size:11px}.cn-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 16px;margin:12px 0 0;font-size:12px;display:flex}.cn-legend b{color:var(--ink);font-weight:600}.cn-disclaimer{color:var(--ink-2);margin-top:16px;font-size:13px}@media (width<=640px){.cn-row{grid-template-columns:16px minmax(0,1fr) auto}.cn-int{display:none}}.recs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rec{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);text-align:left;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px;text-decoration:none;display:grid}a.rec:hover{border-color:var(--ink)}.rec .cover{aspect-ratio:2/3;width:56px;font-size:8px}.rec-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rec-title{font-weight:600;line-height:1.2}.rec-match{font-family:var(--mono);white-space:nowrap;font-size:13px;font-weight:700}.rec-author{color:var(--ink-2);font-size:13px}.rec-reason{margin:6px 0;font-size:14px;line-height:1.4}.rec-shared{flex-wrap:wrap;gap:4px;display:flex}.rec-shared .tag{padding:1px 5px;font-size:10px}.evo-list{flex-direction:column;gap:4px;margin:12px 0 0;padding:0;list-style:none;display:flex}.evo-item{border-radius:var(--radius);cursor:default;border:1px solid #0000;grid-template-columns:12px 1fr;gap:10px;padding:8px;transition:opacity .15s;display:grid}.evo-item.active{border-color:var(--border);background:#faf9fc}.evo-item.dim{opacity:.45}.evo-swatch{border-radius:2px;width:12px;height:12px;margin-top:4px}.evo-title{font-size:14px;font-weight:600;line-height:1.25}.evo-title a{text-decoration:none}.evo-title a:hover{text-decoration:underline}.evo-year{font-family:var(--mono);color:var(--ink-2);margin-right:6px;font-size:11px}.evo-note{color:var(--ink-2);margin-top:2px;font-size:13px;line-height:1.35}.current-dot{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:#fff;vertical-align:2px;border-radius:2px;margin-left:6px;padding:1px 4px;font-size:9px}.skeleton{background:linear-gradient(90deg,#eeecf3 0%,#f8f7fb 50%,#eeecf3 100%) 0 0/200% 100%;border-radius:2px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.loading-line{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.pulse{background:var(--accent-mid);width:8px;height:8px;animation:1s infinite alternate pulse}@keyframes pulse{0%{opacity:.3}to{opacity:1}}.toast{z-index:50;background:var(--ink);color:#fff;font-family:var(--mono);border-radius:var(--radius);overflow-wrap:anywhere;text-align:center;max-width:calc(100vw - 32px);padding:10px 14px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.trope-line{flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;display:flex}.trope-line .label{min-width:56px;margin:0 4px 0 0}.mood-line{margin:16px 0 0}.mood-line+.trope-line{margin-top:8px}.mood-pill{color:#3f2a99;background:#e8e0fd;border-radius:999px;align-items:center;padding:5px 12px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.split{margin-top:8px}.split-verdict{margin-bottom:10px;font-size:18px;font-weight:500}.split-bar{gap:2px;height:22px;display:flex}.split-desc{background:var(--ink);border-radius:2px}.split-dia{background:var(--accent-mid);border-radius:2px}.split-legend{font-family:var(--mono);color:var(--ink);justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;display:flex}.split-legend span{align-items:center;gap:6px;display:inline-flex}.pace-track{background:linear-gradient(90deg, var(--border), var(--accent-mid));border-radius:4px;height:8px;margin:7px 0;position:relative}.pace-mark{border:3px solid var(--ink);box-sizing:border-box;background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.sw{border-radius:2px;width:10px;height:10px;display:inline-block}.sw-desc{background:var(--ink)}.sw-dia{background:var(--accent-mid)}.fit{margin-top:24px}.fit-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@container (width<=600px){.fit-grid{grid-template-columns:minmax(0,1fr)}}.fit-item{background:var(--card);min-width:0;padding:14px 16px}.fit-item .label{margin-bottom:6px;font-size:10px}.fit-value{font-family:var(--mono);font-size:22px;font-weight:500;line-height:1.2}.fit-text{font-family:var(--sans)}.fit-sub{color:var(--ink-2);margin-top:4px;font-size:13px}.fit-sub:first-letter{text-transform:uppercase}.fit-note{margin-top:6px;font-size:13px;line-height:1.4}.chilis{color:var(--ink);vertical-align:middle;gap:3px;display:inline-flex}.chili{color:var(--ink-3);opacity:.55}.chili.on{color:var(--ink);opacity:1}@media (width<=960px){.book-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.topbar{padding:14px 16px}.page,.footer{padding:20px 16px}.hero{padding:28px 0 8px}.hero p{font-size:17px}.searchbar{flex-direction:column;gap:8px}.searchbar input{border-right:1px solid var(--ink);border-radius:var(--radius)}.searchbar .btn{border-radius:var(--radius);padding:12px}.results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:16px}.book-head{grid-template-columns:96px minmax(0,1fr);gap:16px}.book-head .cover-stack{grid-row:1;width:96px}.book-author{font-size:16px}.stat{padding:10px}.stat-value,.lede{font-size:18px}.kv,.recs{grid-template-columns:minmax(0,1fr)}.tabs{gap:16px;padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.actions .btn{flex:140px}}.facts-loading .fact{position:relative;overflow:hidden}.facts-loading .fact:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffffb3 50%,#0000 100%) 0 0/200% 100%;animation:1.4s infinite shimmer;position:absolute;inset:0}.blurred{filter:blur(7px);color:var(--ink-3);-webkit-user-select:none;user-select:none}.head-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.series-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);color:var(--ink);border-radius:var(--radius-tag);padding:2px 7px;font-size:11px;text-decoration:none;display:inline-block}.series-tag.is-link:hover{background:var(--ink);color:#fff}.series{border:1px solid var(--border);border-radius:var(--radius);background:var(--accent-soft);margin-top:24px;padding:14px}.series-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.series-head .label{margin:0}.series-name{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.series-name strong{font-size:16px}.series-meta{font-family:var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.series-verdict{margin:8px 0 0;font-size:15px}.series-verdict a{color:var(--ink);text-underline-offset:3px;font-weight:600}.series-row{scrollbar-width:thin;gap:10px;margin:12px 0 0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.series-row li{flex:none;width:84px}.series-row a,.series-row li>div{border-radius:var(--radius);background:var(--card);border:1px solid #0000;flex-direction:column;gap:4px;height:100%;padding:6px;text-decoration:none;display:flex}.series-row a:hover{border-color:var(--ink)}.series-row li.current>div{border:2px solid var(--accent-ink);padding:5px}.series-row .cover{aspect-ratio:2/3;width:100%;font-size:7px}.series-pos{font-family:var(--mono);color:var(--ink-2);justify-content:space-between;align-items:center;gap:4px;font-size:11px;display:flex}.series-here{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-ink);color:#fff;white-space:nowrap;border-radius:2px;padding:1px 3px;font-size:8px}.series-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.author-bio{color:var(--ink-2);margin:-4px 0 12px;font-size:14px;line-height:1.45}.writes-like{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.writes-like .label{margin-bottom:8px}.writes-like ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.writes-like li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:12px;padding:7px 0;display:grid}.writes-like li:last-child{border-bottom:0}.wl-name{white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none}.wl-name:hover{text-underline-offset:3px;text-decoration:underline}.wl-reason{color:var(--ink-2);text-align:right;font-size:13px}.adapt-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.adapt-item{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 4px;display:grid}.adapt-icon{border-radius:var(--radius);background:var(--mint);width:36px;height:36px;color:var(--ink);justify-content:center;align-items:center;display:flex}.adapt-body{flex-direction:column;min-width:0;display:flex}.adapt-name{font-size:15px;font-weight:600}.adapt-meta{color:var(--ink-2);font-size:13px}.adapt-status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-tag);border:1px solid var(--border);color:var(--ink-2);white-space:nowrap;padding:2px 6px;font-size:10px}.adapt-status.s-in-production,.adapt-status.s-announced{border-color:var(--ink);color:var(--ink);background:var(--lavender)}.chip{align-items:center;gap:6px;display:inline-flex}.chip.is-mapped{border-color:var(--lavender)}.chip-dot{fill:var(--lavender);stroke:var(--ink);stroke-width:1px;flex:none}.chip-shuffle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:11px}.chip-shuffle:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.chips-legend{color:var(--ink-2);align-items:center;gap:6px;margin:10px 0 0;font-size:12px;display:flex}.adapt-watch{color:var(--ink);white-space:nowrap;text-underline-offset:3px;font-size:13px;font-weight:500}.adapt-watch:hover{color:var(--accent-ink)}.tag-link{text-decoration:none}.tag-link:hover{border-color:var(--ink);background:var(--lavender)}.tag-link-text{text-decoration:none}.tag-link-text:hover{text-underline-offset:3px;text-decoration:underline}.trope-title{letter-spacing:-.04em;text-transform:capitalize;margin:4px 0 10px;font-size:clamp(34px,6vw,56px);line-height:1}.trope-desc{color:var(--ink-2);max-width:600px;margin:0 0 20px;font-size:17px}.trope-books{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.trope-book{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 6px;text-decoration:none;display:grid}a.trope-book:hover{background:var(--card)}.trope-book .cover{aspect-ratio:2/3;width:34px;padding:1px;font-size:5px}.trope-book-text{flex-direction:column;min-width:0;display:flex}.trope-book-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.25;overflow:hidden}.trope-book-author{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.trope-book-go{color:var(--ink-3);font-size:14px}a.trope-book:hover .trope-book-go{color:var(--ink)}.trope-loading{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);align-items:flex-start;gap:10px;margin:16px 0;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.trope-loading .pulse{flex:none;margin-top:5px}.trope-books.is-continued{border-top:0}.lib-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);flex:none;align-items:center;gap:6px;margin-left:16px;font-size:11px;text-decoration:none;display:inline-flex}.lib-link:hover .lib-link-text{text-underline-offset:3px;text-decoration:underline}.lib-link-count{background:var(--lavender);color:var(--ink);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;display:inline-flex}.topbar>.lib-link:nth-child(2){margin-left:auto}@media (width<=640px){.lib-link-text{display:none}.lib-link{margin-left:10px}}.shelf-toggle{border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);flex:none;display:inline-flex;overflow:hidden}.shelf-toggle button{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:0;border-right:1px solid var(--ink);color:var(--ink);background:0 0;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:inline-flex}.shelf-toggle button:last-child{border-right:0}.shelf-toggle button:hover{background:var(--bg)}.shelf-toggle button[aria-pressed=true]{background:var(--lavender);font-weight:600}.shelf-toggle button:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.toast a{color:#fff;text-underline-offset:3px}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.lib-device-note{color:var(--ink-2);max-width:340px;margin:0;font-size:13px}.lib-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}@media (width<=960px){.lib-layout{grid-template-columns:minmax(0,1fr)}}.lib-main{min-width:0}.lib-under{margin-top:24px}@media (width<=1080px) and (width>=700px){.lib-under .lib-insights-side{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-count{background:var(--bg);border:1px solid var(--border);color:var(--ink-2);border-radius:999px;margin-left:4px;padding:0 6px;font-size:10px}.lib-books{margin:0;padding:0;list-style:none}.lib-book{border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.lib-book:last-child{border-bottom:0}.lib-book-main{flex:1;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:10px 4px;text-decoration:none;display:grid}.lib-book-main:hover .trope-book-title{text-underline-offset:3px;text-decoration:underline}.lib-book-main .cover{aspect-ratio:2/3;width:40px;padding:1px;font-size:5px}.lib-book-actions{flex:none;align-items:center;gap:4px;display:flex}.lib-book-actions select{appearance:none;font:inherit;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235A5664' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 11px center no-repeat;max-width:140px;padding:7px 30px 7px 10px;font-size:13px;line-height:1.2}.lib-book-actions select:hover{border-color:var(--ink)}.lib-book-actions select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.lib-remove{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:20px;line-height:1}.lib-remove:hover{color:#a4161a}.lib-dna-note{color:var(--ink-2);margin:0 0 4px;font-size:14px}.lib-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.lib-stats .stat{padding:10px}.lib-stats .stat-value{overflow-wrap:normal;white-space:nowrap;font-size:20px}.lib-top{margin-top:16px}.lib-empty{text-align:center;padding:40px 24px}@media (width<=640px){.lib-book-actions select{max-width:110px;font-size:12px}.lib-stats .stat-value{font-size:17px}}.trope-book-why{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;overflow:hidden}.lib-layout>.card+.card{margin-top:0}.book-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.book-topline .label{margin:0}@media (width<=640px){.book-topline{flex-wrap:wrap;gap:8px}.shelf-toggle button{letter-spacing:.04em;gap:4px;padding:7px 8px}}@media (width<=360px){.shelf-toggle svg{display:none}}.lib-head-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.view-toggle{border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);display:inline-flex;overflow:hidden}.view-toggle button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:0;border-right:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;padding:7px 14px;font-size:11px}.view-toggle button:last-child{border-right:0}.view-toggle button[aria-pressed=true]{background:var(--lavender);font-weight:600}@media (width<=640px){.lib-head-right{align-items:flex-start}}.room{border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);background:#f6f3fb;position:relative;overflow:hidden}.room-scene{flex-wrap:nowrap;align-items:flex-end;gap:40px;padding:72px 132px 0 32px;display:flex;position:relative}.room-floor{border-top:1px solid var(--ink);background:#e3daf2;height:46px}.room-zone{flex-direction:column;display:flex;position:relative}.room-zone-case{flex:360px;min-width:0}.room-zone-stand{flex:0 0 190px;align-items:center}.room-zone-floor{flex:0 auto;align-items:center}.room-label{margin:calc(13.5px / var(--room-zoom,1)) 0 0;line-height:calc(20px / var(--room-zoom,1));font-family:var(--mono);font-size:calc(13px / var(--room-zoom,1));text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-align:center;white-space:nowrap;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-weight:500;display:flex;position:absolute;top:100%;left:0;right:0}.room-more{font:inherit;color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.room-empty{color:var(--ink-2);align-self:center;padding:8px;font-size:12px;font-style:italic}.room-empty-above{white-space:nowrap;align-self:flex-end;margin-bottom:18px;padding:0 4px}.room-zone-case{max-width:460px}.bookstand{width:100%;position:relative}.bookstand-img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.bookstand-tier{align-items:flex-end;gap:2px;padding:0 2px;display:flex;position:absolute}.spine{--sp-layers:var(--sp-top), var(--sp-bot), var(--sp-mid);--sp-size:100% var(--cap-top), 100% var(--cap-bot), 100% calc(100% - var(--cap-top) - var(--cap-bot) + 2px);--sp-pos:0 0, 0 100%, 0 calc(var(--cap-top) - 1px);isolation:isolate;color:var(--ink);background:var(--sp-layers);background-size:var(--sp-size);background-position:var(--sp-pos);background-repeat:no-repeat;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:transform .15s;display:flex;position:relative}.spine:after{content:"";background:var(--tint);mix-blend-mode:multiply;pointer-events:none;-webkit-mask-image:var(--sp-layers);-webkit-mask-size:var(--sp-size);-webkit-mask-position:var(--sp-pos);-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--sp-layers);mask-image:var(--sp-layers);-webkit-mask-size:var(--sp-size);mask-size:var(--sp-size);-webkit-mask-position:var(--sp-pos);mask-position:var(--sp-pos);position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.spine span{z-index:1;writing-mode:vertical-rl;color:inherit;white-space:nowrap;text-overflow:ellipsis;max-height:calc(100% - var(--cap-top) - var(--cap-bot) - 4px);font-size:9.5px;font-weight:600;position:relative;overflow:hidden;transform:rotate(180deg)}.spine:hover,.spine:focus-visible{outline:none;transform:translateY(-8px)}.spine:focus-visible{box-shadow:0 0 0 2px var(--ink)}.room-zone-stand{flex:0 0 240px}.nightstand{width:240px;position:relative}.side-table-img{pointer-events:none;width:100%;height:auto;display:block}.table-top,.table-shelf{align-items:flex-end;display:flex;position:absolute}.table-shelf{flex-direction:column-reverse;justify-content:flex-start;align-items:center}.table-books{z-index:1;align-items:flex-end;padding-left:6px;display:flex;position:relative}.lamp-wrap{width:70px;position:absolute;bottom:0;right:2px}.lamp{z-index:1;width:70px;height:auto;display:block;position:relative}.lamp-glow{pointer-events:none;opacity:.9;width:250px;max-width:none;height:auto;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)}.stand-book{transition:transform .15s;display:block}.stand-book+.stand-book{margin-left:-20px}.stand-book .cover{aspect-ratio:2/3;border:1px solid var(--ink);border-radius:1px;width:54px;font-size:6px}.stand-book.is-top{z-index:1;transform:rotate(-4deg)}.stand-book:hover,.stand-book:focus-visible{z-index:2;outline:none;transform:translateY(-6px)}.room-print{pointer-events:none;width:64px;height:auto;position:absolute;top:22px;right:36px}.room-plant{pointer-events:none;width:92px;height:auto;position:absolute;bottom:0;right:24px}.piles{align-items:flex-end;gap:18px;min-height:60px;display:flex}.pile{flex-direction:column-reverse;align-items:center;display:flex}.flat{border:1px solid var(--ink);height:17px;color:var(--ink);border-top:0;align-items:center;padding-left:8px;text-decoration:none;transition:transform .15s;display:flex;overflow:hidden}.pile .flat:last-child{border-top:1px solid var(--ink)}.flat span{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:600;overflow:hidden}.flat:hover,.flat:focus-visible{outline:none;transform:translate(6px)}.flat:focus-visible{box-shadow:0 0 0 2px var(--ink)}.book-card-pop{z-index:60;background:var(--card);border:1px solid var(--ink);border-radius:var(--radius);pointer-events:auto;width:280px;padding:12px;position:fixed;box-shadow:0 12px 32px #1c1a221f}.bcp-top{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid}.bcp-top .cover{aspect-ratio:2/3;border:1px solid var(--ink);width:44px;font-size:5px}.bcp-title{font-size:15px;font-weight:600;line-height:1.2}.bcp-author{color:var(--ink-2);font-size:13px}.bcp-when{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-top:4px;font-size:10px}.bcp-dna{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:flex}.bcp-dims{flex-direction:column;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bcp-dims li{color:var(--ink-2);flex-direction:column;gap:3px;font-size:11px;display:flex}.bcp-dims i{border-radius:2px;height:5px;display:block}.bcp-meta{color:var(--ink-2);margin-top:8px;font-size:12px}.bcp-meta:first-letter{text-transform:uppercase}.bcp-open{color:var(--ink);text-underline-offset:3px;margin-top:10px;font-size:13px;font-weight:600;display:inline-block}.lib-room-dna{max-width:460px;margin-top:24px}.room{container-type:inline-size}@container (width<=1100px){.room-scene{flex-flow:column;align-items:stretch;gap:12px;padding:8px 16px 0}.room-zone-stand{flex:none;order:-1;align-items:center;padding-top:104px}.room-zone-case,.room-zone-floor{flex:none}.room-zone-case{align-self:center;width:100%;max-width:460px;padding-top:110px}.room-label{margin:10px 0 0;position:static}.room-floor{height:16px}.room-print,.room-plant{display:none}}@media (width<=640px){.lib-room-dna{max-width:none}}.room-book{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.room-zone{border-radius:var(--radius);transition:background .12s,box-shadow .12s}.room-zone.is-droppable{box-shadow:0 0 0 1px var(--ink-3) inset;background:#ffffff59}.room-zone.is-drop-target{box-shadow:0 0 0 2px var(--ink) inset;background:#c9b8ff47}.drag-ghost{z-index:80;pointer-events:none;border:1px solid var(--ink);max-width:200px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;font-weight:600;display:flex;position:fixed;overflow:hidden;transform:translate(-50%,-120%)rotate(-3deg);box-shadow:0 10px 24px #1c1a222e}.drag-ghost span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500}body:has(.drag-ghost){cursor:grabbing}.account{align-items:center;min-height:32px;margin-left:14px;display:flex;position:relative}.google-btn{align-items:center;min-height:32px;display:flex}.avatar-btn{border:1px solid var(--border);background:var(--lavender);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:700;display:inline-flex;position:relative;overflow:visible}.avatar-btn img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.avatar-warn{border:2px solid var(--bg);background:#f2a65a;border-radius:50%;width:9px;height:9px;position:absolute;top:-1px;right:-1px}.account-menu{z-index:60;border:1px solid var(--border);background:#fff;border-radius:12px;min-width:230px;padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #1c1a221f}.account-name{margin:0;font-size:14px;font-weight:700}.account-sub{color:var(--ink-2);margin:2px 0 0;font-size:12px}.account-sync{color:var(--ink-2);margin:10px 0 0;font-size:12px}.account-sync.is-error{color:#a4541a}.account-signout{border:1px solid var(--border);background:var(--bg);width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:center;border-radius:8px;margin-top:12px;padding:8px 10px;font-size:13px}.account-signout:hover{border-color:var(--ink)}.lib-saved{align-items:center;gap:6px;display:inline-flex}.lib-saved:before{content:"";background:#3fb47c;border-radius:50%;width:7px;height:7px}.lib-saved.is-error:before{background:#f2a65a}@media (width<=640px){.account{margin-left:10px}}.signin-banner{color:var(--ink-2);background:#f1ecff;border:1px solid #ddd3fa;border-radius:12px;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;font-size:14px;line-height:1.45;display:flex}.signin-banner strong{color:var(--ink)}.signin-banner-icon{color:#5b3fc4;flex:none}.signin-banner-arrow{color:#5b3fc4;font-weight:700}.account-delete{width:100%;font:inherit;color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:6px;padding:6px;font-size:12px;text-decoration:underline}.account-delete:hover{color:#a4341a}.legal h2{margin:28px 0 8px;font-size:18px}.legal p,.legal li{color:var(--ink);font-size:15px;line-height:1.65}.legal ul{margin:8px 0;padding-left:20px}.legal li{margin:4px 0}.footer a{color:inherit}.lib-insights{grid-template-columns:minmax(0,460px) minmax(0,1fr);align-items:start;gap:24px;margin-top:24px;display:grid}.lib-insights-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.lib-insights .card+.card,.lib-list-side .card+.card{margin-top:0}.lib-list-side{flex-direction:column;gap:24px;display:flex}.lib-list-side .lib-insights-side{flex-direction:column;align-items:stretch;gap:24px;display:flex}@media (width<=1080px){.lib-insights-side{grid-template-columns:minmax(0,1fr)}}.insights-col{flex-direction:column;gap:24px;min-width:0;display:flex}.insights-col>.card,.dnf-list{min-width:0;max-width:100%}.insights-col .card+.card{margin-top:0}@media (width<=760px){.lib-insights{grid-template-columns:minmax(0,1fr)}}.insight .label{margin-top:0}.insight-sub{color:var(--ink-2);margin:4px 0 10px;font-size:13.5px}.insight-sub+.insight-books+.insight-sub{margin-top:18px}.insight-empty{color:var(--ink-2);margin:6px 0 0;font-size:13.5px;line-height:1.5}.insight-books{flex-direction:column;gap:2px;display:flex}.insight-book{color:var(--ink);border-radius:8px;align-items:center;gap:10px;margin:0 -6px;padding:6px;text-decoration:none;display:flex}.insight-book:hover,.insight-book:focus-visible{background:var(--bg);outline:none}.insight-book .trope-book-text{flex:1;min-width:0}.insight-match{font-family:var(--mono);color:var(--ink);background:#efeafd;border-radius:999px;flex:none;padding:3px 8px;font-size:11px}.share-dna{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:6px;margin-top:20px;padding-top:16px;display:flex}.share-dna-btn{align-items:center;gap:8px;display:inline-flex}.share-dna-note{color:var(--ink-2);margin:0;font-size:12.5px}.share-dna-note.is-error{color:#a4341a}.goal{align-items:center;gap:16px;display:flex}.goal-ring{flex:none}.goal-ring-num{font-family:var(--mono);fill:var(--ink);font-size:18px;font-weight:600}.goal-count{margin:0 0 2px;font-size:15px}.goal-edit{font:inherit;color:var(--ink-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:12.5px;text-decoration:underline}.goal-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.goal-form input{text-align:center;width:64px;height:36px;font:inherit;font-family:var(--mono);border:1px solid var(--border);color:var(--ink);-moz-appearance:textfield;background:#fff;border-radius:8px;font-size:16px}.goal-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.goal-form input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.goal-step{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;font-size:18px}.goal-step:hover{border-color:var(--ink)}.goal-save{height:36px;margin-left:4px}.goal-cancel{font:inherit;color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:13px;text-decoration:underline}.timeline{gap:8px;height:120px;margin-top:4px;display:flex}.timeline-col{cursor:default;outline:none;flex-direction:column;flex:1;align-items:stretch;display:flex;position:relative}.timeline-plot{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;display:flex}.timeline-bar{background:#7c5ce0;border-radius:4px 4px 0 0;width:100%;max-width:28px;min-height:4px;margin:0 auto;transition:background .12s}.timeline-col:hover .timeline-bar,.timeline-col:focus-visible .timeline-bar{background:#5b3fc4}.timeline-col:focus-visible .timeline-plot{box-shadow:0 0 0 2px var(--ink);border-radius:4px}.timeline-month{text-align:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-top:6px;font-size:10px}.timeline-month.is-now{color:var(--ink);font-weight:600}.timeline-tip{z-index:5;pointer-events:none;background:var(--ink);color:#fff;border-radius:8px;flex-direction:column;gap:2px;min-width:140px;max-width:200px;padding:8px 10px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #1c1a2233}.timeline-col:first-child .timeline-tip{left:0;transform:none}.timeline-col:last-child .timeline-tip{left:auto;right:0;transform:none}.timeline-tip-title{color:#d9d4e6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.where{margin-top:24px}.where .label{margin-bottom:10px}.where-row{border-top:1px solid var(--border);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.where-row:first-of-type{border-top:0;padding-top:0}.where-kind{width:76px;color:var(--ink);flex:none;align-items:center;gap:6px;padding-top:5px;font-size:13px;font-weight:600;display:inline-flex}.where-kind svg{color:var(--ink-2)}.where-links{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.store-link{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:999px;align-items:center;padding:5px 11px;font-size:13px;text-decoration:none;transition:border-color .12s;display:inline-flex}.store-link:after{content:"↗";color:var(--ink-3);margin-left:5px;font-size:11px}.store-link:hover,.store-link:focus-visible{border-color:var(--ink);outline:none}.where-badge{color:var(--ink-2);padding:5px 2px;font-size:12px}.where-badge.is-yes{color:#1f6b45;background:#e3f6ec;border-radius:999px;padding:5px 10px;font-weight:600}.search-mode{margin:28px 0 10px}.search-mode+.searchbar{margin-top:0}.trope-chips{margin-top:16px}.chip.chip-solid{background:var(--ink);color:#fff;border-color:var(--ink)}.trope-hint{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 16px;font-size:13.5px;display:flex}.search-drop-tropes{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px;display:flex}.search-drop-heading{width:100%;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:10px}.search-drop-tropes .chip{padding:4px 10px;font-size:12.5px}.search-drop-trope-any{color:var(--ink);text-underline-offset:3px;font-size:13px}.home-feedback{color:var(--ink-2);margin:28px 0 0;font-size:13.5px}.feedback-form{flex-direction:column;gap:18px;max-width:640px;margin-top:20px;display:flex}.feedback-types{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;max-width:480px;display:grid}.feedback-types button{white-space:normal;text-align:center;padding:9px 6px;line-height:1.25}.feedback-field{flex-direction:column;gap:6px;display:flex}.feedback-label{font-size:14px;font-weight:600}.feedback-label .muted{font-weight:400}.feedback-field textarea,.feedback-field input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);resize:vertical;background:#fff;padding:10px 12px;font-size:15px}.feedback-field textarea:focus,.feedback-field input:focus{border-color:var(--ink);outline:none}.feedback-note{color:var(--ink-2);margin:-6px 0 0;font-size:12.5px}.feedback-note code{font-family:var(--mono);font-size:12px}.feedback-error{color:#a4341a;margin:0;font-size:13.5px}.feedback-form .btn-solid{align-self:flex-start}.feedback-done{margin-top:24px}.feedback-done-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.admin .view-toggle{margin:12px 0 16px}.admin-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-item{padding:16px}.admin-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.admin-type{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--bg);color:var(--ink);border-radius:999px;padding:2px 7px;font-size:10px}.admin-type.is-idea{background:#efeafd}.admin-type.is-bug{background:#fde8e1}.admin-message{white-space:pre-wrap;margin:8px 0 4px;font-size:14.5px;line-height:1.5}.whats-new{align-items:center;margin-left:12px;display:flex;position:relative}.bell-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.bell-btn:hover,.bell-btn[aria-expanded=true]{background:var(--bg)}.bell-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.bell-dot{border:2px solid var(--card);background:#7c5ce0;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:7px}.whats-new-panel{z-index:60;border:1px solid var(--border);background:#fff;border-radius:12px;width:min(360px,100vw - 24px);max-height:min(520px,70vh);position:absolute;top:calc(100% + 8px);right:-8px;overflow-y:auto;box-shadow:0 12px 30px #1c1a221f}.whats-new-head{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.whats-new-head .label{margin:0}.whats-new-feedback{color:var(--ink);text-underline-offset:3px;font-size:12.5px}.whats-new-panel ul{margin:0;padding:0;list-style:none}.whats-new-item{border-bottom:1px solid var(--border);padding:12px 14px}.whats-new-item:last-child{border-bottom:0}.whats-new-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);align-items:center;gap:8px;font-size:10px;display:flex}.whats-new-tag{color:#5b3fc4;background:#efeafd;border-radius:999px;padding:1px 6px;font-weight:600}.whats-new-title{margin:4px 0 2px;font-size:14px;font-weight:700}.whats-new-body{color:var(--ink-2);margin:0;font-size:13px;line-height:1.45}.whats-new-link{color:var(--ink);text-underline-offset:3px;margin-top:6px;font-size:12.5px;display:inline-block}@media (width<=640px){.whats-new{margin-left:6px}.whats-new-panel{position:fixed;top:58px;right:12px}}.format-bar{gap:2px;height:14px;margin:6px 0 12px;display:flex}.format-bar span{border-radius:4px;min-width:4px}.format-legend{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.format-legend li{align-items:center;gap:7px;font-size:13.5px;display:flex}.format-legend strong{font-family:var(--mono);margin-left:auto;font-weight:600}.format-legend .muted{text-align:right;width:38px;font-family:var(--mono);font-size:12px}.format-swatch{border-radius:3px;flex:none;width:10px;height:10px}.format-mark{left:50%;bottom:calc(var(--cap-bot,4px) + 2px);z-index:1;color:inherit;opacity:.85;font-style:normal;display:flex;position:absolute;transform:translate(-50%)}.spine:has(.format-mark) span{max-height:calc(100% - var(--cap-top) - var(--cap-bot) - 18px);margin-bottom:10px}.flat .format-mark{margin:0 6px 0 auto;position:static;transform:none}.lib-format{vertical-align:-1px;color:var(--ink-2);margin-left:6px;display:inline-flex}.your-reading{background:var(--bg);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:16px;padding:12px 16px;display:flex}.yr-formats{flex:none}.yr-formats button[aria-pressed=false]{color:var(--ink-2)}.yr-row{flex-wrap:wrap;flex:auto;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.yr-fields{flex-wrap:wrap;gap:12px 28px;display:flex}.yr-field{flex-direction:column;gap:3px;display:flex}.yr-field-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:10px}.yr-field-value{align-items:center;gap:4px;display:inline-flex;position:relative}.yr-field-value>button:first-child{font:inherit;color:var(--ink);cursor:pointer;-webkit-text-decoration:underline dotted var(--ink-3);text-decoration:underline dotted var(--ink-3);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.yr-field-value>button.is-empty{color:var(--ink-2);font-weight:400}.yr-field-value>button:first-child:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.yr-field-value>button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}.yr-field-value input{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;bottom:0;left:0}.yr-field-remove{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.yr-field-remove:hover{color:var(--ink)}.yr-actions{gap:16px;display:flex}.yr-action{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.yr-action:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.yr-note{font:inherit;border:1px solid var(--border);color:var(--ink);resize:vertical;background:#fff;border-radius:8px;flex-basis:100%;padding:8px 10px;font-size:14px}.yr-note:focus{border-color:var(--ink);outline:none}.rate{--knob:34px;flex-direction:column;align-items:stretch;gap:2px;display:flex}.rate-track{height:var(--knob);margin:0 2px;position:relative}.rate-track:before,.rate-fill{content:"";border-radius:999px;height:6px;margin-top:-3px;position:absolute;top:50%}.rate-track:before{background:var(--border);left:0;right:0}.rate-fill{width:calc(var(--knob) / 2 + (100% - var(--knob)) * var(--f));background:#f2b84b;left:0}.rate-knob{top:0;left:calc((100% - var(--knob)) * var(--f));width:var(--knob);height:var(--knob);border:2px solid var(--ink);font-family:var(--mono);color:var(--ink);pointer-events:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:transform .12s;display:flex;position:absolute;box-shadow:0 1px 4px #1c1a222e}.rate-knob.is-empty{color:var(--ink-3);font-weight:400}.rate-track input[type=range]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.rate-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--knob);height:var(--knob)}.rate-track input[type=range]::-moz-range-thumb{width:var(--knob);height:var(--knob);border:0}.rate-track:has(input:focus-visible) .rate-knob{outline:2px solid var(--ink);outline-offset:2px}.rate-track:active .rate-knob{transform:scale(1.08)}.rate-hint{text-align:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-size:11px}.lib-rating{color:#b97a12;font-family:var(--mono);margin-right:6px;font-size:11.5px}.lib-data-links{align-items:center;gap:14px;font-size:13px;display:flex}.lib-export{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lib-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.import-steps,.import-preview,.import-progress,.import-done{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px;display:flex}.import-how{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;display:grid}@media (width<=640px){.import-how{grid-template-columns:minmax(0,1fr)}}.import-source{margin:0 0 6px;font-weight:700}.import-how ol{color:var(--ink-2);margin:0;padding-left:20px;font-size:14px;line-height:1.6}.import-pick{cursor:pointer;position:relative}.import-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-pick:focus-within{outline:2px solid var(--ink);outline-offset:2px}.import-preview .h2,.import-done .h2{margin:0}.import-counts{flex-wrap:wrap;gap:18px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.import-option{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.import-progress{width:100%}.progress-track{background:var(--bg);border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{background:#7c5ce0;border-radius:999px;height:100%;transition:width .3s}.import-unmatched summary{cursor:pointer;font-weight:600}.import-unmatched ul{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.7}@media (width<=480px){.topbar:has(.header-search-wrap) .brand-name{display:none}.header-search-wrap{margin-left:12px}}@container (width<=560px){.book-head{grid-template:"cover year""cover title""cover author""cover tags"1fr"shelf shelf"/96px minmax(0,1fr);gap:0 16px}.book-info,.book-topline{display:contents}.book-head .cover-stack{grid-area:cover;width:96px}.book-topline .label{grid-area:year;margin-bottom:4px}.book-title{grid-area:title}.book-author{grid-area:author}.head-tags{grid-area:tags}.book-head .shelf-toggle{grid-area:shelf;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;display:grid}.book-head .shelf-toggle button{justify-content:center;padding:9px 4px}}.dnf-headline{margin:2px 0 10px;font-size:15px}.dnf-headline .muted{font-size:13px}.dnf-compare{flex-direction:column;gap:10px;display:flex}.dnf-legend{color:var(--ink-2);gap:14px;font-size:12px;display:flex}.dnf-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.dnf-dim-label{margin-bottom:3px;font-size:13px;font-weight:600;display:block}.dnf-bar-row{align-items:center;gap:8px;margin-top:2px;display:flex}.dnf-bar-track{background:var(--bg);border-radius:999px;flex:1;height:6px}.dnf-bar{border-radius:999px;height:100%}.dnf-bar-value{text-align:right;width:36px;font-family:var(--mono);color:var(--ink-2);font-size:11.5px}.dnf-list{margin-top:12px}.dnf-list summary{cursor:pointer;font-size:13px;font-weight:600}.dnf-list .insight-books{margin-top:6px}.dnf-box{cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-self:flex-end;width:150px;padding:0;transition:transform .15s;position:relative}.dnf-box img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.dnf-box-label{width:48.9%;height:22.8%;font-family:var(--mono);letter-spacing:.1em;color:var(--ink);justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex;position:absolute;top:64.3%;left:28.4%}.dnf-box-label b{letter-spacing:0;color:var(--ink-2);font-weight:500}.dnf-box:hover,.dnf-box:focus-visible{outline:none;transform:translateY(-3px)}.dnf-box:focus-visible{box-shadow:0 0 0 2px var(--ink)}.dnf-box.is-drop-target{filter:drop-shadow(0 0 8px #7c5ce080);transform:scale(1.08)}.floor-row{justify-content:center;align-items:flex-end;gap:20px;display:flex}.tbr-spot{--rug-h:60px;--rug-cap:calc(var(--rug-h) * .944);min-width:220px;padding:0 calc(var(--rug-cap) - 6px) calc(var(--rug-h) * .52);justify-content:center;display:flex;position:relative}.rug{height:var(--rug-h);pointer-events:none;background:url(/room/rug-left.webp) left bottom / var(--rug-cap) 100% no-repeat, url(/room/rug-right.webp) right bottom / var(--rug-cap) 100% no-repeat, url(/room/rug-mid.webp) calc(var(--rug-cap) - 1px) bottom / calc(100% - 2 * var(--rug-cap) + 2px) 100% no-repeat;position:absolute;bottom:0;left:0;right:0}.tbr-spot .piles{position:relative}.tbr-spot .room-empty{margin-bottom:calc(var(--rug-h) * .5 + 8px);white-space:nowrap}@container (width>=1101px){.room-zone-case{flex:0 0 460px}.room-zone-floor{flex-shrink:0}}.tbr-spot,.dnf-spot{position:relative}.dnf-spot{flex-direction:column;align-items:center;display:flex}.room-label.floor-label{margin:calc(13.5px / var(--room-zoom,1)) 0 0;position:absolute;top:100%;left:-40px;right:-40px}@container (width<=1100px){.room-label.floor-label{margin-top:8px;position:absolute}.floor-row{margin-bottom:30px}}.facts{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:24px;display:grid;overflow:hidden}.fact{background:var(--card);min-width:0;padding:12px 16px}.fact-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0 0 4px;font-size:10px}.fact-value{font-family:var(--mono);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;font-weight:500;line-height:1.15}.fact-unit{color:var(--ink-2);font-size:.6em}.fact-sub{color:var(--ink-2);margin:4px 0 0;font-size:12px;line-height:1.35}.fact-link{color:var(--ink);text-underline-offset:3px;margin-top:4px;font-size:12px;display:inline-block}@container (width<=600px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{padding:12px}.fact-value{overflow-wrap:break-word;font-size:17px}}.account.is-signed-out{justify-content:flex-end;min-width:170px;min-height:32px}.account.is-avatar-slot{min-width:32px;min-height:32px}@media (width<=640px){.account.is-signed-out{min-width:32px}}.goal{cursor:default;border-radius:8px;position:relative}.goal[tabindex="0"]{cursor:pointer}.goal:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.goal-books-wrap{z-index:20;padding-top:8px;position:absolute;top:100%;left:0}.goal-books{overscroll-behavior:contain;background:var(--ink);color:#fff;cursor:default;border-radius:10px;width:min(300px,80vw);max-height:280px;padding:10px 12px;overflow-y:auto;box-shadow:0 10px 24px #1c1a2238}.goal-books-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#c9c3d6;margin:0 0 6px;font-size:10px}.goal-books ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.goal-books li{flex-direction:column;min-width:0;display:flex}.goal-book-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.goal-book-author{color:#d9d4e6;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lib-search{border:1px solid var(--border);border-radius:var(--radius);color:var(--ink-2);background:#fff;align-items:center;gap:8px;margin-bottom:14px;padding:0 12px;display:flex}.lib-search:focus-within{border-color:var(--ink)}.lib-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:10px 0;font-size:15px}.lib-search-summary{color:var(--ink-2);align-items:center;gap:12px;margin:0 0 8px;font-size:14px;display:flex}.lib-search-clear{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.goal-formats{color:var(--ink-2);margin:2px 0 0;font-size:13px}.hello-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:720px;margin:28px 0 0;padding:0;list-style:none;display:grid}.hello-points li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px;display:flex}.hello-points strong{font-size:15px}.hello-points span{color:var(--ink-2);font-size:14px;line-height:1.5}@media (width<=700px){.hello-points{grid-template-columns:minmax(0,1fr)}}.admin-funnel{margin-bottom:32px}.admin-funnel-scroll{overflow-x:auto}.admin-funnel table{border-collapse:collapse;width:100%;font-size:14px}.admin-funnel th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:right;white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:500}.admin-funnel td{text-align:right;border-top:1px solid var(--border);font-family:var(--mono);padding:8px}.admin-funnel th:first-child,.admin-funnel td:first-child{text-align:left;font-family:var(--sans);white-space:nowrap}.admin-funnel .admin-total td{border-top:2px solid var(--ink)}.admin-pct{color:var(--ink-2);font-size:11px}.admin-sub{margin:28px 0 4px;font-size:16px}.admin-landing{gap:6px;max-width:360px;margin:8px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.admin-landing li{grid-template-columns:1fr auto 44px;align-items:baseline;gap:10px;display:grid}.admin-landing .admin-pct{text-align:right;font-family:var(--mono)}.hello-results-anchor{scroll-margin-top:90px}.evo-author-link{color:inherit;text-decoration:none}.evo-author-link:hover,.evo-author-link:focus-visible{text-underline-offset:4px;text-decoration:underline}.evo-author-link span{color:var(--ink-3);font-weight:400}.book-author-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px}.book-author-link:hover{text-decoration-color:currentColor}.author-head{align-items:center;gap:24px;max-width:900px;margin:8px 0 24px;display:flex}.author-head-text{min-width:0}.author-photo{object-fit:cover;object-position:center top;background:var(--bg);border:1px solid var(--border);border-radius:50%;flex:none;width:112px;height:112px}.author-initials{color:#5b3fc4;background:#f1ecff;border-color:#ddd3fa;justify-content:center;align-items:center;font-size:36px;font-weight:700;display:flex}@media (width<=560px){.author-head{gap:16px}.author-photo{width:72px;height:72px}.author-initials{font-size:24px}}.author-name{letter-spacing:-.03em;margin:6px 0 12px;font-size:clamp(36px,6vw,56px);line-height:1.05}.author-head .author-bio{color:var(--ink-2);margin:0;font-size:16px;line-height:1.6}.author-layout{grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:start;gap:24px;display:grid}@media (width<=860px){.author-layout{grid-template-columns:minmax(0,1fr)}.author-side{order:-1}}.author-layout .card+.card{margin-top:0}.author-books .lib-search{margin-top:8px}.author-book-ready{color:#5b3fc4}.author-books-note{margin:12px 0 0;font-size:12px}.author-layout .radar-wrap{width:100%;max-width:440px;margin:0 auto}.pager{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.pager-btn{border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--ink);cursor:pointer;background:#fff;padding:6px 12px;font-size:13px}.pager-btn:hover:not(:disabled){border-color:var(--ink)}.pager-btn:disabled{opacity:.4;cursor:default}.pager-info{font-family:var(--mono);color:var(--ink-2);font-size:12px}.author-books .lib-book-main{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:6px 4px}.author-books .lib-book-main .cover{width:30px}.author-books .trope-book-title{font-size:14px}@media (width>=861px){.author-books{box-sizing:border-box;flex-direction:column;display:flex}.author-books .pager{margin-top:auto}}.admin-triage{align-items:center;gap:8px;margin-top:10px;display:flex}.admin-btn{border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--ink);cursor:pointer;background:#fff;padding:5px 12px;font-size:13px}.admin-btn:hover{border-color:var(--ink)}.admin-btn.is-resolved:hover{color:#0f6e56;border-color:#0f6e56}.admin-status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--bg);color:var(--ink-2);border-radius:999px;padding:3px 8px;font-size:11px}.admin-status.is-resolved{color:#085041;background:#e1f5ee}.admin-archived{margin-top:40px}.admin-archived summary{cursor:pointer;font-size:15px;font-weight:600}.admin-item.is-archived{opacity:.8}.reader-reviews{flex-direction:column;gap:20px;display:flex}.rr-summary .label,.rr-form>.label{margin-top:0}.rr-words{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.rr-word{background:#f1ecff;border:1px solid #ddd3fa;border-radius:999px;padding:6px 12px;font-size:14px}.rr-word b{font-family:var(--mono);color:#5b3fc4;margin-left:4px;font-size:12px;font-weight:500}.rr-match{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rr-match li{grid-template-columns:80px 120px minmax(0,1fr);align-items:center;gap:12px;font-size:14px;display:grid}.rr-match-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-size:11px}.rr-match-bar{background:var(--bg);border-radius:4px;gap:2px;height:8px;display:flex;overflow:hidden}.rr-seg-less{background:#2a9d8f}.rr-seg-same{background:#c9c3d6}.rr-seg-more{background:#e0883e}.rr-match-text{color:var(--ink-2)}.rr-lines{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.rr-lines li{background:var(--bg);border-radius:var(--radius);padding:10px 14px;font-size:15px;line-height:1.5}.rr-spoiler{font:inherit;color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.rr-form{border-top:1px solid var(--border);padding-top:18px}.reader-reviews>.rr-form:first-child{border-top:0;padding-top:0}.rr-hint{color:var(--ink-2);margin:2px 0 0;font-size:13px}.rr-step{margin:18px 0 8px;font-size:14px;font-weight:600}.rr-count{font-family:var(--mono);color:var(--ink-3);margin-left:6px;font-size:11px;font-weight:400}.rr-rows{flex-direction:column;gap:8px;display:flex}.rr-row,.rr-group{grid-template-columns:90px minmax(0,1fr);align-items:start;gap:10px;display:grid}.rr-group{margin-bottom:10px}.rr-row-label,.rr-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);padding-top:8px;font-size:11px}.rr-choices{flex-wrap:wrap;gap:6px;display:flex}.rr-chip{border:1px solid var(--border);font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px}.rr-chip:hover:not(:disabled){border-color:var(--ink)}.rr-chip[aria-pressed=true]{background:#c9b8ff;border-color:#5b3fc4;font-weight:600}.rr-chip:disabled{opacity:.4;cursor:default}.rr-line{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;background:#fff;padding:10px 12px;font-size:14px}.rr-line:focus{outline:2px solid var(--ink);outline-offset:1px}.rr-line-meta{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:6px;font-size:13px;display:flex}.rr-spoiler-toggle{align-items:center;gap:6px;display:inline-flex}.rr-save{margin-top:16px}.rr-signin{flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;display:flex}.rr-done{color:var(--ink-2);margin:0;font-size:14px}@media (width<=560px){.rr-row,.rr-group{grid-template-columns:minmax(0,1fr);gap:6px}.rr-row-label,.rr-group-label{padding-top:0}.rr-match li{grid-template-columns:70px minmax(0,1fr)}.rr-match-text{grid-column:1/-1}}.rf-backdrop{z-index:100;background:#1c1a2273;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out rf-fade;display:flex;position:fixed;inset:0}.rf{box-sizing:border-box;background:#fff;border-radius:16px;outline:none;width:min(520px,100%);max-height:calc(100vh - 32px);padding:22px 24px 20px;animation:.18s ease-out rf-rise;overflow-y:auto;box-shadow:0 20px 50px #1c1a2240}@keyframes rf-fade{0%{opacity:0}}@keyframes rf-rise{0%{opacity:0;transform:translateY(12px)}}.rf-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rf-book{color:var(--ink-2);margin:0;font-size:13px}.rf-close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;margin:-6px -8px 0 0;font-size:16px}.rf-close:hover{background:var(--bg);color:var(--ink)}.rf-dots{gap:6px;margin:14px 0 18px;display:flex}.rf-dots span{background:var(--border);border-radius:2px;flex:1;height:4px}.rf-dots span.is-past{background:#c9b8ff}.rf-dots span.is-on{background:#5b3fc4}.rf-q{letter-spacing:-.01em;margin:0;font-size:24px;line-height:1.2}.rf-hint{color:var(--ink-2);margin:6px 0 0;font-size:14px}.rf-count{font-family:var(--mono);color:var(--ink-3);margin-left:4px;font-size:12px}.rf-chips{flex-wrap:wrap;gap:8px;margin:18px 0 4px;display:flex}.rf-chips .rr-chip{padding:9px 14px;font-size:15px}.rf-line{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;resize:vertical;margin-top:16px;padding:12px;font-size:15px;line-height:1.5}.rf-line:focus{outline:2px solid var(--ink);outline-offset:1px}.rf-spoiler-note{border-radius:var(--radius);color:#633806;background:#faeeda;margin:8px 0 0;padding:8px 10px;font-size:13px}.rf-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.rf-nav-right{align-items:center;gap:14px;display:flex}.rf-skip{font:inherit;color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-size:14px;text-decoration:underline}.rf-skip:hover{color:var(--ink)}.rf-done .rf-hint{margin-bottom:4px}@media (width<=560px){.rf-backdrop{align-items:flex-end;padding:0}.rf{width:100%;max-height:92vh;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.rf-q{font-size:21px}}.rr-mine .rr-words{margin:8px 0 6px}.rr-mine-line{margin:4px 0 8px;font-size:15px;line-height:1.5}.rr-mine-spoiler{color:var(--ink-3);font-size:13px}.reader-reviews>.rr-mine,.reader-reviews>.rr-ask{border-top:1px solid var(--border);padding-top:16px}.reader-reviews>.rr-mine:first-child,.reader-reviews>.rr-ask:first-child{border-top:0;padding-top:0}.rr-ask .btn{margin-top:12px}.lib-review-link{font:inherit;color:#5b3fc4;cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;flex:none;padding:4px 6px;font-size:12px;font-weight:600;text-decoration:underline}.lib-review-link.is-done{color:var(--ink-2);font-weight:500}.lib-review-link:hover{color:var(--ink)}.rf-signin-btn{min-height:44px;margin-top:18px}.rf-gems{margin:22px 0 6px}.rf-gems .rate{margin:0 auto}.rr-gems{margin:6px 0 10px;font-size:15px}.rr-gem{color:#5b3fc4}.rr-gems strong{font-family:var(--mono);font-size:18px}.rr-gems-count{color:var(--ink-2);font-size:13px}.shelf-toggle button.is-locked{opacity:.4;cursor:not-allowed}.lib-book-actions select:disabled{opacity:.6;cursor:not-allowed}.rr-edit{margin-top:4px;padding:9px 14px}.rr-sentence{margin:6px 0 0;font-size:16px;line-height:1.6}.rr-summary .rr-gems+.rr-sentence{margin-top:8px}.rr-lines-label{margin:22px 0 0}.rr-lines li{padding:12px 14px}.rr-line-text{margin:0;font-size:15px;line-height:1.5}.rr-line-lead{color:var(--ink-2);font-style:italic}.rr-line-by{color:var(--ink-2);margin:6px 0 0;font-size:12px}.rr-all{color:#5b3fc4;margin-top:12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.rr-all:hover{text-underline-offset:3px;text-decoration:underline}.reviews-book{color:var(--ink);align-items:center;gap:14px;margin:8px 0 20px;text-decoration:none;display:flex}.reviews-book .cover{flex:none;width:48px}.reviews-book>span{flex-direction:column;display:flex}.reviews-book .label{margin:0}.reviews-title{font-size:24px;font-weight:700;line-height:1.15}.reviews-author{color:var(--ink-2);font-size:14px}.reviews-page .pager{margin-top:20px}.rr-themes{border-radius:var(--radius);background:#f1ecff;border:1px solid #ddd3fa;margin-top:18px;padding:14px 16px}.rr-themes .label{color:#5b3fc4;margin:0 0 6px}.rr-themes-text{margin:0;font-size:16px;line-height:1.6}.admin-security{margin-bottom:24px;font-size:13px}.admin-security summary{cursor:pointer;font-size:14px;font-weight:600}.admin-security ul{margin:8px 0 0;padding-left:18px}.rr-line-by{justify-content:space-between;align-items:center;gap:12px;display:flex}.rr-report{font:inherit;color:var(--ink-3);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.rr-report:hover{color:#a4341a}.rr-reported{color:var(--ink-3);font-size:12px}.fact-gem{color:#5b3fc4;font-size:.8em}.fact-sub-quiet{color:var(--ink-3)}.add-book-form{flex-direction:column;gap:14px;max-width:600px;display:flex}.add-book-form label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.add-book-form label em{color:var(--ink-3);margin-left:4px;font-size:12px;font-style:normal;font-weight:400}.add-book-form input,.add-book-form select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);background:#fff;padding:10px 12px;font-size:15px;font-weight:400}.add-book-form input:focus,.add-book-form select:focus{outline:2px solid var(--ink);outline-offset:1px}.add-book-form input:disabled{background:var(--bg);color:var(--ink-3)}.add-book-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=520px){.add-book-row{grid-template-columns:1fr}}.add-book-actions{align-items:center;gap:18px;margin-top:6px;display:flex}.custom-link{margin:16px 0 0;font-size:14px}.custom-isbn{font-size:16px!important}.custom-actions{align-items:center;gap:18px;display:flex}.custom-delete{font:inherit;color:var(--ink-3);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.custom-delete:hover{color:#a4341a}.facts.custom-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rf.confirm{width:min(420px,100%)}.confirm-title{letter-spacing:-.01em;margin:0;font-size:21px;line-height:1.25}.confirm-message{margin-top:8px;font-size:15px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.btn.is-danger{color:#fff;background:#a4341a;border-color:#a4341a}.btn.is-danger:hover{background:#7f2813;border-color:#7f2813}@media (width<=560px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.import-unmatched{margin-top:20px}.import-unmatched .h3{margin:0 0 4px;font-size:18px}.unmatched-list{flex-direction:column;gap:14px;margin:14px 0 0;padding:0;list-style:none;display:flex}.unmatched-list>li{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:14px 16px}.unmatched-list>li.is-done{background:var(--bg)}.unmatched-title{margin:0;font-size:15px}.unmatched-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:10px 0 6px;font-size:11px}.unmatched-suggestions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.unmatched-suggestions li{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.unmatched-suggestions .cover{aspect-ratio:2/3;width:34px;font-size:5px}.unmatched-s-text{flex-direction:column;min-width:0;font-size:13px;display:flex}.unmatched-s-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.unmatched-suggestions .btn{padding:8px 12px}.unmatched-other{color:var(--ink-2);margin:10px 0 0;font-size:13px}.admin-services{margin-bottom:24px}.admin-services ul{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.admin-services li{grid-template-columns:10px 190px minmax(0,1fr);align-items:center;gap:10px;font-size:14px;display:grid}.svc-dot{background:var(--border);border-radius:50%;width:10px;height:10px}.svc-dot.is-ok{background:#1d9e75}.svc-dot.is-missing,.svc-dot.is-down{background:#ef9f27}.svc-dot.is-error{background:#a4341a}@media (width<=560px){.admin-services li{grid-template-columns:10px minmax(0,1fr)}.admin-services li .muted{grid-column:2}}@media (width<=640px){.topbar{position:relative}.header-search-wrap{position:static}.search-drop{width:auto;max-height:min(70vh,520px);top:calc(100% - 4px);left:12px;right:12px}}.view-lock{vertical-align:-1px;opacity:.7;margin-left:6px}.room-locked{border-radius:16px;position:relative;overflow:hidden}.room-locked-preview{filter:blur(5px)saturate(.9);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;min-height:380px;max-height:560px;overflow:hidden}.room-locked-card{text-align:center;width:min(440px,100% - 32px);position:absolute;top:40px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #1e143c24}.room-locked-card .h2{margin:4px 0 8px}.room-locked-card button.textlink{font:inherit;cursor:pointer;background:0 0;border:0;padding:4px;font-size:14px}.room-locked-btn{justify-content:center;min-height:44px;margin:16px 0 10px;display:flex}@media (width<=640px){.room-locked-card{padding:18px;top:16px}}.badge{flex:none;display:block}.badge-art{position:relative}.badge-img{object-fit:contain;filter:drop-shadow(0 1px 1.5px #1e143c2e);width:100%;height:100%;display:block}.badge-faded{filter:grayscale();opacity:.32}.badge-fill{transition:clip-path .6s;position:absolute;inset:0}.room-badges{z-index:2;color:var(--ink);justify-items:center;gap:12px;display:grid;position:absolute;top:12px;right:118px}.plate-shelf{display:block;position:relative}.plates{justify-content:center;align-items:flex-end;gap:6px;padding:0 12px;display:flex;position:relative}.plate{cursor:pointer;background:0 0;border:0;border-radius:50%;margin:0;padding:0;transition:transform .15s;display:block}.plate:hover,.plate:focus-visible{transform:translateY(-3px)}.plate:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.plate .badge{width:44px;height:44px}.plate-shelf:before{content:"";z-index:2;border:1.5px solid var(--ink);background:#fff;border-radius:3px;height:2px;position:absolute;bottom:15px;left:8px;right:8px}.plate-shelf:after{content:"";border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink);height:6px;position:absolute;bottom:11px;left:11px;right:11px}.plate-plank{z-index:1;border:1.5px solid var(--ink);background:#fff;border-radius:3px;height:9px;display:block;position:relative;box-shadow:0 3px #1e143c14}.plate-plank:before,.plate-plank:after{content:"";border:1.5px solid var(--ink);background:#fff;border-top:0;border-radius:0 0 3px 3px;width:7px;height:10px;position:absolute;top:100%}.plate-plank:before{left:16%}.plate-plank:after{right:16%}.plate-tag{border:1.5px solid var(--ink);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;margin-top:2px;padding:3px 10px;font-size:11px}.plate-tag:hover{background:var(--lavender)}@container (width<=1100px){.room-badges{margin:16px auto 0;position:relative;top:auto;right:auto}}@container (width<=520px){.plates{gap:4px;padding:0 8px}.plate .badge{width:38px;height:38px}}.badge-one{text-align:center}.badge-one .rf-top{text-align:left}.badge-one-art{justify-content:center;margin:4px 0 14px;display:flex}.badge-one-about{max-width:380px;margin:6px auto 14px;line-height:1.5}.badge-one-how{background:var(--bg);max-width:380px;color:var(--ink-2);border-radius:10px;gap:4px;margin:0 auto 14px;padding:10px 14px;font-size:14px;display:grid}.badge-one-how .label{margin:0}.badge-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;display:block}.badge-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.badge-one-status{font-family:var(--mono);color:var(--ink-2);margin:8px 0 0;font-size:13px}.badge-one-status.is-earned{color:#1d7f5e}.badge-one .badge-progress{width:min(260px,100%);height:8px;margin:0 auto}.badge-one-links{flex-wrap:wrap;justify-content:center;gap:4px 20px;margin-top:18px;display:flex}.badge-one-all{font:inherit;cursor:pointer;background:0 0;border:0;margin-top:0;padding:4px;display:inline-block}.badge-progress{background:#ece7f4;border-radius:99px;height:6px;display:block;overflow:hidden}.badge-progress>span{border-radius:inherit;background:#7c5cdb;height:100%;transition:width .6s;display:block}.badge-books{text-align:left;margin:20px 0 0}.badge-books .label{text-align:center;margin:0 0 8px}.badge-books ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.badge-book{color:inherit;border-radius:10px;align-items:center;gap:12px;padding:6px 8px;text-decoration:none;display:flex}.badge-book:hover{background:var(--bg)}.badge-book .cover{flex:none;width:34px;height:51px;font-size:6px}.badge-book>span:not(.badge-book-note){flex:1;min-width:0;font-size:14px;line-height:1.3;display:grid}.badge-book strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge-book .muted{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.badge-book-note{font-family:var(--mono);color:#5b3fc4;background:#f1ecff;border-radius:99px;flex:none;padding:2px 8px;font-size:11px}.badges-dialog .rf-q{margin-bottom:6px}.badges-group{margin-top:18px}.badges-group .label{margin:0 0 8px}.badges-group ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.badges-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;margin:-4px;padding:4px;display:flex}.badges-row:hover{background:var(--bg)}.badges-row-text{flex:1;gap:2px;min-width:0;font-size:14px;line-height:1.35;display:grid}.badges-row-progress{font-family:var(--mono);color:var(--ink-2);align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}.badges-row-progress .badge-progress{flex:0 0 96px}.badges-group li.is-locked strong{color:var(--ink-2);font-weight:500}.badge-toast{z-index:90;box-sizing:border-box;border:1px solid var(--ink);background:#fff;border-radius:16px;align-items:center;gap:16px;width:min(460px,100vw - 32px);padding:16px 44px 16px 16px;animation:.35s cubic-bezier(.2,1.4,.4,1) badge-pop;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #1e143c38}.badge-toast-close{margin:0;position:absolute;top:10px;right:10px}.badge-toast-pins{flex:none;display:flex}.badge-toast-pins .badge-btn+.badge-btn{margin-left:-14px}.badge-toast-text{min-width:0;font-size:14px;line-height:1.4}.badge-toast-text p{margin:0 0 4px}.badge-toast-title{font-size:16px}.badge-toast-btn{min-height:40px;margin-top:8px}@keyframes badge-pop{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (width<=480px){.badge-toast{flex-direction:column;align-items:flex-start;gap:10px}}@media (prefers-reduced-motion:reduce){.badge-toast{animation:none}}.badges-waiting{justify-content:center;align-items:center;gap:10px;margin:14px 0 0;font-size:14px;display:flex}.badges-waiting-pins{display:flex}.badges-waiting-pins .badge-btn+.badge-btn{margin-left:-8px}.install-banner{z-index:85;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--ink);background:#fff;border-radius:16px;align-items:flex-start;gap:12px;max-width:480px;margin:0 auto;padding:14px 16px;animation:.35s ease-out badge-pop;display:flex;position:fixed;box-shadow:0 16px 40px #1e143c38}.install-icon{border:1px solid var(--border);border-radius:10px;flex:none}.install-text{min-width:0;font-size:14px;line-height:1.45}.install-text p{margin:0 0 4px}.install-title{font-size:15px;font-weight:600}.install-share{vertical-align:-3px;color:#2f6fdb}.install-actions{align-items:center;gap:14px;margin-top:10px;display:flex}.install-actions .textlink{font:inherit;cursor:pointer;background:0 0;border:0;padding:4px}.footer-link{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@keyframes install-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.install-banner{animation-name:install-rise}.room-badges.is-highlighted,.room-locked-card.is-highlighted{border-radius:14px;animation:2.2s ease-out shelf-glow}@keyframes shelf-glow{0%,40%{box-shadow:0 0 0 6px #7c5cdb59}to{box-shadow:0 0 0 6px #7c5cdb00}}@media (prefers-reduced-motion:reduce){.room-badges.is-highlighted,.room-locked-card.is-highlighted{outline:3px solid #7c5cdb80;animation:none}}.badge-medal{color:#fff;text-shadow:0 1px 1px #00000040;border:1.5px solid #fff;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;bottom:-2%;right:-2%;box-shadow:0 1px 2px #1e143c59}.badge-tiers{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0 auto 12px;padding:0;font-size:13px;list-style:none;display:flex}.badge-tiers li{color:var(--ink-2);align-items:center;gap:5px;display:inline-flex}.badge-tiers li.is-reached{color:var(--ink);font-weight:600}.badge-tier-dot{border-radius:50%;width:10px;height:10px}.badge-tiers li:not(.is-reached) .badge-tier-dot{opacity:.35}.badge-toast-level{color:#5b3fc4}.reader-level{text-align:center;justify-items:center;gap:2px;margin:0 0 2px;display:grid}.reader-level-name{border:1.5px solid var(--ink);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#fff;border-radius:6px;padding:2px 12px;font-size:12px;font-weight:700}.reader-level-next{color:var(--ink-2);font-size:12px}.reader-level.is-compact{text-align:left;justify-items:start;margin:4px 0 6px}
