:root{--bg: #0a0e1a;--panel: #121a2e;--ink: #e8eefc;--muted: #8595b8;--accent: #36e0c8;--danger: #ff5d6c;--xp: #ffcf4d}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}#app{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:12px;gap:10px}header.ts-top{width:100%;max-width:520px;display:flex;align-items:baseline;justify-content:space-between}header.ts-top h1{margin:0;font-size:20px;letter-spacing:2px;color:var(--accent)}.ts-sub{color:var(--muted);font-size:12px}.ts-hud{width:100%;max-width:520px;display:flex;gap:10px;align-items:center;font-size:13px;flex-wrap:wrap}.ts-hud .pill{background:var(--panel);border-radius:8px;padding:4px 10px}.bar{position:relative;flex:1 1 120px;height:14px;background:#1d2740;border-radius:8px;overflow:hidden}.bar>span{position:absolute;inset:0;transform-origin:left}.bar.hp>span{background:linear-gradient(90deg,#ff5d6c,#ff9d6c)}.bar.xp>span{background:linear-gradient(90deg,#ffcf4d,#ffe89a)}.ts-stage{position:relative;width:100%;max-width:520px}canvas{width:100%;display:block;background:#070b15;border-radius:12px;touch-action:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#070b15db;border-radius:12px;text-align:center;padding:18px}.overlay.hidden{display:none}.overlay h2{margin:0;font-size:26px}.overlay p{margin:0;color:var(--muted);max-width:360px}.choices{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.choice{background:var(--panel);border:1px solid #243250;color:var(--ink);border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.choice:hover{border-color:var(--accent)}.choice b{display:block;color:var(--accent);margin-bottom:2px}.choice small{color:var(--muted)}.btnrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}button.ts-btn{background:var(--accent);color:#04231f;border:none;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}button.ts-btn.ghost{background:var(--panel);color:var(--ink)}button.ts-btn.seg{padding:6px 12px;font-weight:600}button.ts-btn.seg.off{background:var(--panel);color:var(--muted)}.ts-help{color:var(--muted);font-size:12px;max-width:520px;text-align:center}
