:root{--violet:#ad65ff;--pink:#ff5db1;--cyan:#57e8ff;--gold:#ffd45e}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:#07030e;color:#fff;font-family:Inter,system-ui,sans-serif}button{font:inherit}#cabinet{height:calc(100dvh - var(--ah-shell-height,68px));padding:10px 14px 14px}#hud{position:relative;z-index:4;display:grid;grid-template-columns:minmax(145px,1.2fr) repeat(5,auto) repeat(2,minmax(90px,.7fr));align-items:center;gap:12px;min-height:58px;padding:8px 12px;border:1px solid #ad65ff55;border-radius:13px 13px 4px 4px;background:linear-gradient(#1b0c2d,#0c0614);box-shadow:0 14px 35px #0009}#hud small{display:block;color:#9d7ab5;font-size:.47rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}#hud strong{font-size:.83rem}.identity strong{color:#e0bbff}.meter span{display:block;height:5px;margin-top:4px;overflow:hidden;border-radius:8px;background:#2e1b3d}.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--pink),var(--violet))}#marketBar{background:linear-gradient(90deg,var(--cyan),var(--gold))}#hud>button{display:none}#stage{position:relative;height:calc(100% - 66px);overflow:hidden;border:1px solid #ad65ff3b;border-radius:4px 4px 15px 15px;background:#050209;box-shadow:inset 0 0 100px #000}canvas{display:block;width:100%;height:100%;touch-action:none}#callout{position:absolute;left:50%;top:13%;padding:9px 17px;border:1px solid #ad65ff66;border-radius:999px;background:#12071fe8;color:#e8ceff;font-size:.62rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translate(-50%,-8px);transition:.25s}#callout.show{opacity:1;transform:translate(-50%,0)}#intro,#between{position:fixed;z-index:20;inset:var(--ah-shell-height,68px) 0 0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 45%,#6d24ad44,transparent 42%),#06020bdc;backdrop-filter:blur(5px)}#intro[hidden],#between[hidden]{display:none}.panel{width:min(620px,92vw);padding:32px;border:1px solid #ad65ff55;border-radius:24px;background:linear-gradient(145deg,#1b092bf4,#08040ef7);box-shadow:0 30px 100px #000,0 0 80px #ad65ff18;text-align:center}.panel>p{margin:0;color:#c78cff;font-size:.62rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.panel h1{margin:10px 0 0;font-size:clamp(2.7rem,7vw,5.7rem);line-height:.86;letter-spacing:-.07em;text-transform:uppercase}.panel h2{margin:10px 0;color:var(--cyan);font-size:clamp(.9rem,2.5vw,1.35rem);letter-spacing:.35em;text-transform:uppercase}.mark{display:grid;place-items:center;width:78px;height:78px;margin:20px auto;border:3px solid var(--violet);border-radius:50%;color:var(--gold);font-weight:1000;box-shadow:0 0 35px #ad65ff55}.brief{max-width:500px;margin:18px auto!important;color:#c9b8d5!important;font-size:1rem!important;font-weight:500!important;line-height:1.65!important;letter-spacing:0!important;text-transform:none!important}.controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:22px 0}.controls span{padding:8px 11px;border:1px solid #fff2;border-radius:8px;background:#fff1;font-size:.7rem}.controls b{color:var(--pink)}.panel button{min-width:200px;padding:13px 20px;border:0;border-radius:999px;background:linear-gradient(110deg,var(--violet),var(--pink));color:#12051d;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}#touch{display:none}@media(max-width:720px){#cabinet{padding:6px;height:calc(100dvh - var(--ah-shell-height,82px))}#hud{grid-template-columns:1.4fr repeat(3,auto);gap:5px;min-height:49px;padding:6px}#hud>div:nth-of-type(3),#hud>div:nth-of-type(6),#hud .meter{display:none}#stage{height:calc(100% - 55px)}#touch{pointer-events:none;display:flex;position:absolute;inset:auto 10px 10px;justify-content:space-between;align-items:end;color:#cdb3df;font-size:.56rem;font-weight:900;text-transform:uppercase}#touch button{width:58px;height:58px;border:1px solid #ad65ff88;border-radius:50%;background:#1b092bcc;color:#ead2ff;font-size:.58rem;font-weight:900}.panel{padding:24px 18px}.panel h1{font-size:2.7rem}.brief{font-size:.86rem!important}.controls span{padding:6px;font-size:.59rem}}
