:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#020202;--panel:#0a0a0ae0;--line:#ffffff21;--text:#f3efe7;--muted:#f3efe79e;--shadow:#ffffff14}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 50% 0,#1c1c1c 0%,#050505 46%,#000 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.self-shell{grid-template-rows:auto minmax(520px,1fr) auto;gap:18px;min-height:100vh;padding:24px;display:grid;position:relative}.ambient{pointer-events:none;filter:blur(36px);opacity:.28;border-radius:50%;position:fixed;inset:auto}.ambient-one{background:#ffffff2e;width:420px;height:180px;top:-80px;left:50%;transform:translate(-50%)}.ambient-two{background:#b4a0781f;width:320px;height:220px;bottom:12%;right:-120px}.self-header{z-index:2;grid-template-columns:48px 1fr 48px;align-items:center;gap:14px;width:100%;max-width:1180px;margin:0 auto;display:grid;position:relative}.brand-lockup{text-align:center}.brand-mark{letter-spacing:.42em;color:var(--muted);margin-bottom:8px;font-size:11px}h1{letter-spacing:.18em;margin:0;font-size:clamp(30px,5vw,56px);font-weight:500}p{margin:0}.brand-lockup p{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:8px;font-size:12px}.icon-button,.reader-controls button,.toc-list button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#0000008c;transition:border-color .2s,background .2s,transform .2s}.icon-button{border-radius:999px;place-items:center;width:48px;height:48px;display:grid}.icon-button:hover,.reader-controls button:hover,.toc-list button:hover{background:#ffffff14;border-color:#ffffff5c}.reader-frame{z-index:1;border:1px solid var(--line);width:100%;max-width:1180px;height:min(70vh,760px);min-height:520px;box-shadow:0 28px 100px #0000009e, 0 0 80px var(--shadow);background:linear-gradient(#121212f0,#020202f5);border-radius:28px;margin:0 auto;position:relative;overflow:hidden}.epub-viewer{width:100%;height:100%;padding:28px 18px}.reader-placeholder{text-align:center;color:var(--muted);place-content:center;gap:14px;padding:32px;display:grid;position:absolute;inset:0}.reader-placeholder h2{color:var(--text);letter-spacing:.08em;margin:0;font-weight:500}.error-card{max-width:720px;margin:auto}.small-note{color:var(--muted);font-size:14px;line-height:1.6}.reader-controls{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:100%;max-width:680px;margin:0 auto;display:grid;position:relative}.reader-controls button{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:48px;font-size:12px;display:flex}.status-dot{background:#ffffffb8;border-radius:50%;width:10px;height:10px;box-shadow:0 0 18px #ffffff6b}.toc-drawer{z-index:6;border-right:1px solid var(--line);background:#030303f5;width:min(420px,88vw);padding:22px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:24px 0 80px #0009}.toc-drawer.open{transform:translate(0)}.toc-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.toc-head strong{letter-spacing:.08em;font-size:20px;display:block}.toc-head span{color:var(--muted);letter-spacing:.24em;margin-top:6px;font-size:12px;display:block}.toc-list{gap:10px;max-height:calc(100vh - 130px);padding-right:8px;display:grid;overflow:auto}.toc-list button{text-align:left;border-radius:14px;padding:14px 16px;line-height:1.4}.drawer-backdrop{z-index:5;background:#00000094;border:0;position:fixed;inset:0}@media (width<=720px){.self-shell{grid-template-rows:auto minmax(480px,1fr) auto;padding:14px}.self-header{grid-template-columns:42px 1fr 42px}.icon-button{width:42px;height:42px}.brand-mark{letter-spacing:.26em}h1{letter-spacing:.12em;font-size:32px}.reader-frame{border-radius:20px;height:68vh;min-height:480px}.epub-viewer{padding:16px 4px}.self-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:100svh;padding:10px}.brand-mark{margin-bottom:4px}.brand-lockup p{margin-top:4px;font-size:10px}h1{font-size:28px}.reader-frame{align-self:stretch;height:auto;min-height:0;max-height:none}.reader-controls{gap:8px}.reader-controls button{height:42px}.toc-drawer{width:84vw;max-width:84vw;height:calc(100svh - 118px);max-height:calc(100svh - 118px);padding:18px;bottom:auto;overflow:hidden}.toc-list{max-height:calc(100svh - 250px);padding-bottom:140px;padding-right:6px;overflow-y:auto}.toc-list button{min-height:58px}}
