:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0c0f;--bg-elev:#17171c;--bg-elev-2:#222229;--ink:#f6f1e7;--muted:#b7b1a6;--faint:#8a847b;--line:#f6f1e71a;--accent:#ff4d2e;--accent-ink:#1a0906;--amber:#f0a202;--danger:#ff5d5d;--shadow:0 18px 50px #00000061;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}*{box-sizing:border-box}html,body{background:radial-gradient(900px 420px at 50% -12%, #ff4d2e2e, transparent 60%), var(--bg);min-height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.4}body{min-height:100dvh}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}:focus{outline:none}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}img{max-width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.library{width:min(560px,100%);min-height:100dvh;padding:calc(18px + var(--safe-top)) 18px calc(28px + var(--safe-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:34px;font-weight:560;line-height:1}.mark{width:18px;height:28px;display:block}.import-btn{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:999px;flex:none;place-items:center;display:grid}.import-btn svg{width:22px;height:22px}.import-btn:active{transform:scale(.96)}.storage{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;line-height:1.35;display:flex}.storage p{min-width:0;margin:0}.storage span{margin:0 4px}.storage button{color:var(--ink);background:var(--bg-elev);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;min-height:36px;padding:0 12px;font-size:13px;font-weight:650}.import-progress,.hint,.banner,.toast{background:var(--bg-elev-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.import-progress{padding:12px 14px}.import-progress p{margin:0}.import-progress .file{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.track,.bar,.reader-progress{background:#f6f1e729;border-radius:99px;height:3px;overflow:hidden}.import-progress .track{margin-top:10px}.track span,.bar span,.reader-progress span{background:var(--accent);height:100%;display:block}.loading{color:var(--muted);margin:24px 0}.empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:12px 8px 24px;display:flex}.empty svg{width:112px;height:140px}.empty h2,.hint h2,.end-card h2,.missing p,dialog h2{font-family:var(--serif);letter-spacing:-.03em;font-weight:560}.empty h2{margin:8px 0 0;font-size:34px;line-height:1.05}.empty p,.hint p,.end-card p,dialog p{color:var(--muted);max-width:34ch;margin:0}.how{color:var(--ink);margin:4px 0 8px}.btn{border-radius:999px;min-height:44px;padding:0 16px;font-weight:680}.btn.solid{background:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.danger{background:var(--danger);color:#1a0906}.btn.wide{width:min(100%,320px);height:54px;margin-top:6px;font-size:16px}.btn:disabled{opacity:.45}.toolbar{background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;align-self:flex-start;margin-top:-4px;padding:4px;display:flex}.toolbar button{width:42px;height:36px;color:var(--faint);border-radius:999px;place-items:center;display:grid}.toolbar button.on{background:var(--bg-elev-2);color:var(--ink)}.toolbar svg{width:18px;height:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.cards.list{grid-template-columns:1fr;gap:10px}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:18px;min-width:0;position:relative;overflow:hidden}.open{text-align:left;width:100%;color:inherit;padding:0;display:block}.cards.list .open{align-items:stretch;display:flex}.cover{aspect-ratio:3/4;background:#111114;position:relative}.cards.list .cover{aspect-ratio:auto;flex:none;width:84px}.cover img{object-fit:cover;width:100%;height:100%}.badge{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;background:#0c0c0fc7;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:750;position:absolute;top:8px;left:8px}.bar{background:#00000073;border-radius:0;position:absolute;bottom:0;left:0;right:0}.body{min-width:0;padding:10px 12px 12px}.cards.list .body{flex-direction:column;justify-content:center;display:flex}.body h2{letter-spacing:-.02em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;font-weight:680;line-height:1.25;display:-webkit-box;overflow:hidden}.meta{color:var(--muted);margin:4px 0 0;font-size:12px}.continue-label{color:var(--accent);margin:6px 0 0;font-size:13px;font-weight:750}.delete{color:#fff;background:#0c0c0fb8;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:8px;right:8px}.delete svg{width:18px;height:18px}.drop{z-index:30;border:2px dashed var(--accent);font-family:var(--serif);pointer-events:none;background:#0c0c0fe0;border-radius:28px;place-items:center;font-size:32px;display:grid;position:fixed;inset:12px}.file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.hint{left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));z-index:25;flex-direction:column;gap:12px;width:min(560px,100% - 24px);margin:0 auto;padding:16px;display:flex;position:fixed}.hint h2{margin:0;font-size:26px}.hint-actions{justify-content:flex-end;gap:8px;display:flex}.reader{background:#0c0c0f;position:fixed;inset:0}.scroller{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:auto;height:100%;overflow:hidden auto}.sheet{width:min(720px,100%);margin:0 auto}.safe-top{height:var(--safe-top)}.safe-bottom{height:max(var(--safe-bottom), 12px)}.segment{width:100%}.frame{width:100%;position:relative}.frame img{object-fit:contain;width:100%;max-width:none;height:100%;position:absolute;inset:0}.end-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:52vh;padding:48px 24px 64px;display:flex}.end-card h2{margin:0;font-size:36px}.pill{color:#f6f1e7;background:#16161b;border-radius:999px;min-height:48px;margin-top:12px;padding:0 18px;font-weight:700}.reader.light .end-card h2,.reader.light .end-card p{color:#16161b}.reader.light .end-card p{opacity:.72}.overlay{z-index:5;pointer-events:none;opacity:0;visibility:hidden;color:#f6f1e7;transition:opacity .18s,visibility .18s;position:fixed;inset:0}.overlay.visible{opacity:1;visibility:visible}.overlay-top,.overlay-bottom{align-items:center;display:flex;position:absolute;left:0;right:0}.overlay-top{padding:calc(8px + var(--safe-top)) 12px 28px;background:linear-gradient(#000000b8,#0000);gap:8px;top:0}.overlay-bottom{padding:36px 16px calc(12px + var(--safe-bottom));background:linear-gradient(#0000,#000000b8);flex-direction:column;align-items:stretch;gap:8px;bottom:0}.overlay.visible .back,.overlay.visible .pill{pointer-events:auto}.back{color:#fff;pointer-events:auto;background:#00000047;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.overlay:not(.visible) .back{pointer-events:none}.back svg{width:22px;height:22px}.reader-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:16px;font-weight:680;overflow:hidden}.percent{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:700}.reader-progress{background:#ffffff47;height:2px}.reader-progress span{background:#fff}.missing{text-align:center;align-content:center;place-items:center;gap:16px;min-height:100dvh;padding:24px;display:grid}.missing p{margin:0;font-size:28px}.banners{top:calc(78px + var(--safe-top));z-index:40;pointer-events:none;flex-direction:column;gap:8px;width:min(480px,100% - 24px);margin:0 auto;display:flex;position:fixed;left:12px;right:12px}.banner,.toast{pointer-events:auto;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.banner p,.toast p{min-width:0;margin:0}.banner button{background:var(--accent);min-height:36px;color:var(--accent-ink);border-radius:999px;padding:0 12px;font-weight:750}.toast button{width:1.7em;min-width:36px;height:1.7em;min-height:36px;color:var(--ink);border-radius:999px;flex:none;font-size:22px;line-height:1;overflow:hidden}.toast.error{border-color:#ff5d5d8c}dialog{background:var(--bg-elev-2);color:var(--ink);width:min(420px,100% - 32px);box-shadow:var(--shadow);border:0;border-radius:22px;padding:20px}dialog::backdrop{background:#0000009e}dialog h2{margin:0 0 8px;font-size:28px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=360px){.cards{grid-template-columns:1fr}.empty h2{font-size:30px}}
