:root{--bg:#14100C;--panel:#221A13;--panel-2:#2B2118;--line:#3D2E1F;--ink:#F4EADC;--muted:#B9A891;--accent:#FF7A2F;--accent-2:#FFC58F;--ok:#7BC950;--warn:#F5B940;--crit:#F45B5B;--hud:ui-monospace,"Cascadia Mono",Consolas,"JetBrains Mono",monospace;--sans:system-ui,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--hud);overflow:hidden;-webkit-user-select:none;user-select:none}#app,#app canvas{position:fixed;inset:0}#app canvas{touch-action:none}#vignette{position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(120% 100% at 50% 40%,transparent 55%,rgba(8,5,2,.5) 100%)}.glass{background:#221a13d1;border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 24px #00000059}.chip{padding:8px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-radius:10px}button.chip{cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}button.chip:hover{transform:translateY(-1px);border-color:var(--accent)}button.chip:active{transform:translateY(0)}.chip.sq{width:38px;height:38px;display:grid;place-items:center;padding:0;font-size:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#logo{position:fixed;top:14px;left:14px;z-index:20;border-color:#ff7a2f80;color:var(--accent-2);font-weight:700}#logo b{color:var(--accent)}#hudRight{position:fixed;top:14px;right:14px;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:8px}#hudRight .row{display:flex;gap:8px}#clock{font-variant-numeric:tabular-nums;color:var(--accent-2)}#statusBtn{border-color:#ff7a2f66}#statusMenu{position:absolute;top:52px;right:0;z-index:30;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:210px}#statusMenu button{all:unset;cursor:pointer;padding:11px 16px;font-family:var(--hud);font-size:13px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}#statusMenu button small{color:var(--muted);font-size:10px}#statusMenu button:hover,#statusMenu button:focus-visible{background:var(--accent);color:#1c0f04}#statusMenu button:hover small{color:#1c0f04}#minimapBox{border-radius:10px;padding:4px}#minimap{display:block;border-radius:6px}#viewCtrl button{color:var(--accent-2)}#toasts{position:fixed;top:242px;right:14px;z-index:22;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{background:#221a13eb;border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--ink);font-family:var(--sans);font-size:13px;padding:10px 14px;border-radius:8px;max-width:280px;animation:tin .25s ease;box-shadow:0 6px 24px #0006}.toast.out{opacity:0;transform:translate(12px);transition:.3s ease}@keyframes tin{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}#convo{position:fixed;top:64px;left:50%;transform:translate(-50%,-8px);z-index:21;display:none;align-items:center;gap:12px;padding:10px 16px;border-radius:14px;border-color:#ff7a2f8c;min-width:280px;max-width:min(480px,90vw);opacity:0;transition:opacity .18s ease,transform .18s ease}#convo.on{display:flex;opacity:1;transform:translate(-50%)}#convo .dot{width:36px;height:36px;flex:none;border:2px solid var(--accent-2);border-radius:10px;display:grid;place-items:center;font-size:16px;background:var(--panel-2)}#convo .who{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}#convo .line{font-size:13px;font-family:var(--sans);margin-top:3px;line-height:1.45}#convo .eq{display:flex;align-items:flex-end;gap:2px;height:18px;margin-left:auto;flex:none}#convo .eq i{width:3px;background:var(--accent);animation:eq .7s ease-in-out infinite}#convo .eq i:nth-child(1){height:90%}#convo .eq i:nth-child(2){animation-delay:.15s;height:70%}#convo .eq i:nth-child(3){animation-delay:.3s;height:45%}@keyframes eq{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}#hint{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:20;display:none;padding:8px 16px;border-radius:10px;font-size:12px;letter-spacing:.08em;color:var(--accent-2);text-transform:uppercase}#hint b{color:var(--accent);border:1px solid var(--accent);border-radius:5px;padding:1px 7px;margin-right:8px}#reactions{position:fixed;bottom:18px;right:14px;z-index:20;display:flex;gap:4px;padding:6px;border-radius:14px}#reactions button{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;font-size:19px;border-radius:10px;transition:transform .12s ease,background .12s ease}#reactions button:hover{background:#ff7a2f2e;transform:translateY(-2px) scale(1.1)}#reactions button:active{transform:scale(.94)}#touchUI{display:none}@media(pointer:coarse){#touchUI{display:block}#reactions{bottom:104px}#hint{bottom:170px}}#dpad{position:fixed;left:16px;bottom:16px;z-index:25;display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px);gap:4px}#dpad button{all:unset;background:#221a13d9;border:1px solid var(--line);border-radius:12px;color:var(--accent-2);display:grid;place-items:center;font-size:18px;user-select:none;-webkit-user-select:none;touch-action:none}#dpad button:active{background:var(--accent);color:#1c0f04}#btnAct{position:fixed;right:22px;bottom:26px;z-index:25;width:62px;height:62px;border-radius:50%;background:#221a13d9;border:2px solid var(--accent);color:var(--accent);font-family:var(--hud);font-weight:700;font-size:22px;touch-action:none}#btnAct:active{background:var(--accent);color:#1c0f04}#panelWrap{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#0a07049e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}#panel{width:min(440px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 24px 80px #000000b3;animation:pin .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes pin{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}#panel header{background:var(--accent);color:#1c0f04;padding:11px 16px;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}#panel header button{all:unset;cursor:pointer;font-weight:700;padding:0 4px}#panel .body{padding:16px 18px 18px;font-family:var(--sans);font-size:14px;line-height:1.6}#panel .body p{margin:0 0 10px}#panel .body table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}#panel .body td{padding:6px 8px;border-bottom:1px solid var(--line)}#panel .body td:last-child{text-align:right;color:var(--accent-2)}#panel .links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#panel .links a{color:var(--accent-2);border:1px solid var(--accent);border-radius:8px;padding:6px 12px;text-decoration:none;font-family:var(--hud);font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:background .12s ease,color .12s ease}#panel .links a:hover,#panel .links a:focus-visible{background:var(--accent);color:#1c0f04}#panel .esc{margin-top:14px;font-family:var(--hud);font-size:11px;color:var(--muted);letter-spacing:.08em}#present{position:fixed;inset:0;z-index:45;background:#0d0a07;display:grid;grid-template-rows:1fr auto}#presClose{all:unset;cursor:pointer;position:absolute;top:18px;right:22px;z-index:2;color:var(--muted);font-size:22px;padding:6px}#presClose:hover{color:var(--accent)}#present .slides{position:relative;display:grid;place-items:center}#present .slide{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:6vh 8vw;align-content:center}#present .slide.on{display:grid;animation:pin .3s ease}#present .brand{font-size:clamp(40px,8vw,84px);letter-spacing:.14em;color:var(--ink);font-weight:700}#present .brand b{color:var(--accent)}#present .tag{font-family:var(--sans);color:var(--muted);font-size:clamp(15px,2.2vw,20px);max-width:34em}#present h2{font-size:clamp(24px,4vw,40px);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);margin:0 0 4vh}#present ul.grid{list-style:none;padding:0;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(140px,220px));gap:14px;font-family:var(--sans);font-size:clamp(14px,1.8vw,19px)}#present ul.grid li{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 12px}#present table{margin:0 auto;border-collapse:collapse;font-size:clamp(14px,2vw,20px);font-variant-numeric:tabular-nums}#present td{padding:12px 26px;border-bottom:1px solid var(--line);font-family:var(--sans)}#present td:last-child{color:var(--accent);font-family:var(--hud)}#present .presNav{display:flex;justify-content:center;align-items:center;gap:22px;padding:22px}#present .presNav button{all:unset;cursor:pointer;color:var(--accent-2);font-size:22px;border:1px solid var(--line);border-radius:10px;padding:6px 18px}#present .presNav button:hover{border-color:var(--accent);color:var(--accent)}#presDots i,#onbDots i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line);margin:0 4px;transition:background .2s}#presDots i.on,#onbDots i.on{background:var(--accent)}#onb{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#0d0a07e0}#onb .card{width:min(440px,92vw);border-radius:16px;padding:26px 28px}#onb .brand{font-size:15px;letter-spacing:.2em;color:var(--accent-2);margin-bottom:18px;font-weight:700}#onb .brand b{color:var(--accent)}#onb .steps{position:relative;min-height:118px}#onb .steps section{display:none}#onb .steps section.on{display:block;animation:pin .25s ease}#onb h2{margin:0 0 8px;font-size:18px;letter-spacing:.06em;color:var(--ink)}#onb p{font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--ink);margin:0}#onb .k{border:1px solid var(--line);border-radius:5px;padding:1px 7px;color:var(--accent-2);font-size:12px}#onb .onbNav{display:flex;justify-content:space-between;align-items:center;margin-top:22px}#onbSkip{all:unset;cursor:pointer;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px}#onbSkip:hover{color:var(--ink)}#onbNext{all:unset;cursor:pointer;background:var(--accent);color:#1c0f04;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;border-radius:10px;transition:transform .12s ease,background .12s ease}#onbNext:hover{background:var(--accent-2);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:720px){#logo{top:10px;left:10px;padding:6px 10px;font-size:11px}#hudRight{top:10px;right:10px}#toasts{top:auto;bottom:190px;right:10px}#convo{top:56px;min-width:0}}
