:root{color-scheme:dark;--bg: #11161c;--bg-soft: #1a232c;--panel: rgba(17, 23, 29, .9);--panel-border: rgba(240, 195, 111, .22);--text: #ecf0f1;--muted: #aeb9c2;--accent: #f0c36f;--danger: #d96857;font-family:IBM Plex Sans JP,Hiragino Sans,sans-serif;background:radial-gradient(circle at top,rgba(240,195,111,.09),transparent 30%),linear-gradient(180deg,#141b22,#0f1419);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 85%);mask-image:radial-gradient(circle at center,black,transparent 85%)}#app{min-height:100vh;padding:24px}.app-shell{display:flex;gap:20px;align-items:flex-start;justify-content:center;max-width:1100px;margin:0 auto}.stage-panel,.panel{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 22px 45px #00000047}.stage-panel{padding:16px}.stage-frame{position:relative;padding:10px;background:linear-gradient(135deg,#f0c36f14,#11171d1a),var(--bg-soft);border:1px solid rgba(240,195,111,.18)}.game-canvas{display:block;max-width:100%;height:auto;background:#11161c}.screen-overlay{position:absolute;inset:10px;display:none;align-items:center;justify-content:center;background:#090c0fb8;text-align:center;padding:24px}.screen-overlay.visible{display:flex}.overlay-card{max-width:420px;padding:28px 24px;border:1px solid rgba(240,195,111,.32);background:#11171df2}.overlay-card.danger{border-color:#d9685766}.overlay-card h1,.panel h2{margin:0;letter-spacing:.08em}.overlay-card h1{font-size:2.2rem;margin-bottom:12px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.75rem}.sidebar{display:flex;flex-direction:column;gap:16px}.panel{padding:18px}.panel h2{margin-bottom:12px;font-size:1rem;color:var(--accent)}.panel p{margin:0 0 8px;color:var(--text)}.controls p,.stats p,.log-list p{font-size:.95rem}.log-panel{min-height:250px}.log-list{display:flex;flex-direction:column;gap:8px}.log-list p{margin:0;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted)}@media(max-width:1100px){#app{padding:16px}.app-shell{flex-direction:column;align-items:center}.sidebar{width:min(100%,720px)!important}}
