@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-ext-wght-italic.Cigfgs4r.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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-wght-italic.DC5MiAaX.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: #050708;--surface: #0b1012;--surface-subtle: #0f1618;--surface-raised: #131d20;--text: #f1ecd8;--muted: #849497;--line: #172326;--line-strong: #294044;--accent: #19c9c4;--accent-hover: #62e0d5;--accent-ink: #021111;--highlight: #d8cf79;--danger: #f18e7d;--radius: .25rem;--radius-small: .18rem;--font-sans: "Atkinson Hyperlegible Next Variable", ui-sans-serif, system-ui, sans-serif;--font-display: "Atkinson Hyperlegible Next Variable", ui-sans-serif, system-ui, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", ui-monospace, monospace;font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;scrollbar-gutter:stable;background:var(--bg)}body{min-height:100vh;margin:0;background:var(--bg)}button,input,select{font:inherit}button{border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{color:var(--accent-ink);background:var(--accent)}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:center;min-height:4rem;padding:0 clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--line);background:#050708f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header nav{display:flex;align-self:stretch;gap:1.75rem}.site-header nav a{position:relative;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:0 .15rem;color:var(--muted);font-size:.68rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.site-header nav a:hover,.site-header nav a.active{color:var(--text)}.site-header nav a.active:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent)}.site-header nav svg{color:var(--accent)}.storage-alert{display:flex;justify-content:center;gap:1rem;padding:.65rem 1rem;color:#260a07;background:var(--danger);font-size:.8rem}.storage-alert button{color:inherit;font-weight:700;text-decoration:underline}.page-shell{width:min(78rem,100%);min-height:calc(100vh - 4rem);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,2.5rem) 6rem}.home-page{width:min(78rem,100%)}.home-title{margin:0 auto 1.6rem;color:var(--text);font-family:var(--font-display);font-size:clamp(1.7rem,5vw,2.65rem);font-style:italic;font-weight:400;letter-spacing:-.035em;text-align:center}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.55rem;padding:.62rem .95rem;border:1px solid transparent;border-radius:var(--radius-small);font-size:.7rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;transition:background .14s ease,border-color .14s ease,color .14s ease}.icon-spin{animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}.button.primary{color:var(--accent-ink);background:var(--accent)}.button.primary:hover{background:var(--accent-hover)}.button.ghost{border-color:var(--line-strong);color:var(--text);background:transparent}.button.ghost:hover{border-color:var(--muted);background:var(--surface-raised)}.button.danger{border-color:#f18e7d47;color:var(--danger)}.button.danger:hover{border-color:var(--danger);background:#f18e7d12}.button:disabled{opacity:.5;cursor:wait}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.open-panel{width:min(46rem,100%);margin-inline:auto;padding:.45rem;border-color:var(--line-strong);background:#080c0d;box-shadow:0 1.5rem 5rem #00000047}.mode-switch{display:flex;gap:0;margin-bottom:.45rem;border-bottom:1px solid var(--line)}.mode-switch button{position:relative;min-width:5rem;min-height:2.55rem;padding-inline:1rem;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mode-switch button:hover{color:var(--text)}.mode-switch button.active{color:var(--text);background:transparent}.mode-switch button.active:after{content:"";position:absolute;inset:auto 1rem -1px;height:2px;background:var(--accent)}.url-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}.url-form input{min-width:0;height:3.35rem;padding:0 1rem;border:0;border-radius:var(--radius-small);color:var(--text);background:var(--surface-subtle);font-size:.85rem}.url-form input::placeholder{color:#607074}.supported-sources{display:flex;flex-wrap:wrap;gap:.35rem .9rem;padding:.8rem .55rem .35rem;color:#66777a;font:.62rem/1.4 var(--font-mono)}.supported-sources a{color:var(--muted)}.supported-sources a:hover{color:var(--accent)}.supported-sources small{margin-left:.2rem;color:#5e6d70;font-size:inherit}.icon-submit{width:3.35rem;padding:0}.home-section,.section-block{margin-top:clamp(3.5rem,8vw,6rem)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.section-heading h2{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.section-heading>span,.section-heading>a{color:var(--muted);font-size:.68rem}.section-heading>a:hover{color:var(--accent)}.continue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,2vw,1.35rem)}.continue-card{display:grid;grid-template-columns:4.2rem minmax(0,1fr);align-items:end;gap:.8rem;min-width:0;padding:0;border:0;background:transparent;transition:color .14s ease}.continue-card:hover{color:var(--accent);background:transparent}.continue-card>svg{display:none}.continue-copy{min-width:0;padding-bottom:.25rem}.continue-card h3{display:-webkit-box;overflow:hidden;margin:0 0 .35rem;font-family:var(--font-display);font-size:.92rem;font-weight:400;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.continue-card span{display:block;overflow:hidden;color:var(--muted);font:.6rem/1.35 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.mini-cover{display:grid;place-items:center;width:4.2rem;height:6rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-small);color:var(--accent);background:var(--surface)}.mini-cover img,.cover-frame img,.row-cover img{width:100%;height:100%;object-fit:cover}.library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.8rem,2vw,1.4rem)}.library-card{min-width:0}.cover-frame{display:grid;place-items:center;aspect-ratio:2 / 3;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);color:var(--accent);background:var(--surface);box-shadow:0 1rem 2rem #0000003d;transition:transform .16s ease,border-color .16s ease}.library-card:hover .cover-frame{border-color:var(--accent);transform:translateY(-4px)}.library-card h3{display:-webkit-box;overflow:hidden;margin:.7rem 0 0;font-family:var(--font-display);font-size:.85rem;font-weight:400;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page-title{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.page-title h1{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,7vw,4rem);font-style:italic;font-weight:400;line-height:.95;letter-spacing:-.05em}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;min-height:14rem;padding:2rem;color:var(--muted);text-align:center}.empty-state strong{color:var(--text);font-family:var(--font-display);font-size:1.1rem;font-weight:400}.notice{margin-bottom:1rem;padding:.85rem 1rem;border-color:#d8cf7940;border-left:2px solid var(--highlight);color:var(--muted);font-size:.78rem}.notice p{margin:0}.local-note{margin:0 0 .75rem;color:var(--muted);font-size:.76rem}.series-page{max-width:76rem}.back-link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.25rem;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.back-link:hover{color:var(--accent)}.series-hero{display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);padding:0;border:0;background:transparent}.series-cover{width:100%;aspect-ratio:2 / 3;border:1px solid var(--line-strong);border-radius:var(--radius);object-fit:cover;background:var(--surface);box-shadow:1.5rem 2rem 4rem #00000061}.cover-placeholder{display:grid;place-items:center;color:var(--accent)}.series-copy{align-self:center;min-width:0;padding-block:1rem}.series-meta{margin:0;color:var(--accent);font:.64rem/1.4 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.series-copy h1{max-width:50rem;margin:.8rem 0 1.3rem;font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5.7rem);font-weight:400;line-height:.94;letter-spacing:-.055em}.description{display:-webkit-box;margin-bottom:0;max-width:42rem;overflow:hidden;color:var(--muted);font-size:.84rem;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:4}.description.expanded{display:block;overflow:visible}.description-toggle{margin-top:.5rem;padding:0;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.description-toggle:hover{color:var(--accent-hover)}.series-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.chapter-grid,.local-chapters{display:grid;gap:0}.chapter-heading{align-items:center;margin-bottom:0}.chapter-sort{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.72rem}.chapter-sort select{min-height:2.15rem;padding:.35rem 1.9rem .35rem .65rem;border:1px solid var(--line-strong);border-radius:var(--radius-small);color:var(--text);background:var(--surface);font-size:.75rem}.chapter-card{content-visibility:auto;contain-intrinsic-block-size:3.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.4rem;padding:.8rem .35rem;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);background:transparent;font-size:.79rem;text-align:left}.chapter-card:hover{border-color:var(--line-strong);color:var(--accent);background:var(--surface)}.chapter-card.read{color:var(--muted)}.chapter-card b{display:inline-flex;vertical-align:middle;margin-right:.55rem;color:var(--accent)}.chapter-card span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-card small{flex:none;color:var(--muted);font:.62rem/1 var(--font-mono)}.library-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,3vw,2rem)}.library-row{position:relative;display:grid;grid-template-rows:1fr auto;gap:.65rem;min-width:0;padding:0;border:0;background:transparent}.row-main{display:grid;align-items:start;gap:.65rem;min-width:0}.row-main>div:last-child{min-width:0}.row-cover{display:grid;place-items:center;width:100%;height:auto;aspect-ratio:2 / 3;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);color:var(--accent);background:var(--surface);box-shadow:0 1rem 2rem #00000040;transition:transform .16s ease,border-color .16s ease}.row-main:hover .row-cover{border-color:var(--accent);transform:translateY(-4px)}.row-main h2{display:-webkit-box;overflow:hidden;margin:0 0 .3rem;font-family:var(--font-display);font-size:.94rem;font-weight:400;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.row-main span{display:block;overflow:hidden;color:var(--muted);font:.59rem/1.4 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;justify-content:flex-start;gap:.4rem;padding-top:0;border-top:0}.row-actions .button{min-height:2rem;padding:.4rem .65rem;font-size:.6rem}.local-clear{margin-top:1rem}@media(max-width:980px){.library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.library-list{grid-template-columns:repeat(4,minmax(0,1fr))}.continue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.site-header{padding-inline:1rem}.page-shell{min-height:calc(100vh - 4rem);padding-top:2.5rem}.library-grid,.library-list{grid-template-columns:repeat(3,minmax(0,1fr))}.series-hero{grid-template-columns:9rem minmax(0,1fr);gap:1.5rem}.series-copy h1{font-size:clamp(1.8rem,7vw,3rem)}.description{-webkit-line-clamp:3}.description.expanded{display:block}}@media(max-width:480px){.continue-grid{grid-template-columns:1fr}.library-grid,.library-list{grid-template-columns:repeat(2,minmax(0,1fr))}.series-hero{grid-template-columns:1fr}.series-cover{width:9rem;box-shadow:1rem 1.25rem 2.5rem #00000059}.series-actions .button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
