:root{--ink:#f6f1e9;--ink-soft:#b3a99c;--ink-faint:#776d61;--bg:#0e0c0b;--panel:#fff6e90b;--panel-2:#fff6e917;--line:#fff0dc1c;--line-soft:#fff0dc0f;--gold:#d8b26a;--gold-lit:#efd39a;--gold-ink:#1a1408;--bad:#e07a5f;--radius:16px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--serif:"Frank Ruhl Libre", Georgia, "Times New Roman", serif;--sans:Assistant, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(70% 55% at 50% -10%,#d8b26a29,#0000 70%),radial-gradient(60% 45% at 15% 105%,#be604a1c,#0000 70%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:2;position:relative}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}.screen{min-height:100%;padding:calc(var(--safe-t) + 18px) 22px calc(var(--safe-b) + 20px)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.lead{margin:0;font-size:44px}.muted{color:var(--ink-soft);max-width:30ch;margin:0}.rise{animation:.62s cubic-bezier(.16,.84,.3,1) both rise;animation-delay:var(--d,0s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.spinner{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.rise{animation:none}.spinner{animation-duration:2.4s}.eq i,.dots i{animation:none}*{scroll-behavior:auto!important}}.kicker{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.85;margin:0 0 10px;font-size:11px;font-weight:600}.cover-title{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(2.05rem,8.5vw,2.9rem);font-weight:500;line-height:1.14}.ornament{justify-content:center;align-items:center;gap:10px;margin:22px 0;display:flex}.orn-rule{background:linear-gradient(90deg,#0000,#d8b26a8c);width:34px;height:1px;display:block}.orn-rule:last-child{background:linear-gradient(270deg,#0000,#d8b26a8c)}.orn-mark{background:var(--gold);opacity:.9;width:5px;height:5px;display:block;transform:rotate(45deg)}.lang-switch{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lang-opt{color:var(--ink-faint);border-radius:999px;min-height:34px;padding:6px 14px;font-size:13.5px;transition:color .16s,background-color .16s}.lang-opt.on{background:var(--panel-2);color:var(--ink)}.gate{flex-direction:column;max-width:480px;margin-inline:auto;display:flex}.gate-top{justify-content:flex-end;display:flex}.gate-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding-block-end:10vh;display:flex}.gate-hi{font-family:var(--serif);color:var(--ink-soft);margin:0 0 26px;font-size:20px;font-weight:400}.gate-form{flex-direction:column;gap:12px;width:100%;display:flex}.gate-ask{color:var(--ink-faint);font-size:14px}.gate-input{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);text-align:center;letter-spacing:.06em;padding:16px;font-size:17px;transition:border-color .18s,box-shadow .18s}.gate-input::placeholder{color:var(--ink-faint);letter-spacing:.04em}.gate-input:focus{border-color:#d8b26a8c;outline:none;box-shadow:0 0 0 4px #d8b26a1a}.gate-go{background:linear-gradient(180deg, var(--gold-lit), var(--gold));color:var(--gold-ink);border-radius:var(--radius);min-height:54px;padding:16px;font-size:16.5px;font-weight:700;transition:transform .14s,opacity .16s,box-shadow .16s;box-shadow:0 8px 26px -12px #d8b26ad9}.gate-go:active:not(:disabled){transform:scale(.985)}.gate-go:disabled{opacity:.35;box-shadow:none;cursor:default}.gate-error{color:var(--bad);min-height:2.6em;margin:0;font-size:14px}.listen{grid-template-rows:1fr auto;max-width:640px;height:100%;min-height:0;margin-inline:auto;display:grid}.listen-main,.reader{grid-template-rows:auto 1fr;min-height:0;display:grid}.listen-top{padding:calc(var(--safe-t) + 12px) 22px 4px;justify-content:space-between;align-items:center;gap:12px;display:flex}.listen-mark{opacity:.55;margin:0}.listen-mark .orn-rule{width:16px}.listen-scroll{-webkit-overflow-scrolling:touch;padding:8px 22px 28px;overflow-y:auto}.hero{padding:22px 0 26px}.hero-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;font-size:13.5px;display:flex}.dot{opacity:.5}.listen-heading{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);align-items:center;gap:12px;margin:26px 0 6px;font-size:11px;font-weight:600;display:flex}.listen-heading:after{content:"";background:var(--line-soft);flex:1;height:1px}.empty{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:10vh 0;display:flex}.ghost{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;min-height:44px;padding:11px 20px;transition:border-color .16s,color .16s}.linky{color:var(--ink-faint);letter-spacing:.04em;padding:12px 0;font-size:13px}.listen-foot{justify-content:center;padding-block-start:26px;display:flex}.resume{background:linear-gradient(180deg, var(--gold-lit), var(--gold));width:100%;color:var(--gold-ink);border-radius:var(--radius);text-align:start;align-items:center;gap:14px;min-height:68px;padding:14px 18px;transition:transform .14s;display:flex;box-shadow:0 10px 30px -14px #d8b26ae6}.resume:active{transform:scale(.99)}.resume-glyph{background:#1a140829;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:14px;display:grid;transform:scaleX(1)}[dir=rtl] .resume-glyph{transform:scaleX(-1)}.resume-words{flex-direction:column;gap:1px;min-width:0;display:flex}.resume-do{font-size:15.5px;font-weight:700}.resume-what{opacity:.7;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.chapters{margin:0;padding:0;list-style:none}.chapter+.chapter{border-block-start:1px solid var(--line-soft)}.chapter{align-items:center;gap:6px;display:flex}.chapter-hit{text-align:start;flex:1;align-items:center;gap:16px;min-width:0;min-height:68px;padding:15px 2px;display:flex}.chapter-no{width:30px;font-family:var(--serif);color:var(--ink-faint);font-variant-numeric:oldstyle-nums tabular-nums;flex:none;font-size:15px;font-weight:400;transition:color .2s}.chapter.current .chapter-no{color:var(--gold)}.chapter-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.chapter-name{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:400;transition:color .2s;overflow:hidden}.chapter.current .chapter-name{color:var(--gold-lit)}.chapter-meta{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.chapter-bar{background:var(--line);border-radius:2px;height:2px;margin-block-start:2px;display:block;overflow:hidden}.chapter-bar-fill{background:var(--gold);height:100%;transition:width .4s;display:block}.chapter-play{border:1px solid var(--line);width:46px;height:46px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font-size:12px;transition:background-color .16s,border-color .16s;display:grid}.chapter.current .chapter-play{background:#d8b26a1a;border-color:#d8b26a73}[dir=rtl] .tri{display:inline-block;transform:scaleX(-1)}.done{color:var(--gold);opacity:.7}.eq{align-items:flex-end;gap:2px;height:14px;display:flex}.eq i{background:var(--gold);border-radius:2px;width:2.5px;height:40%;animation:1.05s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:.18s}.eq i:nth-child(3){animation-delay:.36s}@keyframes eq{0%,to{height:25%}50%{height:100%}}.deck{-webkit-backdrop-filter:blur(22px)saturate(1.3);border-block-start:1px solid var(--line);padding:10px 22px calc(var(--safe-b) + 10px);background:linear-gradient(#14110fb8,#0e0c0beb);gap:4px;animation:.42s cubic-bezier(.16,.84,.3,1) both deck-in;display:grid;position:relative}@keyframes deck-in{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.deck{animation:none}}.deck-now{justify-content:center;align-items:center;gap:8px;min-height:22px;display:flex}.deck-title{font-family:var(--serif);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.deck-bad{color:var(--bad)}.scrub{appearance:none;background:0 0;width:100%;height:30px;margin:0}.scrub::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--gold) var(--played,0%), var(--line) var(--played,0%));border-radius:2px;height:3px}.scrub::-moz-range-track{background:linear-gradient(to right, var(--gold) var(--played,0%), var(--line) var(--played,0%));border-radius:2px;height:3px}.scrub::-webkit-slider-thumb{appearance:none;background:var(--gold-lit);border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 4px #d8b26a2e}.scrub::-moz-range-thumb{background:var(--gold-lit);border:0;border-radius:50%;width:13px;height:13px}.deck-clock{color:var(--ink-faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-block-start:-8px;font-size:11.5px;display:flex}.deck-keys{justify-content:center;align-items:center;gap:4px;padding-block:2px;display:flex}.key{width:52px;height:52px;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:18px;transition:color .16s,background-color .16s,transform .12s;display:grid}.key:active:not(:disabled){transform:scale(.92)}.key:disabled{opacity:.22;cursor:default}.nudge{place-items:center;width:30px;height:30px;font-size:26px;line-height:1;display:grid;position:relative}.nudge i{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:8.5px;font-style:normal;font-weight:700;position:absolute;inset-block-start:12px}.key.big{background:conic-gradient(var(--gold) var(--ring,0deg), #fff0dc29 var(--ring,0deg));width:66px;height:66px;color:var(--gold-ink);padding:3px;font-size:21px;position:relative;box-shadow:0 10px 32px -14px #d8b26ae6}.key-face{background:linear-gradient(180deg, var(--gold-lit), var(--gold));border-radius:50%;place-items:center;width:100%;height:100%;padding-inline-start:2px;display:grid}[dir=rtl] .key.big .key-face{padding-inline:0 2px;transform:scaleX(-1)}.dots{gap:3px;display:flex}.dots i{background:var(--gold-ink);border-radius:50%;width:4px;height:4px;animation:1.1s ease-in-out infinite dots}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dots{0%,to{opacity:.25}50%{opacity:1}}.deck-rate{position:absolute;inset-block-end:calc(var(--safe-b) + 24px);inset-inline-end:22px}.rate{border:1px solid var(--line);color:var(--ink-faint);font-variant-numeric:tabular-nums;border-radius:999px;min-height:32px;padding:5px 10px;font-size:12.5px}.rates-away{z-index:2;cursor:default;position:fixed;inset:0}.rates{-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);z-index:3;background:#1c1815f2;border-radius:14px;gap:2px;padding:5px;animation:.18s both rise;display:grid;position:absolute;inset-block-end:calc(100% + 10px);inset-inline-end:0;box-shadow:0 18px 40px -18px #000000e6}.rate-opt{color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums;border-radius:9px;min-height:42px;padding:9px 18px;font-size:14px}.rate-opt.on{background:var(--gold);color:var(--gold-ink);font-weight:700}@media (width>=768px){.listen-scroll,.listen-top,.deck{padding-inline:34px}.deck-rate{inset-inline-end:34px}}@media (hover:hover){.chapter-hit:hover .chapter-name{color:var(--gold-lit)}.chapter-hit:hover .chapter-no{color:var(--gold)}.key:hover:not(:disabled){color:var(--ink);background:var(--panel-2)}.key.big:hover{background:conic-gradient(var(--gold-lit) var(--ring,0deg), #fff0dc38 var(--ring,0deg))}.lang-opt:hover{color:var(--ink-soft)}.ghost:hover{border-color:var(--gold);color:var(--gold-lit)}.linky:hover{color:var(--ink-soft)}.gate-go:hover:not(:disabled),.resume:hover{filter:brightness(1.06)}}.reader-top{padding:calc(var(--safe-t) + 12px) 22px 10px;border-block-end:1px solid var(--line-soft);align-items:center;gap:12px;display:flex}.back{color:var(--gold);flex:none;align-items:center;gap:4px;min-height:44px;padding-inline-end:6px;font-size:14px;display:inline-flex}[dir=rtl] .back-arrow{display:inline-block;transform:scaleX(-1)}.back-arrow{font-size:22px;line-height:1}.reader-play{border:1px solid var(--line);width:40px;height:40px;color:var(--gold);border-radius:50%;flex:none;place-items:center;margin-inline-start:auto;font-size:11px;transition:background-color .16s,border-color .16s;display:grid}.reader-name{font-family:var(--serif);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.reader-scroll{-webkit-overflow-scrolling:touch;padding:26px 24px 28vh;overflow-y:auto}.prose{font-family:var(--serif);color:#f6f1e9db;max-width:34em;margin-inline:auto;font-size:18.5px;font-weight:400;line-height:1.72}[dir=rtl] .prose{font-size:19.5px;line-height:1.85}.prose-title{font-family:var(--serif);color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(1.7rem,6.5vw,2.15rem);font-weight:500;line-height:1.2}.prose .ornament{margin:18px 0 30px}.para{margin:0 0 1.15em}.reader-waiting{padding:18vh 0}.prose-break{opacity:.7;margin:2.2em 0}.prose-end{opacity:.35;margin:3em 0 0}.prose-end .orn-rule{width:22px}.deck-read{color:var(--gold);border:1px solid #d8b26a4d;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:4px 10px;font-size:12px;display:inline-flex;position:absolute;inset-block-start:12px;inset-inline-start:22px}@media (width>=768px){.reader-scroll,.reader-top{padding-inline:34px}.deck-read{inset-inline-start:34px}.prose{font-size:19.5px}}@media (hover:hover){.reader-play:hover,.chapter-play:hover{background:var(--panel-2);border-color:#d8b26a80}.back:hover,.deck-read:hover{color:var(--gold-lit)}}
