.lp{min-height:100vh;overflow-x:clip;background:var(--bg);color:var(--text)}.lp-wrap{max-width:1200px;margin:0 auto;padding:0 40px;box-sizing:border-box}.lp a{color:inherit}.lp a:hover{color:var(--accent)}.lp-head{border-bottom:2px solid var(--text)}.lp-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}.lp-head .brand{font-size:1.35rem}.lp-head-actions{display:flex;align-items:center;gap:12px}.lp-lang{min-height:44px;padding:0 8px;font:inherit;font-size:.9rem;font-weight:600;color:var(--text);background:transparent;border:0;cursor:pointer}.lp-signin{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:2px solid var(--text);font-weight:700;font-size:15px;text-decoration:none;transition:background .18s,color .18s}.lp .lp-signin:hover{background:var(--text);color:var(--bg)}.lp-kick{margin:0 0 20px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lp-head-sec h2{margin:0;max-width:900px;font-size:clamp(2.25rem,5vw,3.5rem);line-height:.98;font-weight:800;letter-spacing:-.04em}.lp-sec{padding:112px 0;border-bottom:2px solid var(--text)}.lp-sec.lp-last{border-bottom:0}.lp-grid{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 48px}.lp-point{border-top:2px solid var(--text);padding-top:24px;transition:border-color .2s,translate .2s}.lp-point:hover{border-top-color:var(--accent);translate:0 -3px}.lp-point h3{margin:0 0 10px;font-size:1.375rem;line-height:1.15;font-weight:800;letter-spacing:-.015em}.lp-icon+h3,.lp-n+h3{margin-top:20px}.lp-point p{margin:0;font-size:1.0625rem;line-height:1.55;color:var(--muted)}.lp-icon{display:block;line-height:0;transition:color .2s}.lp-point:hover .lp-icon{color:var(--accent)}.lp-intro{margin:28px 0 0;max-width:720px;font-size:1.25rem;line-height:1.5;color:var(--muted)}.lp-note{margin:16px 0 0;max-width:760px;font-size:.95rem;line-height:1.55;color:var(--muted)}.lp-note a{font-weight:700}.lp-micro{margin:0;font-size:.85rem;color:var(--muted)}.lp .lp-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;background:var(--text);color:var(--bg);font-weight:700;font-size:1.0625rem;text-decoration:none;transition:background .18s,color .18s}.lp-cta.block{display:flex;width:100%;box-sizing:border-box}.lp .lp-cta:hover{background:var(--accent);color:var(--accent-ink)}.lp-cta svg{flex:none;background:#fff;padding:3px;width:24px;height:24px;box-sizing:border-box}.lp-arrow{transition:translate .18s}.lp-cta:hover .lp-arrow{translate:5px 0}.lp-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:72px}.lp-hero{padding:64px 0 0}.lp-hero h1{margin:0;max-width:980px;font-size:clamp(2.75rem,7vw,5.5rem);line-height:.92;font-weight:800;letter-spacing:-.045em}.lp-hero h1 em{font-style:normal;color:var(--accent)}.lp-hero-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px 40px;margin-top:32px}.lp-sub{flex:1 1 420px;margin:0;max-width:620px;font-size:1.25rem;line-height:1.45;color:var(--muted)}.lp-hero-cta{flex:0 1 380px;display:flex;flex-direction:column;gap:10px;text-align:center}.lp-hero .banner{margin-top:24px}.lp-hero-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:14px;font-size:13px;color:var(--muted)}.lp-shelf{display:flex;align-items:flex-end;gap:4px;height:330px;margin-top:48px;border-bottom:4px solid var(--text);overflow:hidden}.lp-hand{position:relative;flex:none;align-self:center;margin-right:28px;transform:translateY(-18px) rotate(-3deg);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.lp-hand:hover{transform:translateY(-26px) rotate(-1.5deg)}.lp-cover{position:relative;display:block;width:176px;height:264px;overflow:hidden;box-shadow:0 1px 2px #0000001f,0 18px 30px -20px #0000007f}.lp-cover-ring{position:absolute;left:16%;top:22%;width:68%;aspect-ratio:1;border:9px solid;border-radius:50%;box-sizing:border-box}.lp-cover-author{position:absolute;left:14px;right:14px;top:12px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lp-cover-title{position:absolute;left:14px;right:14px;bottom:16px;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.02em}.lp-hand-bar{position:absolute;left:0;bottom:-4px;height:6px;background:var(--accent)}.lp-hand-label{position:absolute;left:0;top:calc(100% + 12px);white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lp-spine{position:relative;flex:1 1 0;min-width:0;box-sizing:border-box;display:flex;justify-content:center;align-items:center;padding:14px 0;overflow:hidden;transform-origin:bottom center;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.lp-spine:hover{transform:translateY(-12px)}.lp-spine-title{writing-mode:vertical-rl;transform:rotate(180deg);max-height:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;text-transform:uppercase}.lp-spine-mark{position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--text)}.lp-gap{outline:2px dashed var(--text);outline-offset:-2px;background:transparent}.lp-gap:hover{transform:none}.lp-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 32px;padding:40px 0;border-bottom:2px solid var(--text)}.lp-strip .lp-kick{flex:0 0 180px;margin:0}.lp-strip-list{flex:1 1 600px;margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.01em;line-height:1.5}.lp-bridge{margin:96px auto 0;max-width:900px;text-align:center;font-family:var(--serif);font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.25;letter-spacing:-.01em}.lp-bridge strong{font-weight:inherit;color:var(--accent)}.lp-band{box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax);background:var(--band);border-bottom:0}.lp-dark{--band: var(--text);color:var(--bg)}.lp-dark .lp-point{border-top-color:var(--bg)}.lp-dark .lp-point:hover{border-top-color:var(--accent)}.lp-dark .lp-point p,.lp-dark .lp-micro{color:color-mix(in srgb,var(--bg) 70%,var(--text))}.lp .lp-dark .lp-cta{background:var(--bg);color:var(--text)}.lp .lp-dark .lp-cta:hover{background:var(--accent);color:var(--accent-ink)}.lp-n{display:block;font-size:6rem;line-height:.85;font-weight:900;letter-spacing:-.05em;color:var(--accent)}.lp-red{--band: var(--accent);color:var(--accent-ink);padding:120px 0}.lp-red .lp-micro{color:inherit;font-size:1.0625rem}.lp-final-h{margin:0;max-width:1000px;font-size:clamp(2.75rem,6.4vw,5rem);line-height:.94;font-weight:800;letter-spacing:-.045em}.lp-red .lp-cta-row{margin-top:48px}.lp .lp-red .lp-cta:hover{background:var(--bg);color:var(--text)}.lp-reader-row{display:flex;flex-wrap:wrap;align-items:center;gap:40px 64px;margin-top:64px;padding-bottom:64px;border-bottom:1px solid var(--border)}.lp-reader-row>div:first-child{flex:1 1 340px}.lp-reader-row h3{margin:0 0 14px;font-size:2rem;line-height:1.05;font-weight:800;letter-spacing:-.03em}.lp-reader-row p{margin:0;font-size:1.125rem;line-height:1.55;color:var(--muted)}.lp-reader{flex:1.3 1 420px;display:flex;flex-direction:column;gap:16px;padding:32px 40px 36px;background:#f4ecd8;color:#433422;border:2px solid #111111;box-shadow:12px 12px #111}.lp-reader-bar{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.lp-reader p{margin:0;font-family:var(--serif);font-size:1.1875rem;line-height:1.65;color:inherit}.lp-reader-progress{height:4px;background:#4334222e}.lp-reader-progress span{display:block;height:100%;background:#d8231a}.lp-term{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px;margin-top:56px;padding:28px 32px;background:#111;color:#f5f4f0;border-left:8px solid #d8231a}.lp-term code{flex:1 1 420px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1rem;line-height:1.7;overflow-wrap:anywhere;background:none;color:inherit;padding:0;border:0}.lp-term code span{color:#ff4a3d}.lp-term a{color:#f5f4f0;font-weight:700;text-underline-offset:5px}.lp-table-wrap{margin-top:64px;overflow-x:auto}.lp-table{width:100%;min-width:720px;border-collapse:collapse;font-size:1rem}.lp-table th,.lp-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--border)}.lp-table thead th{border-bottom:2px solid var(--text);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:bottom}.lp-table thead th:first-child{width:34%}.lp-table tbody th{font-weight:600}.lp-table .lp-us{background:var(--surface)}.lp-table thead .lp-us{box-shadow:inset 0 4px 0 var(--accent)}.lp-table tbody tr{transition:background .15s}.lp-table tbody tr:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.lp-cell:before{content:"";display:inline-block;margin-right:10px;vertical-align:1px}.lp-cell.yes{font-weight:800}.lp-cell.yes:before{width:10px;height:10px;background:var(--text)}.lp-cell.no,.lp-cell.depends{color:var(--muted)}.lp-cell.no:before{width:10px;height:2px;background:var(--muted);vertical-align:4px}.lp-cell.depends:before{width:8px;height:8px;border:1px solid var(--muted)}.lp-privacy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin-top:64px}.lp-privacy h3{margin:0 0 16px;padding-bottom:14px;border-bottom:2px solid var(--text);font-size:1.375rem;font-weight:800}.lp-privacy .no h3{color:var(--accent);border-bottom-color:var(--accent)}.lp-privacy ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:1.0625rem;line-height:1.55}.lp-privacy+.lp-note{margin-top:48px;font-size:1.0625rem}.lp-faq{margin-top:48px;border-top:2px solid var(--text)}.lp-faq details{border-bottom:1px solid var(--border)}.lp-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:48px;padding:22px 0;font-size:1.375rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:color .15s}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:hover{color:var(--accent)}.lp-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-plus{flex:none;font-size:1.75rem;font-weight:400;line-height:1;transition:rotate .2s,color .2s}.lp-faq details[open] .lp-plus{rotate:45deg;color:var(--accent)}.lp-faq details p{margin:0 0 24px;max-width:760px;font-size:1.0625rem;line-height:1.55;color:var(--muted)}.lp-footer{border-top:2px solid var(--text)}.lp-footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-top:28px;padding-bottom:28px;font-size:14px}.lp-footer .wordmark{font-weight:900;letter-spacing:-.03em}.lp-footer-tag{color:var(--muted)}.lp-footer-sp{flex:1}@keyframes lp-rise{0%{opacity:0;translate:0 22px}}@keyframes lp-drop{0%{opacity:0;translate:0 -60px}}.lp-rise{animation:lp-rise .7s cubic-bezier(.2,.8,.2,1) backwards}.lp-rise.d1{animation-delay:.08s}.lp-rise.d2{animation-delay:.16s}.lp-hand{animation:lp-drop .6s cubic-bezier(.2,.9,.25,1.15) .3s backwards}.lp-spine{animation:lp-drop .55s cubic-bezier(.2,.9,.25,1.15) backwards}.lp .reveal{opacity:0;translate:0 22px;transition:opacity .6s ease-out,translate .6s cubic-bezier(.2,.8,.2,1),border-color .2s}.lp .reveal.in{opacity:1;translate:none}.lp .lp-point.reveal.in:hover{translate:0 -3px}.lp-sticky{display:none}@media(max-width:900px){.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.lp-wrap{padding:0 16px}.lp-head-row{min-height:64px}.lp-sec{padding:72px 0}.lp-red{padding:80px 0}.lp-hero{padding-top:40px}.lp-sub{font-size:1.0625rem}.lp-hero-cta{flex-basis:100%}.lp-shelf{height:230px;margin-top:36px}.lp-hand{margin-right:16px}.lp-cover{width:112px;height:168px}.lp-cover-ring{border-width:6px}.lp-cover-title{font-size:15px;left:10px;right:10px;bottom:10px}.lp-cover-author{font-size:7px;left:10px;right:10px;top:8px}.lp-spine{max-height:190px}.lp-spine:nth-of-type(n+9){display:none}.lp-spine-title{font-size:11px}.lp-hand-label{display:none}.lp-strip .lp-kick{flex-basis:100%}.lp-strip-list{font-size:1.125rem}.lp-grid{grid-template-columns:1fr;gap:40px;margin-top:44px}.lp-n{font-size:4.5rem}.lp-bridge{margin-top:64px;text-align:left}.lp-reader{padding:24px;box-shadow:8px 8px #111}.lp-privacy{grid-template-columns:1fr}.lp-cta-row{margin-top:48px}.lp-cta-row .lp-cta{width:100%}.lp-faq summary{font-size:1.125rem}.lp-footer-sp{display:none}.lp-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2px solid var(--text);transform:translateY(110%);transition:transform .3s ease-out,visibility .3s;visibility:hidden}.lp-sticky.on{transform:none;visibility:visible}.with-sticky .lp-footer{padding-bottom:88px}}@media(prefers-reduced-motion:reduce){.lp *,.lp *:before,.lp *:after{animation:none!important;transition:none!important}.lp .reveal{opacity:1;translate:none}.lp-point:hover,.lp-spine:hover{translate:none;transform:none}}.hm{display:flex;flex-direction:column;gap:2.5rem;padding-top:1rem}.hm-label{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hm-list-short,.hm-inline-progress{display:none}.hm-selected{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2rem 2.5rem;min-height:17rem}.hm-selected.skeleton-block{background:var(--surface-2);animation:pulse 1.4s infinite}.hm-selected.accent .hm-kicker{color:var(--accent)}.hm-cover{flex:none;width:11.25rem;color:inherit}.hm-cover .cover{box-shadow:var(--shadow)}.hm-main{flex:1 1 20rem;min-width:0;display:flex;flex-direction:column;gap:.9rem}.hm-title{margin:0;font-size:clamp(2.4rem,5vw,3.75rem);line-height:.95;font-weight:800;letter-spacing:-.04em;overflow-wrap:anywhere}.hm-title.long{font-size:clamp(2rem,3.8vw,2.9rem)}.hm-author{margin:0;font-size:1.15rem;color:var(--muted)}.hm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.5rem}.button.hm-primary{min-height:3.25rem;padding:0 1.75rem;background:var(--text);border-color:var(--text);color:var(--bg);font-weight:700}.button.hm-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.hm-progress{flex:0 1 18rem;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;text-align:right}.hm-progress p{margin:0;font-size:.9rem}.hm-progress .hm-big{font-size:clamp(5rem,11vw,9.4rem);line-height:.8;font-weight:900;letter-spacing:-.06em}.hm-bar{display:block;width:100%;height:6px;background:var(--track)}.hm-bar>span{display:block;height:100%;background:var(--muted)}.hm-selected.accent .hm-big,.hm-selected.accent .hm-inline-progress strong{color:var(--accent)}.hm-selected.accent .hm-bar>span{background:var(--accent)}.hm-selected.ink .hm-bar>span{background:var(--text)}.hm-selected.quiet .hm-big{color:var(--muted);opacity:.6}.hm-shelf-section{padding-top:1.75rem;border-top:2px solid var(--text)}.hm-shelf-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:.5rem}.hm-tabs{display:flex;flex-wrap:wrap;gap:0 1.25rem}.hm-tabs button{min-height:2.75rem;padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:.95rem;font-weight:600;white-space:nowrap;cursor:pointer}.hm-tabs button:hover,.hm-tabs button.on{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.hm-list-link{margin-left:auto;font-size:.9rem;font-weight:600}.hm-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:1rem;font-size:.82rem;color:var(--muted)}.hm-legend span{display:inline-flex;align-items:center;gap:.5rem}.hm-key{display:inline-block;width:1.1rem;height:6px}.hm-key.reading{background:var(--accent)}.hm-key.read{background:var(--text)}.hm-key.hands{width:.75rem;height:1rem;outline:2px dashed var(--text);outline-offset:-2px}.hm-shelf{display:flex}.hm-rows{flex:1;min-width:0;display:flex;flex-direction:column}.hm-row{display:flex;align-items:flex-end;gap:4px;height:17.5rem;padding-top:1.75rem;border-bottom:4px solid var(--text)}.hm-book{position:relative;padding:0;border:0;font:inherit;cursor:pointer;transform-origin:bottom center;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.hm-book:not(.out):hover{transform:translateY(-14px)}.hm-book:focus-visible{outline:2px solid var(--text);outline-offset:3px}.hm-spine{flex:1 1 0;min-width:0;max-width:4.5rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.8rem 0 .9rem;overflow:hidden;background:var(--spine-bg);color:var(--spine-fg);box-shadow:inset -2px 0 #0000001f}.hm-spine.ghost{flex:48 1 0;height:80%;background:var(--surface-2);animation:pulse 1.4s infinite;cursor:default}.hm-spine-band{flex:none;width:100%;height:.7rem;background:var(--spine-accent)}.hm-spine-title{writing-mode:vertical-rl;transform:rotate(180deg);min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.hm-spine-mark{position:absolute;left:0;right:0;bottom:0;height:6px}.hm-spine.reading .hm-spine-mark{background:var(--accent)}.hm-spine.read .hm-spine-mark{background:var(--text)}.hm-spine.out{background:transparent;border:0;box-shadow:none;outline:2px dashed var(--text);outline-offset:-2px}.hm-spine.out>*{visibility:hidden}.hm-more{flex:0 0 4rem;height:10rem;margin-left:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:1px dashed var(--text);font-weight:800;text-decoration:none}.hm-more span{font-size:1.35rem;letter-spacing:-.02em}.hm-more small{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hm-more:hover{background:var(--text);color:var(--bg)}@media(max-width:640px){.hm{gap:0;padding-top:0;min-height:calc(100dvh - 8.4rem - env(safe-area-inset-bottom) - env(safe-area-inset-top))}.content:has(>.hm){padding-top:0;padding-bottom:.5rem}.hm-list-long,.hm-progress{display:none}.hm-list-short{display:inline-flex;align-items:center;gap:.35rem}.hm-selected{display:grid;grid-template-columns:4rem minmax(0,1fr);column-gap:.9rem;row-gap:.15rem;align-items:start;min-height:0;padding:.9rem 0;border-bottom:2px solid var(--text)}.hm-cover{grid-column:1;grid-row:1 / span 4;width:4rem}.hm-main{display:contents}.hm-kicker{grid-column:2;font-size:.65rem}.hm-title,.hm-title.long{grid-column:2;font-size:1.3rem;line-height:1.02;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hm-author{grid-column:2;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-inline-progress{grid-column:2;display:flex;align-items:center;gap:.6rem;margin-top:.35rem}.hm-inline-progress .hm-bar{height:4px}.hm-inline-progress strong{font-size:.9rem;font-weight:800}.hm-actions{grid-column:1 / -1;flex-wrap:nowrap;gap:.5rem;margin-top:.75rem}.button.hm-primary{flex:1;min-height:2.9rem;justify-content:center}.hm-details{flex:none;display:inline-flex;align-items:center;min-height:2.9rem;padding:0 1rem;border:1px solid var(--text);font-weight:700;text-decoration:none}.hm-shelf-section{flex:1;display:flex;flex-direction:column;padding-top:0;border-top:0}.hm-shelf-head{flex-wrap:nowrap;gap:0;margin:0 -1.1rem;padding-left:1.1rem;border-bottom:1px solid var(--border)}.hm-shelf-head>.hm-label{display:none}.hm-tabs{flex:1;min-width:0;flex-wrap:nowrap;gap:1.1rem;overflow-x:auto;scrollbar-width:none}.hm-tabs::-webkit-scrollbar{display:none}.hm-tabs button{font-size:.9rem}.hm-list-link{flex:none;margin-left:0;display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.1rem 0 .75rem;border-left:1px solid var(--border);font-size:.82rem;font-weight:700;text-decoration:none}.hm-shelf{flex:1;min-height:0}.hm-rows{flex:1}.hm-row{flex:none;height:11rem;padding-top:1.1rem;gap:3px}.hm-spine{max-width:2.4rem;gap:.45rem;padding:.5rem 0 .6rem}.hm-spine-band{height:.5rem}.hm-spine-title{font-size:.68rem}.hm-spine-mark{height:5px}.hm-more{flex-basis:2.75rem;height:55%}.hm-legend{margin-top:.6rem;font-size:.72rem;gap:.4rem 1rem}}@media(prefers-reduced-motion:reduce){.hm-book{transition:none}.hm-book:not(.out):hover{transform:translateY(-4px)}}.ix{--ix-side: 11.25rem;--ix-gap: 2.5rem}.ix-icon{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}.ix .ix-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem var(--ix-gap);padding:.5rem 0 1.75rem}.ix .ix-head-side{flex:0 0 var(--ix-side);min-width:0}.ix .ix-back{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.875rem;font-weight:600;text-decoration:none}.ix .ix-back:hover{color:var(--accent)}.ix .ix-count{display:flex;flex-direction:column;margin:.4rem 0 0}.ix .ix-count strong{font-size:6rem;line-height:.8;font-weight:900;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.ix .ix-count span{margin-top:.5rem;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ix .ix-title{flex:1 1 30rem;min-width:0;margin:0;font-size:clamp(2.25rem,5vw,3.75rem);line-height:.95;font-weight:800;letter-spacing:-.04em;overflow-wrap:anywhere}.ix .ix-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem var(--ix-gap)}.ix .ix-label{flex:0 0 var(--ix-side);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ix .ix-filterbar{padding:.5rem 0;border-top:2px solid var(--text);border-bottom:1px solid var(--border)}.ix .ix-tabs{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:0 1.5rem}.ix .ix-tabs button{min-height:2.75rem;padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}.ix .ix-tabs button:hover{color:var(--accent)}.ix .ix-tabs button.on{color:var(--text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.ix .ix-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ix .ix-view{display:flex;border:1px solid var(--text)}.ix .ix-view button{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .875rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.ix .ix-view button+button{border-left:1px solid var(--text)}.ix .ix-view button[aria-checked=true]{background:var(--text);color:var(--bg)}.ix .ix-view button[aria-checked=false]:hover{color:var(--accent)}.ix .ix-select{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border:2px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.ix .ix-select:not(.on) .ix-icon{display:none}.ix .ix-select:hover,.ix .ix-select.on{background:var(--text);color:var(--bg)}.ix .ix-options{padding:.5rem 0 1rem}.ix .ix-fields{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.75rem;font-size:.875rem}.ix .ix-field{display:flex;align-items:center;gap:.625rem;min-width:0}.ix .ix-field>span{color:var(--muted)}.ix .ix-field select{min-height:2.75rem;max-width:100%;padding:0 .625rem;border:0;border-bottom:1px solid var(--text);background:transparent;color:var(--text);font:inherit;font-weight:600}.ix .ix-field select option{background:var(--bg);color:var(--text)}.ix .ix-link{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:600;text-underline-offset:4px}.ix .ix-link:hover{color:var(--accent)}.ix .ix-check-field{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;cursor:pointer}.ix .ix-check-field input{width:1.125rem;height:1.125rem;margin:0;padding:0;accent-color:var(--text)}.ix .ix-chips{display:flex;flex-wrap:wrap;gap:.5rem}.ix .ix-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;max-width:100%;padding:0 .75rem;border:1px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;overflow-wrap:anywhere;text-align:left}.ix .ix-chip:hover{background:var(--text);color:var(--bg)}.ix .ix-table{font-size:.9375rem}.ix .ix-thead,.ix .ix-row{display:grid;align-items:center;column-gap:1rem;grid-template-columns:3rem 4rem minmax(0,4fr) minmax(0,3fr) minmax(0,13.75rem) 4rem}.ix .ix-thead{padding:.625rem 0;border-bottom:2px solid var(--text);color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ix .ix-thead>:last-child,.ix .ix-row-year{text-align:right}.ix .ix-row{width:100%;min-height:4.875rem;padding:.75rem 0;margin:0;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.ix .ix-row:hover .ix-row-title>strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.ix .ix-row.selected{background:color-mix(in srgb,var(--accent) 7%,transparent)}.ix .ix-row.skeleton{background:var(--surface-2);animation:pulse 1.4s infinite;cursor:default}.ix .ix-row-n{color:var(--muted);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.ix .ix-check{display:grid;place-items:center;width:1.25rem;height:1.25rem;border:2px solid var(--text);background:transparent;color:var(--accent-ink)}.ix .ix-check.on{background:var(--accent);border-color:var(--accent)}.ix .ix-check svg{width:.875rem;height:.875rem;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:square}.ix .ix-row-cover{display:block;width:2.25rem}.ix .ix-row .cover{width:2.25rem;box-shadow:none}.ix .ix-row .cover.placeholder{padding:0;box-shadow:inset 0 0 0 1px var(--border)}.ix .ix-row .cover.placeholder:before{top:12%;height:2px}.ix .ix-row .ph-title,.ix .ix-row .ph-author{display:none}.ix .ix-row.orphaned .cover{filter:grayscale(1);opacity:.55}.ix .ix-row-title{display:flex;flex-direction:column;min-width:0}.ix .ix-row-title>strong{font-weight:700;line-height:1.25;overflow-wrap:anywhere}.ix .ix-row-title>span{font-size:.8125rem;color:var(--muted)}.ix .ix-row-author{min-width:0;overflow:hidden;text-overflow:ellipsis}.ix .ix-row-state{display:flex;flex-direction:column;gap:.375rem;min-width:0;font-size:.8125rem;font-weight:700}.ix .ix-progress{display:block;height:4px;background:var(--track)}.ix .ix-progress>span{display:block;height:100%;background:currentColor}.ix .ix-row-state.reading{color:var(--accent)}.ix .ix-row-state.read{color:var(--text)}.ix .ix-row-state.to_read,.ix .ix-row-state.none{color:var(--muted)}.ix .ix-row-state.orphan{color:var(--warn-ink)}.ix .ix-row-year{color:var(--muted);font-variant-numeric:tabular-nums}.ix .ix-grid{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--text)}.ix .ix-grid .card-check{border-radius:0;width:1.5rem;height:1.5rem}.ix .ix-grid .card.selected .card-cover{outline:3px solid var(--accent);outline-offset:3px}.ix .ix-grid .badge{border-radius:0}.ix .ix-more{display:flex;justify-content:center;padding-top:1.75rem}.ix .ix-more button{min-height:3rem;padding:0 1.75rem;border:2px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:.9375rem;font-weight:700;cursor:pointer}.ix .ix-more button:hover{background:var(--text);color:var(--bg)}.ix .ix-more button:disabled{opacity:.5;cursor:progress}.ix.with-bulkbar{padding-bottom:10rem}.ix .bulkbar.ix-bar{left:0;right:0;bottom:0;width:auto;transform:none;z-index:20;padding:.875rem max(3rem,calc((100vw - 1280px)/2 + 3rem)) calc(.875rem + env(safe-area-inset-bottom));gap:.75rem;border:0;box-shadow:none;background:var(--text);color:var(--bg)}.native .ix .bulkbar.ix-bar{bottom:0}.ix .ix-bar .bulk-main{gap:.75rem 1.5rem}.ix .ix-bar-count{margin:0;font-size:.9375rem;font-weight:600}.ix .ix-bar-count strong{font-size:1.75rem;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ix .ix-bar-hint{font-weight:600}.ix .ix-bar .link{display:inline-flex;align-items:center;min-height:2.75rem;color:inherit;font-size:.875rem}.ix .ix-bar .link:hover{color:var(--accent)}.ix .ix-bar .bulk-actions{gap:.5rem}.ix .ix-bar .button,.ix .ix-bar .chip{min-height:2.75rem;padding:0 .875rem;border:1px solid currentColor;background:transparent;color:inherit;font-size:.875rem;font-weight:600}.ix .ix-bar .button:hover:not(:disabled),.ix .ix-bar .chip:hover:not(:disabled),.ix .ix-bar .button.primary{background:var(--bg);border-color:var(--bg);color:var(--text)}.ix .ix-bar .button:disabled:hover{background:transparent;color:inherit}.ix .ix-bar .button.danger{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.ix .ix-bar .button.danger:hover:not(:disabled){border-color:var(--bg);background:var(--bg);color:var(--text)}.ix .ix-bar .button:focus-visible,.ix .ix-bar .chip:focus-visible,.ix .ix-bar .link:focus-visible{outline-color:var(--accent)}.ix .ix-bar .bulk-panel{border-bottom-color:color-mix(in srgb,var(--bg) 25%,transparent)}.ix .ix-bar .bulk-panel .muted{color:inherit;opacity:.7}.ix .ix-bar input{min-height:2.75rem;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit}.ix .ix-bar input::placeholder{color:inherit;opacity:.6}.ix .ix-bar .new-shelf{flex-wrap:wrap}.ix .ix-bar .new-shelf input{min-width:0;flex:1 1 10rem}.ix .ix-bar .bulk-panel input{min-width:0;flex:1 1 12rem}.ix .ix-bar p.ok-text,.ix .ix-bar p.error-text{color:inherit;font-weight:600}.ix .ix-bar p.error-text:before{content:"! ";color:var(--accent)}@media(max-width:1000px){.ix{--ix-gap: 1.5rem}.ix .bulkbar.ix-bar{padding-left:1.5rem;padding-right:1.5rem}.ix .ix-filterbar>.ix-label,.ix .ix-options>.ix-label{display:none}.ix .ix-tabs{flex-basis:100%}.ix .ix-thead,.ix .ix-row{grid-template-columns:3rem 3.25rem minmax(0,4fr) minmax(0,3fr) minmax(0,10rem)}.ix .ix-thead>:last-child,.ix .ix-row-year{display:none}}@media(max-width:720px){.ix .ix-head{flex-direction:column-reverse;align-items:stretch;gap:.75rem;padding-top:0}.ix .ix-head-side{flex-basis:auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.ix .ix-head-side .ix-back{order:2}.ix .ix-count{flex-direction:row;align-items:baseline;gap:.5rem;margin:0}.ix .ix-count strong{font-size:3.5rem}.ix .ix-count span{margin:0}.ix .ix-title{flex-basis:auto;font-size:clamp(2rem,10vw,2.75rem)}.ix .ix-tabs{gap:0 1.25rem}.ix .ix-tools{width:100%}.ix .ix-view{flex:1 1 auto}.ix .ix-view button{flex:1;justify-content:center;padding:0 .625rem}.ix .ix-fields{gap:0 1.25rem}.ix .ix-field{flex:1 1 100%;justify-content:space-between}.ix .ix-field select{flex:0 1 auto;min-width:0}.ix .ix-thead{display:none}.ix .ix-row{grid-template-columns:2.25rem minmax(0,1fr) minmax(4.5rem,auto);grid-template-areas:"cover title state" "cover author state";column-gap:.875rem;row-gap:.125rem;border-bottom-color:var(--border)}.ix .ix-table.selecting .ix-row{grid-template-columns:1.5rem 2.25rem minmax(0,1fr) minmax(4.5rem,auto);grid-template-areas:"n cover title state" "n cover author state"}.ix .ix-row-n{display:none;grid-area:n}.ix .ix-table.selecting .ix-row-n{display:block}.ix .ix-row-cover{grid-area:cover}.ix .ix-row-title{grid-area:title;align-self:end}.ix .ix-row-author{grid-area:author;align-self:start;font-size:.8125rem;color:var(--muted);white-space:nowrap}.ix .ix-row-state{grid-area:state;font-size:.75rem;text-align:right}.ix .ix-row-title>span{display:none}.ix .ix-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:1.5rem .875rem}.ix.with-bulkbar{padding-bottom:14rem}.ix .bulkbar.ix-bar{bottom:3.6rem;padding:.75rem 1.1rem;max-height:calc(100dvh - 8rem);overflow-y:auto}.native .ix .bulkbar.ix-bar{bottom:calc(3.6rem + env(safe-area-inset-bottom))}.ix .ix-bar .bulk-main{gap:.25rem 1rem}.ix .ix-bar .spacer{display:none}.ix .ix-bar .bulk-actions{width:100%}.ix .ix-bar .bulk-actions .button{flex:1 1 auto}}.bk{padding-top:.5rem}.bk-back{display:inline-flex;align-items:center;min-height:2.75rem;margin-bottom:1rem;font-size:.875rem;font-weight:600;text-decoration:none}.bk-back:hover{color:var(--accent)}.bk-grid{display:grid;grid-template-columns:17.5rem minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"cover main" "files main";column-gap:2.5rem;align-items:start}.bk-cover{grid-area:cover;display:flex;flex-direction:column;gap:.875rem;min-width:0}.bk-main{grid-area:main;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.bk-files{grid-area:files;margin-top:2rem;padding-top:.75rem;border-top:2px solid var(--text);min-width:0}.bk-icon{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.bk-label{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.bk-cover>.cover{box-shadow:0 1px 2px #0000001f,0 22px 40px -22px #00000073}.bk-cover>.cover.placeholder{padding:1.5rem}.bk-cover>.cover.placeholder .ph-title{font-size:2.25rem;line-height:1;letter-spacing:-.02em}.bk-cover>.cover.placeholder .ph-author{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:1}.bk-bar{height:6px;background:var(--track)}.bk-bar>span{display:block;height:100%;background:var(--accent)}.bk-link-button{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;min-height:2.75rem;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.bk-link-button:hover{color:var(--accent)}.bk-link-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.bk-files .bk-label{margin-bottom:.5rem}.bk-files ul{list-style:none;margin:0;padding:0}.bk-files li{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.625rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.bk-format{flex:none;padding:3px 6px;border:1px solid currentColor;font-size:.6875rem;font-weight:800;line-height:1.2}.bk-file{flex:1;min-width:0;display:flex;flex-direction:column}.bk-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.bk-file-size{order:-1}.bk-files li.missing{color:var(--warn-ink)}.bk-files li.missing .bk-file-name{color:inherit;opacity:.8}.bk-download{flex:none;display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;font-weight:600;text-underline-offset:3px}.bk-download:hover{color:var(--accent)}.bk-head .bk-label{margin-bottom:.75rem}.bk-state.reading{color:var(--accent)}.bk-state.to_read{color:var(--muted)}.bk-title{margin:0;font-size:clamp(2.4rem,5.4vw,4rem);line-height:.95;font-weight:800;letter-spacing:-.04em;overflow-wrap:anywhere}.bk-authors{margin:1rem 0 0;font-size:1.25rem;letter-spacing:-.01em}.bk-authors a{text-underline-offset:4px}.bk-authors a:hover,.bk-series a:hover{color:var(--accent)}.bk-series{margin:.375rem 0 0;font-size:.9375rem;color:var(--muted)}.bk-main>.banner{margin:0}.bk-actions{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.bk-primary,.bk .send-menu>.send-menu-button{display:inline-flex;align-items:center;gap:.625rem;min-height:3.25rem;padding:0 1.5rem;border:2px solid var(--text);background:var(--text);color:var(--bg);font:inherit;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer}.bk .send-menu>.send-menu-button{padding:0 1.125rem;font-size:.9375rem}.bk .send-menu>.send-menu-button .button-icon{width:18px;height:18px;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.bk .send-menu>.send-menu-button:after{content:"▾";margin-left:-.25rem;font-size:.8em}.bk-primary:hover,.bk .send-menu>.send-menu-button:hover,.bk .send-menu>.send-menu-button[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.bk-sep{width:1px;height:2rem;margin:0 .375rem;background:var(--border)}.bk-ghost{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .625rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}.bk-ghost:hover{text-decoration:underline;text-underline-offset:4px}.bk-ghost[aria-expanded=true]{color:var(--accent)}.bk-ghost.danger{color:var(--danger)}.bk .send-menu-list{top:calc(100% + .5rem);width:min(20rem,calc(100vw - 2.2rem));min-width:0;padding:0;background:var(--surface);border:2px solid var(--text);border-radius:0;box-shadow:8px 8px #1111111f}.bk .send-menu-list>button,.bk .send-menu-list>a{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;border-radius:0;border-bottom:1px solid var(--border)}.bk .send-menu-list>:last-child{border-bottom:0}.send-menu-glyph{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--text);font-size:.8125rem;font-weight:800}.send-menu-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.send-menu-text strong{font-size:.9375rem}.bk .send-menu-list .muted{font-size:.8125rem}.bk .send-menu-list .error-text{margin:.75rem 1rem}.bk-band{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:1.125rem 0;border-top:2px solid var(--text);border-bottom:1px solid var(--border)}.bk-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(22.5rem,100%);border:1px solid var(--text)}.bk-status button{min-height:2.75rem;padding:0 .5rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.bk-status button+button{border-left:1px solid var(--text)}.bk-status button:hover{background:var(--surface-2)}.bk-status button.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.bk-status button:disabled{cursor:progress}.bk-shelves{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:0 .25rem;font-size:.875rem;color:var(--muted)}.bk-shelves a{color:var(--text);font-weight:600}.bk-shelves a:hover{color:var(--accent)}.bk-shelf-picker summary{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;list-style:none}.bk-shelf-picker summary::-webkit-details-marker{display:none}.bk-shelf-picker summary:hover,.bk-shelf-picker[open] summary{color:var(--accent)}.bk-shelf-picker .shelf-picker-body{position:absolute;right:0;top:calc(100% - .5rem);z-index:20;width:min(20rem,100%);margin:0;gap:0;padding:.5rem 1rem 1rem;background:var(--surface);border:2px solid var(--text);box-shadow:8px 8px #1111111f}.bk-shelf-picker .shelf-picker-body .inline{min-height:2.75rem;gap:.625rem;color:var(--text);font-size:.9375rem;border-bottom:1px solid var(--border)}.bk-shelf-picker .shelf-picker-body .inline input{width:1.125rem;height:1.125rem;accent-color:var(--accent)}.bk-shelf-picker .inline-form{display:flex;gap:.5rem;margin-top:.75rem}.bk-shelf-picker .inline-form input{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--text);padding:.5rem 0}.bk-shelf-picker .inline-form .button{min-height:2.75rem}.bk-description{margin:0;max-width:64ch;white-space:pre-line;font-family:var(--serif);font-size:1.125rem;line-height:1.7}.bk-meta{margin:0;border-top:1px solid var(--border);font-size:.9375rem}.bk-meta>div{display:grid;grid-template-columns:10rem minmax(0,1fr);border-bottom:1px solid var(--border)}.bk-meta dt{padding:.75rem 0;color:var(--muted)}.bk-meta dd{margin:0;padding:.75rem 0;overflow-wrap:anywhere}.bk-meta dd.bk-tags{display:flex;flex-wrap:wrap;gap:.375rem;padding:.5625rem 0}.bk-tag{padding:3px 10px;border:1px solid var(--text);font-size:.8125rem;font-weight:600;text-decoration:none}.bk-tag:hover{background:var(--text);color:var(--bg)}.bk .metadata-search{margin:0;padding-top:1rem;border-top:2px solid var(--text)}.bk .candidate{background:transparent;border-color:var(--text)}.bk .candidate:hover{background:var(--surface-2)}.bk .edit-form{gap:1rem}.bk .edit-form h1{margin:0 0 .5rem;font-size:clamp(2rem,4vw,3rem);line-height:.95;letter-spacing:-.04em}.bk .edit-form label{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.bk .edit-form input,.bk .edit-form textarea{min-height:2.75rem;padding:.5rem 0;background:transparent;border:0;border-bottom:1px solid var(--text);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none}.bk .edit-form textarea{padding:.5rem;border:1px solid var(--text);font-family:var(--serif);line-height:1.6}.bk .edit-form .actions{margin:.5rem 0 0}.bk .edit-form .button.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.bk .edit-form .button.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bk .send-menu-list,:root:not([data-theme=light]) .bk-shelf-picker .shelf-picker-body{box-shadow:8px 8px #f2f2ee1a}}:root[data-theme=dark] .bk .send-menu-list,:root[data-theme=dark] .bk-shelf-picker .shelf-picker-body{box-shadow:8px 8px #f2f2ee1a}@media(max-width:1000px){.bk-grid{grid-template-columns:13rem minmax(0,1fr);column-gap:2rem}.bk-cover>.cover.placeholder .ph-title{font-size:1.6rem}}@media(max-width:720px){.bk{padding-top:0}.bk-back{margin-bottom:.5rem}.bk-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"cover" "main" "files";row-gap:1.5rem}.bk-cover{width:11rem;margin:0 auto}.bk-cover>.cover.placeholder{padding:1rem}.bk-cover>.cover.placeholder .ph-title{font-size:1.4rem}.bk-files{margin-top:.5rem}.bk-title{font-size:clamp(2rem,10vw,2.6rem)}.bk-authors{margin-top:.75rem;font-size:1.1rem}.bk .send-menu-list{left:auto;right:0}.bk-primary,.bk .send-menu{flex:1 1 auto}.bk-primary,.bk .send-menu>.send-menu-button{justify-content:center;padding:0 1rem}.bk .send-menu>.send-menu-button{width:100%}.bk-sep{display:none}.bk-status{width:100%}.bk-shelves{margin-left:0}.bk-shelf-picker .shelf-picker-body{left:0;right:auto;width:100%}.bk-meta>div{grid-template-columns:7rem minmax(0,1fr)}.bk-description{font-size:1.05rem}}.add h1{margin:0 0 2rem;font-size:clamp(2.5rem,7vw,3.75rem);line-height:.95;font-weight:800;letter-spacing:-.04em}.add .banner{margin:0 0 1.5rem}.add .add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem;margin:0}.add .add-card{min-height:240px;padding:2rem;gap:.875rem;align-items:stretch;border:2px solid var(--text);background:transparent}.add .add-card-drop{border-style:dashed}.add .add-card.over{border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.add .add-label{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.add .add-icon{width:40px;height:40px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}.add .add-card h2{margin:0;font-size:1.75rem;line-height:1.05;font-weight:800;letter-spacing:-.02em}.add .add-card .add-text{margin:0;font-size:.9375rem;color:var(--muted)}.add .add-btn{margin-top:auto;align-self:flex-start;min-height:48px;padding:0 1.375rem;border:2px solid var(--text);background:transparent;color:var(--text);font-size:.9375rem}.add .add-btn:hover,.add .add-btn-solid{background:var(--text);color:var(--bg)}.add .add-btn-solid:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.add .add-btn.disabled:hover,.add .add-btn:disabled:hover{background:transparent;color:var(--text);border-color:var(--text)}.add .add-btn-solid.disabled:hover{background:var(--text);color:var(--bg)}.add .add-queue{margin-top:3rem;padding-top:1.25rem;border-top:2px solid var(--text);gap:0}.add .queue-summary{padding:0;border:0;background:transparent;gap:1.125rem;margin-bottom:1.125rem}.add .queue-summary.has-errors{border:0}.add .queue-summary-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem}.add .add-count{margin:0;font-size:clamp(2.5rem,9vw,3.5rem);line-height:.9;font-weight:900;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.add .add-count span{color:var(--muted)}.add .add-tally{margin:0;font-size:1rem}.add .add-tally-error{color:var(--danger);font-weight:700}.add .queue-summary>.bar{height:6px;background:var(--track)}.add .queue-actions{gap:.75rem 1.5rem;padding-bottom:.75rem;font-size:.875rem}.add .add-only-errors{min-height:44px;gap:.5rem;color:var(--text);font-size:.875rem;cursor:pointer}.add .add-only-errors input{width:18px;height:18px;margin:0;accent-color:var(--text)}.add .queue-actions .button.small{min-height:44px;padding:0 .875rem;font-size:.875rem;font-weight:600}.add .queue-actions .button-icon{stroke-linecap:square;stroke-linejoin:miter;stroke-width:2}.add .queue-list{gap:0;border-top:1px solid var(--border)}.add .queue-item{grid-template-columns:14px minmax(0,1fr) minmax(0,220px) minmax(0,200px) 48px;gap:1rem;padding:.875rem 0;background:transparent;border:0;border-bottom:1px solid var(--border);font-size:.875rem}.add .queue-main{gap:0}.add .queue-item .file-name{font-size:.9375rem;font-weight:700}.add .queue-meta{font-size:.875rem}.add .queue-item>.bar{height:4px;background:var(--track)}.add .queue-item>.bar>span{background:var(--text)}.add .queue-item>.bar.indeterminate>span{background:var(--accent)}.add .queue-status{text-align:left;max-width:none;font-weight:600;color:var(--text)}.add .queue-item>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}.add .queue-item>a:hover{color:var(--accent)}.add .queue-dot{width:10px;height:10px;transform:none;background:var(--track);animation:none}.add .phase-uploading .queue-dot,.add .phase-saving .queue-dot,.add .phase-importing .queue-dot{background:var(--accent)}.add .phase-uploading>.bar>span{background:var(--accent)}.add .phase-created .queue-dot{background:var(--text)}.add .phase-duplicate .queue-dot,.add .phase-already_exists .queue-dot{background:var(--muted)}.add .phase-duplicate>.bar>span,.add .phase-already_exists>.bar>span{background:var(--muted)}.add .phase-duplicate .queue-status,.add .phase-already_exists .queue-status,.add .phase-queued .queue-status{color:var(--muted)}.add .phase-error .queue-dot,.add .phase-error>.bar>span{background:var(--danger)}.add .phase-error .queue-status{color:var(--danger)}@media(max-width:900px){.add .queue-item{grid-template-columns:14px minmax(0,1fr) minmax(0,180px) 48px;row-gap:.5rem}.add .queue-item>.bar{grid-column:2 / 3;grid-row:2}.add .queue-status{grid-column:3 / 4;grid-row:1}.add .queue-item>:last-child{grid-column:4;grid-row:1}}@media(max-width:600px){.add .add-card{min-height:0;padding:1.5rem}.add .add-card h2{font-size:1.5rem}.add .add-btn{align-self:stretch}.add .queue-actions .spacer{display:none}.add .queue-item{grid-template-columns:14px minmax(0,1fr) 48px;column-gap:.75rem}.add .queue-item>.bar{grid-column:2 / 4;grid-row:2}.add .queue-status{grid-column:2 / 4;grid-row:3}.add .queue-item>:last-child{grid-column:3;grid-row:1}}@media(prefers-reduced-motion:reduce){.add .bar.indeterminate>span{animation:none;left:0}}.st{display:flex;flex-wrap:wrap;gap:2rem 2.5rem;padding-bottom:2rem}.st p{margin:0}.st code{word-break:break-all}.st-index{flex:0 0 11.25rem;min-width:0}.st-index h1{margin:0 0 1.5rem;font-size:2.5rem;line-height:.95;font-weight:800;letter-spacing:-.04em}.st-index ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:.875rem;font-weight:600}.st-index a{display:flex;align-items:center;gap:.625rem;min-height:2.75rem;color:var(--text);text-decoration:none}.st-index a:hover{color:var(--accent)}.st-index a.danger{color:var(--danger)}.st-index .st-n{width:1.25rem;flex:none;font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums}@media(min-width:900px){.st-index{position:sticky;top:1.5rem;align-self:flex-start}}.st-body{flex:1 1 35rem;min-width:0;display:flex;flex-direction:column}.st-group{min-width:0;padding:1.75rem 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.st-body>.st-group:first-child,.st-body>.st-pair:first-child{padding-top:0}.st-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr));gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--border)}.st-pair>.st-group{padding:0;border:0}.st h2.st-label{margin:0;font-size:.8125rem;line-height:1.3;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.st-label .st-n{font-variant-numeric:tabular-nums}.st-intro{font-size:1rem;max-width:42rem}.st-note{font-size:.8125rem;line-height:1.45;color:var(--muted);max-width:42rem}.st-indent{padding-left:3.625rem}.st-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.st-grow{flex:1 1 20rem;min-width:0}.st-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.st-links,.st-link{font-size:.875rem;font-weight:600}.st a:hover{color:var(--accent)}.st-icon{flex:none}.st-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border:2px solid var(--text);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer}.st-btn:hover{background:var(--text);color:var(--bg)}.st-btn.thin{border-width:1px;font-weight:600}.st-btn.small{min-height:2.75rem;padding:0 .75rem;vertical-align:middle}.st-btn.fill{min-height:3rem;padding:0 1.375rem;border-color:var(--text);background:var(--text);color:var(--bg);font-size:.9375rem}.st-btn.fill:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.st-btn.fill.danger{border-color:var(--danger);background:var(--danger);color:var(--bg)}.st-btn.fill.danger:hover{border-color:var(--text);background:var(--text)}.st-btn:disabled,.st-btn:disabled:hover{opacity:.35;cursor:not-allowed}.st-btn:not(.fill):disabled:hover{background:transparent;color:var(--text)}.st-btn.fill:disabled:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.st-btn.fill.danger:disabled:hover{background:var(--danger);border-color:var(--danger)}.st-textbtn{min-height:2.75rem;padding:0 .625rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.st-textbtn.danger{color:var(--danger)}.st-textbtn:hover{text-decoration:underline;text-underline-offset:3px}.st-form{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.st input.st-input{flex:1 1 17.5rem;min-width:0;height:3rem;padding:0;border:0;border-bottom:1px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:1rem}.st input.st-input.big{font-size:1.125rem}.st input.st-input:focus-visible{outline:none;border-bottom:2px solid var(--accent)}.st input.st-input.boxed{flex-basis:16.25rem;padding:0 .75rem;border:1px solid var(--danger)}.st input.st-input.boxed:focus-visible{outline:2px solid var(--danger);outline-offset:0;border-bottom:1px solid var(--danger)}.st select.st-select{width:100%;height:3.5rem;padding:0 .75rem;border:1px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:1rem;font-weight:600}.st select.st-select option{background:var(--surface);color:var(--text)}.st-switch-row{display:flex;align-items:center;gap:.875rem;min-height:2.75rem;font-size:1rem;cursor:pointer}.st input.st-switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:2.75rem;height:1.5rem;margin:0;padding:0;border:2px solid var(--text);border-radius:0;background:transparent;cursor:pointer}.st input.st-switch:before{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;background:var(--text);transition:transform .15s}.st input.st-switch:checked{background:var(--text)}.st input.st-switch:checked:before{background:var(--bg);transform:translate(1.25rem)}.st-checks{border:0;margin:0;padding:0;display:flex;flex-direction:column}.st-checks label{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;font-size:.9375rem;cursor:pointer}.st-checks input{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--text)}.st-theme{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--text)}.st-theme button{height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.st-theme button+button{border-left:1px solid var(--text)}.st-theme button:hover{background:var(--surface-2)}.st-theme button[aria-checked=true]{background:var(--text);color:var(--bg)}.st-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700}.st-dot{width:.625rem;height:.625rem;background:var(--ok-ink)}.st-notice{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:1rem 1.25rem;border-top:4px solid currentColor;font-size:.9375rem}.st-notice p{flex:1 1 18.75rem;min-width:0}.st-notice a{font-weight:700;color:inherit}.st-notice.warn{background:var(--warn-bg);color:var(--warn-ink)}.st-notice.ok{background:var(--ok-bg);color:var(--ok-ink)}.st-notice code{color:var(--text)}.st-steps{list-style:none;margin:.25rem 0 .5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:1rem;font-size:.875rem}.st-steps li{min-width:0;padding-top:.625rem;border-top:2px solid var(--text)}.st-step-n{display:block;font-size:1.75rem;line-height:1.2;font-weight:900}.st-steps code{font-weight:700}.st-steps .st-btn{margin-top:.375rem}.st-box{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--text)}.st-box-label{font-size:.8125rem;color:var(--muted)}.st-box code{flex:1 1 16.25rem;min-width:0;padding:0;background:none;font-size:.9375rem;font-weight:700}.st-table{width:100%;border-collapse:collapse;font-size:.875rem}.st-table th{padding:.5rem .75rem .5rem 0;border-bottom:2px solid var(--text);text-align:left;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.st-table td{padding:.375rem .75rem .375rem 0;border-bottom:1px solid var(--border);vertical-align:middle}.st-cell-name{font-weight:700}.st-cell-muted{color:var(--muted)}.st-cell-action{text-align:right;padding-right:0!important}.st-cell-action .st-textbtn{padding-right:0}.st-narrow{display:none}.st-more>summary{display:inline-flex;align-items:center;min-height:2.75rem;list-style:none;cursor:pointer;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}.st-more>summary::-webkit-details-marker{display:none}.st-more>summary:hover{color:var(--accent)}.st-more[open]{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.25rem}.st-facts{margin:0;display:flex;flex-direction:column;gap:.5rem}.st-facts dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.st-facts dd{margin:.125rem 0 0}.st-facts code{padding:0;background:none;font-size:.9375rem;font-weight:700}.st-body>.st-group.st-danger{margin-top:2.5rem;padding:1.5rem;border:2px solid var(--danger)}.st-danger h2.st-label{color:var(--danger)}.st-danger p{font-size:.9375rem}.st-version{margin-top:1.5rem!important;font-size:.75rem;color:var(--muted)}.st-version a{color:var(--muted)}.st-dialog{width:min(27.5rem,calc(100vw - 2rem));max-width:none;padding:0;border:2px solid var(--text);border-radius:0;background:var(--surface);color:var(--text);box-shadow:10px 10px 0 var(--track)}.st-dialog::backdrop{background:#11111173}.st-dialog-body{padding:1.5rem 1.5rem 1.25rem}.st-dialog-kicker{margin:0 0 .5rem;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--danger)}.st-dialog h2{margin:0;font-size:1.75rem;line-height:1.05;font-weight:800;letter-spacing:-.02em}.st-dialog-body p.muted{margin:.75rem 0 0;font-size:.9375rem}.st-dialog-actions{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--text)}.st-dialog-actions button{min-height:3.5rem;padding:0 .75rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:1rem;font-weight:700;cursor:pointer}.st-dialog-actions button:hover{background:var(--surface-2)}.st-dialog-actions .st-dialog-confirm{border-left:2px solid var(--text);background:var(--danger);color:var(--bg)}.st-dialog-actions .st-dialog-confirm:hover{background:var(--text);color:var(--bg)}@media(max-width:899px){.st{gap:1.5rem}.st-index{flex-basis:100%}.st-index h1{font-size:2.25rem;margin-bottom:.75rem}.st-index ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;border-top:2px solid var(--text)}.st-index li{min-width:0;border-bottom:1px solid var(--border)}.st-index a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-body{flex-basis:100%}}@media(max-width:720px){.st-indent{padding-left:0}.st-form>*{flex-basis:100%}.st-form .st-btn.fill{width:100%}.st-body>.st-group.st-danger{padding:1.25rem 1rem}.st-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.st-table,.st-table tbody{display:block}.st-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;padding:.625rem 0;border-top:1px solid var(--border)}.st-table tbody tr:first-child{border-top:2px solid var(--text)}.st-table td{grid-column:1;padding:0;border:0}.st-table td.st-cell-action{grid-column:2;grid-row:1 / span 4;align-self:center}.st-narrow{display:inline}}.sv{display:flex;flex-direction:column}.sv-label{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sv-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 2.5rem;padding-bottom:2rem}.sv-total{flex:0 0 11.25rem}.sv-total-n{margin:0 0 .5rem;font-size:clamp(4rem,9vw,6rem);line-height:.8;font-weight:900;letter-spacing:-.06em}.sv-intro{flex:1 1 30rem;min-width:0}.sv-intro h1{margin:0;font-size:clamp(2.4rem,5vw,3.75rem);line-height:.95;font-weight:800;letter-spacing:-.04em}.sv-intro p{margin:.9rem 0 0;font-size:1.05rem;max-width:52ch}.sv-new{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2.5rem;padding:1.1rem 0;border-top:2px solid var(--text);border-bottom:2px solid var(--text)}.sv-new label{flex:0 0 11.25rem}.sv-new input,.sv-edit input{flex:1 1 20rem;min-width:0;height:3rem;padding:0;border:0;border-bottom:1px solid var(--text);background:transparent;color:var(--text);font-size:1.4rem;font-weight:700}.sv-new input::placeholder{color:var(--muted);font-weight:500}.sv-new input:focus-visible,.sv-edit input:focus-visible{outline:none;border-bottom:2px solid var(--accent)}.sv-create{display:inline-flex;align-items:center;gap:.5rem;height:3rem;padding:0 1.4rem;border:0;background:var(--text);color:var(--bg);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.sv-create:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.sv-create:disabled{opacity:.45;cursor:not-allowed}.sv-icon{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}.sv-none{margin:1.5rem 0 0}.sv-list{list-style:none;margin:0;padding:0}.sv-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2.5rem;padding:1.4rem 0;border-bottom:1px solid var(--border)}.sv-mini{flex:0 0 11.25rem;height:4.5rem;display:flex;align-items:flex-end;gap:3px;border-bottom:3px solid var(--text);color:inherit}.sv-spine{flex:48 1 0;min-width:0;max-width:2.25rem;box-shadow:inset -2px 0 #00000024}.sv-spine.ghost{height:80%;background:var(--surface-2);animation:pulse 1.4s infinite}.sv-name{flex:1 1 17.5rem;min-width:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;letter-spacing:-.025em;line-height:1.1;text-decoration:none;overflow-wrap:anywhere}.sv-name:hover{color:var(--accent)}.sv-count{margin:0;display:flex;align-items:baseline;gap:.6rem}.sv-count-n{font-size:2.5rem;line-height:1;font-weight:900;letter-spacing:-.05em}.sv-count-word{width:4rem;font-size:.82rem;color:var(--muted)}.sv-actions{display:flex;gap:.25rem}.sv-action{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:0 .65rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.sv-action:hover{color:var(--accent)}.sv-action.danger{color:var(--danger)}.sv-action.danger:hover{background:var(--danger);color:var(--bg)}.sv-action.strong{background:var(--text);color:var(--bg);padding:0 1rem}.sv-action.strong:hover{background:var(--accent);color:var(--accent-ink)}.sv-edit{flex:1 1 20rem;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.sv-edit .error-text{flex-basis:100%}@media(max-width:640px){.sv-head{gap:1.25rem;padding-bottom:1.5rem}.sv-total{flex-basis:100%;display:flex;align-items:baseline;gap:.75rem}.sv-total-n{margin:0;font-size:4rem}.sv-new{gap:.75rem}.sv-new label{flex-basis:100%}.sv-new input{flex-basis:10rem;font-size:1.2rem}.sv-row{gap:.75rem 1rem}.sv-mini{flex-basis:6.5rem;height:3.25rem}.sv-name{flex-basis:10rem}.sv-count-n{font-size:2rem}.sv-count-word{width:auto}.sv-actions{margin-left:auto}}@media(prefers-reduced-motion:reduce){.sv-spine.ghost{animation:none}}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-italic-C2hF6zFe.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-italic-f6xT_0ee.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-italic-9BAkQpca.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-italic-LyOFdRXZ.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-italic-CC1SwlwQ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-italic-Bm_GJfSc.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f5f4f0;--surface: #fbfaf7;--surface-2: #e9e8e2;--text: #111111;--muted: #6b6b66;--border: rgb(17 17 17 / 20%);--track: rgb(17 17 17 / 12%);--accent: #d8231a;--accent-ink: #ffffff;--accent-2: #d8231a;--accent-3: #111111;--danger: #b3261e;--warn-bg: #f3e3c4;--warn-ink: #5a3a00;--ok-bg: #e2e9de;--ok-ink: #1d4a2a;--shadow: 0 1px 2px rgb(0 0 0 / 12%), 0 10px 22px -12px rgb(0 0 0 / 35%);--radius: 0;--font: "Archivo Variable", Archivo, "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--serif: "Literata Variable", Literata, Georgia, serif;--display: var(--font);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111111;--surface: #1a1a1a;--surface-2: #262626;--text: #f2f2ee;--muted: #a3a39c;--border: rgb(242 242 238 / 22%);--track: rgb(242 242 238 / 16%);--accent: #ff4a3d;--accent-ink: #111111;--accent-2: #ff4a3d;--accent-3: #f2f2ee;--danger: #ff8a80;--warn-bg: #3a2f17;--warn-ink: #f3d79a;--ok-bg: #1f3324;--ok-ink: #bfe3c6;--shadow: 0 1px 2px rgb(0 0 0 / 50%), 0 10px 22px -10px rgb(0 0 0 / 80%);color-scheme:dark}}:root[data-theme=dark]{--bg: #111111;--surface: #1a1a1a;--surface-2: #262626;--text: #f2f2ee;--muted: #a3a39c;--border: rgb(242 242 238 / 22%);--track: rgb(242 242 238 / 16%);--accent: #ff4a3d;--accent-ink: #111111;--accent-2: #ff4a3d;--accent-3: #f2f2ee;--danger: #ff8a80;--warn-bg: #3a2f17;--warn-ink: #f3d79a;--ok-bg: #1f3324;--ok-ink: #bfe3c6;--shadow: 0 1px 2px rgb(0 0 0 / 50%), 0 10px 22px -10px rgb(0 0 0 / 80%);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:3px}h1{font-weight:800;font-size:clamp(2.2rem,5vw,3.5rem);letter-spacing:-.045em;line-height:.95;margin:0 0 .75rem}h2{font-weight:700;font-size:1.25rem;letter-spacing:-.015em;line-height:1.25;margin:1.75rem 0 .75rem}::selection{background:var(--accent);color:var(--accent-ink)}code{font-size:.9em;background:var(--surface-2);padding:.1em .35em;word-break:break-all}.muted{color:var(--muted)}.error-text{color:var(--danger)}.ok-text{color:var(--ok-ink)}.center{display:flex;justify-content:center;margin:1.5rem 0}.spacer{flex:1}.splash{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.num{font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.2rem;border-radius:0;border:1px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.button:hover{background:var(--text);color:var(--bg)}.button:disabled,.button.disabled{opacity:.5;cursor:not-allowed}.button:disabled:hover{background:transparent;color:var(--text)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button.primary:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.button.danger{color:var(--danger);border-color:var(--danger)}.button.danger:hover{background:var(--danger);color:var(--bg)}.button.small{min-height:2.25rem;padding:.4rem .8rem;font-size:.85rem}.button-icon{width:1rem;height:1rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.link{background:none;border:0;color:inherit;font:inherit;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.link:hover{color:var(--accent)}.link.danger{color:var(--danger)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:0;padding:.55rem .7rem}input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar,.content{max-width:1280px;margin:0 auto;padding-left:3rem;padding-right:3rem}.topbar-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;align-items:baseline;padding:1.75rem 0 1.1rem;border-bottom:2px solid var(--text)}.brand{grid-column:span 3;display:inline-flex;align-items:baseline;color:var(--text);text-decoration:none;font-size:1.75rem;font-weight:800;letter-spacing:-.04em;line-height:1}.brand.big{font-size:2.6rem;margin-bottom:1.5rem}.wordmark-dot{color:var(--accent)}.nav{grid-column:4 / span 5;display:flex;flex-wrap:wrap;gap:.4rem 1.75rem;font-size:.95rem;font-weight:500}.nav a,.nav .link{color:var(--text);text-decoration:none}.nav a:hover,.nav .link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.nav a.active{color:var(--accent)}.topbar-tools{grid-column:9 / span 4;display:flex;align-items:baseline;justify-content:flex-end;gap:1.4rem;font-size:.95rem;font-weight:500}.search{flex:1 1 auto;max-width:15rem}.search input{width:100%;border:0;border-bottom:1px solid var(--text);background:transparent;padding:.3rem 0}.search input:focus-visible{outline:none;border-bottom:2px solid var(--accent)}.theme-button{padding:0;border:0;background:none;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap}.theme-button:hover{color:var(--accent)}.tabbar{display:none}.content{padding-top:2.5rem;padding-bottom:3rem}.banner{padding:.75rem 1rem;margin:.75rem 0;border-left:3px solid var(--accent)}.app>.banner{max-width:1280px;margin:1rem auto 0;width:calc(100% - 6rem)}.banner.warn{background:var(--warn-bg);color:var(--warn-ink)}.banner.ok{background:var(--ok-bg);color:var(--ok-ink);border-left-color:var(--ok-ink)}.banner a{color:inherit;font-weight:700}.secret{-webkit-user-select:all;user-select:all}.sw-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;row-gap:1.25rem;padding:1.9rem 0 2.9rem;border-bottom:1px solid var(--text)}.sw-section:first-child{padding-top:.5rem}.sw-section:last-child{border-bottom:0}.sw-label{grid-column:span 2;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500}.sw-n{color:var(--accent)}.sw-label .sw-more{margin-top:.6rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.sw-label .sw-more:hover{color:var(--accent)}.sw-body{grid-column:3 / -1;min-width:0}.sw-hero{padding:2.5rem 0 3.5rem}.sw-hero-main{grid-column:3 / span 6;display:flex;flex-direction:column;min-width:0}.sw-hero-title{margin:0;font-size:clamp(3rem,8.2vw,7rem);font-weight:800;letter-spacing:-.055em;line-height:.88;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.sw-hero-title.long{font-size:clamp(2.6rem,5.6vw,4.75rem)}.sw-hero-title a{text-decoration:none}.sw-hero-author{margin:1.4rem 0 0;font-size:1.5rem;letter-spacing:-.01em}.sw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2.75rem;padding-top:.9rem;border-top:1px solid var(--text);font-size:.82rem}.sw-stats>span{display:flex;flex-direction:column;gap:.25rem;min-width:0}.sw-stats strong{font-size:1.25rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-stats .sw-red{color:var(--accent)}.sw-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2.25rem}.sw-hero-actions .button.primary{padding:1rem 1.6rem}.sw-underline{font-weight:500;text-decoration:underline;text-underline-offset:4px}.sw-underline:hover{color:var(--accent)}.sw-hero-cover{grid-column:10 / span 3;display:flex;flex-direction:column;gap:.75rem;color:inherit}.sw-hero-cover .cover{box-shadow:var(--shadow)}.sw-bar{display:block;height:3px;background:var(--track)}.sw-bar>span{display:block;height:100%;background:var(--accent)}.sw-hero-cover .sw-bar{height:4px}.sw-books{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:1.5rem;row-gap:2rem}.sw-book{display:flex;flex-direction:column;gap:.75rem;color:inherit;text-decoration:none;min-width:0}.sw-book-cover{position:relative;display:block;transition:transform .2s ease}.sw-book-cover .cover{box-shadow:var(--shadow)}.sw-book-cover .sw-bar{position:absolute;left:0;right:0;bottom:-.65rem}.sw-book:hover .sw-book-cover{transform:translateY(-4px)}.sw-book-text{display:flex;flex-direction:column;gap:.1rem;margin-top:.25rem;min-width:0}.sw-t{font-size:.95rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sw-book:hover .sw-t,.sw-shelf:hover .sw-t,.sw-row:hover .sw-row-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.sw-a{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-flag{margin-top:.25rem;font-size:.75rem;font-weight:700;color:var(--accent)}.sw-shelves{display:flex;flex-direction:column}.sw-shelf{display:grid;grid-template-columns:minmax(0,1fr) 8rem 12.5rem;gap:1.5rem;align-items:center;padding:1rem 0;border-top:1px solid var(--border);color:inherit;text-decoration:none}.sw-shelf .sw-t{font-size:1.6rem;-webkit-line-clamp:1}.sw-shelf-count{color:var(--muted)}.sw-minis{display:flex;justify-content:flex-end;gap:.4rem}.sw-minis .cover{width:2.1rem}.sw-minis .cover.placeholder{padding:0}.sw-minis .ph-title,.sw-minis .ph-author{display:none}.sw-index-head{padding:.75rem 0 2rem;border-bottom:0;align-items:end}.sw-index-head h1{grid-column:3 / span 6;margin:0;font-size:clamp(2.6rem,6.5vw,5.5rem);letter-spacing:-.05em;line-height:.9;overflow-wrap:break-word}.sw-count{grid-column:10 / span 3;display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--muted)}.sw-count strong{font-size:3.5rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.sw-filterbar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;row-gap:.75rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--text);border-bottom:1px solid var(--text)}.sw-filterbar .sw-label{flex-direction:row;color:var(--muted)}.sw-tabs{grid-column:3 / span 6;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}.sw-tabs button{padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:.95rem;font-weight:500;cursor:pointer}.sw-tabs button:hover{text-decoration:underline;text-underline-offset:4px}.sw-tabs button.active{color:var(--accent);font-weight:700}.sw-filter-tools{grid-column:9 / span 4;display:flex;justify-content:flex-end;align-items:center;gap:1rem}.sw-options{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;padding:.85rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.sw-options select{padding:.25rem .4rem;background:transparent;border:0;border-bottom:1px solid var(--text);font-weight:500}.sw-options .inline{color:var(--muted)}.inline{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.9rem}.chips,.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0}.chip{border:1px solid var(--text);background:transparent;color:var(--text);padding:.3rem .7rem;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none}.chip:hover{background:var(--text);color:var(--bg)}.sw-table{margin-top:.5rem}.sw-thead,.sw-row{display:grid;grid-template-columns:3rem 4rem minmax(0,4fr) minmax(0,3fr) minmax(0,2fr) 3.5rem;column-gap:1.5rem;align-items:center}.sw-thead{padding:1.1rem 0 .6rem;font-size:.75rem;font-weight:700;color:var(--muted)}.sw-thead>:last-child,.sw-row-year{text-align:right}.sw-row{width:100%;padding:.85rem 0;border:0;border-top:1px solid var(--border);background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.sw-row-n{font-size:.82rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.sw-row .cover{width:2.75rem;box-shadow:var(--shadow)}.sw-row .cover.placeholder{padding:0}.sw-row .ph-title,.sw-row .ph-author{display:none}.sw-row-title{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sw-row-title>strong{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:break-word}.sw-row-title>span{font-size:.82rem;color:var(--muted)}.sw-row-author{font-size:.95rem;overflow:hidden;text-overflow:ellipsis}.sw-row-state{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:700}.sw-row-state.to_read,.sw-row-state.none{color:var(--muted);font-weight:500}.sw-row-state.reading{color:var(--accent)}.sw-row-year{font-size:.95rem;font-variant-numeric:tabular-nums}.sw-row.orphaned .cover{filter:grayscale(.8);opacity:.6}.sw-row.selected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.sw-row .sw-row-n .card-check{position:static}.sw-row.skeleton{height:5.5rem;background:var(--surface-2);animation:pulse 1.4s infinite;cursor:default}.sw-view{display:inline-flex;gap:.9rem;font-size:.9rem}.sw-view button{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-weight:500;cursor:pointer}.sw-view button.active{color:var(--text);font-weight:700}.toolbar{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar h1{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2rem 1.5rem;margin-top:1.5rem}.card{display:flex;flex-direction:column;gap:.75rem;color:inherit;text-decoration:none}.card.skeleton{aspect-ratio:2 / 3.6;background:var(--surface-2);animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.5}}.card-cover{position:relative;transition:transform .2s ease}.card-cover .cover{box-shadow:var(--shadow)}.card:hover .card-cover{transform:translateY(-4px)}.card:hover .card-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.card.orphaned .cover{filter:grayscale(.8);opacity:.6}.card-body{display:flex;flex-direction:column;gap:.1rem;margin-top:.25rem}.card-title{font-weight:700;font-size:.95rem;letter-spacing:-.01em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-author,.card-series{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover{display:block;width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:0;background:var(--surface-2)}.cover.placeholder{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;padding:12% 10%;overflow:hidden;text-align:left;background:hsl(var(--hue) 30% 88%);color:#111}.cover.placeholder:before{content:"";position:absolute;left:10%;right:10%;top:9%;height:3px;background:#d8231a}.ph-title{position:relative;margin-top:.75rem;font-size:1.05rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;overflow-wrap:anywhere}.ph-author{position:relative;font-size:.7rem;font-weight:500;opacity:.8}.badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.15rem .45rem}.badge.ok{background:var(--accent);color:var(--accent-ink)}.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}.card-cover .badge{position:absolute;left:.5rem;bottom:.5rem}.empty{padding:4rem 0;color:var(--muted)}.empty h2{color:var(--text);font-size:2rem;font-weight:800;letter-spacing:-.03em}.detail{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:3rem;align-items:start}.detail-cover{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;position:sticky;top:2rem}.detail-cover>.cover,.detail-cover>img{box-shadow:var(--shadow)}.detail-main h1{font-size:clamp(2.4rem,5.5vw,4.5rem)}.authors{font-size:1.35rem;letter-spacing:-.01em;margin:0}.series{color:var(--muted);margin:.25rem 0 0}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}.description{white-space:pre-line;max-width:66ch;font-family:var(--serif);font-size:1.08rem;line-height:1.7}.meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem 1.5rem;margin:1.25rem 0;border-top:1px solid var(--text);padding-top:.9rem}.meta dt{color:var(--muted);font-size:.8rem;font-weight:500}.meta dd{margin:.15rem 0 0;font-weight:700}.files,.results,.tokens{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.files li,.results li,.tokens li{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;border-top:1px solid var(--border)}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-main{flex:1;min-width:0}.token-scopes{display:block;font-size:.8rem;margin-top:.15rem}.scope-list{border:0;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.4rem}.scope-list label{display:flex;align-items:center;gap:.5rem}.results li.error{color:var(--danger)}.edit-form{display:flex;flex-direction:column;gap:.8rem;max-width:720px}.edit-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted);flex:1}.edit-form .row{display:flex;gap:1rem;flex-wrap:wrap}.add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:1rem 0}.dropzone{border:1px solid var(--text);padding:1.75rem;background:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.dropzone h2{margin:0}.dropzone p{color:var(--muted);margin:0 0 .75rem}.dropzone.over{border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.busy{display:flex;gap:1rem;align-items:center;margin:1rem 0}.settings{max-width:820px}.panel{padding:1.5rem 0 1.75rem;margin:0;border-top:1px solid var(--text)}.panel h2{margin-top:0}.danger-zone{border-top-color:var(--danger)}.danger-zone h2{color:var(--danger)}.inline-form{display:flex;gap:.6rem;flex-wrap:wrap;margin:.75rem 0}.inline-form input{flex:1;min-width:220px}.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{max-width:520px;padding:2.5rem 0;border-top:2px solid var(--text)}.login h1{font-size:clamp(2.4rem,6vw,3.5rem);margin:0}.lead{font-size:1.3rem;color:var(--muted);margin:.75rem 0 1.5rem}.pitch{padding-left:1.2rem;color:var(--muted);display:flex;flex-direction:column;gap:.4rem;margin-bottom:2rem}.google{display:flex;width:100%;font-size:1rem;padding:.95rem 1.4rem}.google svg{background:#fff;border-radius:50%;padding:2px;width:22px;height:22px}.fine{font-size:.8rem;color:var(--muted);margin-top:1.5rem}.reader{--reader-bg: #f5f4f0;position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--reader-bg);color:#111}html:has(.reader),html:has(.reader) body{overscroll-behavior-x:none}.reader-stage{touch-action:pan-y pinch-zoom}.reader.theme-sepia{--reader-bg: #ead9b8;color:#2b1f12}.reader.theme-dark{--reader-bg: #111111;color:#e9e8e3}.reader-bar,.reader-footer{position:absolute;left:0;right:0;z-index:6;background:var(--reader-bg);transition:transform .2s ease,opacity .2s ease}.reader-bar{top:0;display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-bottom:1px solid rgb(127 127 127 / 25%)}.reader-footer{bottom:0;display:grid;gap:.35rem;padding:.6rem 1rem .8rem;border-top:1px solid rgb(127 127 127 / 25%)}.reader.immersive .reader-bar{transform:translateY(-100%);opacity:0;pointer-events:none}.reader.immersive .reader-footer{transform:translateY(100%);opacity:0;pointer-events:none}.reader-footer-text{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.reader-chapter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-footer input[type=range]{width:100%;accent-color:var(--accent)}.reader .button{background:transparent;color:inherit;border-color:#7f7f7f59}.reader .button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.reader select{background:transparent;color:inherit}.reader-title{flex:1;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-stage{position:relative;flex:1;display:flex;min-height:0}.viewer{flex:1;min-width:0;padding:1.75rem 0 2.25rem}.reader-status{position:absolute;left:1rem;right:1rem;bottom:.55rem;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;opacity:.6;pointer-events:none;white-space:nowrap;overflow:hidden}.page-turn{width:8vw;max-width:80px;background:transparent;border:0;cursor:pointer}.page-turn:hover{background:#7f7f7f12}.reader-overlay{position:absolute;inset:0;display:grid;place-content:center;gap:1rem;text-align:center;background:var(--reader-bg)}.reader-settings{position:absolute;top:3.2rem;right:.5rem;z-index:7;width:min(340px,calc(100vw - 1rem));max-height:calc(100% - 4rem);overflow:auto;display:grid;gap:.7rem;padding:1rem 1.1rem;background:var(--reader-bg);border:1px solid rgb(127 127 127 / 25%);border-radius:10px;box-shadow:var(--shadow)}.reader-setting{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.reader-setting select{max-width:60%}.reader-segmented{display:flex;align-items:center;gap:.5rem}.reader-end{position:absolute;left:50%;bottom:3rem;z-index:5;transform:translate(-50%);width:min(440px,calc(100% - 2rem));display:grid;gap:.6rem;padding:1.25rem;text-align:center;background:var(--reader-bg);border:1px solid rgb(127 127 127 / 25%);border-radius:12px;box-shadow:var(--shadow)}.reader-end h2{margin:0;font-family:var(--serif)}.reader-end-title{margin:0;opacity:.75}.reader-end .actions{justify-content:center;flex-wrap:wrap;margin:.25rem 0}.toc{position:absolute;top:3.2rem;left:0;bottom:0;z-index:7;width:min(360px,90vw);overflow:auto;background:var(--reader-bg);border-right:1px solid rgb(127 127 127 / 25%);padding:1rem 1.25rem;box-shadow:var(--shadow)}.reader-bookmark.active{color:var(--accent-2);border-color:var(--accent-2)}.reader-ribbon{position:absolute;top:0;right:1.25rem;z-index:3;width:14px;height:26px;pointer-events:none;background:var(--accent-2);clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%)}.reader-selection{position:absolute;left:50%;bottom:2.6rem;z-index:9;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:var(--reader-bg);border:1px solid rgb(127 127 127 / 30%);border-radius:999px;box-shadow:var(--shadow);white-space:nowrap}.swatch{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid rgb(127 127 127 / 35%);cursor:pointer;padding:0}.swatch.small{display:inline-block;width:.75rem;height:.75rem;border-width:1px;vertical-align:middle;cursor:default}.swatch.selected{outline:2px solid var(--accent);outline-offset:2px}.swatch-yellow{background:#f5cf4b}.swatch-green{background:#7fcf8f}.swatch-blue{background:#7db7f5}.swatch-pink{background:#f19bbf}.reader-editor{position:absolute;left:50%;bottom:2.6rem;z-index:9;transform:translate(-50%);width:min(460px,calc(100% - 1.5rem));display:grid;gap:.65rem;padding:1rem;background:var(--reader-bg);border:1px solid rgb(127 127 127 / 25%);border-radius:12px;box-shadow:var(--shadow)}.reader-editor textarea{width:100%;box-sizing:border-box;font:inherit;color:inherit;background:transparent;border:1px solid rgb(127 127 127 / 35%);border-radius:8px;padding:.5rem;resize:vertical}.reader-editor-actions{justify-content:flex-end}.reader-note-quote{margin:0;padding-left:.7rem;border-left:3px solid rgb(127 127 127 / 40%);font-family:var(--serif);max-height:8rem;overflow:auto}.reader-notes{left:auto;right:0;border-right:0;border-left:1px solid rgb(127 127 127 / 25%);width:min(420px,94vw)}.reader-notes-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.reader-notes-head h2{margin:0;font-family:var(--serif);font-size:1.2rem}.reader-notes ul{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.9rem}.reader-note{display:grid;gap:.3rem;padding-bottom:.8rem;border-bottom:1px solid rgb(127 127 127 / 18%)}.reader-note-main{display:grid;gap:.3rem;text-align:left;color:inherit;text-decoration:none}.reader-note-meta{font-size:.8rem}.reader-note-text{font-style:italic}.reader-note .reader-segmented{justify-content:flex-end;font-size:.85rem}.reader-conflict{position:absolute;top:3.4rem;left:50%;z-index:8;transform:translate(-50%);width:min(520px,calc(100% - 1.5rem));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .9rem;background:var(--reader-bg);border:1px solid var(--accent);border-radius:10px;box-shadow:var(--shadow)}.toc ol{list-style:none;padding-left:.9rem;margin:0}.toc>ol{padding-left:0}.toc li{margin:.35rem 0}.toc .link{color:inherit;text-align:left}.steps{padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem;color:var(--muted)}.steps code,.steps em{color:var(--text)}.legal{min-height:100vh}.legal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:1280px;margin:0 auto;padding:1.4rem 1.5rem 1rem;border-bottom:2px solid var(--text)}.legal-head .brand{font-size:1.5rem}.legal-head nav{display:flex;gap:1rem}.legal-body{max-width:760px;margin:0 auto;padding:2rem 1.25rem 4rem;line-height:1.65}.legal-body h2{margin-top:2rem}.legal-body li{margin:.3rem 0}.pending{background:var(--warn-bg);color:var(--warn-ink);padding:0 .25rem;border-radius:3px}.filters{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:1rem}.tabs{display:inline-flex;flex-wrap:wrap;gap:.25rem 1.4rem}.tab{border:0;background:none;font:inherit;color:var(--text);padding:.4rem 0;font-size:.95rem;font-weight:500;cursor:pointer}.tab:hover{text-decoration:underline;text-underline-offset:4px}.tab.active{color:var(--accent);font-weight:700}.small-link{font-size:.85rem}.card-progress{position:absolute;left:0;right:0;bottom:-.65rem;height:3px;background:var(--track);overflow:hidden}.card-progress>span{display:block;height:100%;background:var(--accent)}.card-cover .badge.ok{position:absolute;right:.5rem;top:.5rem;left:auto;bottom:auto}button.card{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.card.selected .card-cover{outline:3px solid var(--accent);outline-offset:3px}.card-check{position:absolute;top:.5rem;left:.5rem;width:1.5rem;height:1.5rem;display:grid;place-items:center;background:var(--bg);border:2px solid var(--text);color:var(--accent-ink);font-size:.85rem;font-weight:700}.card-check.on{background:var(--accent);border-color:var(--accent)}.with-bulkbar{padding-bottom:9rem}.bulkbar{position:fixed;left:50%;transform:translate(-50%);bottom:1rem;z-index:20;width:min(1100px,calc(100vw - 2rem));background:var(--bg);border:2px solid var(--text);box-shadow:0 8px 30px #0003;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem}.bulk-main{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.bulk-actions{display:flex;gap:.4rem;flex-wrap:wrap}.bulk-panel{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.bulk-panel input{flex:1;min-width:200px}.new-shelf{display:flex;gap:.4rem}.new-shelf input{min-width:160px}.bulkbar p{margin:0;font-size:.9rem}.reading-controls{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin:-.25rem 0 1rem}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--text);overflow:hidden}.segmented button{border:0;background:transparent;font:inherit;font-size:.9rem;font-weight:500;min-height:2.5rem;padding:.5rem 1rem;cursor:pointer;color:var(--text)}.segmented button+button{border-left:1px solid var(--text)}.segmented button.on{background:var(--text);color:var(--bg);font-weight:700}.shelf-picker summary{cursor:pointer;padding:.55rem 0;font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.shelf-picker-body{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .8rem;border:1px solid var(--text);margin-top:.3rem}.shelf-picker-body .inline{color:var(--text)}.shelf-list{list-style:none;padding:0;display:flex;flex-direction:column}.shelf-list li{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid var(--border);flex-wrap:wrap}.shelf-name{font-weight:700;font-size:1.25rem;letter-spacing:-.02em;flex:1}.metadata-search{margin:1rem 0}.metadata-head{display:flex;justify-content:space-between;align-items:center}.metadata-head h2{margin:0}.candidates{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.candidate{display:flex;gap:.75rem;width:100%;text-align:left;padding:.6rem;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:0;cursor:pointer}.candidate:hover{border-color:var(--text)}.candidate img,.candidate-nocover{width:56px;height:84px;object-fit:cover;border-radius:0;background:var(--surface-2);flex-shrink:0}.candidate-body{display:flex;flex-direction:column;gap:.15rem;min-width:0;font-size:.9rem}.candidate-body .badge{align-self:flex-start;margin-top:auto}.apply-candidate{margin-top:.75rem}.compare{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.9rem}.compare th{text-align:left;color:var(--muted);font-weight:500;padding:.3rem .5rem;border-bottom:1px solid var(--border)}.compare td{padding:.45rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.compare tr.on td:last-child{background:var(--ok-bg)}.compare td:first-child{width:2rem}.compare td:nth-child(2){width:7rem;color:var(--muted)}.compare-cover{width:70px}.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.queue{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.queue-summary{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.queue-summary.has-errors{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.queue-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.queue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.queue-item{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto) 2.5rem;align-items:center;gap:.75rem;padding:.55rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:0}.queue-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.queue-line{display:flex;gap:.5rem;align-items:baseline;min-width:0}.queue-meta{font-size:.8rem;white-space:nowrap}.queue-status{font-size:.875rem;color:var(--muted);text-align:right;max-width:22rem}.queue-dot{width:.55rem;height:.55rem;transform:rotate(45deg);background:var(--border)}.phase-subiendo .queue-dot,.phase-guardando .queue-dot,.phase-importando .queue-dot{background:var(--accent-3);animation:pulse 1.2s infinite}.phase-creado .queue-dot{background:var(--accent)}.phase-duplicado .queue-dot,.phase-ya_existe .queue-dot{background:var(--accent-2)}.phase-error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.phase-error .queue-dot{background:var(--danger)}.phase-error .queue-status{color:var(--danger)}.phase-creado .queue-status{color:var(--ok-ink)}.bar{height:4px;background:var(--surface-2);overflow:hidden;position:relative}.bar.small{height:4px}.bar>span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.bar.indeterminate>span{position:absolute;width:35%;animation:slide 1.3s ease-in-out infinite;background:var(--accent-3)}@keyframes slide{0%{left:-35%}to{left:100%}}.nav-badge{display:inline-block;margin-left:.35rem;min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.72rem;line-height:1.3rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:720px){.queue-item{grid-template-columns:auto minmax(0,1fr) 2.5rem}.queue-status{grid-column:2 / 4;text-align:left;max-width:none}}@media(max-width:1000px){.topbar,.content{padding-left:1.5rem;padding-right:1.5rem}.app>.banner{width:calc(100% - 3rem)}.nav{grid-column:4 / -1}.topbar-tools{grid-column:1 / -1;justify-content:flex-start;margin-top:.75rem}.sw-label{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.5rem}.sw-label .sw-more{margin:0 0 0 auto}.sw-body,.sw-hero-main,.sw-tabs,.sw-filter-tools,.sw-index-head h1{grid-column:1 / -1}.sw-hero-main{grid-column:1 / span 8}.sw-hero-cover{grid-column:9 / -1}.sw-count{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:.5rem}.sw-filter-tools{justify-content:flex-start}.sw-books{grid-template-columns:repeat(4,minmax(0,1fr))}.sw-books>:nth-child(5){display:none}}@media(max-width:720px){.topbar,.content{padding-left:1.1rem;padding-right:1.1rem}.app>.banner{width:calc(100% - 2.2rem)}.topbar-inner{grid-template-columns:1fr auto;padding:1.1rem 0 .75rem;row-gap:.6rem}.brand{grid-column:1;font-size:1.5rem}.topbar-inner .nav{display:none}.topbar-tools{display:contents}.account{grid-column:2;grid-row:1;align-self:center}.search{grid-column:1 / -1;max-width:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--bg);border-top:2px solid var(--text)}.tabbar a{position:relative;display:flex;justify-content:center;padding:.95rem 0 1.1rem;color:var(--text);text-decoration:none;font-size:.85rem;font-weight:500}.tabbar a.active{color:var(--accent);font-weight:700}.tabbar .nav-badge{position:absolute;top:.35rem;left:calc(50% + 1.6rem);margin:0}.app{padding-bottom:3.6rem}.bulkbar{bottom:4.4rem}.content{padding-top:1.25rem;padding-bottom:1.5rem}.detail-main h1{font-size:2.4rem}.content:has(>.sw-home){padding-left:0;padding-right:0;padding-top:0}.sw-home .sw-section{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem 0 1.25rem}.sw-home .sw-label{padding:0 1.1rem;font-size:.8rem;gap:.45rem}.sw-home .sw-label .sw-more{font-size:.8rem}.sw-hero.sw-section{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:.4rem 1rem;padding:1.4rem 1.1rem 1.5rem}.sw-hero .sw-label{grid-column:1 / -1;padding:0}.sw-hero-main{grid-column:1}.sw-hero-cover{grid-column:2;grid-row:2}.sw-hero-title,.sw-hero-title.long{font-size:clamp(2rem,11vw,2.8rem);line-height:.9}.sw-hero-author{margin-top:.5rem;font-size:.9rem}.sw-stats{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;padding-top:.6rem;font-size:.72rem}.sw-stats>:nth-child(3){display:none}.sw-stats strong{font-size:1rem}.sw-hero-actions{margin-top:1rem;gap:.75rem}.sw-hero-actions .button.primary{padding:.8rem 1rem;white-space:nowrap}.sw-hero-actions .sw-underline{font-size:.9rem}.sw-home .sw-books{display:flex;gap:.9rem;overflow-x:auto;padding:0 1.1rem;scroll-padding-inline:1.1rem;scroll-snap-type:x proximity;scrollbar-width:none}.sw-home .sw-books::-webkit-scrollbar{display:none}.sw-home .sw-books>*{display:flex;flex:0 0 6.6rem;scroll-snap-align:start}.sw-home .sw-a{display:none}.sw-t{font-size:.82rem}.sw-home .sw-shelves{padding:0 1.1rem}.sw-shelf{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.sw-shelf .sw-t{font-size:1.2rem}.sw-shelf .sw-minis{display:none}.sw-index-head{padding-bottom:1.25rem}.sw-count strong{font-size:2.2rem}.sw-filterbar .sw-label,.sw-thead{display:none}.sw-row{grid-template-columns:3rem minmax(0,1fr) auto;column-gap:.9rem}.sw-row-n,.sw-row-author,.sw-row-year{display:none}.sw-row-n:has(.card-check){display:block;grid-row:1}.sw-row-title>strong{font-size:1.05rem}.sw-row-state{font-size:.75rem;min-width:4.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:1.5rem .9rem}.detail{grid-template-columns:1fr;gap:1.5rem}.detail-cover{position:static;max-width:200px;margin:0 auto}.page-turn{width:12vw}}@media(pointer:coarse){.page-turn{width:4vw}.page-turn:hover{background:transparent}}.native .reader-bar,.native .legal-head{padding-top:calc(.6rem + env(safe-area-inset-top))}.native .content{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.native .bulkbar{bottom:calc(.5rem + env(safe-area-inset-bottom))}.native .topbar-inner{padding-top:calc(1.1rem + env(safe-area-inset-top))}@media(max-width:720px){.native .tabbar{padding-bottom:env(safe-area-inset-bottom)}.native .app{padding-bottom:calc(3.6rem + env(safe-area-inset-bottom))}.native .bulkbar{bottom:calc(4.4rem + env(safe-area-inset-bottom))}}.native .reader-stage{padding-bottom:env(safe-area-inset-bottom)}.native .reader-footer{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}.native .login{padding-top:calc(1.5rem + env(safe-area-inset-top))}.native body{-webkit-tap-highlight-color:transparent}.offline-books{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem}.offline-books a{display:grid;gap:.15rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;background:var(--surface)}.offline-books a:hover{border-color:var(--accent)}.settings-version{text-align:center;font-size:.85rem;margin:1.5rem 0 .5rem}.changelog section h2{font-size:1.15rem}.changelog-build{margin-top:2.5rem;font-size:.85rem}.update-toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:50;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;width:max-content;max-width:calc(100vw - 2rem);padding:.6rem .75rem .6rem 1rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.send-menu{position:relative;display:inline-flex}.send-menu-list{position:absolute;top:calc(100% + .4rem);left:0;z-index:20;min-width:min(300px,86vw);display:grid;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.send-menu-list>button,.send-menu-list>a{display:grid;gap:.1rem;text-align:left;padding:.6rem .75rem;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;text-decoration:none;cursor:pointer}.send-menu-list>button:hover,.send-menu-list>a:hover,.send-menu-list>button:focus-visible{background:var(--surface-2)}.send-menu-list>button:disabled{cursor:progress;opacity:.7}.send-menu-list .muted{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.send-menu-list .error-text{margin:.25rem .75rem}.guide-steps{padding-left:1.4rem;display:grid;gap:1.75rem}.guide-steps>li{min-width:0}.guide-steps>li>h2{margin:0 0 .4rem;font-size:1.2rem}.guide-stores{display:flex;flex-wrap:wrap;gap:.5rem}.guide-copy{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.guide-copy code{font-size:1rem;padding:.3rem .5rem;background:var(--surface-2);border-radius:6px;word-break:break-all}.guide-snippet{display:flex;align-items:flex-start;gap:.6rem;margin:.6rem 0}.guide-snippet pre{flex:1;min-width:0;margin:0;padding:.6rem .75rem;background:var(--surface-2);border-radius:6px;overflow-x:auto}.guide-snippet code{font-size:.85rem;white-space:pre}.guide-mock{margin:.75rem 0;padding:.75rem 1rem;border:1px solid #d5d9d9;border-radius:8px;background:#fff;color:#0f1111;font:.9rem/1.4 Arial,Helvetica,sans-serif;overflow-x:auto}.guide-mock-title{margin:0 0 .5rem;font-weight:700;font-size:1rem}.guide-mock table{width:100%;border-collapse:collapse}.guide-mock td{padding:.45rem .6rem;border-top:1px solid #e7e7e7;white-space:nowrap}.guide-mock-link{color:#007185}.guide-mock .guide-highlight{background:#fff3c4;outline:2px solid #f0b400;outline-offset:-2px;font-weight:700}.account{position:relative;flex:none;align-self:center}.account-button{width:2.75rem;height:2.75rem;border:2px solid var(--text);background:transparent;color:var(--text);font:inherit;font-size:1rem;font-weight:800;cursor:pointer}.account-button:hover,.account-button.on{background:var(--text);color:var(--bg)}.account-menu{position:absolute;right:0;top:calc(100% + .6rem);z-index:40;width:18rem;background:var(--surface);border:2px solid var(--text);box-shadow:8px 8px #1111111f}.account-who{display:flex;flex-direction:column;gap:.1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border);font-size:.85rem}.account-who strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-item{display:flex;align-items:center;width:100%;min-height:3rem;padding:0 1.1rem;border:0;background:none;color:var(--text);font:inherit;font-size:.95rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.account-item:hover{background:var(--surface-2)}.account-menu>.account-item:last-child{border-top:1px solid var(--border)}.account-theme{padding:.6rem 1.1rem 1rem}.account-theme p{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.account-theme [role=radiogroup]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--text)}.account-theme button{min-height:2.75rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.account-theme button+button{border-left:1px solid var(--text)}.account-theme button[aria-checked=true]{background:var(--text);color:var(--bg)}@media(max-width:720px){.account-menu{width:min(18rem,calc(100vw - 2.2rem))}}.search-toggle{display:none}@media(max-width:720px){.topbar-inner{grid-template-columns:1fr auto auto;column-gap:.5rem;align-items:center}.search-toggle{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:0;background:none;color:var(--text);cursor:pointer}.account{grid-column:3}.topbar-inner .search{display:none;grid-column:1 / -1;grid-row:2}.topbar-inner .search.open{display:block}.topbar-inner .search input{font-size:1rem;padding:.55rem 0}.tabbar{padding-bottom:env(safe-area-inset-bottom)}.app{padding-bottom:calc(3.6rem + env(safe-area-inset-bottom))}.bulkbar{bottom:calc(4.4rem + env(safe-area-inset-bottom))}}
