:root{--font-display:"Aether Display", Georgia, serif;--font-ui:"Aether Sans", system-ui, sans-serif;--sys-bg:#08162cc7;--sys-edge:#78c8ff8c;--sys-glow:#5ab4ff59;--sys-text:#dff2ff;--sys-dim:#8fb4cf;--gold:#e8c77a}*{box-sizing:border-box}html,body{height:100%;color:var(--sys-text);font-family:var(--font-ui);background:#05070b;margin:0;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#loading{z-index:100;background:radial-gradient(at 50% 40%,#142238 0%,#05070b 70%);flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.2s;display:flex;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}.loading-title{font-family:var(--font-display);letter-spacing:.35em;color:#eaf6ff;text-shadow:0 0 24px var(--sys-glow);font-size:64px}.loading-sub{font-family:var(--font-display);letter-spacing:.5em;color:var(--gold);margin-top:6px;font-size:18px}.loading-track{background:#ffffff14;width:min(420px,70vw);height:2px;margin-top:48px;overflow:hidden}#loading-bar{transform-origin:0;background:linear-gradient(90deg,#6fc3ff,#e8f7ff);height:100%;transition:transform .2s;transform:scaleX(0);box-shadow:0 0 12px #6fc3ff}#loading-label{letter-spacing:.2em;text-transform:uppercase;color:var(--sys-dim);margin-top:14px;font-size:12px}.dmg-layer{pointer-events:none;z-index:20;position:fixed;inset:0;overflow:hidden}.dmg{font-family:var(--font-ui);letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px #000000bf,0 0 10px #00000073;will-change:transform, opacity;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;position:absolute;top:0;left:0}.dmg-crit{text-shadow:0 2px #000c,0 0 18px #ffaa3cbf;font-size:26px}.dmg-reaction{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px #000c,0 0 16px;font-size:18px}.dmg-player{font-size:18px;color:#ff5a4a!important}:root{--ink:#e9eef2;--ink-dim:#9fb0bd;--frame:#2a2620;--frame-hi:#6d5c3d;--gold:#d9b56b;--gold-dim:#8c7442;--panel:#0c0d10c7;--sys:#7fd0ff;--sys-bg:#061426d1}#hud{pointer-events:none;z-index:30;font-family:var(--font-ui);color:var(--ink);user-select:none;position:fixed;inset:0}#hud *{box-sizing:border-box}.hud-bottom{align-items:flex-end;gap:18px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.orb{width:116px;height:116px;position:relative}.orb canvas{border-radius:50%;width:108px;height:108px;position:absolute;top:4px;left:4px}.orb .orb-frame{filter:drop-shadow(0 4px 10px #0009);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.orb .orb-label{text-align:center;letter-spacing:.04em;text-shadow:0 1px 2px #000,0 0 6px #000;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;position:absolute;bottom:-2px;left:0;right:0}.bar-wrap{flex-direction:column;align-items:center;gap:6px;padding-bottom:6px;display:flex}.skillbar{border:1px solid var(--frame-hi);background:linear-gradient(#1a1813,#0d0c0a);border-radius:3px;gap:6px;padding:7px;display:flex;box-shadow:0 0 0 1px #000,inset 0 0 18px #000c,0 8px 24px #0009}.slot{outline:1px solid var(--gold-dim);outline-offset:-3px;background:radial-gradient(circle at 50% 35%,#2c2a26,#0e0d0b);border:1px solid #000;width:54px;height:54px;position:relative;overflow:hidden}.slot .icon{background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex;position:absolute;inset:3px}.slot .icon svg{filter:drop-shadow(0 0 6px);width:70%;height:70%}.slot .cd{background:conic-gradient(#000000b8 var(--cd,0%), transparent 0);position:absolute;inset:0}.slot .cd-num{text-shadow:0 1px 3px #000;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.slot .key{color:var(--gold);text-shadow:0 1px 2px #000;font-size:10px;font-weight:700;position:absolute;top:1px;left:3px}.slot .cost{color:#8fc7ff;text-shadow:0 1px 2px #000;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;bottom:1px;right:3px}.slot.nomana .icon{filter:saturate(.2)brightness(.55)}.slot.ready-flash{animation:.35s ease-out readyflash}@keyframes readyflash{0%{box-shadow:inset 0 0 22px 6px #fff0c8e6}to{box-shadow:inset 0 0 #fff0c800}}.xpbar{border:1px solid var(--frame-hi);background:#0b0a08;width:100%;height:6px;position:relative;overflow:hidden}.xpbar>div{background:linear-gradient(90deg,#a77d2f,#f1d58a);width:0%;height:100%;transition:width .4s;box-shadow:0 0 8px #f1d58a}.bar-wrap .lvl{font-family:var(--font-display);letter-spacing:.18em;color:var(--gold);text-shadow:0 1px 3px #000,0 0 8px #000;font-size:12px}.statuses{gap:6px;display:flex;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.status{border:1px solid var(--gold-dim);background:#0c0b09;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.minimap{border:2px solid var(--frame-hi);width:210px;height:210px;box-shadow:0 0 0 2px #000, 0 0 0 5px var(--frame), 0 0 0 6px var(--gold-dim), 0 10px 30px #0009;background:#111;border-radius:50%;position:absolute;top:18px;right:18px;overflow:hidden}.minimap canvas{transform-origin:0 0;position:absolute;top:50%;left:50%}.minimap .overlay{position:absolute;inset:0}.minimap-zone{text-align:center;width:210px;font-family:var(--font-display);letter-spacing:.18em;color:var(--gold);text-shadow:0 1px 3px #000;font-size:15px;position:absolute;top:236px;right:18px}.quests{text-align:right;width:250px;position:absolute;top:268px;right:18px}.quest{text-shadow:0 1px 3px #000,0 0 8px #000c;margin-bottom:10px}.quest .q-title{font-family:var(--font-display);color:var(--gold);letter-spacing:.06em;font-size:14px}.quest .q-step{color:var(--ink);font-size:13px}.quest .q-step.done{color:var(--ink-dim);text-decoration:line-through}.ebar{will-change:transform;background:#000000bf;border:1px solid #000000e6;width:70px;height:6px;transition:opacity .3s;position:absolute;top:0;left:0}.ebar>i{background:linear-gradient(#e2533f,#8d1d12);height:100%;display:block}.ebar>b{background:#ffdcb4bf;height:100%;transition:width .5s .15s;position:absolute;top:0;left:0}.ebar.elite{width:110px;height:8px}.ebar>.ebar-name{white-space:nowrap;font-family:var(--font-display);letter-spacing:.08em;color:#ffc46a;text-shadow:0 0 6px #4a1a00,0 1px 2px #000;font-size:13px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.bossbar{text-align:center;width:min(620px,60vw);display:none;position:absolute;top:22px;left:50%;transform:translate(-50%)}.bossbar .name{font-family:var(--font-display);letter-spacing:.22em;color:#f3dfb4;text-shadow:0 0 12px #6a1d0e,0 2px 3px #000;font-size:20px}.bossbar .track{border:1px solid var(--gold-dim);background:#0c0606;height:12px;margin-top:6px;position:relative;box-shadow:0 0 0 1px #000}.bossbar .fill{background:linear-gradient(#c1372a,#5d0f08);width:100%;position:absolute;inset:0}.sys-stack{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%)}.sys{background:var(--sys-bg);backdrop-filter:blur(3px);text-align:center;border:1px solid #7fd0ff99;min-width:340px;max-width:520px;padding:12px 20px;animation:.35s cubic-bezier(.2,1.4,.4,1) both sysin;box-shadow:0 0 0 1px #0009,0 0 24px #50aaff59,inset 0 0 30px #50aaff1f}.sys.out{animation:.4s ease-in both sysout}.sys .sys-tag{letter-spacing:.35em;color:var(--sys);text-transform:uppercase;font-size:11px}.sys .sys-title{font-family:var(--font-display);letter-spacing:.08em;color:#eaf7ff;text-shadow:0 0 12px #7fd0ffcc;margin-top:2px;font-size:22px}.sys .sys-body{color:#b9d8ec;margin-top:4px;font-size:13px}@keyframes sysin{0%{opacity:0;filter:brightness(3);transform:scaleY(.2)}to{opacity:1;filter:none;transform:none}}@keyframes sysout{to{opacity:0;transform:translateY(-10px)scaleY(.6)}}.prompt{background:var(--panel);border:1px solid var(--gold-dim);padding:6px 14px;font-size:13px;display:none;position:absolute;bottom:170px;left:50%;transform:translate(-50%)}.prompt kbd{font-family:var(--font-ui);border:1px solid var(--gold);color:var(--gold);margin-right:6px;padding:0 6px}.death{pointer-events:auto;background:radial-gradient(#28000040,#000000d9);flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.death h1{font-family:var(--font-display);letter-spacing:.3em;color:#b8261a;text-shadow:0 0 30px #300;margin:0;font-size:64px}.death p{color:var(--ink-dim);letter-spacing:.2em;font-size:11px}.death .rise{pointer-events:auto;font-family:var(--font-display);letter-spacing:.18em;color:#f1e6c8;border:1px solid var(--gold-dim);cursor:pointer;background:linear-gradient(#3a2f1e,#1d170e);margin-top:26px;padding:10px 26px;font-size:17px}.death .rise:hover{border-color:var(--gold);color:#fff;box-shadow:0 0 12px #ffd76a59}.loot-layer{pointer-events:none;z-index:25;position:fixed;inset:0}.loot-label{font-family:var(--font-ui);pointer-events:auto;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #000;background:#08080ad1;border:1px solid #ffffff1f;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.loot-label:hover{background:#1e1e24f2;border-color:currentColor}.loot-label.r3,.loot-label.r4{font-family:var(--font-display);letter-spacing:.06em;box-shadow:0 0 12px}.inv{z-index:40;width:360px;font-family:var(--font-ui);color:var(--ink);border:1px solid var(--frame-hi);pointer-events:auto;background:linear-gradient(#17140f,#0b0a08);grid-template-columns:1fr;gap:10px;padding:16px;display:none;position:fixed;top:50%;right:24px;transform:translateY(-50%);box-shadow:0 0 0 1px #000,0 20px 60px #000000b3}.inv-title{font-family:var(--font-display);letter-spacing:.25em;color:var(--gold);justify-content:space-between;font-size:13px;display:flex}.inv-title .gold{font-family:var(--font-ui);letter-spacing:0;color:#ffd76a;font-size:12px}.inv-doll{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.inv-bag{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.inv-slot,.inv-cell{aspect-ratio:1;outline-offset:-2px;cursor:pointer;background:radial-gradient(circle at 50% 35%,#26231e,#0d0c0a);border:1px solid #000;outline:1px solid #3a3226}.inv-ph{letter-spacing:.05em;color:#5a5245;text-transform:uppercase;justify-content:center;align-items:center;width:100%;height:100%;font-size:8px;display:flex}.inv-item{background:radial-gradient(circle, color-mix(in srgb, var(--c) 35%, transparent), transparent 70%);width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--c);justify-content:center;align-items:center;font-size:22px;display:flex}.inv-item.r3,.inv-item.r4{animation:1.6s ease-in-out infinite alternate itemglow}@keyframes itemglow{0%{box-shadow:inset 0 0 0 1px var(--c), inset 0 0 8px var(--c)}to{box-shadow:inset 0 0 0 1px var(--c), inset 0 0 18px var(--c)}}.inv-stats{color:#cfd8de;font-size:12px;line-height:1.6}.inv-stats .dim{color:var(--ink-dim)}.inv-help{color:var(--ink-dim);text-align:center;font-size:11px}.inv-tip{z-index:45;pointer-events:none;width:280px;font-family:var(--font-ui);background:#0a0a0cf5;border:1px solid #4a4030;padding:12px 14px;display:none;position:fixed;box-shadow:0 10px 30px #000c}.inv-tip .t-name{font-family:var(--font-display);letter-spacing:.04em;font-size:17px}.inv-tip .t-type{color:var(--ink-dim);margin:2px 0 8px;font-size:11px}.inv-tip .t-stats{color:#8fb7ff;font-size:13px;line-height:1.55}.inv-tip .t-stats .implicit{color:#e9eef2;border-bottom:1px solid #333;margin-bottom:4px;padding-bottom:4px}.inv-tip .cmp{color:var(--ink-dim);margin-top:8px;font-size:11px}.inv-tip .up{color:#6fe08a;font-size:12px}.inv-tip .down{color:#ff6a5a;font-size:12px}.potion-count{color:#ff9a8a;text-shadow:0 1px 2px #000;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.endcard{pointer-events:auto;background:radial-gradient(#0a0e168c,#000000eb);flex-direction:column;justify-content:center;align-items:center;animation:.8s both sysin;display:none;position:absolute;inset:0}.endcard .end-tag{letter-spacing:.45em;text-transform:uppercase;color:var(--sys);font-size:12px}.endcard h1{font-family:var(--font-display);letter-spacing:.35em;color:#eef6ff;text-shadow:0 0 30px #7fd0ff99;margin:10px 0 0;font-size:72px}.endcard .end-sub{font-family:var(--font-display);letter-spacing:.5em;color:var(--gold)}.endcard .end-stats{gap:42px;margin:36px 0;display:flex}.endcard .end-stats div{flex-direction:column;align-items:center;display:flex}.endcard .end-stats b{color:#fff;font-variant-numeric:tabular-nums;font-size:34px}.endcard .end-stats span{letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.endcard .end-btn{font-family:var(--font-display);letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold-dim);cursor:pointer;background:#120f0a;padding:10px 26px;font-size:15px}.endcard .end-btn:hover{border-color:var(--gold);box-shadow:0 0 18px #d9b56b66}.dialogue{z-index:50;pointer-events:auto;width:min(760px,80vw);font-family:var(--font-ui);color:var(--ink);cursor:pointer;border:1px solid var(--frame-hi);background:linear-gradient(#0e0c09f0,#080705f5);padding:18px 26px 22px;display:none;position:fixed;bottom:150px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #000,0 20px 50px #000000b3,inset 0 0 40px #0009}.dlg-name{font-family:var(--font-display);color:var(--gold);letter-spacing:.14em;margin-bottom:8px;font-size:16px}.dlg-text{min-height:54px;font-size:17px;line-height:1.6}.dlg-next{color:var(--gold);font-size:12px;animation:1s ease-in-out infinite bob;position:absolute;bottom:10px;right:18px}@keyframes bob{50%{transform:translateY(3px)}}.npc-tag{font-family:var(--font-display);letter-spacing:.08em;color:#ffe7a6;text-shadow:0 1px 3px #000,0 0 8px #000c;white-space:nowrap;pointer-events:none;font-size:13px;position:absolute;top:0;left:0}.npc-tag .bang{color:#ffd34a;margin-right:4px;font-size:18px}.npc-tag .bang.ask{color:#bfe4ff}.charp{z-index:40;width:900px;max-width:calc(100vw - 48px);max-height:calc(100vh - 170px);font-family:var(--font-ui);color:var(--ink);border:1px solid var(--frame-hi);pointer-events:auto;background:linear-gradient(#17140f,#0b0a08);grid-template-columns:240px 1fr;gap:14px;padding:16px;display:none;position:fixed;top:24px;left:24px;overflow-y:auto;box-shadow:0 0 0 1px #000,0 20px 60px #000000b3}.charp .inv-help{grid-column:1/-1}.charp-col{flex-direction:column;gap:8px;display:flex}.charp .pts{font-family:var(--font-ui);letter-spacing:0;color:#ffd76a;font-size:12px}.charp-dim{color:#9aa4aa;font-size:11px;line-height:1.45}.charp-attr,.charp-skill{outline-offset:-2px;background:radial-gradient(circle at 30% 0,#221e18,#0f0e0b);border:1px solid #000;outline:1px solid #3a3226;padding:8px 10px}.charp-attr-head,.charp-skill-head{align-items:center;gap:8px;font-size:13px;display:flex}.charp-attr-head span{font-family:var(--font-display);letter-spacing:.12em;color:var(--gold);flex:1}.charp-attr-head b{text-align:right;color:#fff;min-width:22px;font-size:15px}.charp button{font-family:var(--font-ui);color:#f1e6c8;border:1px solid var(--gold-dim);cursor:pointer;background:linear-gradient(#3a2f1e,#1d170e);padding:3px 10px;font-size:11px}.charp button:hover:not([disabled]){border-color:var(--gold);color:#fff;box-shadow:0 0 8px #ffd76a59}.charp button[disabled]{opacity:.45;cursor:default}.charp-skills{grid-template-columns:1fr 1fr;gap:8px;display:grid}.charp-skill{align-content:start;gap:4px;display:grid}.charp-skill button{justify-self:start}.charp-skill .glyph{width:26px;height:26px;color:var(--c);outline:1px solid var(--gold-dim);outline-offset:-2px;background:radial-gradient(circle at 50% 35%,#26231e,#0d0c0a);border:1px solid #000;flex:none;justify-content:center;align-items:center;display:flex}.charp-skill .glyph svg{filter:drop-shadow(0 0 4px);width:70%;height:70%}.charp-skill.unlearned .glyph{filter:grayscale()brightness(.45)}.charp-skill .key{color:var(--gold);min-width:30px;font-size:10px;font-weight:700}.charp-skill .name{color:var(--c);flex:1;font-weight:700}.charp-skill .pips{gap:3px;display:flex}.charp-skill .pips i{border:1px solid var(--gold-dim);background:#0b0a08;width:8px;height:8px;transform:rotate(45deg)}.charp-skill .pips i.on{background:var(--c);border-color:var(--c);box-shadow:0 0 6px var(--c)}.charp-skill.unlearned .name{color:#8b8478}.slot.locked .icon{filter:grayscale()brightness(.3)}.slot.locked:after{content:"";background:repeating-linear-gradient(45deg,#00000059 0 4px,#0000 4px 8px);position:absolute;inset:0}.slot[data-charges]:after{content:attr(data-charges);z-index:2;text-align:center;letter-spacing:2px;color:#e8dcc0;text-shadow:0 1px 2px #000;font-size:9px;position:absolute;bottom:2px;left:0;right:0}.slot[data-rank]:not([data-rank=""]):before{content:attr(data-rank);z-index:2;color:#ffd76a;text-shadow:0 1px 2px #000;font-size:9px;font-weight:700;position:absolute;top:1px;right:3px}.bar-wrap .lvl.points:after{content:" · points to spend [C]";color:#ffd76a;animation:1.2s ease-in-out infinite alternate ptspulse}@keyframes ptspulse{0%{opacity:.55}to{opacity:1}}.wmap{z-index:45;font-family:var(--font-ui);color:var(--ink);pointer-events:auto;background:radial-gradient(circle at 50% 45%,#0a0907b8,#000000e6);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:none;position:fixed;inset:0}.wmap-head{align-items:baseline;gap:18px;display:flex}.wmap-head span{font-family:var(--font-display);letter-spacing:.3em;color:var(--gold);text-shadow:0 0 14px #e8c77a59,0 2px 3px #000;font-size:26px}.wmap-head i{letter-spacing:.12em;color:var(--ink-dim);font-size:11px;font-style:normal}.wmap-body{border:1px solid var(--frame-hi);background:linear-gradient(#17140f,#0b0a08);padding:6px;box-shadow:0 0 0 1px #000,0 24px 70px #000c}.wmap-body canvas{cursor:crosshair;display:block}.wmap-far{flex-wrap:wrap;justify-content:center;gap:8px;max-width:70vw;min-height:24px;display:flex}.wmap-far-title{text-align:center;width:100%;font-family:var(--font-display);letter-spacing:.25em;color:var(--gold);font-size:13px}.wmap-far button{font-family:var(--font-ui);color:#dff2ff;cursor:pointer;background:linear-gradient(#1c2a36,#0d141a);border:1px solid #4f7f9f;padding:4px 12px;font-size:12px}.wmap-far button:hover{border-color:#8fd6ff;box-shadow:0 0 10px #8fd6ff59}.wmap-blocked{text-align:center;color:#ff9a7a;letter-spacing:.08em;width:100%;font-size:12px}.tree-tabs{gap:6px;display:flex}.tree-tab{align-items:center;gap:4px;display:flex;position:relative;color:var(--c)!important;padding:4px 8px!important}.tree-tab svg{filter:drop-shadow(0 0 3px);width:18px;height:18px}.tree-tab span{color:var(--gold);font-size:10px}.tree-tab i{color:#000;background:var(--gold);border-radius:6px;padding:0 4px;font-size:9px;font-style:normal;position:absolute;top:-6px;right:-4px}.tree-tab.on{box-shadow:0 0 10px color-mix(in srgb, var(--c) 45%, transparent);border-color:var(--c)!important}.tree-tab.unlearned svg{filter:grayscale()brightness(.5)}.tree{gap:8px;display:grid}.tree-root{outline:1px solid var(--c);outline-offset:-2px;background:radial-gradient(circle at 30% 0,#221e18,#0f0e0b);border:1px solid #000;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.tree-root .glyph{width:30px;height:30px;color:var(--c);justify-content:center;align-items:center;display:flex}.tree-root .glyph svg{filter:drop-shadow(0 0 5px);width:80%;height:80%}.tree-root .name{color:var(--c);font-size:14px;font-weight:700}.tree-root .key{color:var(--gold);margin-left:6px;font-size:10px}.tree-root .learned{letter-spacing:.2em;color:var(--gold);font-size:10px}.tree-row{grid-template-columns:34px 1fr;align-items:stretch;gap:8px;display:grid}.tree-row-label{font-family:var(--font-display);color:var(--gold);flex-direction:column;justify-content:center;align-items:center;font-size:15px;display:flex}.tree-row-label small{font-family:var(--font-ui);color:var(--ink-dim);font-size:9px}.tree-row-nodes{align-items:stretch;gap:6px;display:flex}.tree-row.locked .tree-row-nodes{opacity:.45;filter:grayscale(.6)}.tree-row-nodes .or{letter-spacing:.15em;color:var(--ink-dim);text-transform:uppercase;align-self:center;font-size:10px}.tree-node{cursor:pointer;outline-offset:-2px;background:linear-gradient(#1a1712,#0c0b09);border:1px solid #000;outline:1px solid #3a3226;flex:1;min-width:0;padding:7px 9px}.tree-node:hover{outline-color:var(--c)}.tree-node.taken{outline-color:var(--c);box-shadow:inset 0 0 14px color-mix(in srgb, var(--c) 22%, transparent)}.tree-node.blocked{cursor:default;opacity:.6}.tree-node .tn-head{color:#f1e6c8;gap:6px;font-size:12px;font-weight:700;display:flex}.tree-node .tn-head span{flex:1}.tree-node .tn-head b{color:var(--c)}.inv-item .better{color:#6dff7a;text-shadow:0 0 4px #000,0 1px 1px #000;font-size:10px;position:absolute;top:0;right:2px}.inv-tip .cmp-two{gap:14px;font-weight:700;display:flex}.inv-item{position:relative}.title-screen{z-index:60;font-family:var(--font-ui);color:var(--ink);justify-content:flex-start;align-items:center;padding-left:9vw;transition:opacity .9s;display:flex;position:fixed;inset:0}.title-screen.out{opacity:0;pointer-events:none}.title-vignette{pointer-events:none;background:linear-gradient(90deg,#04060ae0 0%,#04060a8c 38%,#04060a00 70%),radial-gradient(at 70%,#0000 40%,#0000008c);position:absolute;inset:0}.title-block{position:relative}.title-pre{letter-spacing:.55em;text-transform:uppercase;color:var(--sys);font-size:12px}.title-screen h1{font-family:var(--font-display);letter-spacing:.28em;color:#f4f8ff;text-shadow:0 0 40px #7fd0ff73,0 4px #0009;margin:8px 0 0;font-size:clamp(56px,8vw,112px);font-weight:600}.title-sub{font-family:var(--font-display);letter-spacing:.62em;color:var(--gold);margin-top:2px;font-size:20px}.title-menu{flex-direction:column;align-items:flex-start;gap:10px;margin-top:54px;display:flex}.title-menu button,.pause-panel button,.set-panel .close{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:#d9d2c2;cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:18px;position:relative}.title-menu button:before{content:"";background:var(--gold);width:10px;height:10px;transition:transform .2s;position:absolute;top:50%;left:-26px;transform:translateY(-50%)rotate(45deg)scale(0)}.title-menu button:hover{color:#fff;text-shadow:0 0 14px #d9b56bcc}.title-menu button:hover:before{transform:translateY(-50%)rotate(45deg)scale(1)}.title-foot{letter-spacing:.2em;color:var(--ink-dim);font-size:11px;position:absolute;bottom:18px;right:24px}.prologue{z-index:70;font-family:var(--font-ui);color:#dfe6ec;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:background 1.2s,opacity 1.2s;display:flex;position:fixed;inset:0;overflow:hidden}.prologue.out{opacity:0}.prologue .rain-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.prologue.headlights{background:radial-gradient(at 50% 60%,#fffae6e6,#fff0c859 30%,#000 70%);transition:background 1.3s ease-in}.prologue.whiteout{background:#fff;transition:background 50ms}.prologue.void{background:radial-gradient(at 50% 45%,#1b2a3c 0%,#070a10 55%,#000 100%)}.prologue.void:after{content:"";opacity:.8;background-image:radial-gradient(1px 1px at 20% 30%,#9fd8ff,#0000),radial-gradient(1px 1px at 70% 60%,#fff,#0000),radial-gradient(1.5px 1.5px at 40% 80%,#9fd8ff,#0000),radial-gradient(1px 1px at 85% 20%,#fff,#0000),radial-gradient(1px 1px at 10% 70%,#ffe7a6,#0000);animation:12s linear infinite drift;position:absolute;inset:0}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-40px)}}.prologue.summon{background:radial-gradient(circle at 50% 55%,#7fd0fff2,#285aa080 25%,#000 60%);transition:background 1.4s ease-in}.pro-line{z-index:2;text-align:center;opacity:0;max-width:760px;font-size:22px;line-height:1.6;transition:opacity .7s,transform .7s;position:relative;transform:translateY(8px)}.pro-line.in{opacity:1;transform:none}.pro-line.out{opacity:0;transform:translateY(-6px)}.pro-line .pro-small{letter-spacing:.5em;color:#8fa6b8;font-size:12px}.pro-line.goddess{font-family:var(--font-display);color:#e9f6ff;text-shadow:0 0 22px #7fd0ffbf;letter-spacing:.04em;font-size:26px}.gifts{z-index:2;opacity:0;gap:22px;transition:opacity .8s,transform .8s;display:flex;position:relative;transform:translateY(14px)}.gifts.in{opacity:1;transform:none}.gifts.out{opacity:0;transform:scale(.96)}.gift{border:1px solid color-mix(in srgb, var(--c) 50%, transparent);width:250px;color:var(--ink);cursor:pointer;text-align:center;font-family:var(--font-ui);background:linear-gradient(#0a121ed9,#04080eeb);padding:26px 20px 22px;transition:transform .25s,box-shadow .25s}.gift:hover{box-shadow:0 0 34px color-mix(in srgb, var(--c) 45%, transparent), inset 0 0 30px color-mix(in srgb, var(--c) 15%, transparent);transform:translateY(-6px)}.gift-sigil{border:2px solid var(--c);width:64px;height:64px;box-shadow:0 0 22px var(--c), inset 0 0 18px var(--c);margin:0 auto 16px;transform:rotate(45deg)}.gift-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--c);font-size:20px}.gift-tag{color:#b9c8d4;margin:6px 0 12px;font-size:13px;font-style:italic}.gift-desc{color:#dfe6ec;font-size:13px;line-height:1.5}.pause,.settings{z-index:80;backdrop-filter:blur(4px);font-family:var(--font-ui);color:var(--ink);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pause-panel,.set-panel{border:1px solid var(--frame-hi);background:linear-gradient(#17140f,#0b0a08);flex-direction:column;gap:14px;min-width:340px;padding:26px 32px;display:flex;box-shadow:0 0 0 1px #000,0 30px 80px #000c}.pause-panel h2,.set-panel h2{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-weight:600}.pause-panel button:hover,.set-panel .close:hover{color:#fff}.set-panel label{color:#cfd8de;flex-direction:column;gap:6px;font-size:13px;display:flex}.set-panel label.row{flex-direction:row;align-items:center;gap:8px}.set-panel input[type=range]{accent-color:var(--gold)}.seg{gap:4px;display:flex}.seg button{font-family:var(--font-ui);text-transform:capitalize;color:#bfb6a6;cursor:pointer;background:#0f0d0a;border:1px solid #3a3226;flex:1;padding:6px 0}.seg button.on{color:#120f0a;background:var(--gold);border-color:var(--gold)}.set-help{color:var(--ink-dim);max-width:420px;font-size:11px;line-height:1.6}
