@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--u:3px;--slot:40px;--void:#050608;--ink:#0b0d12;--night:#141821;--shadow:#1c212b;--concrete-dark:#2a2f38;--concrete:#454c57;--concrete-light:#6b7280;--ash:#9aa0a6;--moss:#3f6b4f;--phosphor:#6fae7a;--phosphor-hot:#a8e0a0;--rust-dark:#3a1d12;--rust:#8a4a2a;--rust-light:#b8703a;--bone:#d8cfb8;--bone-dark:#9c927c;--blood:#5c1418;--blood-bright:#8e2a2a;--warning:#c0392b;--amber:#e0a040;--amber-dark:#8c5a1e;--fire:#f07a2a;--fire-hot:#ffd27a;--water-light:#3c6e78;--violet:#3a2a48;--violet-light:#7d62a0;--hp:#c0392b;--essence:#3c8ec0;--xp:#9a6ad0;--cursor-pointer:default;--cursor-hand:pointer}*{box-sizing:border-box}::-webkit-scrollbar{width:calc(var(--u) * 3);height:calc(var(--u) * 3)}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-corner{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--amber-dark);box-shadow:inset 0 0 0 var(--u) var(--void)}::-webkit-scrollbar-thumb:hover{background:var(--amber)}html,body{background:var(--void);height:100%;color:var(--bone);-webkit-user-select:none;user-select:none;cursor:var(--cursor-pointer);margin:0;font-family:VT323,monospace;overflow:hidden}#game{position:fixed;inset:0}#game canvas{touch-action:none}#ui{pointer-events:none;font-size:19px;line-height:1;position:fixed;inset:0}#ui .interactive,#ui button,#ui input,#ui select,#ui label{pointer-events:auto}button,.act,select,label.check{cursor:var(--cursor-hand)}button{font:inherit;color:var(--bone);box-shadow:inset 0 0 0 1px #ffffff14, inset 0 calc(var(--u) * -.75) 0 var(--concrete-dark);padding:calc(var(--u) * 1.25) calc(var(--u) * 2.5) calc(var(--u) * 1.75);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:#ffffff0b;border:none}button:hover:not(:disabled){box-shadow:inset 0 0 0 1px #e0a04059, inset 0 calc(var(--u) * -.75) 0 var(--amber-dark);color:var(--amber);background:#e0a0401f}button:active:not(:disabled){box-shadow:inset 0 0 0 1px #e0a04080, inset 0 calc(var(--u) * .75) 0 #0006;background:#e0a04038}button:disabled{opacity:.4;cursor:var(--cursor-pointer);background-image:repeating-linear-gradient(-45deg,#ffffff0d 0 2px,#0000 2px 5px)}button.primary{background:linear-gradient(180deg, var(--amber), var(--amber-dark));box-shadow:inset 0 1px 0 #ffffff4d, inset 0 calc(var(--u) * -.75) 0 var(--rust-dark), 0 0 calc(var(--u) * 3) #e0a0404d;color:var(--void)}button.primary:hover:not(:disabled){background:linear-gradient(180deg, #f2c46a, var(--amber));color:var(--void)}button.danger{box-shadow:inset 0 0 0 1px var(--blood-bright), inset 0 calc(var(--u) * -.75) 0 var(--blood);color:#f0c8c0;background:#5c1418bf}button.danger:hover:not(:disabled){background:var(--blood-bright);color:#fff}button.active,button.active:hover:not(:disabled){box-shadow:inset 0 0 0 1px #e0a0404d, inset 0 calc(var(--u) * -.75) 0 var(--amber);color:var(--amber);text-shadow:0 0 calc(var(--u) * 2) #e0a04099;background:linear-gradient(#e0a0400a,#e0a0404d)}button.small{padding:calc(var(--u) * .25) calc(var(--u) * 1.5) calc(var(--u) * .75);font-size:.85em}kbd{color:var(--amber-dark);margin-left:var(--u);font-family:inherit;font-size:.75em}button.active kbd,button:hover kbd{color:var(--amber)}select,input[type=number],input[type=text],input[type=email],input[type=password],input:not([type]){font:inherit;color:var(--bone);background:var(--ink);box-shadow:inset 0 0 0 1px var(--amber-dark);padding:calc(var(--u) * .75) calc(var(--u) * 1.5);border:none;outline:none}select{appearance:none;padding-right:calc(var(--u) * 6);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 3' shape-rendering='crispEdges'%3E%3Cpath d='M0 0h5v1H4v1H3v1H2V2H1V1H0z' fill='%23e0a040'/%3E%3C/svg%3E") no-repeat right calc(var(--u) * 1.5) center / calc(var(--u) * 2.5) auto, var(--ink)}select:hover,select:focus,input:focus{box-shadow:inset 0 0 0 1px var(--amber), 0 0 calc(var(--u) * 2) #e0a0404d}option{background:var(--ink);color:var(--bone)}input[type=checkbox]{accent-color:var(--amber)}.chrome,.tooltip,.ctxmenu{--hl:var(--amber);--bl:calc(var(--u) * 3);pointer-events:auto;padding:calc(var(--u) * 2);background:linear-gradient(var(--hl) 0 0) left top / var(--bl) var(--u) no-repeat, linear-gradient(var(--hl) 0 0) left top / var(--u) var(--bl) no-repeat, linear-gradient(var(--hl) 0 0) right top / var(--bl) var(--u) no-repeat, linear-gradient(var(--hl) 0 0) right top / var(--u) var(--bl) no-repeat, linear-gradient(var(--hl) 0 0) left bottom / var(--bl) var(--u) no-repeat, linear-gradient(var(--hl) 0 0) left bottom / var(--u) var(--bl) no-repeat, linear-gradient(var(--hl) 0 0) right bottom / var(--bl) var(--u) no-repeat, linear-gradient(var(--hl) 0 0) right bottom / var(--u) var(--bl) no-repeat, repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 3px), linear-gradient(180deg, #141821f0, #07080cf0);box-shadow:inset 0 0 0 1px #e0a04029, 0 0 0 var(--u) var(--void), 0 calc(var(--u) * 2) calc(var(--u) * 4) #0000008c}.chrome-title{justify-content:space-between;align-items:center;gap:calc(var(--u) * 3);padding:0 var(--u) var(--u);margin-bottom:calc(var(--u) * 1.5);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #e0a04038;font-size:.8em;display:flex}.chrome-title>:first-child:before,.section:before{content:"// ";color:var(--amber-dark)}.section{margin:calc(var(--u) * 3) 0 calc(var(--u) * 1.5);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);font-size:.75em}.muted{color:var(--bone-dark)}.dim{color:var(--concrete-light)}.good{color:var(--phosphor-hot)}.bad{color:var(--warning)}.warn{color:var(--amber)}.row{gap:calc(var(--u) * 2);flex-wrap:wrap;align-items:center;display:flex}.spread{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);display:flex}.seg{height:calc(var(--u) * 2.5);background:color-mix(in srgb, var(--c,var(--phosphor)) 18%, var(--void));box-shadow:0 0 0 1px var(--void);position:relative;overflow:hidden}.seg>i{background:var(--c,var(--phosphor));box-shadow:0 0 calc(var(--u) * 2) var(--c);transition:width .12s steps(3,end);position:absolute;inset:0 auto 0 0}.seg:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 calc(var(--u) * 2), var(--void) calc(var(--u) * 2) calc(var(--u) * 2 + 1px));position:absolute;inset:0}.seg.thin{height:calc(var(--u) * 1.5)}.gauge{grid-template-columns:calc(var(--u) * 11) 1fr auto;align-items:center;gap:calc(var(--u) * 2);display:grid}.gauge-tag{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--c), #fff 30%);font-size:.75em}.gauge-val{text-align:right;white-space:nowrap;color:var(--bone);text-shadow:0 0 calc(var(--u) * 2) color-mix(in srgb, var(--c) 60%, transparent);font-variant-numeric:tabular-nums;font-size:.9em}.gauge.low .gauge-val{color:var(--warning);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:.45}}.unit{top:calc(var(--u) * 3);left:calc(var(--u) * 3);gap:calc(var(--u) * 3);width:calc(var(--u) * 148);display:flex;position:absolute}.portrait{box-sizing:border-box;background:radial-gradient(circle at 50% 35%, #e0a04029, transparent 70%), var(--void);width:64px;height:80px;box-shadow:inset 0 0 0 1px var(--amber-dark), inset 0 0 0 var(--u) var(--void);flex:none;justify-content:center;padding:6px 4px 8px;display:flex;position:relative;overflow:hidden}.portrait-crop{width:56px;height:66px;display:block;overflow:hidden}.portrait-crop img{width:128px;height:128px;image-rendering:pixelated;margin:-18px 0 0 -36px}.portrait .lvl{color:var(--void);background:var(--amber);padding:0 3px;font-size:.8em;position:absolute;bottom:1px;right:2px}.unit .body{gap:calc(var(--u) * 1.25);flex-direction:column;flex:1;min-width:0;display:flex}.unit .who{justify-content:space-between;align-items:baseline;gap:calc(var(--u) * 2);display:flex}.unit .name{color:var(--phosphor-hot);text-shadow:0 0 calc(var(--u) * 2) #a8e0a073;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unit .state{letter-spacing:.12em;text-transform:uppercase;font-size:.75em}.hovertext{--bl:calc(var(--u) * 2);top:calc(var(--u) * 39);left:calc(var(--u) * 3);padding:var(--u) calc(var(--u) * 3);pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hl) 22%, transparent), 0 0 0 1px var(--void), 0 var(--u) calc(var(--u) * 3) #0009;text-shadow:1px 1px 0 var(--void);white-space:nowrap;position:absolute}.hovertext.foe{--hl:#f0b04a}.hovertext.obj{--hl:#4fd0d8}.hovertext.npc{--hl:var(--fire-hot)}.hovertext.peer{--hl:var(--phosphor-hot)}.hovertext .more{letter-spacing:.12em;text-transform:uppercase;color:var(--ash);margin-top:1px;font-size:.75em}.verb{color:var(--bone)}.tgt{color:var(--fire-hot)}.tgt.foe{color:#f0b04a}.tgt.obj{color:#4fd0d8}.tgt.npc{color:var(--fire-hot)}.tgt.peer{color:var(--phosphor-hot)}.target{top:calc(var(--u) * 3);width:calc(var(--u) * 90);--hl:var(--warning);position:absolute;left:50%;transform:translate(-50%)}.target .title{margin-bottom:calc(var(--u) * 1.5);justify-content:space-between;align-items:baseline;display:flex}.target .title .tgt{text-transform:uppercase;letter-spacing:.08em}.target .run{margin-top:calc(var(--u) * 1.5);color:var(--phosphor);font-size:.8em}.minimap{top:calc(var(--u) * 3);right:calc(var(--u) * 3);gap:var(--u);flex-direction:column;display:flex;position:absolute}.minimap canvas{width:240px;height:240px;image-rendering:pixelated;cursor:var(--cursor-hand);box-shadow:inset 0 0 0 1px var(--amber-dark), 0 0 0 1px var(--void);display:block}.minimap .foot{justify-content:space-between;gap:calc(var(--u) * 2);white-space:nowrap;font-size:.8em;display:flex}.xpdrops{align-items:center;gap:var(--u);pointer-events:none;flex-direction:column;display:flex;position:absolute;top:clamp(128px,24vh,240px);left:50%;transform:translate(-50%)}.xpdrops .drop{--hl:var(--c,var(--xp));pointer-events:none;align-items:center;gap:calc(var(--u) * 2);padding:var(--u) calc(var(--u) * 3) var(--u) var(--u);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--hl) 28%, transparent), 0 0 0 1px var(--void), 0 var(--u) calc(var(--u) * 3) #0009;background:linear-gradient(#141821f0,#07080cf0);animation:1.8s linear forwards xprise,1.8s forwards xpfade;display:flex}.xpdrops .skill-ico{width:24px;height:24px;filter:drop-shadow(0 0 var(--u) color-mix(in srgb, var(--hl) 55%, transparent))}.xpdrops .amt{color:var(--hl);text-shadow:1px 0 0 var(--void), -1px 0 0 var(--void), 0 1px 0 var(--void), 0 -1px 0 var(--void);font-size:1.35em;line-height:1}.xpdrops .name{color:var(--bone);letter-spacing:.14em;text-transform:uppercase;font-size:.85em}@keyframes xprise{0%{transform:translateY(calc(var(--u) * 2))}to{transform:translateY(calc(var(--u) * -8))}}@keyframes xpfade{0%{opacity:0}10%{opacity:1}62%{opacity:1}to{opacity:0}}.chatbox{left:calc(var(--u) * 3);bottom:calc(var(--u) * 3);gap:var(--u);flex-direction:column;width:min(50vw - 300px,520px);min-width:280px;display:flex;position:absolute}.chatbox .tabs{gap:var(--u);display:flex}.chatbox .lines{height:8.05em;padding-right:var(--u);flex-direction:column;gap:1px;font-size:.95em;line-height:1.15;display:flex;overflow-y:auto}.chatbox .lines>:first-child{margin-top:auto}.chatbox .stamp{color:var(--concrete-light)}.chatbox .who{color:var(--amber)}.chatbox .game{color:var(--phosphor)}.chatbox .game.bad{color:var(--warning)}.chatbox input{width:100%}.actiondock{left:50%;bottom:calc(var(--u) * 3);align-items:center;gap:calc(var(--u) * 2);flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.buffs{gap:2px;display:flex}.buff{flex-direction:column;align-items:center;gap:1px;display:flex}.buff .time{letter-spacing:.06em;color:var(--bone);text-shadow:1px 1px 0 var(--void);font-size:.7em}.hotbar{gap:calc(var(--u) * 3);align-items:flex-end;display:flex}.hotbar .group{gap:var(--u);flex-direction:column;display:flex}.hotbar .group .label{letter-spacing:.2em;text-transform:uppercase;color:var(--amber-dark);padding-left:2px;font-size:.65em}.hotbar .cells{gap:2px;display:flex}.grit-meter{background:var(--shadow);height:4px;box-shadow:inset 0 0 0 1px #0009}.grit-meter>span{background:var(--amber);height:100%;display:block}.toolbar{right:calc(var(--u) * 3);bottom:calc(var(--u) * 3);gap:var(--u);padding:calc(var(--u) * 1.5) calc(var(--u) * 2);display:flex;position:absolute}.toolbar button:not(.active):not(:hover){color:var(--bone-dark)}.dock{right:calc(var(--u) * 3);bottom:calc(var(--u) * 19);width:calc(var(--slot) * 4 + 2px * 3 + var(--u) * 6);max-height:calc(100vh - 180px - var(--u) * 30);position:absolute;overflow-y:auto}.dock.wide{width:calc(var(--u) * 100)}.drops{left:calc(var(--u) * 3);width:calc(var(--slot) * 5 + var(--u) * 8);position:absolute;top:22%}.drop-row{align-items:center;gap:calc(var(--u) * 2);padding:var(--u) 0;display:flex}.drop-row .meta{flex-direction:column;gap:1px;min-width:0;display:flex}.drop-row .name{color:var(--bone)}.drop-row .unknown{color:var(--concrete);letter-spacing:.08em;text-transform:uppercase}.drop-row .odds{color:var(--bone-dark);font-size:.9em}.slot.unknown{background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 3px), var(--concrete-dark)}.slot.unknown img{filter:brightness(0)}.modal{min-width:calc(var(--u) * 100);max-width:calc(100vw - var(--u) * 200);max-height:70vh;position:absolute;top:45%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.quest-tracker{top:calc(var(--u) * 42);left:calc(var(--u) * 3);width:calc(var(--u) * 148);pointer-events:none;z-index:2;position:absolute}.quest-tracker .quest-step,.quest-tracker .quest-count,.quest-tracker .quest-hint{margin:calc(var(--u) * 1) calc(var(--u) * 2)}.dialogue-body{gap:calc(var(--u) * 4);padding:calc(var(--u) * 3);display:flex}.dialogue-portrait{width:96px;height:128px;image-rendering:pixelated;object-fit:contain;background:var(--void);flex:none}.dialogue-line{margin:0 0 calc(var(--u) * 2)}.dialogue-options{align-items:flex-start;gap:var(--u);flex-direction:column;display:flex}.quest-list{gap:calc(var(--u) * 3);max-height:60vh;padding:calc(var(--u) * 2);flex-direction:column;display:flex;overflow:auto}.quest-chain{margin:0 0 var(--u);font-size:calc(var(--u) * 6);letter-spacing:.08em}.quest-entry{margin-bottom:calc(var(--u) * 2)}.quest-entry header{justify-content:space-between;gap:calc(var(--u) * 2);display:flex}.quest-entry p,.quest-name{margin:0}.quest-entry.done{opacity:.55}.modal.station{width:calc(var(--u) * 120)}.cost{gap:calc(var(--u) * 1.5);flex-wrap:wrap;display:flex}.cost-item{align-items:center;gap:var(--u);font-variant-numeric:tabular-nums;display:flex}.slot.small{--slot:36px}.slot.small img{width:32px;height:32px}.recipe{grid-template-columns:var(--slot) 1fr;gap:calc(var(--u) * 2);padding:var(--u) 0;border-bottom:1px dashed #e0a0401f;align-items:center;display:grid}.recipe.locked .slot img{opacity:.35;filter:grayscale()}.recipe-body{gap:var(--u);flex-direction:column;min-width:0;display:flex}.recipe-body .btns{gap:2px;display:flex}.buildbar{left:50%;top:calc(var(--u) * 3);max-width:calc(100vw - var(--u) * 120);gap:calc(var(--u) * 1.5);padding:calc(var(--u) * 2) calc(var(--u) * 3);flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.buildbar.closed{padding:calc(var(--u) * 1.5) calc(var(--u) * 2)}.banner{padding:calc(var(--u) * 4) calc(var(--u) * 6);color:var(--amber);text-align:center;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.login{align-items:center;gap:calc(var(--u) * 3);flex-direction:column;display:flex}.login input{width:calc(var(--u) * 56)}.login .error{color:var(--warning);max-width:calc(var(--u) * 56)}.veil{pointer-events:auto;-webkit-backdrop-filter:grayscale(.8);backdrop-filter:grayscale(.8);background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px),radial-gradient(#0506088c,#050608eb);place-items:center;animation:.35s ease-out .25s both veil-in;display:grid;position:fixed;inset:0}@keyframes veil-in{0%{opacity:0}}.signal{align-items:center;gap:calc(var(--u) * 2.5);min-width:calc(var(--u) * 80);padding:calc(var(--u) * 5) calc(var(--u) * 8);text-align:center;flex-direction:column;display:flex}.signal.down{--hl:var(--warning)}.signal.idle{--hl:var(--concrete-light)}.signal-heading{letter-spacing:.2em;text-transform:uppercase;color:var(--hl);font-size:1.6em}.signal .primary{margin-top:var(--u)}.signal-hint{font-size:.8em}.signal-hint code{font:inherit;white-space:nowrap;color:var(--bone-dark);display:block}.signal-bars{align-items:flex-end;gap:var(--u);height:calc(var(--u) * 8);display:flex}.signal-bars i{width:calc(var(--u) * 2);height:calc(25% * (var(--i) + 1));background:var(--concrete-dark)}.signal.seeking .signal-bars i{animation:1.2s step-end infinite bar-sweep;animation-delay:calc(var(--i) * .15s)}.signal.down .signal-bars i:first-child{background:var(--warning);animation:1s step-end infinite bar-blink}@keyframes bar-sweep{0%{background:var(--amber)}50%{background:var(--concrete-dark)}}@keyframes bar-blink{50%{background:var(--blood)}}.grid{grid-template-columns:repeat(4, var(--slot));grid-auto-rows:var(--slot);gap:2px;display:grid}.grid.wide{grid-template-columns:repeat(8, var(--slot))}.slot{width:var(--slot);height:var(--slot);background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 3px), var(--void);box-shadow:inset 0 0 0 1px var(--shadow), inset 0 0 0 2px #0009;justify-content:center;align-items:center;display:flex;position:relative}.slot img{width:32px;height:32px;image-rendering:pixelated;pointer-events:none}.slot.act:hover{box-shadow:inset 0 0 0 1px var(--amber);background:#e0a0401f}.slot.on{box-shadow:inset 0 0 0 1px var(--phosphor)}.slot.off img{opacity:.35;filter:grayscale()}.slot .count{color:var(--fire-hot);text-shadow:1px 1px 0 var(--void);font-size:16px;position:absolute;top:0;left:2px}.slot .key{color:var(--amber-dark);font-size:13px;position:absolute;bottom:0;right:2px}.slot .ghost{color:var(--concrete);text-transform:uppercase;letter-spacing:.1em;font-size:.7em}.slot .noart{color:var(--void);background:#f0f;font-size:12px}.slot.ability{text-transform:uppercase;color:var(--bone);font-size:15px;overflow:hidden}.slot.ability .glyph{color:var(--amber);text-shadow:0 0 calc(var(--u) * 2) #e0a04080;font-size:22px}.slot.ability.next{box-shadow:inset 0 0 0 1px var(--amber)}.slot.ability.broke{filter:grayscale(.65)brightness(.75)}.slot .need{color:var(--ash);text-shadow:1px 1px 0 var(--void);font-size:13px;position:absolute;bottom:0;right:2px}.slot .cool{pointer-events:none;background:#050608b8;position:absolute;inset:auto 0 0}.slot .left{color:var(--fire-hot);text-shadow:1px 1px 0 var(--void);justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;inset:0}.skill-groups{gap:calc(var(--u) * 1.5);flex-direction:column;display:flex}.skill-group{flex-direction:column;gap:2px;display:flex}.skill-head,.skill-tile{background:var(--void);box-shadow:inset 0 0 0 1px var(--shadow);cursor:var(--cursor-hand)}.skill-head:hover,.skill-tile:hover{box-shadow:inset 0 0 0 1px var(--amber-dark)}.skill-head{align-items:center;column-gap:calc(var(--u) * 1.5);row-gap:var(--u);padding:var(--u) calc(var(--u) * 1.25);grid-template-columns:auto 1fr auto;display:grid}.skill-head .name{color:var(--bone-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.75em}.skill-head .seg,.skill-tile .seg{height:2px;box-shadow:none}.skill-head .seg{grid-column:1/-1}.skill-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid}.skill-tile{justify-content:space-between;align-items:center;gap:var(--u);min-width:0;padding:var(--u) calc(var(--u) * 1) calc(var(--u) * 2);display:flex;position:relative;overflow:hidden}.skill-tile .lv{font-size:22px}.skill-tile .seg{left:1px;right:1px;bottom:var(--u);position:absolute}.skill-ico{width:32px;height:32px;image-rendering:pixelated;flex:none}.skill-ico.noart{color:var(--void);background:#f0f;font-size:8px}.skill-head .skill-ico{width:20px;height:20px;filter:drop-shadow(0 0 calc(var(--u) * 1.5) var(--c))}.skill-head .lv,.skill-tile .lv,.guide-head .lv,.guide-row .lv,.unlock .lv{color:var(--fire-hot);font-variant-numeric:tabular-nums}.skill-head .lv small,.guide-head .lv small{color:var(--concrete-light);font-size:.75em}.skill-foot{gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 2);padding-top:calc(var(--u) * 1.5);color:var(--bone-dark);font-variant-numeric:tabular-nums;border-top:1px dashed #e0a04038;display:flex}.skill-foot>span+span:before{content:"·";margin-right:calc(var(--u) * 3);color:var(--concrete)}.skill-foot b{color:var(--fire-hot);font-weight:400}.modal.skill-guide{width:min(680px, calc(100vw - var(--u) * 48));height:min(520px, calc(100vh - var(--u) * 80));flex-direction:column;max-width:none;max-height:none;display:flex;overflow:hidden}.guide{grid-template-columns:calc(var(--u) * 58) minmax(0, 1fr);gap:calc(var(--u) * 6);min-height:0;padding-top:calc(var(--u) * 2);flex:1;display:grid}.guide-nav,.guide-detail{min-height:0;overflow-y:auto}.guide-detail>.seg{display:block}.guide-family+.guide-family{margin-top:calc(var(--u) * 1.5)}.guide-row{justify-content:space-between;align-items:center;gap:var(--u);padding:calc(var(--u) * .6) calc(var(--u) * 1.5);color:var(--ash);cursor:var(--cursor-hand);display:flex}.guide-row.parent{letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dark);font-size:.8em}.guide-row.child{padding-left:calc(var(--u) * 3)}.guide-row:hover{color:var(--bone)}.guide-row.on{background:color-mix(in srgb, var(--c) 24%, transparent);box-shadow:inset 2px 0 0 var(--c);color:var(--bone)}.guide-head{align-items:center;gap:calc(var(--u) * 2);display:flex}.guide-head .skill-ico{width:48px;height:48px;filter:drop-shadow(0 0 calc(var(--u) * 1.5) var(--c))}.guide-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.guide-title .name{letter-spacing:.04em;font-size:1.25em}.guide-parent{letter-spacing:.12em;text-transform:uppercase;font-size:.75em}.guide-head .lv{font-size:1.6em}.guide-desc{color:var(--bone-dark);margin:0;line-height:1.15}.unlocks{flex-direction:column;display:flex}.unlock{grid-template-columns:calc(var(--u) * 8) 32px minmax(0, 1fr);gap:calc(var(--u) * 2);padding:var(--u) 0;border-bottom:1px dashed #e0a0401f;align-items:center;display:grid}.unlock-ico{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.unlock-ico img{width:32px;height:32px;image-rendering:pixelated}.unlock-body{flex-direction:column;gap:1px;min-width:0;display:flex}.unlock-body .note{color:var(--concrete-light);font-size:.85em}.unlock.locked img{opacity:.35;filter:grayscale()}.unlock.locked .name,.unlock.locked .note{color:var(--concrete)}.total{margin-top:calc(var(--u) * 2);padding-top:calc(var(--u) * 1.5);border-top:1px dashed #e0a04038}.equip{grid-template-columns:var(--slot) 1fr;gap:calc(var(--u) * 1.5) calc(var(--u) * 2);align-items:center;display:grid}.equip .what{flex-direction:column;gap:2px;display:flex}.equip .what .label{letter-spacing:.16em;text-transform:uppercase;color:var(--amber-dark);font-size:.7em}.stats{gap:calc(var(--u) * .75);flex-direction:column;display:flex}.stats .spread>:first-child{color:var(--bone-dark)}.stats .spread>:last-child{font-variant-numeric:tabular-nums}.doll{grid-template-columns:var(--slot) 192px var(--slot);justify-content:center;align-items:center;gap:2px;display:grid}.doll-col{flex-direction:column;gap:2px;display:flex}.doll-stage{align-items:center;gap:var(--u);flex-direction:column;display:flex}.doll-stage canvas{width:192px;height:192px;image-rendering:pixelated;background:var(--void);box-shadow:inset 0 0 0 1px var(--shadow)}.doll-turn{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;width:100%;font-size:.7em;display:flex}.doll-level{margin-top:calc(var(--u) * 2);justify-content:space-between;align-items:baseline;display:flex}.doll-level .label,.stat-card .label,.doll-graves .label{letter-spacing:.16em;text-transform:uppercase;color:var(--amber-dark);font-size:.7em}.stat-cards{margin-top:var(--u);grid-template-columns:1fr 1fr;gap:2px;display:grid}.stat-card{background:var(--void);box-shadow:inset 0 0 0 1px var(--shadow);padding:var(--u);flex-direction:column;gap:2px;font-size:.85em;display:flex}.stat-card.wide{grid-column:1/-1}.stat-card .spread>:first-child{color:var(--bone-dark)}.stat-card .spread>:last-child{font-variant-numeric:tabular-nums}.doll-graves{gap:var(--u) calc(var(--u) * 2);margin-top:calc(var(--u) * 2);flex-wrap:wrap;align-items:baseline;font-size:.85em;display:flex}.kit-head{justify-content:space-between;align-items:baseline;gap:var(--u);margin-bottom:calc(var(--u) * 2);display:flex}.kit-head .chip{letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.prio-bar{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.prio-slot{aspect-ratio:1;cursor:pointer;width:auto;height:auto}.prio-slot .idx{color:var(--amber-dark);text-shadow:1px 1px 0 var(--void);font-size:10px;position:absolute;top:0;left:2px}.prio-slot .skill-ico{width:24px;height:24px}.prio-always{align-items:center;gap:calc(var(--u) * 2);margin-top:calc(var(--u) * 2);padding:var(--u);color:var(--bone-dark);background:#00000040;font-size:.85em;display:flex}.prio-always .skill-ico{width:24px;height:24px}.ability-book{flex-direction:column;gap:2px;display:flex}.book-label{margin-top:var(--u);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dark);font-size:.7em}.ability-tile{align-items:center;gap:calc(var(--u) * 2);padding:2px var(--u);cursor:pointer;grid-template-columns:32px 1fr auto auto;display:grid}.ability-tile:hover{background:#e0a0401f}.ability-tile.on{opacity:.4}.ability-tile .skill-ico{width:28px;height:28px}.grit-badge{font-variant-numeric:tabular-nums;font-size:.85em}.grit-badge.gain{color:var(--phosphor-hot)}.grit-badge.cost{color:var(--warning)}.sustain{gap:var(--u);flex-direction:column;display:flex}.loot-grid{grid-template-columns:repeat(auto-fill, var(--slot));margin-top:calc(var(--u) * 2);gap:2px;display:grid}.threshold{align-items:center;gap:var(--u);display:flex}.threshold input{flex:1;min-width:0}label.check{align-items:center;gap:var(--u);display:inline-flex}.panel-col{gap:calc(var(--u) * 1.5);flex-direction:column;display:flex}.batch{gap:var(--u);padding:calc(var(--u) * 1.5) 0;border-bottom:1px dashed #e0a0402e;flex-direction:column;display:flex}.quote{color:var(--bone-dark);font-style:italic}.tooltip{--bl:calc(var(--u) * 2);z-index:120;pointer-events:none;gap:calc(var(--u) * .75);max-width:300px;padding:calc(var(--u) * 2) calc(var(--u) * 2.5);flex-direction:column;font-size:17px;line-height:1.1;display:flex;position:fixed}.tooltip .tt-title{padding-bottom:var(--u);margin-bottom:calc(var(--u) * .5);letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--amber));border-bottom:1px solid color-mix(in srgb, var(--c,var(--amber)) 35%, transparent);font-size:1.05em}.tooltip .tt-sub{color:var(--concrete-light);font-size:.9em}.tooltip .tt-row{justify-content:space-between;gap:calc(var(--u) * 5);color:var(--bone-dark);display:flex}.tooltip .tt-row>:last-child{color:var(--bone);font-variant-numeric:tabular-nums}.tooltip .tt-row>.good{color:var(--phosphor-hot)}.tooltip .tt-row>.bad{color:var(--warning)}.tooltip .tt-desc{color:var(--bone-dark);margin-top:calc(var(--u) * .5)}.tooltip .tt-hint{margin-top:calc(var(--u) * .75);padding-top:var(--u);color:var(--concrete-light);border-top:1px solid #e0a0401f;font-size:.9em}.ctxmenu{z-index:110;min-width:190px;padding:calc(var(--u) * 1.5);flex-direction:column;gap:1px;display:flex;position:fixed}.ctxmenu .ctx-title{padding:0 var(--u) var(--u);margin-bottom:calc(var(--u) * .5);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #e0a04038;font-size:.75em}.ctxmenu .ctx-title:before{content:"// ";color:var(--amber-dark)}.ctxmenu button{text-align:left;text-transform:none;letter-spacing:.02em;box-shadow:none;padding:calc(var(--u) * .75) calc(var(--u) * 2);background:0 0}.ctxmenu button:hover:not(:disabled){box-shadow:inset var(--u) 0 0 var(--amber);background:linear-gradient(90deg,#e0a04038,#0000)}.ctxmenu button.cancel{color:var(--concrete-light)}
