.tgdsfd{--navy:#020817;--blue:#1c83ed;--gold:#f5c84a;--red:#db2938;box-sizing:border-box;width:100%;max-width:1040px;margin:20px auto;color:#fff;font-family:Arial,Helvetica,sans-serif}
.tgdsfd *{box-sizing:border-box}
.tgdsfd-stage{position:relative;overflow:hidden;border:5px solid var(--gold);border-radius:18px;background:#020817;box-shadow:0 24px 70px #000b,0 0 0 1px #fff2 inset}
.tgdsfd-canvas{display:block;width:100%;height:auto;aspect-ratio:48/31;cursor:crosshair;touch-action:none}
.tgdsfd-topbar{position:absolute;inset:10px 13px auto;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;pointer-events:none}
.tgdsfd-brand{justify-self:start;padding:8px 12px;border:2px solid var(--gold);border-radius:9px;background:#020612e8;box-shadow:0 4px 14px #000a}
.tgdsfd-brand b{display:block;color:var(--gold);font:18px/1 Impact,"Arial Black",sans-serif;letter-spacing:1.2px}
.tgdsfd-brand span{display:block;margin-top:3px;color:#fff;font-size:7px;font-weight:900;letter-spacing:2.2px}
.tgdsfd-wave{padding:9px 18px;border:2px solid var(--gold);border-radius:9px;background:#020612e8;color:#fff;font-size:10px;font-weight:900;letter-spacing:1.7px}
.tgdsfd-sound{justify-self:end;pointer-events:auto;padding:8px 10px;border:2px solid var(--gold);border-radius:9px;background:#020612e8;color:#fff;cursor:pointer}
.tgdsfd-card{position:absolute;left:50%;top:51%;z-index:5;width:min(600px,91%);padding:29px 35px;text-align:center;transform:translate(-50%,-50%);border:3px solid var(--gold);border-radius:17px;background:linear-gradient(145deg,#050b1ff2,#0a3168f2);backdrop-filter:blur(12px);box-shadow:0 26px 85px #000e,0 0 44px #1c6edf33 inset}
.tgdsfd [hidden]{display:none!important}
.tgdsfd-stars{color:var(--gold);font-size:20px;letter-spacing:12px}
.tgdsfd-card h2{margin:10px 0;color:#fff;font:48px/.92 Impact,"Arial Black",sans-serif;letter-spacing:1px;text-shadow:3px 3px 0 #1755ad}
.tgdsfd-card h2 span{display:block;margin-top:10px;color:var(--gold);font-size:21px;letter-spacing:4px;text-shadow:none}
.tgdsfd-card p{margin:17px auto;max-width:490px;color:#dce9ff;font:15px/1.5 Georgia,serif}
.tgdsfd-card button{display:block;width:min(330px,100%);margin:11px auto;padding:14px 17px;border:0;border-radius:9px;color:#fff;font-size:12px;font-weight:900;letter-spacing:1.3px;cursor:pointer}
.tgdsfd-primary{background:linear-gradient(145deg,#e13947,#9c111f);box-shadow:4px 4px 0 var(--gold)}
.tgdsfd-secondary{background:linear-gradient(145deg,#2677ca,#0c3e79);box-shadow:4px 4px 0 #dceaff}
.tgdsfd-card small{display:block;margin-top:18px;color:#97afd0;font-size:8px;letter-spacing:1px}
.tgdsfd-final-score{margin:8px auto 18px;color:var(--gold);font:68px/.9 Impact,"Arial Black",sans-serif;text-shadow:3px 3px 0 #174b9c}
.tgdsfd-controls{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr;gap:9px;margin-top:12px}
.tgdsfd-controls button{min-height:60px;border:3px solid;border-radius:11px;color:#fff;font-weight:900;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 -5px 0 #0006}
.tgdsfd-controls button b{display:block;font-size:14px}
.tgdsfd-controls button span{display:block;margin-top:4px;font-size:7px;letter-spacing:1px}
.tgdsfd-fire{border-color:#ff6a74!important;background:linear-gradient(#df3543,#8c101a)}
.tgdsfd-laser{border-color:#63b4ff!important;background:linear-gradient(#248de8,#0b427c)}
.tgdsfd-dome{border-color:#ffe36c!important;background:linear-gradient(#d7a91e,#785502)}
.tgdsfd-pause{border-color:#90a6c4!important;background:linear-gradient(#405a7b,#18283e)}
.tgdsfd-controls button:active{transform:translateY(2px);box-shadow:inset 0 -2px 0 #0007}
.tgdsfd-keyboard,.tgdsfd-disclaimer{text-align:center;color:#7185a4;font-size:8px;line-height:1.4;letter-spacing:.45px}
.tgdsfd-keyboard{margin:9px auto 0}
.tgdsfd-disclaimer{margin:5px auto 0}
@media(max-width:700px){
  .tgdsfd{margin:10px 0}
  .tgdsfd-stage{border-width:3px;border-radius:11px}
  .tgdsfd-topbar{inset:5px 6px auto}
  .tgdsfd-brand{padding:5px 7px}
  .tgdsfd-brand b{font-size:11px}
  .tgdsfd-brand span{font-size:5px;letter-spacing:1px}
  .tgdsfd-wave{padding:6px 8px;font-size:7px}
  .tgdsfd-sound{padding:5px 7px}
  .tgdsfd-card{padding:20px 15px}
  .tgdsfd-card h2{font-size:32px}
  .tgdsfd-card h2 span{font-size:15px}
  .tgdsfd-card p{font-size:12px;margin:12px auto}
  .tgdsfd-controls{grid-template-columns:1fr 1fr}
  .tgdsfd-controls button{min-height:52px}
  .tgdsfd-keyboard{display:none}
  .tgdsfd-disclaimer{padding:0 8px}
}
