:root{--bg:#0d0608;--panel:#1a0d10db;--line:#e9d6cf2e;--text:#f3e6e1;--muted:#b39d96;--accent:#e0714c;--danger:#ff5a5a;--ok:#7fd18b;--relic:#a07bff;--coin:#ffc23d;--shop:#4de6b3;--sanctuary:#dc9eff;--compass:#73d9ff;--chart:#f5c76b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;margin:0;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#1a0d10;border-radius:8px;padding:.45rem .9rem;font-weight:600}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{color:var(--text);border-color:var(--line);background:0 0;font-weight:500}input:not([type]),input[type=text]{border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#00000059;border-radius:8px;width:100%;padding:.45rem .7rem}.panel-layer{background:radial-gradient(circle at 30% 20%, #3d1414 0%, var(--bg) 70%);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:.9rem;width:min(440px,100%);padding:1.4rem;display:grid}.card h1{letter-spacing:.35em;color:var(--accent);margin:0;font-size:1.9rem}.card h2{margin:.3rem 0 0;font-size:1rem}.card label{gap:.3rem;display:grid}.tagline,.muted{color:var(--muted);margin:0}.roles{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:1.2rem;padding:.5rem .8rem;display:flex}.roles label{align-items:center;gap:.4rem;display:flex}.roles small{flex-basis:100%;font-size:.8rem}.row{gap:.5rem;display:flex}#game-list{gap:.4rem;max-height:38vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}#game-list li:not(.muted){border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.game-info small{color:var(--muted);display:block}.error{color:var(--danger);min-height:1.2em;margin:0}#hud{pointer-events:none;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));position:fixed;inset:0}#hud button{pointer-events:auto}.hud-top{text-shadow:0 1px 3px #000;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hud-top>div{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.badge{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:.05rem .6rem;font-size:.8rem}#scoreboard{background:var(--panel);font-variant-numeric:tabular-nums;border-radius:10px;min-width:10rem;margin:0;padding:.5rem .8rem .5rem 2rem}#scoreboard li{justify-content:space-between;gap:1rem;display:flex}#scoreboard li.self{color:var(--accent);font-weight:600}#scoreboard li.god{color:var(--sanctuary)}#scoreboard li.god::marker{content:""}#scoreboard .swatch{vertical-align:.05em;border-radius:50%;width:.6rem;height:.6rem;margin-right:.4rem;display:inline-block;box-shadow:0 0 0 1px #00000080}#scoreboard li.vacant{color:var(--muted);margin-left:-1.2rem;font-size:.8rem;list-style:none}#feed{text-shadow:0 1px 3px #000;max-width:22rem;margin:.6rem 0 0;padding:0;font-size:.85rem;list-style:none}#feed .gold{color:var(--coin)}#feed .relic{color:var(--relic)}#feed .sanctuary{color:var(--sanctuary);font-weight:600}#feed .danger{color:var(--danger)}#dock{left:50%;bottom:max(14px, env(safe-area-inset-bottom));justify-items:center;gap:6px;width:min(360px,100vw - 340px);min-width:220px;display:grid;position:absolute;transform:translate(-50%)}.dock-row{align-items:center;gap:8px;width:100%;display:flex}#purse{color:var(--coin);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000;align-items:center;gap:4px;min-width:3.6rem;font-weight:700;display:flex}#purse svg{filter:drop-shadow(0 0 4px #ffc23d8c);width:20px;height:20px}#purse.bump{animation:.38s ease-out bump}@keyframes bump{30%{transform:scale(1.25)}}.bars{flex:1;gap:3px;display:grid}#stamina{background:#00000080;border-radius:3px;height:5px;overflow:hidden}#stamina-fill{background:var(--compass);width:100%;height:100%}#stamina.low #stamina-fill{background:color-mix(in srgb, var(--compass) 45%, #555)}#stamina.spent{animation:.6s ease-in-out infinite blink}#hp{border:1px solid var(--line);background:#00000080;border-radius:6px;height:12px;overflow:hidden}#hp-fill{background:var(--ok);width:100%;height:100%;transition:width .12s}#inventory{gap:6px;display:flex}.slot{background:var(--panel);border:1px solid var(--item,var(--line));width:48px;height:48px;color:var(--item,var(--text));box-shadow:inset 0 0 12px color-mix(in srgb, var(--item) 22%, transparent);border-radius:10px;place-items:center;padding:0;display:grid;position:relative}.slot svg{width:26px;height:26px}.slot:disabled{opacity:.32;cursor:default;box-shadow:none}.slot .count{color:var(--text);font-size:.72rem;font-weight:700;position:absolute;bottom:1px;right:3px}.slot kbd{color:var(--muted);font-size:.62rem;position:absolute;top:1px;left:4px}body.touch .slot kbd{display:none}.item-probe{--item:var(--sanctuary)}.item-chart{--item:var(--chart)}.item-spyglass{--item:var(--shop)}.item-compass{--item:var(--compass)}.item-medkit{--item:var(--ok)}#quest-status{text-shadow:0 1px 3px #000;gap:10px;margin:0;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:flex}#quest-status .compass{color:var(--compass)}#quest-status .chart{color:var(--chart)}#quest-status .sanctuary{color:var(--sanctuary)}#shop{right:max(12px, env(safe-area-inset-right));background:var(--panel);border:1px solid color-mix(in srgb, var(--shop) 45%, transparent);pointer-events:auto;border-radius:14px;width:min(300px,100vw - 24px);padding:.8rem;animation:.22s ease-out rise;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 30px #4de6b31f}@keyframes rise{0%{opacity:0;transform:translateY(calc(12px - 50%))}}#shop header{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}#shop header strong{color:var(--shop);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}#shop header small{color:var(--muted);font-size:.75rem;display:block}.shop-mark{background:var(--shop);width:12px;height:12px;box-shadow:0 0 10px var(--shop);border-radius:50%;animation:1.6s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}#shop-items{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}#shop-items li{border:1px solid var(--line);border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:.55rem;padding:.4rem .5rem;display:grid}#shop-items .icon{color:var(--item);place-items:center;display:grid}#shop-items .icon svg{width:26px;height:26px}#shop-items strong{font-size:.9rem}#shop-items small{color:var(--muted);font-size:.72rem;line-height:1.3;display:block}.buy{background:var(--coin);border-color:var(--coin);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:.3rem .55rem;display:flex}.buy .coin-icon svg{width:14px;height:14px;display:block}#shop h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:.7rem 0 .35rem;font-size:.72rem}#shop-contract .muted{font-size:.8rem}.contract{border:1px dashed color-mix(in srgb, var(--shop) 55%, transparent);border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:.55rem;padding:.4rem .5rem;display:grid}.contract .icon{color:var(--shop);place-items:center;display:grid}.contract .icon svg{width:26px;height:26px}.contract strong{font-size:.9rem}.contract small{color:var(--muted);font-size:.72rem;line-height:1.3;display:block}.contract .take{background:var(--shop);border-color:var(--shop);padding:.3rem .65rem}#contract-card{background:var(--panel);border:1px solid color-mix(in srgb, var(--shop) 50%, transparent);max-width:100%;color:var(--shop);pointer-events:auto;border-radius:99px;align-items:center;gap:.5rem;padding:.25rem .3rem .25rem .7rem;font-size:.8rem;font-weight:600;display:flex}#contract-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#contract-drop{padding:.05rem .45rem;font-size:.75rem}#event{left:50%;top:max(64px, calc(env(safe-area-inset-top) + 54px));background:var(--panel);color:#ffa04d;border:1px solid #ff8c2880;border-radius:12px;width:min(440px,100vw - 24px);padding:.45rem .75rem;position:absolute;transform:translate(-50%)}#event.active{border-color:#ff8c28;animation:.9s ease-in-out infinite shower}@keyframes shower{50%{box-shadow:0 0 30px #ff8c2866}}#challenge:not([hidden])~#event{top:max(124px, calc(env(safe-area-inset-top) + 114px))}#challenge{left:50%;top:max(64px, calc(env(safe-area-inset-top) + 54px));background:var(--panel);border:1px solid color-mix(in srgb, var(--sanctuary) 50%, transparent);border-radius:12px;width:min(440px,100vw - 24px);padding:.5rem .75rem .6rem;position:absolute;transform:translate(-50%);box-shadow:0 0 26px #dc9eff38}#challenge.self{border-color:var(--sanctuary);animation:1.2s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 40px #dc9eff73}}.challenge-title{color:var(--sanctuary);justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:600;display:flex}#challenge-time{font-variant-numeric:tabular-nums;color:var(--text)}.challenge-bar{background:#00000073;border-radius:3px;height:6px;margin-top:.4rem;overflow:hidden}#challenge-fill{background:linear-gradient(90deg, var(--relic), var(--sanctuary));width:0;height:100%;transition:width .12s linear}#toast{background:var(--panel);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:99px;max-width:calc(100vw - 24px);margin:0;padding:.5rem 1rem;font-weight:600;position:absolute;top:38%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}#toast.show{animation:3.2s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-30%)}8%,80%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-60%)}}#toast.gold{color:var(--coin)}#toast.relic{color:var(--relic)}#toast.sanctuary{color:var(--sanctuary);border-color:var(--sanctuary)}#toast.chart{color:var(--chart)}#toast.compass{color:var(--compass)}#toast.danger{color:var(--danger)}#tools{right:max(12px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;max-width:calc(100% - 24px);display:flex;position:absolute}#tools-hint{text-align:right;color:var(--muted);text-shadow:0 1px 3px #000;flex-basis:100%;margin:0;font-size:.85rem}.tool{background:var(--panel);color:var(--text);border-color:var(--line)}.tool.active{background:var(--accent);color:#1a0d10;border-color:var(--accent)}.tool{position:relative;overflow:hidden}.tool .cd{font-variant-numeric:tabular-nums;color:var(--text);background:conic-gradient(#0009 var(--left,0turn), transparent 0), #24161a;place-items:center;font-weight:700;display:none;position:absolute;inset:0}.tool.cooling .cd{display:grid}.tool.cooling{border-color:var(--line)}.tool.ready-flash{animation:.42s ease-out ready}@keyframes ready{0%{box-shadow:0 0 0 0 var(--accent)}to{box-shadow:0 0 0 10px #0000}}kbd{opacity:.7;font-size:.7rem}#touch-stick{left:max(28px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));border:2px solid var(--line);pointer-events:auto;touch-action:none;background:#00000040;border-radius:50%;width:128px;height:128px;position:absolute}#touch-knob{background:#f3e6e18c;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}#touch-attack{right:max(28px, env(safe-area-inset-right));bottom:max(40px, env(safe-area-inset-bottom));touch-action:none;border-radius:50%;width:84px;height:84px;font-size:2rem;position:absolute}#touch-dash{right:max(118px, calc(env(safe-area-inset-right) + 106px));bottom:max(120px, calc(env(safe-area-inset-bottom) + 100px));background:var(--panel);width:60px;height:60px;color:var(--compass);border-color:color-mix(in srgb, var(--compass) 60%, transparent);touch-action:none;border-radius:50%;padding:14px;position:absolute}#touch-view{right:max(124px, calc(env(safe-area-inset-right) + 112px));bottom:max(48px, env(safe-area-inset-bottom));background:var(--panel);width:52px;height:52px;color:var(--text);border-color:var(--line);border-radius:50%;padding:12px;position:absolute}@media (width<=720px){#dock{width:calc(100vw - 330px);min-width:180px}.slot{width:40px;height:40px}.slot svg{width:22px;height:22px}#shop{animation:none;top:auto;bottom:170px;transform:none}}body.touch #dock{width:calc(100vw - 360px);min-width:170px}@media (height<=520px){#shop{top:max(8px, env(safe-area-inset-top));width:230px;padding:.55rem;animation:none;bottom:auto;transform:none}#shop header{margin-bottom:.35rem}#shop header small,#shop-items small{display:none}#shop-items{gap:.3rem}#shop-items li{grid-template-columns:26px 1fr auto;padding:.25rem .4rem}#shop-items .icon svg{width:20px;height:20px}body.shop-open #scoreboard{visibility:hidden}#challenge{top:max(52px, calc(env(safe-area-inset-top) + 44px))}}body:not(.touch) .touch-only{display:none}body.role-moderator .adventurer-only,body.role-adventurer .moderator-only{display:none!important}
