:root{--bg:#0b0d12;--bg-alt:#10131a;--panel:#151925;--panel2:#0f121b;--line:#232838;--fg:#e6e8ef;--muted:#8b91a3;--soft:#c3c7d3;
--accent:#8b7bff;--accent-2:#4fd1c5;--glow:rgba(139,123,255,.35);--gold:#f0c674;--blood:#ff6b6b;
--mono:"JetBrains Mono","Cascadia Code",Consolas,Menlo,monospace;--sans:-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent-2);text-decoration:none}code{font-family:var(--mono);font-size:.88em;color:#c7c2ff}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em}p{margin:0 0 1em}
.btn{display:inline-block;padding:12px 22px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;border:1px solid transparent}
.btn:hover{box-shadow:0 8px 24px var(--glow)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--fg)}
.kicker{font:.74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px}
h2{font-size:2.1rem}.intro{color:var(--muted);max-width:66ch}
.sig{width:100%;height:100%}
/* terminal */
.term{background:#07080c;border:1px solid var(--line);border-radius:12px;padding:38px 22px 20px;font:.84rem/1.55 var(--mono);color:#c9cdd8;white-space:pre-wrap;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.5);margin:0;min-height:330px}
.term::before{content:"";position:absolute;top:13px;left:14px;width:10px;height:10px;border-radius:50%;background:#ff5f57;box-shadow:16px 0 0 #febc2e,32px 0 0 #28c840}
.t-t{color:var(--accent-2);font-weight:700}.t-d{color:var(--muted)}.t-m{color:var(--gold)}.t-g{color:#ffe08a}.t-c{animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}
.samp{display:flex;gap:6px;margin-bottom:8px;justify-content:flex-end}
.samp button{font:.7rem var(--mono);background:transparent;border:1px dashed #3a4060;color:var(--muted);border-radius:6px;padding:3px 9px;cursor:pointer}
.samp button.on{border-style:solid;border-color:var(--gold);color:var(--gold)}
.samp span{font:.7rem var(--mono);color:#5d6378;align-self:center;margin-right:auto}
/* tabs */
.tl{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 18px}
.tl button{font:600 .82rem var(--sans);background:var(--panel2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;transition:all .15s}
.tl button:hover{color:var(--fg)}.tl button[aria-selected=true]{color:#0b0d12;background:var(--accent-2);border-color:var(--accent-2)}
.tp{display:none;animation:fi .25s ease}.tp.on{display:block}@keyframes fi{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* carousel */
.car{position:relative}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start;flex:0 0 var(--w,calc((100% - 32px)/3))}
.cnav{display:flex;align-items:center;gap:10px;margin-top:14px}
.cnav button.arr{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--fg);cursor:pointer;font-size:1.1rem;line-height:1}
.cnav button.arr:hover{border-color:var(--accent-2);color:var(--accent-2)}
.dots{display:flex;gap:6px;margin-left:6px}.dots i{width:7px;height:7px;border-radius:50%;background:#2f3550;cursor:pointer}.dots i.on{background:var(--accent-2);width:20px;border-radius:4px}
.cnav .ct{margin-left:auto;font:.72rem var(--mono);color:var(--muted)}
/* cards shared */
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.chip{font:.72rem var(--mono);color:var(--z,var(--accent-2));border:1px solid color-mix(in srgb,var(--z,var(--accent-2)) 50%,transparent);border-radius:999px;padding:2px 9px;white-space:nowrap}
/* story */
.slide{display:grid;grid-template-columns:160px 1fr;gap:34px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 14%,var(--panel)),var(--panel) 60%);border:1px solid var(--line);border-radius:16px;padding:40px 44px;min-height:260px}
.slide .ic{width:150px;height:150px;color:var(--g);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--g) 45%,transparent))}
.slide .no{font:.72rem var(--mono);color:var(--g);letter-spacing:.16em}.slide h3{font-size:1.9rem;margin:.2em 0 .4em}.slide p{color:#d0d3dd;font-size:1.08rem;max-width:58ch;margin:0}
/* races picker */
.rpick{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:22px 0 16px}
.rpick button{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 6px;color:var(--fg);cursor:pointer;font:600 .92rem var(--sans);text-align:center}
.rpick button small{display:block;font:.64rem var(--mono);color:var(--muted);text-transform:uppercase;margin-top:2px}
.rpick button[aria-selected=true]{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 10%,var(--panel2));box-shadow:0 0 0 1px var(--accent-2) inset}
.rpanel{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:start}
.rpanel h3{font-size:2.4rem;margin:0}.rpanel .hl{font-size:1.15rem;color:#c7c2ff;margin:.3em 0 1em}
.rpanel ul{list-style:none;padding:0;margin:0}.rpanel li{padding:9px 0;border-top:1px solid var(--line);color:var(--soft)}.rpanel li::before{content:"› ";color:var(--accent-2)}
.rpanel .suits{margin-top:14px;font:.78rem var(--mono);color:var(--accent-2)}
.stat{display:grid;grid-template-columns:38px 1fr 26px;gap:10px;align-items:center;font:.78rem var(--mono);color:var(--muted);margin:9px 0}
.bar{height:10px;background:var(--panel2);border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;width:calc(var(--v)/25*100%);background:#4b5168;border-radius:5px;transition:width .4s}
.stat.top .bar i{background:linear-gradient(90deg,var(--accent),var(--accent-2))}.stat.top .v{color:#fff}
.rnote{color:var(--muted);font-size:.84rem;margin-top:16px}
/* classes */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.step .lv{font:800 1.9rem var(--sans);color:var(--accent)}.step .lv small{font-size:.72rem;color:var(--muted);font-weight:500;margin-left:6px}
.step b{display:block}.step p{font-size:.84rem;color:var(--soft);margin:.3em 0 0}
.lin{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adv{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel2)}
.adv>header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.adv>header b{font-size:1.15rem}.adv>header span{font:.72rem var(--mono);color:var(--muted)}
.mrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mc{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:10px;padding:14px}
.mc h4{color:var(--c);margin:0;font-size:1.12rem}.mc .role{display:inline-block;margin:6px 0;font:.66rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#0b0d12;background:var(--c);padding:1px 7px;border-radius:4px}
.mc .id{font-size:.84rem;color:var(--soft);margin:.2em 0 .6em}.mc .pas{font-size:.78rem;border-left:2px solid var(--c);padding-left:9px;color:var(--soft);margin-bottom:8px}
.mc ul{list-style:none;margin:0;padding:0;font-size:.76rem;color:var(--soft)}.mc li{padding:4px 0;border-top:1px solid var(--line)}.mc li b{color:#fff}.mc li span{font-family:var(--mono);font-size:.64rem;color:var(--c);margin-right:5px}
/* gods */
.gpick{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:22px 0 18px}
.gpick button{background:transparent;border:1px solid var(--line);border-radius:12px;padding:12px 4px 10px;color:var(--fg);cursor:pointer;font:600 .84rem var(--sans);display:flex;flex-direction:column;align-items:center;gap:6px}
.gpick .s{width:38px;height:38px;color:var(--g)}.gpick small{font:.62rem var(--mono);color:var(--muted)}
.gpick button[aria-selected=true]{border-color:var(--g);background:color-mix(in srgb,var(--g) 11%,transparent)}
.gp{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;position:relative;overflow:hidden}
.gp::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 0,color-mix(in srgb,var(--g) 22%,transparent),transparent 55%);pointer-events:none}
.gp .big{width:90px;height:90px;color:var(--g);float:right;margin-left:18px}
.gp h3{font-size:2rem;margin:0;color:var(--g)}.gp .ep{color:var(--muted);font-style:italic}
.gp .dom{font:.74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--g);margin:12px 0}
.gp .obs{border-left:2px solid var(--g);padding-left:14px;color:var(--soft);font-style:italic}
.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;clear:both}
.gift{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px}
.gift .tier{font:.64rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.gift b{display:block;margin:4px 0;color:var(--g)}.gift p{font-size:.84rem;margin:0;color:var(--soft)}
.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ladder div{padding:12px 14px;border-right:1px solid var(--line);font-size:.86rem}.ladder div:last-child{border:0;background:rgba(240,198,116,.08)}
.ladder b{display:block;color:#fff}.ladder span{font:.72rem var(--mono);color:var(--muted)}.ladder em{display:block;font-style:normal;color:var(--accent-2);font-size:.78rem}
.frules{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px;font-size:.84rem;color:var(--soft)}
/* world */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 4px}
.statrow div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.statrow b{display:block;font-size:1.7rem;color:#fff}.statrow span{color:var(--muted);font-size:.84rem}
.zone{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--z);border-radius:12px;padding:20px;display:flex;flex-direction:column}
.zone header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.zone h4{font-size:1.15rem;margin:0}
.zone p{color:var(--soft);font-size:.92rem;margin:.6em 0;flex:1}.zone .rare{font:.74rem var(--mono);color:var(--muted)}
/* housing */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.htier{background:linear-gradient(180deg,rgba(240,198,116,.12),var(--panel) 70%);border:1px solid rgba(240,198,116,.3);border-radius:12px;padding:16px}
.htier b{color:var(--gold);font-size:1.15rem;display:block}.htier span{display:block;color:var(--soft);font-size:.86rem}.htier em{display:block;font:.82rem var(--mono);color:#fff;font-style:normal;margin-top:8px}.htier small{color:var(--muted);font-size:.74rem}
.hf{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.hf b{display:block;margin-bottom:4px}.hf p{font-size:.86rem;color:var(--soft);margin:0}
/* dreams */
.strengths{display:flex;gap:4px;margin:20px 0 6px}
.strengths div{flex:var(--p);min-width:0;background:linear-gradient(180deg,#2a2440,#1a1728);border:1px solid var(--line);border-radius:6px;padding:6px 9px;font:.68rem var(--mono);color:var(--soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.strengths small{display:block;color:var(--muted)}
.dp{border-radius:16px;padding:30px;border:1px solid;display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center}
.dp.blood{background:linear-gradient(150deg,rgba(255,107,107,.16),rgba(255,107,107,.02));border-color:rgba(255,107,107,.38)}
.dp.gold{background:linear-gradient(150deg,rgba(240,198,116,.18),rgba(240,198,116,.02));border-color:rgba(240,198,116,.4)}
.dp h3{font-size:2rem}.dp.blood h3{color:var(--blood)}.dp.gold h3{color:var(--gold)}
.dp .big{font:800 3.4rem var(--sans);line-height:1}.dp.blood .big{color:var(--blood)}.dp.gold .big{color:var(--gold)}.dp .bl{color:var(--muted);font-size:.86rem}
.dp ul{margin:0;padding-left:1.1em;color:#d5d8e2}.dp li{margin-bottom:.45em}
.somn{margin-top:14px;color:var(--muted);font-size:.9rem}
/* features */
.flist{columns:2;column-gap:28px;list-style:none;padding:0;margin:0}
.flist li{break-inside:avoid;padding:9px 0 9px 22px;border-top:1px solid var(--line);color:var(--soft);position:relative}
.flist li::before{content:"+";position:absolute;left:4px;color:var(--accent);font-family:var(--mono)}
.flist.fix li::before{content:"~";color:var(--gold)}
.fcount{font:.72rem var(--mono);margin-left:6px;opacity:.7}
.credits{font-size:.76rem}
@media(max-width:900px){.track>*{--w:86%}.slide{grid-template-columns:1fr;padding:26px;gap:16px}.slide .ic{width:84px;height:84px}
.rpick{grid-template-columns:repeat(4,1fr)}.rpanel,.lin,.dp{grid-template-columns:1fr}.gpick{grid-template-columns:repeat(4,1fr)}.gifts,.steps3,.frules{grid-template-columns:1fr}
.ladder{grid-template-columns:1fr 1fr}.statrow,.tiers{grid-template-columns:1fr 1fr}.flist{columns:1}.mrow{grid-template-columns:1fr}}
html,body{height:100%}body{overflow:hidden;background:var(--page,#07080d)}
.app{display:grid;grid-template-columns:220px 1fr;height:100vh}
.menu{position:relative;padding:28px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--rail);overflow:hidden}
.menu .logo{font:800 1.75rem var(--sans);letter-spacing:-.02em;background:linear-gradient(120deg,#fff,#c7c2ff 60%,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;margin:0 6px 26px}
.menu ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.menu li button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;color:var(--muted);font:600 .95rem var(--sans);padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .15s}
.menu li button .mi{width:18px;height:18px;flex:none;opacity:.75}
.menu li button:hover{color:#fff;background:rgba(255,255,255,.04)}
.menu li button.on{color:#fff;background:linear-gradient(90deg,rgba(79,209,197,.16),transparent)}.menu li button.on .mi{color:var(--accent-2);opacity:1}
.menu .play{margin-top:auto;display:flex;flex-direction:column;gap:6px}.menu .play .btn{text-align:center;padding:10px 12px;font-size:.9rem}
.menu .addr{font:.62rem var(--mono);color:var(--muted);text-align:center}
.stage{position:relative;overflow-y:auto;scrollbar-width:none}.stage::-webkit-scrollbar{display:none}
.scene{display:none;min-height:100vh;padding:48px 56px 40px;animation:fi .35s ease}.scene.on{display:block}
.scene .in{max-width:1080px;margin:0 auto}
.home{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 88px)}
.eyebrow{font:.7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);white-space:nowrap}
.tag{font-size:clamp(2.4rem,4.6vw,4rem);font-weight:800;line-height:1.08;letter-spacing:-.015em;margin:.35em 0 .55em;max-width:21ch;text-wrap:balance;background:linear-gradient(120deg,#fff,#d9d5ff 55%,var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.home .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.home .sub{color:var(--muted);font-size:1.05rem}
.home .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chips{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:34px}
.chips button{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center;color:var(--fg);cursor:pointer;font:600 .86rem var(--sans);display:flex;flex-direction:column;align-items:center;gap:6px}
.chips button .ci{width:26px;height:26px;color:var(--accent-2)}
.chips button:hover{border-color:var(--accent-2)}
.term{min-height:360px}
.t-w{color:#fff;font-weight:700}.t-y{color:#e5c07b}.t-cy{color:#56d6e8}.t-cd{color:#4fb3c5}.t-r{color:#e06c75}.t-R{color:#ff5f6d;font-weight:700}.t-m{color:#c678dd}.t-M{color:#ff79f2;font-weight:700}
.secthead{display:flex;align-items:center;gap:16px;margin-bottom:6px}
.secthead .em{width:52px;height:52px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line);color:var(--accent-2)}
.secthead .em svg{width:28px;height:28px}
.ban{display:block;width:100%;height:auto;margin:0 0 22px}.ban.scene{height:130px;border-radius:14px;border:1px solid var(--line)}
.rg{width:22px;height:22px;display:block;margin:0 auto 6px;color:var(--accent-2)}
.rhead{display:flex;gap:18px;align-items:center}.rbig{width:64px;height:64px;color:var(--accent-2);flex:none;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.cg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
.treewrap{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:22px}.tree{width:100%;height:auto;display:block}.tree .ln{stroke:#3a4060;fill:none}
.upd{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;height:100%;display:flex;flex-direction:column}
.upd.latest{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2) inset}
.upd .um{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.upd time{font:.72rem var(--mono);color:var(--muted)}
.upd h4{font-size:1.1rem}.upd p{font-size:.88rem;color:var(--soft);flex:1}
.pager{display:flex;justify-content:space-between;margin-top:36px;padding-top:16px;border-top:1px solid var(--line)}
.pager button,.pager a{background:none;border:1px solid var(--line);color:var(--soft);border-radius:8px;padding:8px 14px;cursor:pointer;font:.86rem var(--sans)}.pager button:hover{border-color:var(--accent-2);color:#fff}
.foot{color:var(--muted);font-size:.76rem;margin-top:26px}
@media(max-width:900px){html,body{height:auto}body{overflow:auto}.app{grid-template-columns:1fr;height:auto}.menu{padding:12px 14px;position:sticky;top:0;z-index:5}.menu .play{margin-top:8px}.menu .logo{font-size:1.3rem;margin:0 0 8px}
.menu ul{flex-direction:row;overflow-x:auto;scrollbar-width:none}.menu li button{white-space:nowrap;font-size:.84rem;padding:6px 10px}.scene{padding:22px 16px;min-height:0}.home .grid{grid-template-columns:1fr}.chips{grid-template-columns:repeat(4,1fr)}.eyebrow{white-space:normal}.ban.scene{height:90px}}
:root{--page:radial-gradient(1px 1px at 12% 18%,#fff8 50%,transparent),radial-gradient(1px 1px at 72% 12%,#fff6 50%,transparent),radial-gradient(1.4px 1.4px at 38% 62%,#fff5 50%,transparent),radial-gradient(1px 1px at 88% 74%,#fff6 50%,transparent),radial-gradient(1px 1px at 55% 88%,#fff4 50%,transparent),radial-gradient(1.2px 1.2px at 22% 82%,#fff5 50%,transparent),radial-gradient(1px 1px at 64% 38%,#fff5 50%,transparent),radial-gradient(ellipse at 70% 0,#161a3a,#07080d 60%);
--rail:linear-gradient(180deg,rgba(14,16,26,.92),rgba(8,9,14,.92))}
.stage{background:transparent}.card,.zone,.gp,.mc,.adv,.step,.hf,.htier,.upd,.chips button,.statrow div{backdrop-filter:blur(2px);background-color:rgba(21,25,37,.82)}
.scene h2::after{content:"";display:block;width:120px;height:10px;margin-top:10px;background:radial-gradient(circle,var(--accent-2) 2px,transparent 3px) 0 50%/30px 10px repeat-x,linear-gradient(var(--accent-2),var(--accent-2)) 0 50%/100% 1px no-repeat;opacity:.55}
.menu li button.on{background:none;box-shadow:inset 2px 0 0 var(--accent-2)}
.home .grid>div:first-child{padding-top:38px}
.rp4 .rtop{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
.rp4 .rbars{padding:14px 18px}.rp4 .rbars .stat{margin:5px 0}.rp4 .rnote{margin:6px 0 0;font-size:.76rem}
.rp4 .blurb{font-size:1.04rem;color:#d4d7e0;margin:18px 0 12px;max-width:80ch}
.traits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.traits span{font-size:.82rem;color:var(--soft);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.fits{display:grid;grid-template-columns:1fr 1.25fr;gap:22px}
.flab{font:.7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:10px}
.fitrow{display:flex;flex-direction:column;gap:8px}
.fit{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.fit .fi{width:34px;height:34px;flex:none;border-radius:10px;background:var(--panel2);display:flex;align-items:center;justify-content:center;color:var(--accent-2)}.cg2{width:20px;height:20px}
.fit b{display:block}.fit p{margin:0;font-size:.82rem;color:var(--soft)}
.advrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.adfit{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:10px;padding:12px 14px}
.adfit b{color:var(--c)}.adfit span{font:.66rem var(--mono);color:var(--muted);margin-left:6px}.adfit p{margin:4px 0 0;font-size:.82rem;color:var(--soft)}
/* classes */
.treewrap{position:relative}
.tree .bn{cursor:pointer}.tree .bn rect{fill:#1b2032;stroke:#4fd1c5;stroke-opacity:.45;transition:all .15s}.tree .bn text{fill:#fff;font-family:var(--sans)}
.tree .bn:hover rect{stroke-opacity:1;fill:#1f2a3a}.tree .bn.on rect{fill:#4fd1c5;stroke:#4fd1c5}.tree .bn.on text{fill:#0b0d12}
.tree text{font-family:var(--sans)}.tree .ln{stroke:#3a4060;fill:none;transition:opacity .2s}
.tree.sel [data-b]:not(.on){opacity:.22}.tree.sel .bn:not(.on){opacity:.6}
.selhead{display:flex;align-items:baseline;gap:14px;margin:26px 0 0}.selnum{font:700 1.15rem var(--sans)}.selhint{font:.74rem var(--mono);color:var(--muted)}
.seg{display:inline-flex;gap:0;margin:12px 0 18px;border:1px solid var(--accent-2);border-radius:12px;overflow:hidden}
.seg button{background:transparent;border:0;border-right:1px solid rgba(79,209,197,.35);color:var(--soft);font:600 .95rem var(--sans);padding:10px 22px;cursor:pointer}
.seg button:last-child{border-right:0}.seg button:hover{background:rgba(79,209,197,.08);color:#fff}
.seg button[aria-selected=true]{background:var(--accent-2);color:#0b0d12}
.bdesc{color:var(--soft);margin:0 0 14px}
/* world */
.zhint{font:.74rem var(--mono);color:var(--muted);margin:14px 0 10px}
.zpage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:16px}
.zc{background:rgba(21,25,37,.86);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.zc:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--z) 55%,transparent)}
.zart{display:block;width:100%;height:118px;border-bottom:1px solid var(--line)}
.zb{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.zb header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.zb h4{margin:0;font-size:1.05rem}
.zb .chip{--z:inherit}.zb p{font-size:.85rem;color:var(--soft);margin:.5em 0;flex:1}.zr{font:.7rem var(--mono);color:var(--muted)}
/* housing */
.tierpick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 16px}
.tierpick button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:linear-gradient(180deg,rgba(240,198,116,.08),rgba(21,25,37,.85));border:1px solid rgba(240,198,116,.28);border-radius:12px;padding:14px 16px;color:var(--fg);cursor:pointer;transition:all .15s}
.tierpick button b{font-size:1.1rem;color:var(--gold)}.tierpick button span{font-size:.82rem;color:var(--soft)}.tierpick button em{font:.78rem var(--mono);font-style:normal;color:#fff;margin-top:4px}
.tierpick button:hover{border-color:var(--gold)}.tierpick button[aria-selected=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 8px 24px rgba(240,198,116,.12)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf{margin:0;background:rgba(15,18,27,.85);border:1px solid var(--line);border-radius:14px;padding:16px}
.pf figcaption{font-weight:700;margin-bottom:10px;color:#fff}
.plan{width:100%;height:auto;max-height:520px;display:block}
.plan .fl{font:600 12px var(--mono);fill:#8b91a3;letter-spacing:.1em}
.plan .lk{stroke:#4a5070;stroke-width:3}
.plan .rm rect{fill:#1b2032;stroke:#3a4060}.plan .rm text{font:600 14px var(--sans);fill:#e6e8ef}
.plan .rm.entry rect{fill:#2e2a22;stroke:#f0c674}.plan .rm.garden rect{fill:#15281f;stroke:#5fd7a0;stroke-dasharray:4 3}
.plan .door{stroke:#f0c674;stroke-width:2}.plan .doorc{fill:#f0c674}
.pnote{font-size:.86rem;color:var(--muted);margin:12px 0 0}
.leg{display:flex;gap:18px;flex-wrap:wrap;font:.72rem var(--mono);color:var(--muted);margin:12px 0 22px}.leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px;border:1px solid}
.leg .e{background:rgba(240,198,116,.16);border-color:#f0c674}.leg .r{background:#1b2032;border-color:#3a4060}.leg .g{background:rgba(95,215,160,.14);border-color:#5fd7a0}.leg .d{background:#f0c674;border-radius:50%;width:8px;height:8px}
.hgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
/* updates */
.tagpick{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:22px 0 18px}
.tagpick button{display:flex;flex-direction:column;align-items:center;gap:1px;background:rgba(15,18,27,.85);border:1px solid var(--line);border-radius:8px;padding:7px 4px;color:var(--soft);cursor:pointer}
.tagpick button b{font:600 .78rem var(--mono)}.tagpick button span{font:.62rem var(--mono);color:var(--muted)}
.tagpick button:hover{border-color:var(--accent-2);color:#fff}.tagpick button[aria-selected=true]{background:var(--accent-2);border-color:var(--accent-2)}.tagpick button[aria-selected=true] b,.tagpick button[aria-selected=true] span{color:#0b0d12}
.un{background:rgba(21,25,37,.86);border:1px solid var(--line);border-radius:16px;padding:26px 28px}
.un .um{display:flex;gap:12px;align-items:center;margin-bottom:10px}.un time{font:.76rem var(--mono);color:var(--muted)}
.un h3{font-size:1.5rem}.un ul{margin:0;padding-left:1.15em;color:#d4d7e0}.un li{margin-bottom:.55em}
@media(max-width:900px){.rp4 .rtop,.fits,.advrow,.plans,.hgrid{grid-template-columns:1fr}.zpage{grid-template-columns:1fr}.tierpick{grid-template-columns:1fr 1fr}.tagpick{grid-template-columns:repeat(4,1fr)}.seg{display:flex;flex-wrap:wrap}.home .grid>div:first-child{padding-top:0}}

.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.pf{margin:0;background:radial-gradient(120% 90% at 50% 0%,#141a2b 0%,#0c0f18 70%);border:1px solid #262c40;border-radius:16px;padding:18px 18px 14px;box-shadow:inset 0 0 0 1px rgba(232,220,192,.03)}
.pf>figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.pf>figcaption b{font:600 1.15rem Georgia,'Iowan Old Style',serif;color:#f3ead6;letter-spacing:.01em}
.pf>figcaption span{font:.68rem var(--mono);color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.ground .plan{width:100%;height:auto;display:block;margin:0 auto;max-height:440px}
.subs{display:flex;gap:14px;margin-top:8px;padding-top:12px;border-top:1px dashed #2a3048}
.sub{margin:0;flex:0 1 calc(50% - 7px);min-width:0}.sub figcaption{font:.64rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#b9a77a;margin-bottom:2px}
.sub .plan{width:100%;height:auto;max-height:190px;display:block}
.plan .fl{fill:url(#gF)}.plan .fl.en{fill:#1d1d24}
.plan .ghost{fill:none;stroke:#3a4060;stroke-dasharray:3 4;stroke-width:1.2}
.plan .ext{stroke:#e8dcc0;stroke-width:6;stroke-linecap:square}
.plan .int{stroke:#e8dcc0;stroke-width:3;stroke-linecap:square;opacity:.85}
.plan .hedge{stroke:#3f8f66;stroke-width:5;stroke-dasharray:1 7;stroke-linecap:round}
.plan .leaf{fill:none;stroke:#e8dcc0;stroke-width:1.2;opacity:.55}
.plan .gl{fill:none;stroke:#c9bfa6;stroke-width:1.3;opacity:.38}
.plan .rl{font:italic 600 14px Georgia,'Iowan Old Style',serif;fill:#efe6d2;letter-spacing:.01em}
.plan .rl.e{fill:#f6d58f}.plan .rl.g{font-size:12.5px;fill:#cdeedd}
.plan .gtag{fill:#0d1a14;fill-opacity:.85;stroke:#2f6b4c}
.plan .shrub{fill:#1d4a33;stroke:#2f6b4c}.plan .row{stroke:#2f6b4c;stroke-width:5;stroke-linecap:round;stroke-dasharray:2 7}
.plan .rip{fill:none;stroke:#5fafff;stroke-opacity:.35;stroke-width:1.4}.plan .well{fill:#10243c;stroke:#8b91a3}
.plan .street{fill:#141722;stroke:#232838}.plan .stl{font:600 10px var(--mono);letter-spacing:.32em;fill:#6f7690}
.plan .lamp{fill:#ffe3a3}
.plan .st rect{fill:#0d1018;stroke:#b9a77a;stroke-width:1.2}.plan .st path{stroke:#b9a77a;stroke-width:1}.plan .st text{font:600 8px var(--mono);fill:#b9a77a;letter-spacing:.1em}
.plan .nrose path{fill:#6f7690}.plan .nrose text{font:600 9px var(--mono);fill:#6f7690}
.life{margin-top:26px;border:1px solid var(--line);border-radius:16px;background:rgba(21,25,37,.7);padding:20px 24px}
.lhead{font:.7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:6px}
.lgrid{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:28px}
.li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(255,255,255,.05)}
.li:nth-child(-n+3){border-top:0}
.lic{width:22px;height:22px;flex:none;fill:none;stroke:#f0c674;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.li b{display:block;font-size:.92rem;margin-bottom:3px}.li span{display:block;font-size:.83rem;color:var(--soft);line-height:1.5}
@media(max-width:900px){.plans,.lgrid{grid-template-columns:1fr}.li:nth-child(-n+3){border-top:1px solid rgba(255,255,255,.05)}.li:first-child{border-top:0}}

.stage>.footer{padding:0 56px 34px;color:var(--muted);font-size:.78rem}
.stage>.footer .footer-inner{max-width:1080px;margin:0 auto;border-top:1px solid var(--line);padding-top:16px}.stage>.footer p{margin:.3em 0}.stage>.footer strong{color:var(--soft)}
.un .more{display:inline-block;margin-top:10px;font:600 .85rem var(--sans);color:var(--accent-2);text-decoration:none}.un .more:hover{text-decoration:underline}
@media(max-width:900px){.stage>.footer{padding:0 16px 28px}}
.dlnote{margin:14px 0 0;font-size:.84rem;color:var(--muted);max-width:46ch}

/* Ashen (October 2026): the launcher layout over Vesper at night. */
@font-face{font-family:"IM Fell SC";src:url(/fonts/im-fell-english-sc.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"EB Garamond";src:url(/fonts/eb-garamond.woff) format("woff");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:"EB Garamond";src:url(/fonts/eb-garamond-italic.woff) format("woff");font-weight:400 800;font-style:italic;font-display:swap}
:root{--ka:url(/img/vesper-night.svg)}
button{font-family:inherit}
body{background:var(--bg)}
.home .grid>div:first-child{padding-top:0}
@media(min-width:901px){
 .app{grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .menu{flex-direction:row;align-items:center;gap:34px;height:72px;padding:0 36px;border:0;z-index:10;position:relative;overflow:visible}
 .menu .logo{margin:0;font-size:1.7rem}
 .menu ul{flex-direction:row;gap:2px}
 .menu li button{padding:8px 12px;width:auto}
 .menu li button .mi{display:none}
 .menu .play{margin:0 0 0 auto;flex-direction:row-reverse;align-items:center;gap:18px}
 .menu .play .btn{padding:11px 26px}
 .scene{padding:0 56px 40px}
 .scene:not([data-k=home])::before{content:"";display:block;height:300px;margin:0 -56px;background:var(--ka) center 78%/cover;
   -webkit-mask-image:linear-gradient(#000 35%,transparent);mask-image:linear-gradient(#000 35%,transparent)}
 .scene:not([data-k=home])>.in{margin-top:-120px;position:relative}
 .scene[data-k=home]{padding:0;position:relative}
 .ka{position:absolute;left:0;right:0;top:0;height:calc(100vh - 72px);background:var(--ka) center bottom/cover}
 .ka::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--scrim) 0,transparent 62%),linear-gradient(transparent 55%,var(--bg))}
 .in.home{position:relative;max-width:none;padding:13vh 56px 40px;min-height:calc(100vh - 72px)}
 .in.home>*{max-width:1180px}
 .in.home .grid{margin-top:12px}
 .in.home .chips{margin-top:9vh}
 .hterm .term{background:var(--term)}
}
@media(max-width:900px){
 .ka{height:240px;margin:-22px -16px 18px;background:var(--ka) 62% 85%/cover;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
 .scene:not([data-k=home])::before{content:"";display:block;height:150px;margin:-22px -16px 4px;background:var(--ka) center 80%/cover;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
}
:root{--bg:#101012;--page:#101012;--rail:rgba(12,7,8,.94);--panel:rgba(24,23,26,.9);--panel2:rgba(18,17,20,.92);--line:#3e3a3c;--fg:#e4e0d8;--muted:#9c968e;--soft:#cfc9bf;
--accent:#a8191e;--accent-2:#d8cfbf;--gold:#d8cfbf;--glow:rgba(158,27,34,.4);--sans:"EB Garamond",serif;--disp:"IM Fell SC",serif;--scrim:rgba(8,8,10,.88);--term:rgba(6,6,8,.9)}
body{font:19px/1.65 var(--sans)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:50;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,h4,.menu .logo,.tag,.zb h4,.mc h4,.pf>figcaption b,.btn,.menu li button,.chips button,.tierpick button b,.seg button,.pager button,.pager a{font-family:var(--disp)!important;font-weight:400!important}
.menu{background:var(--rail);box-shadow:0 1px 0 #3e3a3c,0 2px 0 rgba(158,27,34,.4)}
.menu .logo{background:none;-webkit-background-clip:initial;background-clip:initial;color:#e4e0d8;font-size:2rem}
.menu li button{font-size:1.15rem;color:#9c968e;border-radius:0}
.menu li button.on,.menu li button:hover{background:none!important;color:#e4e0d8!important;box-shadow:inset 0 -2px 0 #a8191e!important}
.tag{background:none;-webkit-background-clip:initial;background-clip:initial;color:#f0ece4;font-size:clamp(3rem,5.8vw,5.4rem);line-height:1;max-width:14ch;text-shadow:0 0 30px rgba(158,27,34,.55),0 4px 20px #000}
.eyebrow{font:italic 400 1.1rem var(--sans);letter-spacing:0;text-transform:none;color:#d8cfbf}
.sub{color:#dcd6cc;text-shadow:0 2px 10px #000}
h2{font-size:3rem;color:#f0ece4;text-shadow:0 3px 18px #000}
.scene h2::after{width:180px;height:10px;background:linear-gradient(90deg,#a8191e,transparent) 0 50%/100% 2px no-repeat;opacity:1;margin-top:8px}
.kicker{font:italic 400 1.1rem var(--sans);letter-spacing:0;text-transform:none;color:#c4262a}
.card,.zone,.gp,.mc,.adv,.step,.hf,.htier,.upd,.statrow div,.zc,.pf,.un,.life,.strengths div,.fit,.adfit,.slide{background:var(--panel)!important;backdrop-filter:none!important;border:1px solid #3e3a3c!important;border-radius:0!important;box-shadow:inset 0 0 0 4px rgba(16,16,18,.95),inset 0 0 0 5px rgba(158,27,34,.35),0 20px 40px rgba(0,0,0,.5)!important}
.chips button{background:rgba(18,17,20,.85)!important;border:1px solid #3e3a3c!important;border-radius:0!important;color:#e4e0d8!important;font-size:1.15rem!important}
.chips button .ci{color:#c4262a}.chips button:hover{border-color:#a8191e!important}
.btn{background:linear-gradient(#b3242c,#7a1218);color:#f3e7cf!important;border:1px solid #2a0608;border-radius:0;font-size:1.2rem;padding:10px 28px;box-shadow:inset 0 1px 0 rgba(255,200,180,.25),0 8px 20px rgba(0,0,0,.5)}
.btn:hover{filter:brightness(1.12);box-shadow:inset 0 1px 0 rgba(255,200,180,.25),0 0 26px rgba(158,27,34,.6)}
.btn-ghost{background:rgba(10,5,6,.6);color:#e4e0d8!important;border:1px solid #e4e0d8;box-shadow:none}
.term{border-color:#3e3a3c;border-radius:0}.term::before{display:none}.term{padding-top:22px}
.samp button{font:italic .95rem var(--sans);border-radius:0}.samp button.on{border-color:#a8191e;color:#e4e0d8}
.tl button,.seg button,.tagpick button,.rpick button{border-radius:0!important;border-color:#3e3a3c!important}
.tl button[aria-selected=true],.seg button[aria-selected=true],.tagpick button[aria-selected=true]{background:#a8191e!important;color:#f3e7cf!important;border-color:#a8191e!important}
.tagpick button[aria-selected=true] *{color:#f3e7cf!important}
.tierpick button{border-radius:0!important;border-color:#3e3a3c!important}.tierpick button b{color:#d8cfbf!important}
.seg{border-radius:0;border-color:#a8191e}
.tree .bn rect{fill:#1a1011;stroke:#a8191e}.tree .bn.on rect{fill:#a8191e}.tree .bn text{fill:#e4e0d8;font-family:var(--disp);font-size:17px}
.tree .ag rect{fill:#160d0e;stroke:#3e3a3c}.tree .ln{stroke:#3e3a3c}
.lhead,.flab,.pf>figcaption span,.sub figcaption,.zhint{font:italic 400 1.05rem var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:#d8cfbf!important}
.t-t{color:#d8cfbf}
.tree .bn.on text{fill:#f3e7cf}.step .lv{color:var(--accent-2)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Lamplight (October 2026): Vesper by gaslight. Warm lantern light on the night, a wire of lamps along the top, brass where Ashen had blood. */
:root{--bg:#0d0b10;--page:#0d0b10;--rail:rgba(14,11,12,.95);--panel:rgba(24,19,18,.9);--panel2:rgba(18,14,14,.92);--line:#3a3024;--fg:#ece4d4;--muted:#a69a86;--soft:#d9cfba;
--accent:#e0a845;--accent-2:#f3d79a;--gold:#f0c674;--glow:rgba(240,190,90,.45);--ember:#c8642a;--brass:#8a6a36;--scrim:rgba(12,9,10,.84);--term:rgba(9,7,8,.92)}
.menu{box-shadow:0 1px 0 #3a3024,0 2px 0 rgba(224,168,69,.35)}
@media(min-width:901px){.menu::after{content:"";position:absolute;left:0;right:0;top:100%;height:34px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='34'%3E%3Cpath d='M0 2Q65 14 130 2T260 2' fill='none' stroke='%23574a36' stroke-width='1.2'/%3E%3Cpath d='M65 8v6' stroke='%23574a36'/%3E%3Cpath d='M59 14h12l-2 4h-8z' fill='%23574a36'/%3E%3Crect x='61' y='18' width='8' height='9' rx='2' fill='%23f0c674'/%3E%3Cpath d='M60 27h10' stroke='%23574a36' stroke-width='1.5'/%3E%3C/svg%3E") 0 0/260px 34px repeat-x;filter:drop-shadow(0 0 6px rgba(255,200,110,.75));animation:lampflick 4.5s steps(1) infinite}}
@keyframes lampflick{0%,100%{opacity:1}31%{opacity:.86}36%{opacity:1}62%{opacity:.92}67%{opacity:1}}
.menu .logo{color:#f3e7cf;text-shadow:0 0 18px rgba(240,190,90,.45);display:flex;align-items:center;gap:10px}
.menu .logo::before{content:"";width:14px;height:20px;border-radius:3px 3px 4px 4px;background:radial-gradient(circle at 50% 60%,#fff3c4 0 25%,#f0c674 45%,#c98a2c 75%);box-shadow:0 0 14px 4px rgba(240,190,90,.55);animation:lampflick 3.2s steps(1) infinite}
.menu li button.on,.menu li button:hover{color:#f3e7cf!important;box-shadow:inset 0 -2px 0 #e0a845,0 6px 14px -8px rgba(240,190,90,.8)!important}
.ka::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(40% 50% at 78% 70%,rgba(240,170,70,.22),transparent 70%),radial-gradient(30% 40% at 55% 85%,rgba(240,170,70,.14),transparent 70%);mix-blend-mode:screen}
.scene:not([data-k=home])::before{filter:sepia(.15)}
.ka{filter:sepia(.15)}
.tag{color:#f6ecd8;text-shadow:0 0 34px rgba(240,180,80,.45),0 4px 20px #000}
.eyebrow,.kicker{color:#e0a845}
.kicker::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#f0c674;box-shadow:0 0 8px 2px rgba(240,190,90,.7);vertical-align:.15em}
.scene h2::after{width:220px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='16'%3E%3Cpath d='M0 3Q110 13 220 3' fill='none' stroke='%23e0a845' stroke-opacity='.6'/%3E%3Ccircle cx='110' cy='9' r='3' fill='%23f0c674'/%3E%3C/svg%3E") 0 0/220px 16px no-repeat;margin-top:6px;filter:drop-shadow(0 0 4px rgba(240,190,90,.6))}
.card,.zone,.gp,.mc,.adv,.step,.hf,.htier,.upd,.statrow div,.zc,.pf,.un,.life,.strengths div,.fit,.adfit,.slide,.chap,.nlf li{background:linear-gradient(180deg,rgba(240,190,90,.06),transparent 40%),var(--panel)!important;border:1px solid #3a3024!important;box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.28),0 20px 40px rgba(0,0,0,.5)!important}
.chips button .ci{color:#e0a845}.chips button:hover{border-color:#e0a845!important;box-shadow:0 0 18px -6px rgba(240,190,90,.8)}
.btn{background:linear-gradient(#f3d38a,#c98a2c);color:#1a1208!important;border:1px solid #6a4a18;text-shadow:0 1px 0 rgba(255,240,200,.4);box-shadow:inset 0 1px 0 rgba(255,250,230,.6),0 8px 20px rgba(0,0,0,.5)}
.btn:hover{filter:brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,250,230,.6),0 0 28px rgba(240,190,90,.6)}
.btn-ghost{background:rgba(12,9,8,.6);color:#f3e7cf!important;border:1px solid #c9a46a;text-shadow:none;box-shadow:none}
.samp button.on{border-color:#e0a845;color:#f3e7cf}
.tl button[aria-selected=true],.seg button[aria-selected=true],.tagpick button[aria-selected=true]{background:#e0a845!important;color:#1a1208!important;border-color:#e0a845!important}
.tagpick button[aria-selected=true] *{color:#1a1208!important}
.seg{border-color:#e0a845}
.tree .bn rect{fill:#1c150e;stroke:#e0a845}.tree .bn.on rect{fill:#e0a845}.tree .bn.on text{fill:#1a1208}.tree .ag rect{fill:#16110d;stroke:#3a3024}.tree .ln{stroke:#4a3c28}
.bar i{width:calc(var(--v)/50*100%);background:linear-gradient(90deg,#8a5a22,#f0c674)}
.t-t{color:#f3d79a}.t-m{color:#f0c674}
.zc .chip{color:var(--z)}
/* home: what's new */
.news{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:stretch}
.news .nl{flex-basis:100%;font:italic 1.05rem var(--sans);color:#d9cfba}
.news button{flex:1 1 220px;text-align:left;cursor:pointer;background:rgba(18,14,12,.85);border:1px solid #3a3024;color:#ece4d4;padding:12px 14px;font:1rem/1.35 var(--sans);display:flex;flex-direction:column;gap:2px}
.news button b{font-family:var(--disp);font-weight:400;font-size:1.15rem;color:#f0c674}
.news button span{color:#a69a86;font-size:.95rem}.news button:hover{border-color:#e0a845}
/* story */
.chap{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:start;padding:22px 24px;margin:16px 0}
.chap .cy{font:1.6rem var(--disp);color:#f0c674;text-shadow:0 0 16px rgba(240,190,90,.5)}
.chap h3{font-size:1.5rem;color:#f3e7cf}.chap p{margin:0;color:#d9cfba;max-width:62ch}
.godrow{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
.godrow span{display:flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid #3a3024;font:1.05rem var(--disp);color:#ece4d4}
.godrow span::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--g);box-shadow:0 0 10px 1px var(--g)}
/* classes note */
.lnote2{margin:6px 0 22px;padding:12px 16px;border-left:2px solid #e0a845;background:rgba(240,190,90,.06);color:#d9cfba;max-width:80ch}
/* clans and badges */
.life2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.life2 h3{color:#f0c674}.tiers{display:flex;flex-wrap:wrap;gap:6px}.tiers i{font:normal .85rem var(--sans);color:var(--t);border:1px solid color-mix(in srgb,var(--t) 45%,transparent);padding:1px 8px}
/* dreams */
.dp.fever .big{color:#afff5f}.dp.lucent .big{color:#e8edf6}.dp.wild .big{color:#ff5fd7}.dp.blackout .big{color:#f3e7cf;text-shadow:0 0 22px rgba(240,200,140,.7)}.dp.hunger .big{color:#d7875f}
/* nightlite */
.nlgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;margin-top:22px;align-items:start}
.nlshot img{border-radius:28px;box-shadow:0 0 50px rgba(240,150,60,.35);margin-bottom:18px}
.nlshot .acts{display:flex;flex-wrap:wrap;gap:10px}
.nlf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nlf li{padding:14px 16px;color:#d9cfba;font-size:1rem}.nlf li b{display:block;font:400 1.15rem var(--disp);color:#f0c674}
@media(max-width:900px){.chap{grid-template-columns:1fr;gap:6px}.life2,.nlgrid,.nlf{grid-template-columns:1fr}.menu .logo::before{display:none}}
@media (prefers-reduced-motion:reduce){.menu::after,.menu .logo::before{animation:none}}
:root{--ka:url(/img/vesper-lamplight.svg)}

/* Lamplight, round 2 */
/* the story: the back of a book */
.book{display:grid;grid-template-columns:64px minmax(0,1fr);margin-top:26px;max-width:1000px;box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px #2a2118}
.spine{background:linear-gradient(90deg,#1a120c,#2a1d12 40%,#1a120c);border-right:1px solid #4a3a22;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 0}
.spine span{writing-mode:vertical-rl;transform:rotate(180deg);font:1.5rem var(--disp);letter-spacing:.3em;color:#f0c674;text-shadow:0 0 12px rgba(240,190,90,.5)}
.spine b{writing-mode:vertical-rl;transform:rotate(180deg);font:400 .8rem var(--sans);color:#a69a86;letter-spacing:.15em}
.spine i{width:12px;height:18px;border-radius:3px;background:radial-gradient(circle at 50% 60%,#fff3c4 0 25%,#f0c674 45%,#c98a2c 75%);box-shadow:0 0 14px 4px rgba(240,190,90,.55);animation:lampflick 3.3s steps(1) infinite}
.cover{position:relative;padding:46px 56px 40px;background:radial-gradient(70% 50% at 50% 0,rgba(240,180,80,.10),transparent 70%),linear-gradient(#15100d,#0e0b0a);outline:1px solid #6a5232;outline-offset:-14px}
.cover::before{content:"";position:absolute;inset:20px;border:1px solid rgba(224,168,69,.18);pointer-events:none}
.bk-over{font:italic 1rem var(--sans);color:#a69a86;text-align:center;letter-spacing:.04em;margin:0 0 26px}
.bk-type{margin:0 auto 30px;max-width:520px;font:.95rem/1.7 var(--mono);color:#a69a86;white-space:normal;background:none;border:0;padding:0;min-height:0;box-shadow:none}
.bk-type span{display:block;overflow:hidden;white-space:nowrap;width:0;animation:typeon 2.2s steps(48) forwards}
.bk-type span:nth-child(2){animation-delay:2.4s}.bk-type span:nth-child(3){animation-delay:4.8s;animation-duration:.9s;color:#d9cfba}
.scene:not(.on) .bk-type span{animation:none}
@keyframes typeon{to{width:100%}}
.bk-tag{text-align:center;font:400 clamp(2rem,3.6vw,3rem)/1.15 var(--disp)!important;color:#f6ecd8;text-shadow:0 0 28px rgba(240,180,80,.35);margin:0 0 30px}
.bk-tag em{display:block;font-style:normal;color:#f0c674;margin-top:6px}
.bk-blurb{max-width:62ch;margin:0 auto}
.bk-blurb p{margin:0 0 1em;color:#d9cfba;font-size:1.08rem;break-inside:avoid}
.bk-blurb p:first-child::first-letter{float:left;font:3.6rem/0.9 var(--disp);color:#f0c674;margin:6px 8px 0 0;text-shadow:0 0 18px rgba(240,190,90,.5)}
.bk-stay{text-align:center;font:italic 400 3.4rem var(--disp);color:#f3e7cf;margin:20px 0 6px;letter-spacing:.06em;animation:stay 9s ease-in-out infinite;text-shadow:0 0 30px rgba(120,140,200,.35)}
@keyframes stay{0%,100%{opacity:.35;filter:blur(.6px)}50%{opacity:.95;filter:none}}
.bk-orn{height:28px;margin:10px auto 26px;max-width:420px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='28'%3E%3Cpath d='M0 4Q105 18 210 10Q315 18 420 4' fill='none' stroke='%23e0a845' stroke-opacity='.5'/%3E%3Cpath d='M210 10v5' stroke='%23e0a845'/%3E%3Crect x='205' y='15' width='10' height='11' rx='2' fill='%23f0c674'/%3E%3C/svg%3E") center/420px 28px no-repeat;filter:drop-shadow(0 0 5px rgba(240,190,90,.7))}
.bk-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid #3a3024;border-bottom:1px solid #3a3024;padding:22px 0}
.bk-quotes blockquote{margin:0;text-align:center}
.bk-quotes p{font:italic 1.12rem/1.45 var(--sans);color:#ece4d4;margin:0 0 8px}
.bk-quotes cite{font:normal .95rem var(--disp);color:#e0a845;letter-spacing:.08em}
.bk-quotes cite::before{content:"— "}
.bk-foot{display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:center;margin-top:26px}
.bk-close{margin:0;font:1.35rem/1.3 var(--disp);color:#f3e7cf}
.bk-code{background:#ece4d4;padding:8px 10px 4px;text-align:center}
.bk-code div{width:118px;height:40px;background:repeating-linear-gradient(90deg,#14100c 0 2px,transparent 2px 4px,#14100c 4px 5px,transparent 5px 8px,#14100c 8px 11px,transparent 11px 12px)}
.bk-code span{font:.7rem var(--mono);color:#14100c;letter-spacing:.1em}
/* classes: the hint */
.steps3{grid-template-columns:repeat(4,minmax(0,1fr))}
.step.aspect{border-style:dashed!important;background:linear-gradient(120deg,rgba(240,190,90,.03),rgba(160,140,220,.08),rgba(240,190,90,.03)) 0 0/300% 100%,var(--panel)!important;animation:shimmer 9s ease-in-out infinite}
.step.aspect .lv{color:#a69a86}.step.aspect b{color:#d9cfba}.step.aspect p{font-style:italic}
@keyframes shimmer{0%,100%{background-position:0 0,0 0}50%{background-position:100% 0,0 0}}
/* other */
.oth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.oth h3{color:#f0c674}
.bands{display:flex;flex-wrap:wrap;gap:4px}.bands i{font:normal .82rem var(--sans);color:#14100c;background:var(--b);padding:1px 7px}
/* dreams: the new five as vivid as the first two */
.dp.fever{background:linear-gradient(150deg,rgba(175,255,95,.16),rgba(95,215,175,.03));border-color:rgba(175,255,95,.38)}
.dp.lucent{background:linear-gradient(150deg,rgba(232,237,246,.16),rgba(175,215,255,.03));border-color:rgba(232,237,246,.38)}
.dp.wild{background:linear-gradient(150deg,rgba(255,95,215,.17),rgba(150,110,255,.04));border-color:rgba(255,95,215,.4)}
.dp.blackout{background:radial-gradient(60% 90% at 12% 30%,rgba(240,200,140,.16),transparent 70%),linear-gradient(150deg,rgba(0,0,0,.6),rgba(30,30,40,.2));border-color:rgba(240,210,160,.3)}
.dp.hunger{background:linear-gradient(150deg,rgba(215,135,95,.18),rgba(120,70,40,.04));border-color:rgba(215,135,95,.4)}
.dp.fever h3,.dp.fever .big{color:#afff5f}.dp.lucent h3,.dp.lucent .big{color:#e8edf6}.dp.wild h3,.dp.wild .big{color:#ff5fd7}.dp.blackout h3{color:#f3e7cf}.dp.hunger h3,.dp.hunger .big{color:#d7875f}
.dp.wild .big{text-shadow:2px 0 0 rgba(95,255,255,.5),-2px 0 0 rgba(255,95,215,.5)}
.dp.lucent .big{text-shadow:0 0 22px rgba(200,220,255,.6)}
.dp.fever .big{animation:swim 3s ease-in-out infinite alternate}@keyframes swim{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
/* gentle motion everywhere */
.scene.on .in>*{animation:rise .6s ease both}
.scene.on .in>*:nth-child(2){animation-delay:.06s}.scene.on .in>*:nth-child(3){animation-delay:.12s}.scene.on .in>*:nth-child(4){animation-delay:.18s}.scene.on .in>*:nth-child(5){animation-delay:.24s}.scene.on .in>*:nth-child(n+6){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.kicker::before{animation:lampflick 4s steps(1) infinite}
.scene h2::after{transform-origin:50% 0;animation:wsway 7s ease-in-out infinite}
@keyframes wsway{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}
@media(max-width:900px){.book{grid-template-columns:1fr}.spine{display:none}.cover{padding:30px 22px}.bk-blurb{columns:1}.bk-quotes,.bk-foot,.oth{grid-template-columns:1fr}.steps3{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.bk-type span{width:auto;animation:none}.bk-stay{animation:none;opacity:.9}}

/* Lamplight, round 3 */
.bk-foot{grid-template-columns:1fr auto}
/* races: stacked bars */
.stat{grid-template-columns:38px 1fr 52px}
.sbar{position:relative;overflow:visible;background:rgba(255,255,255,.04)!important}
.sbar b{position:absolute;left:0;top:0;bottom:0;width:calc(var(--m)/50*100%);background:linear-gradient(90deg,rgba(138,106,54,.55),rgba(201,164,106,.55));border-radius:5px}
.sbar i{position:relative;width:calc(var(--v)/50*100%)!important;background:linear-gradient(90deg,#c98a2c,#f3d79a)!important;box-shadow:0 0 8px rgba(240,190,90,.45)}
.stat .v small{color:#8b7f6a;font-size:.85em}
.rnote .lg{display:inline-block;width:14px;height:8px;border-radius:3px;margin:0 6px 0 10px;vertical-align:middle}.rnote .lg:first-child{margin-left:0}
.rnote .lg.t{background:linear-gradient(90deg,#c98a2c,#f3d79a)}.rnote .lg.x{background:rgba(201,164,106,.55)}
/* other: full-width sections */
.osec{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 44px;align-items:start;margin:30px 0;padding:40px 44px 40px 44px;background:radial-gradient(60% 80% at 0 0,rgba(240,180,80,.08),transparent 70%),var(--panel);border:1px solid #3a3024;box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.25),0 24px 48px rgba(0,0,0,.5)}
.osec.rev{background:radial-gradient(60% 80% at 100% 0,rgba(240,180,80,.08),transparent 70%),var(--panel)}
.osec.rev>.otext{order:2}
.osec>.ascale,.osec>.ofeat,.osec>.cladder{grid-column:1/-1;order:3}
.onum{position:absolute;top:-17px;left:40px;font:1.5rem/1 var(--disp);color:#e0a845;background:#0d0b10;padding:2px 12px;text-shadow:0 0 12px rgba(240,190,90,.5)}
.olab{display:block;font:italic 1.05rem var(--sans);color:#e0a845;margin-bottom:4px}
.otext h3{font-size:2.1rem;color:#f6ecd8;margin-bottom:.6em}
.otext p{color:#d9cfba}
.ocmd{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.ocmd code{border:1px solid #3a3024;padding:3px 9px;color:#f3d79a;background:rgba(0,0,0,.25)}
.oterm{min-height:0!important;font-size:.82rem!important;margin:0}
.oterm .a1{color:#d7875f}.oterm .a2{color:#c9ccd3}.oterm .a3{color:#ffaf00}.oterm .a4{color:#afd7ff}.oterm .a5{color:#87ffff}.oterm .a6{color:#d787ff}
.ascale{margin-top:4px}
.abar{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
.abar i{font:normal .8rem var(--sans);text-align:center;padding:8px 0 6px;color:#14100c;background:var(--c);box-shadow:0 0 14px -4px var(--c)}
.abar i:nth-child(1),.abar i:nth-child(2){color:#fff3ea}
.abar .you{position:absolute;top:-30px;left:calc(var(--p)*1%);transform:translateX(-50%);font:italic .9rem var(--sans);color:#f3d79a;animation:bob 3s ease-in-out infinite}
.abar .you::after{content:"";display:block;width:0;height:0;margin:2px auto 0;border:6px solid transparent;border-top-color:#f3d79a}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,3px)}}
.anum{display:flex;justify-content:space-between;font:.78rem var(--mono);color:#8b7f6a;margin-top:6px}
.ofeat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ofeat div{border-top:2px solid #e0a845;padding:14px 4px 0}.ofeat b{font:400 1.2rem var(--disp);color:#f0c674}.ofeat p{font-size:.98rem;color:#cfc5b2;margin:.3em 0 0}
.charter{border:1px solid #6a5232;background:linear-gradient(#1a1410,#120e0c);padding:22px 24px;box-shadow:0 0 40px -10px rgba(240,190,90,.3)}
.ctop{display:flex;gap:16px;align-items:center;padding-bottom:16px;border-bottom:1px solid #3a3024}
.ctag{font:600 1.5rem var(--mono);background:linear-gradient(90deg,#d6b56d,#f0d58c,#ffaf00,#d7875f);-webkit-background-clip:text;background-clip:text;color:transparent}
.ctop b{display:block;font:400 1.6rem var(--disp);color:#f6ecd8}.ctop em{color:#a69a86}
.cstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.cstats div{background:rgba(0,0,0,.25);padding:10px 12px}.cstats b{display:block;font:400 1.4rem var(--disp);color:#f0c674}.cstats span{font-size:.85rem;color:#a69a86}
.cline{font:.8rem var(--mono);color:#d6b56d;margin:6px 0}.cline.d{color:#8b91a0}
.ranks{display:flex;margin-top:16px}.ranks span{flex:1;text-align:center;font:.85rem var(--sans);padding:6px 2px;color:#d9cfba;border:1px solid #3a3024;margin-right:-1px}
.ranks span:nth-child(n+4){color:#1a1208;background:#e0a845;border-color:#e0a845}.ranks span:nth-child(4){background:#c9a46a;border-color:#c9a46a}
.cladder{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;position:relative}
.cladder::before{content:"";position:absolute;left:4%;right:4%;top:21px;height:2px;background:linear-gradient(90deg,#4a3c28,#e0a845)}
.cladder div{position:relative;text-align:center;padding:0 6px}
.cladder b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#16110d;border:1px solid #6a5232;font:400 1.2rem var(--disp);color:#d9cfba}
.cladder .m b{background:#e0a845;color:#1a1208;border-color:#e0a845;box-shadow:0 0 16px rgba(240,190,90,.6)}
.cladder span{display:block;font-size:.88rem;color:#a69a86;margin-top:8px;line-height:1.3}
.tierrow{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.tierrow i{font:normal .9rem var(--sans);color:var(--t);border:1px solid color-mix(in srgb,var(--t) 50%,transparent);padding:2px 10px;box-shadow:0 0 12px -6px var(--t)}
.rest{display:flex;flex-direction:column;gap:18px}
.tokens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tokens div{background:#1b1712;border:1px solid #6a5232;padding:16px 14px;text-align:center;box-shadow:0 0 30px -12px rgba(240,190,90,.6)}
.itag{display:inline-block;font:.72rem var(--mono);color:#f0c674;background:#202024;padding:2px 6px;margin-bottom:8px}
.tokens b{display:block;font:400 1.15rem var(--disp);color:#f6ecd8}.tokens em{font-size:.9rem;color:#a69a86}
.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.perks li{padding:10px 12px;border-left:2px solid #e0a845;background:rgba(240,190,90,.05);color:#cfc5b2;font-size:.98rem}.perks b{display:block;color:#f0c674;font-weight:500}
.nights{display:flex;flex-wrap:wrap;gap:6px}.nights span{font:.85rem var(--sans);color:var(--n);border:1px solid #3a3024;padding:3px 9px}
@media(max-width:900px){.book{grid-template-columns:minmax(0,1fr)}.cover{min-width:0}.bk-type span{white-space:normal;width:auto;animation:none!important}.news button{flex-basis:100%;min-width:0}.bk-stay{font-size:2.6rem}.osec{grid-template-columns:1fr;padding:28px 20px}.osec.rev>.otext{order:0}.ofeat,.perks,.tokens{grid-template-columns:1fr}.tokens div{transform:none!important}.cladder{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}.cladder::before{display:none}.abar i{font-size:0;padding:10px 0}.onum{display:none}}

/* Leaderboards */
.lbnow{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:18px 22px;border:1px solid #3a3024;background:linear-gradient(90deg,rgba(240,190,90,.08),transparent 60%),var(--panel);box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.25)}
.lbn-count b{display:block;font:400 2.6rem/1 var(--disp);color:#f0c674;text-shadow:0 0 18px rgba(240,190,90,.5)}.lbn-count span{color:#a69a86;font-size:.95rem}
.lbn-dream{display:flex;gap:10px;align-items:center;padding:8px 14px;border:1px solid rgba(240,198,116,.4);background:rgba(240,198,116,.08)}
.lbn-dream b{display:block;font:400 1.1rem var(--disp);color:#f0c674}.lbn-dream span{font-size:.88rem;color:#a69a86}
.lbdot{width:10px;height:10px;border-radius:50%;background:#f0c674;box-shadow:0 0 10px 3px rgba(240,198,116,.7);animation:lampflick 2.4s steps(1) infinite}
.lbn-who{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.92rem}.lbn-who b{color:#ece4d4;font-weight:500;margin-right:5px}.lbn-who em{color:#8b7f6a}.lbn-who .more{color:#a69a86;font-style:italic}
.lbn-upd{font:.78rem var(--mono);color:#8b7f6a;align-self:start}
.lbbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:22px 0 16px}
.lbcats{display:flex;flex-wrap:wrap;gap:6px}
.lbcats button,.lbseg button{font:1rem var(--sans);background:rgba(18,14,12,.85);color:#a69a86;border:1px solid #3a3024;padding:6px 12px;cursor:pointer}
.lbcats button.on,.lbseg button.on{background:#e0a845;color:#1a1208;border-color:#e0a845}
.lbopts{display:flex;flex-wrap:wrap;gap:10px}.lbseg{display:flex}.lbseg button{margin-right:-1px;font-size:.9rem}
.lbmain{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.lbboard{padding:26px 28px;border:1px solid #3a3024;background:var(--panel);box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.25),0 24px 48px rgba(0,0,0,.5)}
.lbhead{display:flex;justify-content:space-between;align-items:start;gap:14px}.lbhead h3{font-size:1.8rem;color:#f6ecd8;margin:0}.lbhead p{margin:.2em 0 0;color:#a69a86}
.lbunit{font:.8rem var(--mono);color:#8b7f6a;border:1px solid #3a3024;padding:2px 8px}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin:26px 0 18px}
.pod{position:relative;text-align:center;padding:40px 10px 16px;border:1px solid #4a3c28;background:linear-gradient(rgba(240,190,90,.10),rgba(20,15,12,.6))}
.pod.p1{padding-top:58px;border-color:#e0a845;background:linear-gradient(rgba(240,190,90,.22),rgba(20,15,12,.6))}
.plamp{position:absolute;top:-14px;left:50%;width:16px;height:22px;margin-left:-8px;border-radius:3px 3px 5px 5px;background:radial-gradient(circle at 50% 60%,#fff3c4 0 25%,#f0c674 45%,#c98a2c 75%);box-shadow:0 0 16px 6px rgba(240,190,90,.55);animation:lampflick 3.4s steps(1) infinite}
.pod.p2 .plamp{animation-duration:4.1s;opacity:.85}.pod.p3 .plamp{animation-duration:5s;opacity:.7}
.prank{display:block;font:italic .95rem var(--sans);color:#e0a845}.pod b{display:block;font:400 1.6rem var(--disp);color:#f6ecd8}.pod.p1 b{font-size:2rem}
.pod em{display:block;font-size:.88rem;color:#a69a86;margin:2px 0 8px}.pod strong{font:600 1.1rem var(--mono);color:#f0c674}
.lbrows{list-style:none;margin:0;padding:0}
.lbrows li{display:grid;grid-template-columns:34px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.3fr) 110px;gap:12px;align-items:center;padding:9px 6px;border-top:1px solid #2a2219}
.lbrows li:hover{background:rgba(240,190,90,.05)}
.lbrows .rk{font:1.1rem var(--disp);color:#8b7f6a}.lbrows .nm b{color:#ece4d4;font-weight:500}.lbrows .tg{font:.75rem var(--mono);color:#d6b56d;margin-left:6px}
.lbrows .cl{color:#8b7f6a;font-size:.9rem}.lbrows .vl{text-align:right;font:.9rem var(--mono);color:#f3d79a}
.lbb{height:6px;background:rgba(255,255,255,.05)}.lbb i{display:block;height:100%;background:linear-gradient(90deg,#8a5a22,#f0c674)}
.lbside{display:flex;flex-direction:column;gap:16px}
.lbcard{padding:18px 20px;border:1px solid #3a3024;background:var(--panel)}.lbcard h4{font:400 1.25rem var(--disp)!important;color:#f0c674;margin:0 0 10px}
.lbcard ul,.lbcard ol{list-style:none;margin:0;padding:0}.lbcard li{padding:7px 0;border-top:1px solid #2a2219;font-size:.95rem;color:#cfc5b2}.lbcard li:first-child{border-top:0}
.lbcard li b{color:#ece4d4;font-weight:500}.lbcard li span{display:block;font-size:.8rem;color:#8b7f6a}
.firsts li.open b{color:#6c7280}.firsts li.open{color:#8b7f6a;font-style:italic}
.clanb li{display:grid;grid-template-columns:58px 1fr;gap:0 10px}.clanb .ct{grid-row:span 2;font:.85rem var(--mono);align-self:center}.clanb em{color:#8b7f6a;font-size:.82rem}
.ct.t1{color:#f0c674}.ct.t2{color:#b58ad6}.ct.t3{color:#e0a845}.ct.t4{color:#6fbcc4}
.lbempty{color:#8b7f6a;font-style:italic;margin:20px 0}
#lbwait{margin-top:10px}

/* Lookup */
.lkform{margin:10px 0 24px;max-width:560px}
.lklab{display:block;font:italic 1rem var(--sans);color:#a69a86;margin-bottom:6px}
.lkrow{display:flex;gap:10px}
.lkrow input{flex:1;min-width:0;font:1.3rem var(--disp);letter-spacing:.04em;color:#f6ecd8;background:rgba(10,8,8,.8);border:1px solid #6a5232;padding:10px 14px;outline:none;box-shadow:inset 0 0 18px rgba(0,0,0,.5)}
.lkrow input:focus{border-color:#e0a845;box-shadow:0 0 0 3px rgba(224,168,69,.2),inset 0 0 18px rgba(0,0,0,.5)}
.lkmsg{max-width:620px;text-align:center;padding:44px 30px;border:1px solid #3a3024;background:var(--panel);box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.2)}
.lkmsg h3{font-size:1.9rem;color:#f6ecd8;margin:14px 0 6px}.lkmsg p{color:#a69a86;margin:0}
.lklamp{display:inline-block;width:18px;height:26px;border-radius:3px 3px 5px 5px;border:1px solid #6a5232}
.lklamp.off{background:#1a1612}.lklamp.dim{background:radial-gradient(circle at 50% 60%,#8a6a36 0 30%,#3a2a16 70%);box-shadow:0 0 10px rgba(240,190,90,.2)}
.lkcard{border:1px solid #4a3c28;background:radial-gradient(70% 60% at 15% 0,rgba(240,180,80,.10),transparent 70%),var(--panel);box-shadow:inset 0 0 0 4px rgba(14,11,12,.95),inset 0 0 0 5px rgba(224,168,69,.28),0 30px 60px rgba(0,0,0,.55);animation:rise .4s ease both}
.lktop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 34px 22px;border-bottom:1px solid #3a3024}
.lklv{width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid #e0a845;background:radial-gradient(circle,rgba(240,190,90,.25),rgba(20,15,12,.9) 70%);box-shadow:0 0 30px rgba(240,190,90,.35)}
.lklv b{font:400 2.4rem/1 var(--disp);color:#f6ecd8}.lklv span{font:italic .8rem var(--sans);color:#e0a845}
.lkid h3{font-size:2.6rem;color:#f6ecd8;margin:0;line-height:1.05}.lkid h3 em{font:italic 400 1.2rem var(--sans);color:#d9cfba;margin-left:4px}
.lktag{font:600 1rem var(--mono);color:#f0c674;margin-right:12px;vertical-align:.4em}
.lkline{margin:6px 0 0;color:#a69a86}.lkline b{font-weight:500}
.lkseen{font:.85rem var(--sans);color:#8b7f6a;border:1px solid #3a3024;padding:4px 10px;align-self:start}
.lkseen.on{color:#a3d69a;border-color:rgba(127,183,126,.5)}.lkseen.on::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#7fb77e;box-shadow:0 0 8px #7fb77e;margin-right:7px;vertical-align:.1em}
.lkfacts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #3a3024}
.lkf{padding:14px 16px;border-right:1px solid #2a2219}.lkf:last-child{border-right:0}
.lkf span{display:block;font:italic .85rem var(--sans);color:#8b7f6a}.lkf b{font:400 1.05rem var(--sans);color:#ece4d4;text-transform:none}
.lkbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;padding:26px 34px 34px}
.lkbody h4{font:400 1.25rem var(--disp)!important;color:#f0c674;margin:0 0 10px}
.lkdesc{position:relative;padding:4px 0 4px 22px;border-left:2px solid #e0a845;margin-bottom:26px}
.lkdesc p{font:italic 1.12rem/1.6 var(--sans);color:#e6dccb;margin:0 0 .6em}
.lkclan{padding:12px 16px;background:rgba(240,198,116,.06);border:1px solid rgba(240,198,116,.25);margin-bottom:26px}
.lkclan p{margin:0;color:#d6b56d;font-size:1rem}
.lkbwrap{padding:0 34px 34px}.lkbwrap h4{font:400 1.25rem var(--disp)!important;color:#f0c674;margin:0 0 10px;padding-top:24px;border-top:1px solid #3a3024}
.lkbadges{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.lkleft{display:flex;flex-direction:column}.lkdesc{flex:1;background:linear-gradient(90deg,rgba(240,190,90,.05),transparent 80%);padding:14px 18px 10px 22px}
.lkbody>.lkleft>.lkclan{margin-bottom:0}
.lkb{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:8px 10px;background:rgba(0,0,0,.22);border:1px solid #2a2219}
.lkb .bm{font:600 1rem var(--mono);text-align:center;text-shadow:0 0 10px currentColor}
.lkb b{display:block;font-weight:500;color:#ece4d4;font-size:.95rem}.lkb span{font-size:.82rem}.lkb em{grid-column:2;white-space:nowrap;font:.75rem var(--mono);color:#8b7f6a;font-style:normal}.lkb b{white-space:nowrap}
.lkb.none .bm{color:#4a4a52;text-shadow:none}.lkb.none span{color:#6c7280}
.lkeq{margin:0;font:.76rem/1.6 var(--mono);color:#c9ccd3;background:#07080c;border:1px solid #2a2219;padding:16px 18px;white-space:pre;overflow-x:auto;tab-size:8}
.lkeq .fp{color:#6c7280}.lkeq .fg{color:#93dbe0}.lkeq .fh{color:#d3aef0}
.lkeqn{font:italic .88rem var(--sans);color:#8b7f6a;margin:8px 0 0}
.lklink{font:.8rem var(--mono);color:#8b7f6a;margin:8px 0 0;min-height:1em}
.lkeq .fo{color:#a9aebb}

/* The menu in four groups */
.menu .play{flex-shrink:0}
.menu li.dd{position:relative}
.menu details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 12px;font:1.15rem var(--disp);color:#a69a86;user-select:none}
.menu details>summary::-webkit-details-marker{display:none}
.menu details>summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px;transition:transform .15s}
.menu details[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.menu details>summary:hover,.menu details[open]>summary,.menu li.dd:has(button.on)>details>summary{color:#f3e7cf}
.menu li.dd:has(button.on)>details>summary{box-shadow:inset 0 -2px 0 #e0a845}
.menu .sub{position:absolute;top:calc(100% + 10px);left:0;z-index:30;min-width:200px;margin:0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:2px;background:rgba(16,12,12,.98);border:1px solid #4a3c28;box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 1px rgba(224,168,69,.15) inset;animation:rise .18s ease both}
.menu .sub::before{content:"";position:absolute;top:-6px;left:22px;width:10px;height:10px;background:rgba(16,12,12,.98);border-left:1px solid #4a3c28;border-top:1px solid #4a3c28;transform:rotate(45deg)}
.menu .sub li button{width:100%;text-align:left;justify-content:flex-start;padding:9px 12px!important;box-shadow:none!important}
.menu .sub li button.on{color:#1a1208!important;background:#e0a845!important}
.menu .sub li button:not(.on):hover{background:rgba(240,190,90,.08)!important}
@media(min-width:901px){.menu .sub li button .mi{display:inline-block!important;width:18px;height:18px;margin-right:10px;opacity:.7}}
@media(max-width:900px){.menu{overflow:visible!important}.menu ul{overflow:visible!important;justify-content:space-between}.menu .sub{position:absolute;left:auto;right:0}.menu details>summary{font-size:1rem;padding:8px 4px}.menu>ul>li>button{padding:8px 4px!important}}

/* The name goes home; the lamp beside it is a switch */
.menu .logo::before{display:none!important}
.menu .logo{display:flex;align-items:center;gap:12px}
.logolink{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;letter-spacing:inherit;text-shadow:inherit}
.logolink:hover{color:#fff3d6}
.lampbtn{flex:0 0 auto;width:14px;height:20px;padding:0;border:0;cursor:pointer;border-radius:3px 3px 4px 4px;background:radial-gradient(circle at 50% 60%,#fff3c4 0 25%,#f0c674 45%,#c98a2c 75%);box-shadow:0 0 14px 4px rgba(240,190,90,.55);animation:lampflick 3.2s steps(1) infinite;transition:background .6s,box-shadow .6s}
.lampbtn:focus-visible{outline:2px solid #f3d79a;outline-offset:4px}
@media(max-width:900px){.lampbtn{width:12px;height:17px}}
/* Lights out */
html.lightsout .lampbtn{background:radial-gradient(circle at 50% 60%,#3a2c1a 0 30%,#1c160f 75%);box-shadow:0 0 0 1px #4a3c28;animation:none}
html.lightsout .menu::after{opacity:.18;filter:none;animation:none}
html.lightsout .ka,html.lightsout .scene:not([data-k=home])::before{filter:brightness(.35) saturate(.6)!important;transition:filter 1.2s}
.ka,.scene:not([data-k=home])::before{transition:filter 1.2s}
html.lightsout .kicker::before,html.lightsout .plamp,html.lightsout .spine i,html.lightsout .lbdot,html.lightsout .menu .logo::before{background:#2a2016!important;box-shadow:none!important;animation:none!important}
html.lightsout .scene h2::after,html.lightsout .bk-orn{filter:none;opacity:.35}
html.lightsout .tag,html.lightsout .bk-tag,html.lightsout .chap .cy,html.lightsout .lklv{text-shadow:none;box-shadow:none}
html.lightsout body::before{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;background:radial-gradient(circle 190px at var(--lx,50%) var(--ly,40%),rgba(0,0,0,0) 0,rgba(0,0,0,.25) 45%,rgba(4,3,5,.78) 100%);animation:fadein 1.2s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.lomsg{position:fixed;left:50%;top:96px;transform:translateX(-50%);z-index:60;font:italic 1.15rem var(--sans);color:#d9cfba;background:rgba(10,8,8,.85);border:1px solid #3a3024;padding:8px 18px;pointer-events:none;animation:rise .4s ease both;transition:opacity 1s}
.lomsg.go{opacity:0}
@media (prefers-reduced-motion:reduce){html.lightsout body::before{animation:none}}

/* Easter eggs (October 2026): the site dreams with the game; names Lookup knows */
.dreamfx{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 2s}
.ka{transition:filter 2s}
html[data-dream] .dreamfx{opacity:1}
html[data-dream=blood] .ka{filter:sepia(.35) saturate(1.8) hue-rotate(-28deg) brightness(.8)}
html[data-dream=blood] .dreamfx{background:linear-gradient(rgba(150,10,22,.22),rgba(70,0,10,.5));mix-blend-mode:multiply;animation:dbeat 2.4s ease-in-out infinite}
@keyframes dbeat{0%,100%{opacity:.75}12%{opacity:1}24%{opacity:.8}36%{opacity:.98}}
html[data-dream=golden] .ka{filter:sepia(.55) saturate(1.5) brightness(1.1)}
html[data-dream=golden] .dreamfx{background:radial-gradient(1.5px 1.5px at 20% 30%,#fff3c4,transparent),radial-gradient(1px 1px at 70% 60%,#ffe08a,transparent),radial-gradient(2px 2px at 45% 80%,#fff3c4,transparent),radial-gradient(1px 1px at 85% 20%,#ffd36a,transparent),radial-gradient(60% 60% at 70% 70%,rgba(255,200,90,.25),transparent 70%);background-size:180px 180px,240px 240px,300px 300px,210px 210px,100% 100%;animation:dmotes 18s linear infinite}
@keyframes dmotes{to{background-position:0 -180px,0 -240px,0 -300px,0 -210px,0 0}}
html[data-dream=fever] .ka{filter:saturate(1.4) hue-rotate(70deg) contrast(1.1);animation:dfever 7s ease-in-out infinite}
html[data-dream=fever] .dreamfx{background:radial-gradient(60% 50% at 75% 30%,rgba(175,255,0,.18),transparent 70%),radial-gradient(70% 60% at 20% 80%,rgba(0,215,175,.18),transparent 70%),radial-gradient(80% 70% at 50% 60%,transparent 40%,rgba(40,70,20,.4));animation:dfever2 3.3s ease-in-out infinite}
@keyframes dfever{0%,100%{transform:none}48%{transform:skewX(.5deg) scale(1.006)}52%{transform:skewX(-.4deg)}}
@keyframes dfever2{0%,100%{opacity:.7}50%{opacity:1}}
html[data-dream=lucent] .ka{filter:brightness(1.15) saturate(.55) hue-rotate(165deg) contrast(1.06)}
html[data-dream=lucent] .dreamfx{background:linear-gradient(115deg,transparent 35%,rgba(220,240,255,.16) 48%,transparent 60%),radial-gradient(90% 80% at 50% 50%,transparent 50%,rgba(95,95,215,.3));background-size:250% 100%;animation:dsweep 9s ease-in-out infinite}
@keyframes dsweep{from{background-position:120% 0}to{background-position:-120% 0}}
html[data-dream=wild] .ka{filter:hue-rotate(-112deg) saturate(1.7) brightness(.95) contrast(1.1)}
html[data-dream=wild] .dreamfx{background:linear-gradient(120deg,rgba(215,95,255,.28),rgba(255,0,135,.26) 40%,rgba(0,255,255,.2) 70%,rgba(215,95,255,.28));background-size:300% 300%;mix-blend-mode:screen;animation:dwild 9s ease-in-out infinite alternate}
@keyframes dwild{0%{background-position:0 50%}50%{background-position:100% 30%}100%{background-position:40% 100%}}
html[data-dream=blackout] .ka{filter:brightness(.26) saturate(.35)}
html[data-dream=blackout] .dreamfx{background:radial-gradient(70% 60% at 50% 55%,transparent,rgba(0,0,0,.6))}
html[data-dream=blackout] .menu::after{opacity:.12;filter:none;animation:none;transition:opacity 2s}
html[data-dream=hunger] .ka{filter:grayscale(.9) contrast(1.15) brightness(.72) sepia(.35) hue-rotate(-12deg)}
html[data-dream=hunger] .dreamfx{background:radial-gradient(closest-side,transparent 55%,rgba(20,10,10,.75));animation:dbreathe 5s ease-in-out infinite}
@keyframes dbreathe{0%,100%{transform:scale(1.25)}50%{transform:scale(1.02)}}
.dreamline{display:none;align-items:center;gap:10px;margin:10px 0 0;font:italic 1.05rem var(--sans,serif);color:#e8dcc4}
html[data-dream] .dreamline{display:flex}
.dreamline i{width:9px;height:9px;border-radius:50%;background:var(--dc,#f0c674);box-shadow:0 0 10px 2px var(--dc,#f0c674);animation:lampflick 3s steps(1) infinite}
.dreamline span{color:#a99c83;font-style:normal;font-size:.9rem}
html[data-dream=blood]{--dc:#d70000}html[data-dream=golden]{--dc:#ffd700}html[data-dream=fever]{--dc:#afff00}html[data-dream=lucent]{--dc:#afd7ff}html[data-dream=wild]{--dc:#d75fff}html[data-dream=blackout]{--dc:#bcbcbc}html[data-dream=hunger]{--dc:#d7875f}


.lkspecial{position:relative;text-align:center;padding:46px 28px 40px;border:1px solid #5a4a30;background:radial-gradient(60% 70% at 50% 0,rgba(240,190,90,.14),transparent 70%),#15110c;box-shadow:inset 0 0 0 6px #15110c,inset 0 0 0 7px #3a3024}
.lkspecial svg{width:58px;height:58px;color:#e9c27a;filter:drop-shadow(0 0 10px rgba(240,190,90,.55))}
.lkspecial .k{margin:14px 0 2px;font:.8rem var(--sans,serif);letter-spacing:.22em;text-transform:uppercase;color:#a58c5f}
.lkspecial h3{margin:0;font-family:'IM Fell English SC',serif;font-size:clamp(2.2rem,5vw,3.2rem);color:#fff3d6;text-shadow:0 0 24px rgba(240,190,90,.35)}
.lkspecial em{display:block;margin:4px 0 18px;font-size:1.25rem;color:#d9b97a}
.lkspecial p{max-width:44ch;margin:0 auto;font-size:1.12rem;line-height:1.55;color:#d7ccb8}
@media (prefers-reduced-motion:reduce){html[data-dream] .ka,html[data-dream] .dreamfx{animation:none!important}}

/* Lamplight on every page (October 2026): Download, Updates and an update share the home page's menu, and a few web extras */
.menu .play .awake{display:inline-flex;align-items:center;gap:8px;font:italic 1rem var(--sans);color:#d9cfba;text-decoration:none;white-space:nowrap}
.menu .play .awake[hidden]{display:none}
.menu .play .awake i{width:8px;height:8px;border-radius:50%;background:#7fd3a0;box-shadow:0 0 10px 2px rgba(127,211,160,.6);animation:lampflick 3.6s steps(1) infinite}
.menu .play .awake b{font-style:normal;color:#f3e7cf}
.menu .play .awake:hover{color:#fff3d6}
.firstnote{margin:10px 0 0}
.firstnote button,.fnc button{background:none;border:0;padding:0;font:inherit;color:#e0a845;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.firstnote em{font-style:italic}
.fn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.fnc{position:relative;border:1px solid #3a3024;background:#15110c;padding:22px 24px 20px 64px}
.fnc.wide{grid-column:1/-1}
.fnc h3{margin:0 0 10px;color:#f3e7cf;font-size:1.35rem}
.fnc p{margin:0 0 10px;color:#d7ccb8;line-height:1.6}
.fnc a{color:#e0a845}
.fnc i{color:#f3e7cf;font-style:normal;font-family:ui-monospace,monospace;font-size:.92em}
.fnn{position:absolute;left:20px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--disp);color:#1a1208;background:radial-gradient(circle at 50% 40%,#fff3c4,#e0a845 60%,#b07a2c);box-shadow:0 0 14px rgba(240,190,90,.5)}
.fnaddr{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;margin-top:12px;padding:12px 14px;background:#0d0b08;border:1px solid #3a3024}
.fnaddr span{color:#8b7f6a;font-style:italic}
.fnaddr code{color:#f3e7cf;font-size:1.02rem;user-select:all}
.fncmd{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:8px 20px;margin:0}
.fncmd dt{font-family:ui-monospace,monospace;color:#f0c674;white-space:nowrap}
.fncmd dd{margin:0;color:#d7ccb8}
@media(max-width:700px){.fn{grid-template-columns:1fr}.fncmd{grid-template-columns:1fr;gap:2px}.fncmd dd{margin-bottom:8px}.fnc{padding-left:56px}}
.rss{display:inline-flex;align-items:center;gap:6px;color:#e0a845;font-style:italic;text-decoration:none;white-space:nowrap}
.rss svg{width:15px;height:15px}
.rss:hover{color:#fff3d6}
.crumb{margin:0 0 14px}.crumb a{color:#a58c5f;font-style:italic;text-decoration:none}.crumb a:hover{color:#e0a845}
.tagchip{display:inline-block;font:.8rem ui-monospace,monospace;color:#1a1208;background:#e0a845;padding:2px 8px;letter-spacing:.03em}
.umeta{display:flex;gap:12px;align-items:center;color:#8b7f6a;font-style:italic;margin-bottom:6px}
.ulist{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid #3a3024}
.ulist li{border-bottom:1px solid #3a3024}
.ulist a{display:grid;grid-template-columns:160px 1fr auto;gap:18px;align-items:baseline;padding:14px 6px 6px;text-decoration:none;color:#e8dcc4}
.ulist a:hover{background:rgba(240,190,90,.05)}
.ulist .ut{font-size:1.18rem;color:#f3e7cf}
.ulist time{color:#8b7f6a;font-style:italic;white-space:nowrap}
.ulist p{margin:0 6px 14px 184px;color:#a99c83;line-height:1.5}
@media(max-width:700px){.ulist a{grid-template-columns:1fr;gap:4px}.ulist p{margin:0 6px 14px}}
.prose{color:#d7ccb8;line-height:1.65;font-size:1.08rem}
.prose ul{list-style:none;padding:0;margin:18px 0}
.prose li{position:relative;padding:0 0 14px 24px}
.prose li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;background:#e0a845;box-shadow:0 0 8px rgba(240,190,90,.6)}
.prose h3{color:#f3e7cf;margin:26px 0 8px}
.prose a{color:#e0a845}
.ulede{font-size:1.2rem;color:#d9cfba;font-style:italic;margin:6px 0 10px}
.dlhero{display:flex;gap:30px;align-items:center;margin:6px 0 26px}
.dlhero img{width:116px;height:116px;flex:none;filter:drop-shadow(0 0 24px rgba(240,190,90,.35))}
.dlhero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.dlmeta{color:#8b7f6a;font-style:italic;margin:10px 0 0}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0 26px}
.feats div{border:1px solid #3a3024;background:#15110c;padding:16px 18px;color:#d7ccb8;line-height:1.5}
.feats b{display:block;font-family:var(--disp);font-weight:400;color:#f3e7cf;margin-bottom:6px;font-size:1.15rem}
.note{border-left:3px solid #e0a845;background:rgba(240,190,90,.06);padding:14px 18px;color:#d7ccb8;line-height:1.6;margin:0 0 14px}
@media(max-width:700px){.dlhero{flex-direction:column;align-items:flex-start;gap:16px}}
@media(max-width:900px){.menu{position:sticky}.menu .play .awake{position:absolute;top:20px;right:16px}}
