:root{--stone-900:#121214;--stone-800:#1c1c20;--stone-700:#2a2a30;--stone-500:#55555f;--parchment:#ece4d4;--parchment-dim:#b9b1a2;--amber:#e8a54b;--amber-hot:#ffc36e;--ok:#8fcf8a;--warn:#e8c46b;--error:#ff8f80;--focus:#ffd38a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--parchment);background:var(--stone-900);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse 50% 40% at 18% 30%, #e8a54b29, transparent 70%), radial-gradient(ellipse 50% 40% at 82% 30%, #e8a54b1f, transparent 70%), radial-gradient(ellipse 40% 30% at 50% 100%, #e8a54b1a, transparent 70%), var(--stone-900)}.screen{place-items:center;min-height:100%;padding:24px 16px;display:grid}.panel{border:1px solid var(--stone-700);border-top:3px solid var(--amber);background:#1c1c20eb;border-radius:6px;width:min(440px,100%);padding:32px;box-shadow:0 20px 60px #00000080}h1{letter-spacing:.04em;color:var(--amber-hot);margin:0 0 4px;font-size:2rem}.tagline{color:var(--parchment-dim);margin:0 0 24px}label{margin-bottom:6px;font-weight:600;display:block}input{width:100%;font:inherit;color:var(--parchment);background:var(--stone-800);border:1px solid var(--stone-500);border-radius:4px;padding:10px 12px;font-size:1.05rem}input[aria-invalid=true]{border-color:var(--error)}.hint{min-height:1.4em;color:var(--parchment-dim);margin:6px 0 16px;font-size:.9rem}.hint--error{color:var(--error)}button{width:100%;font:inherit;color:#1a1206;background:var(--amber);cursor:pointer;border:none;border-radius:4px;padding:11px 16px;font-size:1.05rem;font-weight:700}button:hover:not(:disabled){background:var(--amber-hot)}button:disabled{cursor:not-allowed;background:var(--stone-500);color:var(--stone-800)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.status{margin:16px 0 0;font-size:.9rem}.status:before{content:"●  "}.status--pending{color:var(--parchment-dim)}.status--ok{color:var(--ok)}.status--warn{color:var(--warn)}.status--error{color:var(--error)}.notice{border-left:3px solid var(--amber);background:#e8a54b1a;margin:12px 0 0;padding:10px 12px}.disclosure{color:var(--parchment-dim);margin:20px 0 0;font-size:.82rem;line-height:1.45}.game{-webkit-user-select:none;user-select:none;background:#050506;position:fixed;inset:0;overflow:hidden}.game-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{color:var(--parchment);background:#ffffff14;border:1px solid #ffffff38;border-radius:3px;padding:0 5px;font:600 .75rem/1.5 ui-monospace,Menlo,monospace;display:inline-block}.loading{text-align:center;background:var(--stone-900);place-content:center;gap:12px;display:grid;position:absolute;inset:0}.loading-bar{background:var(--stone-700);border-radius:3px;width:320px;height:6px;overflow:hidden}.loading-bar>div{background:var(--amber);height:100%;transition:width .2s}.hud-top-left,.hud-top-right,.hud-bottom-centre,.hud-hints,.dev-overlay,.chat{text-shadow:0 1px 2px #000000e6;position:absolute}.hud-top-left{width:240px;top:16px;left:16px}.hud-name{margin-bottom:4px;font-weight:700}.health{background:#140808bf;border:1px solid #ffffff40;border-radius:3px;height:18px;position:relative;overflow:hidden}.health-fill{background:linear-gradient(#c8423a,#8e2620);height:100%}.health-text{place-items:center;font:600 .75rem/1 ui-monospace,Menlo,monospace;display:grid;position:absolute;inset:0}.hud-area{color:var(--parchment-dim);margin-top:6px;font-size:.85rem}.hud-top-right{align-items:center;gap:10px;font-size:.85rem;display:flex;top:14px;right:16px}.conn--offline{color:var(--warn)}.icon-btn{width:34px;height:34px;color:var(--parchment);background:#141418bf;border:1px solid #ffffff40;padding:0;font-size:1.1rem}.icon-btn:hover:not(:disabled){background:#3c3c42e6}.hud-bottom-centre{text-align:center;bottom:18px;left:50%;transform:translate(-50%)}.attack-slot{border:2px solid var(--amber);background:#181614d9;border-radius:6px;place-items:center;width:52px;height:52px;display:grid;position:relative;overflow:hidden}.attack-slot--disabled{border-color:var(--stone-500);filter:grayscale();opacity:.7}.attack-icon{font-size:1.6rem}.attack-cooldown{background:#0009;position:absolute;bottom:0;left:0;right:0}.slot-key{padding:0 3px;font-size:.65rem;position:absolute;top:2px;left:3px}.slot-caption{color:var(--parchment-dim);margin-top:4px;font-size:.78rem}.hud-hints{color:var(--parchment-dim);font-size:.75rem;bottom:18px;right:16px}.dev-overlay{color:#9fd59a;font:.72rem/1.4 ui-monospace,Menlo,monospace;top:54px;right:16px}.chat{width:360px;bottom:16px;left:16px}.chat-log{max-height:160px;margin:0 0 6px;padding:0;font-size:.86rem;line-height:1.35;list-style:none;overflow-y:auto}.chat-log li{overflow-wrap:anywhere;padding:1px 0}.chat-from{color:var(--amber-hot);font-weight:700}.chat-form input{-webkit-user-select:text;user-select:text;background:#121214b3;border-color:#fff3;padding:6px 8px;font-size:.9rem}.overlay{background:#00000080;place-items:center;display:grid;position:absolute;inset:0}.overlay h2,.panel-float h2{color:var(--amber-hot);margin:0 0 12px}fieldset{border:1px solid var(--stone-700);border-radius:4px;margin:0 0 14px;padding:10px 12px}legend{color:var(--parchment-dim);padding:0 4px}label.check{align-items:flex-start;gap:8px;margin:6px 0;font-weight:400;display:flex}label.check input{width:auto;margin-top:3px}.row{gap:10px;display:flex}button.secondary{color:var(--parchment);background:var(--stone-700)}.panel-float{border:1px solid var(--stone-700);border-top:3px solid var(--amber);background:#1c1c20f0;border-radius:6px;width:300px;padding:18px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.muted{color:var(--parchment-dim)}.conn--online{color:var(--ok)}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.name-label{white-space:nowrap;color:var(--parchment);text-shadow:0 1px 2px #000000e6;will-change:transform;background:#0a0a0c8c;border-radius:3px;padding:1px 6px;font-size:.78rem;font-weight:600;position:absolute;top:0;left:0}.name-label--self{color:var(--amber-hot)}.notice-banner{border:1px solid var(--amber);background:#281e0fe6;border-radius:4px;padding:8px 14px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.returning p{margin:0 0 12px}button.link{width:auto;color:var(--amber-hot);background:0 0;margin-top:10px;padding:0;font-size:.9rem;font-weight:400;text-decoration:underline}.hint--warn{color:var(--warn)}.enemy-bar{background:#0a0a0cbf;border:1px solid #ffffff59;border-radius:2px;width:46px;height:6px;position:absolute;top:0;left:0;overflow:hidden}.enemy-bar>div{background:#c8423a;height:100%}.pickup-hint{border:1px solid var(--amber);color:var(--amber-hot);text-shadow:none;background:#14120cd9;border-radius:4px;padding:6px 12px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--error);background:#32100eeb;border-radius:4px;padding:8px 14px;position:absolute;top:110px;left:50%;transform:translate(-50%)}.death{text-align:center;pointer-events:none;background:radial-gradient(#3c000040,#000000a6);place-content:center;display:grid;position:absolute;inset:0}.death h2{color:#e9b3a8;margin:0 0 6px;font-size:2rem}.inventory{width:320px}.equip-slot{border:1px solid var(--amber);background:#e8a54b14;border-radius:4px;gap:2px;margin-bottom:12px;padding:8px 10px;display:grid}.slots{grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.slot{aspect-ratio:1;width:100%;color:var(--parchment);background:var(--stone-800);border:1px solid var(--stone-500);border-radius:4px;place-items:center;padding:0;font-size:1.4rem;display:grid;position:relative}button.slot:hover:not(:disabled){background:var(--stone-700)}.slot--selected{outline:2px solid var(--amber-hot)}.slot--equipped{border-color:var(--amber)}.slot--empty{opacity:.45}.slot-badge{color:var(--amber-hot);font:700 .65rem/1 ui-monospace,Menlo,monospace;position:absolute;top:2px;right:4px}.item-detail{gap:6px;margin-bottom:10px;display:grid}button.danger{color:#fff;background:#a3342b}.hud-objective{max-width:260px;color:var(--amber-hot);margin-top:8px;font-size:.82rem;line-height:1.35}.panel:has(.class-picker){width:min(680px,100%)}.class-picker{margin:4px 0 14px}.class-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:640px){.class-cards{grid-template-columns:1fr}}.class-card{border:1px solid var(--stone-500);background:var(--stone-800);cursor:pointer;border-radius:5px;align-content:start;gap:4px;margin:0;padding:10px;font-weight:400;display:grid;position:relative}.class-card input{opacity:0;width:1px;height:1px;position:absolute}.class-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.class-card--selected{border-color:var(--amber);background:#e8a54b1a}.class-name{color:var(--amber-hot);font-size:1.05rem;font-weight:700}.class-role{font-size:.85rem}.class-stats{color:var(--parchment-dim);font:.72rem/1.4 ui-monospace,Menlo,monospace}.class-plays{color:var(--parchment-dim);font-size:.78rem;line-height:1.35}.level-row{align-items:center;gap:8px;margin-top:6px;display:flex}.level-badge{text-align:center;color:#1a1206;background:var(--amber);border-radius:3px;min-width:46px;padding:1px 6px;font:700 .72rem/1.5 ui-monospace,Menlo,monospace}.xp-bar{background:#0a0a0cb3;border:1px solid #fff3;border-radius:3px;flex:1;height:6px;overflow:hidden}.xp-bar>div{background:linear-gradient(90deg,#c9a24a,#f0d27a);height:100%}.toast--good{border-color:var(--ok);background:#1e280eeb}.chat-system{color:var(--amber-hot);font-style:italic}.slot--locked{opacity:.45}.hud-bottom-centre .slot-caption{margin:0 0 6px}.attack-slot .attack-cooldown{background:#000000b8}.skill-seconds{color:var(--parchment);text-shadow:0 1px 3px #000;place-items:center;font-size:1.15rem;font-weight:700;display:grid;position:absolute;inset:0}.hotbar{justify-content:center;gap:8px;display:flex}.hotbar-slot-wrap{position:relative}button.attack-slot,button.attack-slot:hover:not(:disabled){color:var(--parchment);background:#181614d9;padding:0;font-weight:400}.attack-slot .attack-cooldown{transition:height .25s linear}.skill-slot{border-color:#7aa7d8}.skill-slot--locked{border-color:var(--stone-500)}.skill-slot--locked .attack-icon{opacity:.35}.skill-lock{color:var(--parchment-dim);font-size:.68rem;font-weight:700;position:absolute;bottom:2px;left:0;right:0}.slot-tip{z-index:5;text-align:left;width:220px;color:var(--parchment);border:1px solid var(--amber);pointer-events:none;background:#12100ef5;border-radius:4px;flex-direction:column;gap:4px;padding:8px 10px;font-size:.8rem;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}@media (hover:hover){.hotbar-slot-wrap:hover .slot-tip,.hotbar-slot-wrap:focus-within .slot-tip{display:flex}}.slot-tip-facts{color:var(--parchment-dim)}.slot-tip-lock{color:var(--amber-hot);font-weight:700}.name-label{flex-direction:column;align-items:center;display:flex}.name-label--target{outline-offset:1px;color:#c9f7cf;outline:2px solid #7fe08a}.enemy-tag{will-change:transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.enemy-tag .enemy-bar{position:static}.fx-row{justify-content:center;gap:2px;display:flex}.fx-row:empty{display:none}.fx-icon{border-radius:3px;place-items:center;width:16px;height:16px;margin-bottom:2px;font-size:.68rem;line-height:1;display:grid;position:relative;overflow:hidden}.fx-icon--buff{color:#e9fff0;background:#267046e6;border:1px solid #7fe08a}.fx-icon--debuff{color:#ffeaea;background:#782434e6;border:1px solid #ff8a8a}.fx-time{background:#ffffffd9;height:2px;position:absolute;bottom:0;left:0}.float-num{pointer-events:none;font:700 17px/1 var(--font-ui,system-ui, sans-serif);font-variant-numeric:tabular-nums;color:#f2efe6;text-shadow:0 1px #000,0 0 3px #000,0 0 6px #000c;white-space:nowrap;will-change:transform, opacity;position:absolute;top:0;left:0}.float-num--mine{color:#ffd75e;font-size:20px}.float-num--other{color:#e9e4d6;font-size:15px}.float-num--hurt{color:#ff6b5e;font-size:19px}.float-num--heal{color:#7dff9a}@media (prefers-reduced-motion:reduce){.float-num{will-change:opacity}}html,body{overscroll-behavior:none}.game button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud-top-left{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left))}.hud-top-right{top:max(14px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right))}.hud-bottom-centre{bottom:max(38px, calc(env(safe-area-inset-bottom) + 12px))}.chat{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom))}button.pickup-hint{cursor:pointer;width:auto;font-size:.95rem;font-weight:600}button.pickup-hint:hover:not(:disabled){background:#282214f2}.pickup-hint .key-hint{margin-left:6px}.hints-touch{display:none}@media (pointer:coarse){.hints-mouse,.key-hint,.slot-key{display:none}.hints-touch{display:inline}.attack-slot{width:58px;height:58px}.icon-btn{width:44px;height:44px}button.pickup-hint{padding:10px 16px}.chat-form input{font-size:16px}}@media (max-width:1000px){.hud-hints{display:none}}@media (max-width:700px),(max-height:480px){.hud-top-left{width:190px}.hud-objective{max-width:190px;font-size:.76rem}.conn-label{display:none}.hotbar{gap:6px}.chat{width:min(300px,100vw - 32px)}.chat-log{max-height:72px;font-size:.8rem}}@media (max-width:700px){.chat{bottom:calc(max(38px, env(safe-area-inset-bottom) + 12px) + 80px)}.pickup-hint{bottom:200px}.attack-slot{width:54px;height:54px}}@media (max-height:480px){.hud-bottom-centre{bottom:max(12px, env(safe-area-inset-bottom));left:auto;right:max(16px, env(safe-area-inset-right));transform:none}.hud-bottom-centre .slot-caption,.hud-area,.xp-bar{display:none}}@media (max-width:700px),(max-height:480px){.panel-float{right:max(12px, env(safe-area-inset-right));width:min(320px,100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}}
