:root{font-family:Inter,"Segoe UI",sans-serif;color:#f7f5e8;background:#14110d;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0,#3c2817,#100d0a 55%);overflow-x:hidden}
.setup{width:min(760px,100%);margin:auto;padding:24px 16px 55px}header{display:flex;align-items:center;gap:14px}.logo-bomb{display:grid;place-items:center;width:58px;height:58px;border:5px solid #222;border-radius:50%;background:#111;color:#ffbd29;font-size:0;box-shadow:inset -8px -8px #000,0 0 22px #ff9d0055}.logo-bomb:after{content:"";width:14px;height:18px;background:#ffb120;transform:translate(21px,-22px) rotate(35deg)}
h1{margin:0;color:#ffd349;letter-spacing:2px;font-size:clamp(23px,6vw,38px)}header p{margin:3px 0;color:#c4aa83}.card{background:#241d16;border:1px solid #59442b;border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 14px 35px #0007}.card h2,.test-panel h2{font-size:13px;letter-spacing:2px;color:#ffd349;margin:0 0 13px}label{display:grid;gap:6px;color:#d0b995;font-size:12px;font-weight:700}input,select,button{font:inherit}input,select{width:100%;padding:11px;border:1px solid #6a5032;background:#15110d;border-radius:8px;color:#fff}.status{margin-top:10px;padding:9px;border-radius:8px;background:#15110d;color:#ceb78f}.gift-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0}.events{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.events h2{grid-column:1/-1}.keyboard{display:flex;flex-wrap:wrap;gap:12px}.keyboard h2{width:100%}.keyboard span{font-size:12px;color:#cab794}kbd{background:#0c0b09;border:1px solid #6a5437;border-bottom-width:3px;padding:4px 7px;border-radius:5px;color:#fff}.start-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;position:sticky;bottom:8px}.start-actions button,.game-head button,.mode-tabs button,.test-panel button,.game-over button{border:1px solid #735d3b;background:#2b2117;color:#fff;border-radius:9px;padding:12px;font-weight:800}.primary{background:linear-gradient(#ffe057,#cf9418)!important;color:#1b1205!important;border:0!important}.error{color:#ff7979;min-height:20px}
.game-screen{display:none;width:100vw;height:100vh;height:100dvh;place-items:center;overflow:hidden;padding:0;background:#0b0907}.playing{overflow:hidden}.playing .setup{display:none}.playing .game-screen{display:grid}.game-shell{display:grid;grid-template-rows:18% 51.6875% 30.3125%;width:min(100vw,calc(100dvh * 9 / 16));height:min(100dvh,calc(100vw * 16 / 9));margin:auto;background:#201a14;overflow:hidden;box-shadow:0 0 80px #000}.gift-area{min-height:0;overflow:hidden;border-bottom:2px solid #bea15c;background:linear-gradient(#2c2117,#18130f)}.game-head{min-height:0;padding:8px 10px 5px;justify-content:space-between}.game-head div{display:grid}.game-head b{color:#ffd349;font-size:clamp(11px,2vw,15px)}.game-head span{font-size:8px;color:#6fe6a6}.game-head button{padding:7px 10px;font-size:10px}
.trigger-guide{display:grid;grid-template-columns:repeat(8,1fr);align-content:start;gap:4px;padding:3px 7px 7px}.trigger-card{position:relative;min-width:0;aspect-ratio:1;overflow:hidden;border:1px solid #59442b;border-radius:5px;background:linear-gradient(#36291d,#18120d)}.trigger-card img{position:absolute;inset:7% 12%;width:76%;height:86%;object-fit:contain;filter:drop-shadow(0 2px 2px #000)}.trigger-card span{position:absolute;top:50%;right:1px;left:1px;display:grid;place-items:center;min-height:28%;padding:2px;border-radius:3px;background:#090705b8;color:#fff7d6;font-size:clamp(6px,1.1vw,8px);font-weight:800;line-height:1;text-align:center;text-shadow:0 1px 2px #000;transform:translateY(-50%);overflow:hidden}.stage-wrap{position:relative;width:100%;height:100%;min-height:0;margin:0;background:#0b0907;overflow:hidden}.stage-wrap iframe{position:absolute;top:50%;left:50%;display:block;width:100%;height:auto;transform:translate(-50%,-50%);aspect-ratio:480/442;border:0;background:#15110d;overflow:hidden}.event-banner{position:absolute;z-index:3;left:50%;top:5%;transform:translateX(-50%);background:transparent;border:0;color:#fff4ba;padding:7px 13px;border-radius:0;font:700 13px monospace;opacity:0;transition:.2s;pointer-events:none;text-shadow:0 2px 4px #000,0 0 8px #000}.event-banner.show{opacity:1}
.touch-controls{height:100%;min-height:0;position:relative;background:linear-gradient(#2c2117,#17120e);touch-action:none;-webkit-user-select:none;user-select:none}.touch-actions button{position:absolute;border:2px solid #fff5;background:#fff1;color:#fff;font-weight:900;touch-action:none}.touch-actions button:active,.pressed{background:#ffd34955!important;border-color:#ffd349!important}.touch-actions{position:absolute;right:6%;top:10%;bottom:10%;width:34%}.touch-actions button{left:0;bottom:8%;border-radius:50%;width:clamp(44px,10vw,66px);height:clamp(44px,10vw,66px);font-size:clamp(15px,3vw,21px)}.touch-actions .bomb-button{left:auto;right:0;bottom:29%;width:clamp(54px,12vw,78px);height:clamp(54px,12vw,78px);border-color:#ffbe48aa;background:#ff8a2822}.touch-actions small{display:block;font-size:7px}.joystick{display:block;position:absolute;left:8%;top:50%;width:clamp(96px,25vw,150px);height:clamp(96px,25vw,150px);transform:translateY(-50%);border-radius:50%;border:2px solid #fff4;background:#fff1}.joystick #stick{position:absolute;width:43%;height:43%;border-radius:50%;left:28.5%;top:28.5%;background:#fff3;border:2px solid #fff6}.test-panel[hidden]{display:none!important}
@media(max-width:560px){.game-shell{border:0}.events{grid-template-columns:1fr}.events h2{grid-column:auto}.test-panel div{grid-template-columns:repeat(3,1fr)}}
