:root{--bg:#050505;--text:#e6e1d6;--dim:#9b968b;--faint:#e6e1d638;--rule:#e6e1d659;--you:#c9773a;--bad:#c25a44;--shade:#0505058c;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"SF Mono", Menlo, Consolas, ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;font-family:var(--sans);color:var(--text);margin:0;overflow:hidden}#app,#app canvas{display:block;position:fixed;inset:0}#app canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='black' stroke-width='6' stroke-linecap='round' opacity='.85'%3E%3Ccircle cx='20' cy='20' r='11'/%3E%3Cpath d='M20 1v10M20 29v10M1 20h10M29 20h10'/%3E%3C/g%3E%3Cg fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='20' cy='20' r='11'/%3E%3Cpath d='M20 2v9M20 29v9M2 20h9M29 20h9'/%3E%3Ccircle cx='20' cy='20' r='1' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E") 20 20,crosshair}[hidden]{display:none!important}button{font:inherit;color:inherit}.glass{background:0 0}.card{padding:1.4rem 1.6rem}.tag{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:.68rem}.btn{cursor:pointer;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--rule);background:0 0;padding:.55rem 1.2rem;font-size:.72rem;transition:border-color .12s,color .12s}.btn:hover{border-color:var(--text)}.btn.primary{background:var(--text);color:#0b0b0b;border-color:var(--text)}.btn.primary:hover{background:#fff}.btn.big{padding:.8rem 2.4rem;font-size:.85rem}.btn.on{border-color:var(--text);color:var(--text);background:#e6e1d614}#hud{pointer-events:none;text-shadow:0 1px 2px #000c;position:fixed;inset:0}#me{flex-direction:column;gap:.35rem;width:15rem;display:flex;position:fixed;top:1.4rem;left:1.6rem}.me-top{align-items:baseline;gap:.6rem;display:flex}#me-class{color:var(--text);padding:0;background:0 0!important}#me-name{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);flex:1;font-size:.68rem}#hp-text{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:400}#me .bar{background:var(--faint);height:3px;position:relative;overflow:hidden}#me .bar i{transition:width .12s;position:absolute;top:0;bottom:0;left:0}#hp-fill{background:var(--text);width:100%}#shield-fill{opacity:.9;background:#8fa4b4;width:0}#weapon{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);justify-content:space-between;font-size:.66rem;display:flex}#weapon.picked{color:var(--text)}#ammo{font-family:var(--mono);gap:3px;display:flex}#ammo i{background:currentColor;width:4px;height:9px}#match{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap;align-items:baseline;gap:2rem;font-size:.7rem;display:flex;position:fixed;top:1.4rem;left:50%;transform:translate(-50%)}#m-mid{font-family:var(--mono);letter-spacing:.05em;color:var(--text);font-size:1.1rem;font-weight:400}#m-left b,#m-right b{color:var(--text);font-weight:500}#where{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:.62rem;position:fixed;top:3.3rem;left:50%;transform:translate(-50%)}#corner{flex-direction:column;align-items:flex-end;gap:.8rem;display:flex;position:fixed;top:1.4rem;right:1.6rem}#minimap{border:1px solid var(--rule);background:#05050580;border-radius:50%;width:170px;height:170px}#feed{flex-direction:column;align-items:flex-end;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}#feed li{letter-spacing:.04em;white-space:nowrap;color:var(--dim);font-size:.72rem}#feed li.you{color:var(--text)}#feed .dot{vertical-align:1px;width:.45rem;height:.45rem;margin-right:.35rem;display:inline-block}#feed .x{color:var(--dim);margin:0 .4rem}#kit{flex-direction:column;align-items:center;gap:.7rem;display:flex;position:fixed;bottom:2.2rem;left:50%;transform:translate(-50%)}.abs{gap:1.8rem;display:flex}.ab{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);grid-template-columns:auto auto;align-items:baseline;gap:.3rem .5rem;font-size:.64rem;display:grid}.ab .ico{display:none}.ab .nm{grid-area:1/1}.ab kbd{font-family:var(--mono);letter-spacing:0;color:var(--dim);opacity:.7;grid-area:1/2;font-size:.6rem}.ab .ring{--p:1;background:linear-gradient(90deg, var(--text) calc(var(--p) * 100%), var(--faint) 0);grid-area:2/1/auto/3;width:4.6rem;height:2px}.ab.ready{color:var(--text)}#buffs{gap:1rem;display:flex}.buff{--p:1;letter-spacing:.16em;text-transform:uppercase;color:var(--text);padding:0 0 .25rem;font-size:.64rem;position:relative;box-shadow:none!important;background:0 0!important}.buff:after{content:"";height:1px;width:calc(var(--p) * 100%);background:var(--text);position:absolute;bottom:0;left:0}#banner{opacity:0;flex-direction:column;align-items:center;gap:.5rem;transition:opacity .3s;display:flex;position:fixed;top:30%;left:0;right:0}#banner.show{opacity:1}#banner b{letter-spacing:.4em;text-transform:uppercase;color:var(--text);padding-left:.4em;font-size:1.8rem;font-weight:400}#banner span{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:.7rem}#alert{letter-spacing:.3em;text-transform:uppercase;color:var(--text);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);opacity:0;padding:.3rem 0;font-size:.68rem;transition:opacity .3s;position:fixed;top:5rem;left:50%;transform:translate(-50%)}#alert.show{opacity:1}#toast{letter-spacing:.24em;text-transform:uppercase;color:var(--text);opacity:0;font-size:.7rem;transition:opacity .3s;position:fixed;bottom:7.6rem;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#numbers .num{font-family:var(--mono);color:var(--text);white-space:nowrap;font-size:.8rem;position:fixed;transform:translate(-50%,-50%)}#numbers .num.mine{color:#f0e8d8}#numbers .num.hurt{color:var(--bad)}#numbers .num.shield{color:#8fa4b4}#hitmark{opacity:0;background:linear-gradient(45deg, transparent 47%, var(--text) 47%, var(--text) 53%, transparent 53%), linear-gradient(-45deg, transparent 47%, var(--text) 47%, var(--text) 53%, transparent 53%);width:18px;height:18px;margin:-9px 0 0 -9px;transition:opacity .12s;position:fixed;-webkit-mask:radial-gradient(circle,#0000 35%,#000 36%);mask:radial-gradient(circle,#0000 35%,#000 36%)}#hitmark.show{opacity:.9;transition:none}#scoreboard{background:var(--shade);min-width:28rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#hint{letter-spacing:.08em;color:var(--dim);opacity:.7;white-space:nowrap;font-size:.62rem;position:fixed;bottom:.6rem;left:50%;transform:translate(-50%)}table{border-collapse:collapse;width:100%;font-size:.8rem}th{text-align:left;text-transform:uppercase;letter-spacing:.2em;color:var(--dim);border-bottom:1px solid var(--rule);padding:.35rem .5rem;font-size:.6rem;font-weight:400}td{border-bottom:1px solid var(--faint);padding:.35rem .5rem}td.n,th.n{text-align:right;font-family:var(--mono)}tr.you td{color:#fff}.swatch{vertical-align:1px;width:.5rem;height:.5rem;margin-right:.55rem;display:inline-block}.screen{place-items:center;padding:2rem 1rem;display:grid;position:fixed;inset:0;overflow:auto}.screen.dim{background:#050505b3}.screen.title{background:linear-gradient(90deg,#050505d9 0,#0505058c 30rem,#0000 46rem);place-items:stretch start;padding:0}.title-panel{flex-direction:column;gap:1.2rem;width:min(34rem,100vw);min-height:100%;padding:2.8rem 2.4rem 1.6rem;display:flex;overflow-y:auto}.logo{letter-spacing:.6em;color:var(--text);margin:0;font-size:clamp(1.8rem,3.6vw,2.4rem);font-weight:400}.tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin:-.6rem 0 .4rem;font-size:.66rem}.choose{flex-direction:column;gap:.5rem;display:flex}.choose h3{text-transform:uppercase;letter-spacing:.3em;color:var(--dim);border-bottom:1px solid var(--faint);margin:0;padding-bottom:.35rem;font-size:.6rem;font-weight:400}.row{flex-wrap:wrap;gap:.5rem;display:flex}.blurb{color:#c4bfb3;margin:0;font-size:.82rem;line-height:1.45}.blurb.small{color:var(--dim);font-size:.7rem}.credit{opacity:.7;margin-top:auto}.moons{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.moon{cursor:pointer;border:1px solid var(--faint);background:0 0;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem .5rem;transition:border-color .12s;display:flex}.moon:hover{border-color:var(--rule)}.moon.on{border-color:var(--text)}.moon .orb{filter:saturate(.6);border-radius:50%;width:2rem;height:2rem;box-shadow:inset -6px -5px 9px #000000bf}.moon .mn{letter-spacing:.18em;text-transform:uppercase;font-size:.66rem}.moon .mg{font-family:var(--mono);color:var(--dim);text-align:center;font-size:.58rem}.cards{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.cards .class{cursor:pointer;text-align:left;border:1px solid var(--faint);background:0 0;flex-direction:column;gap:.3rem;padding:.7rem .7rem .75rem;transition:border-color .12s;display:flex}.cards .class:hover{border-color:var(--rule)}.cards .class.on{border-color:var(--text)}.class .name{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.8rem;display:flex}.class .about{color:#b5b0a5;min-height:3.3em;font-size:.72rem;line-height:1.35}.class .ability{letter-spacing:.16em;text-transform:uppercase;color:var(--text);font-size:.6rem}.stat{color:var(--dim);text-transform:uppercase;letter-spacing:.1em;grid-template-columns:3.6rem 1fr;align-items:center;gap:.35rem;font-size:.58rem;display:grid}.stat .track{background:var(--faint);height:2px;overflow:hidden}.stat .track i{background:var(--text);height:100%;display:block}.seg .btn{padding:.42rem .9rem}.actions{align-items:center;margin-top:.3rem}.menu{text-align:center;flex-direction:column;align-items:stretch;gap:.7rem;min-width:19rem;display:flex}.menu.wide{min-width:min(34rem,92vw)}.menu h2{letter-spacing:.5em;text-transform:uppercase;margin:0 0 .6rem;font-size:1rem;font-weight:400}.field{letter-spacing:.06em;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;display:flex}.field.check{justify-content:flex-start}.field input[type=range]{accent-color:var(--text);flex:1}.field input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--text)}.load-inner{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.load-bar{background:var(--faint);width:min(18rem,70vw);height:1px;overflow:hidden}.load-bar i{background:var(--text);width:0;height:100%;transition:width .2s;display:block}#load-text{letter-spacing:.3em;text-transform:uppercase;color:var(--dim);font-size:.62rem}@media (width<=900px){.screen.title{background:#050505bf}.title-panel{width:100vw}}@media (width<=720px){#minimap{width:120px;height:120px}#me{width:11rem}#hint{display:none}.moons{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:1fr}}
