.ts47{--black:#020208;--navy:#07183e;--blue:#238dff;--gold:#f5cf4e;--red:#eb3042;box-sizing:border-box;width:100%;max-width:1040px;margin:20px auto;color:#fff;font-family:Arial,Helvetica,sans-serif}
.ts47 *{box-sizing:border-box}
.ts47-stage{position:relative;overflow:hidden;border:4px solid var(--gold);border-radius:16px;background:#000;box-shadow:0 22px 70px #000b,0 0 35px #235dff24 inset}
.ts47-stage:after{position:absolute;z-index:2;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.022) 4px);content:""}
.ts47-canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none;background:#000}
.ts47-topbar{position:absolute;z-index:4;inset:10px 13px auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;pointer-events:none}
.ts47-brand{justify-self:start;padding:8px 12px;border:2px solid #257eff;border-radius:7px;background:#01040ce8;box-shadow:0 0 17px #237dff70}
.ts47-brand b{display:block;color:#fff;font:18px/1 Impact,"Arial Black",sans-serif;letter-spacing:1.4px;text-shadow:0 0 10px #3a8dff}
.ts47-brand span{display:block;margin-top:4px;color:var(--gold);font-size:7px;font-weight:900;letter-spacing:2.1px}
.ts47-sector{padding:9px 18px;border:2px solid #a335ff;border-radius:7px;background:#01040ce8;color:#fff;font-size:9px;font-weight:900;letter-spacing:1.4px;box-shadow:0 0 17px #a335ff60}
.ts47-sound{justify-self:end;pointer-events:auto;padding:8px 10px;border:2px solid #27e8f3;border-radius:7px;background:#01040ce8;color:#fff;cursor:pointer;box-shadow:0 0 14px #27e8f355}
.ts47-card{position:absolute;z-index:5;left:50%;top:52%;width:min(680px,92%);padding:27px 33px;text-align:center;transform:translate(-50%,-50%);border:2px solid #327cff;border-radius:13px;background:linear-gradient(145deg,rgba(1,4,15,.96),rgba(8,17,48,.94));box-shadow:0 0 0 2px #c73bff55,0 0 55px #276cff55,0 30px 80px #000}
.ts47 [hidden]{display:none!important}
.ts47-eyebrow{color:#72eaff;font-size:9px;font-weight:900;letter-spacing:3px}
.ts47-card h2{margin:10px 0 4px;color:#fff;font:49px/.87 Impact,"Arial Black",sans-serif;letter-spacing:1px;text-shadow:0 0 14px #2c78ff,3px 3px 0 #831fb3}
.ts47-card h2 em{color:var(--gold);font-style:normal;text-shadow:0 0 16px #f4bf31}
.ts47-card h2 span{display:block;margin-top:12px;color:#ed3a48;font-size:21px;letter-spacing:6px;text-shadow:0 0 12px #ff2440}
.ts47-card p{max-width:560px;margin:16px auto;color:#c7d5ef;font:15px/1.5 Georgia,serif}
.ts47-enemies{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px auto;max-width:560px}
.ts47-enemies span{padding:7px;border:1px solid #294471;border-radius:5px;background:#020817;color:#aebed8;font-size:7px;font-weight:900;letter-spacing:.5px}
.ts47-enemies i{display:inline-block;width:8px;height:8px;margin-right:5px;transform:rotate(45deg);box-shadow:0 0 8px currentColor}.ts47-enemies .red{color:#ff3045;background:#ff3045}.ts47-enemies .pink{color:#ff48c8;background:#ff48c8}.ts47-enemies .cyan{color:#29e5ff;background:#29e5ff}.ts47-enemies .green{color:#55f58b;background:#55f58b}.ts47-enemies .violet{color:#b45cff;background:#b45cff}.ts47-enemies .gold{color:#f5cd4b;background:#f5cd4b}
.ts47-card button{display:block;width:min(350px,100%);margin:11px auto;padding:14px 18px;border:0;border-radius:7px;color:#fff;font-size:11px;font-weight:900;letter-spacing:1.2px;cursor:pointer}
.ts47-primary{background:linear-gradient(145deg,#e53849,#88111f);box-shadow:3px 3px 0 #f1c843,0 0 20px #ec324b44}
.ts47-secondary{background:linear-gradient(145deg,#266dc0,#0b3269);box-shadow:3px 3px 0 #5de7ff}
.ts47-card small{display:block;margin-top:15px;color:#7489ad;font-size:8px;letter-spacing:.8px}
.ts47-final-score{margin:10px auto 18px;color:var(--gold);font:68px/.9 Impact,"Arial Black",sans-serif;text-shadow:0 0 18px #f3c13c}
.ts47-controls{display:grid;grid-template-columns:1fr 1.1fr 1.1fr 1fr;gap:9px;margin-top:11px}
.ts47-controls button{min-height:61px;border:3px solid;border-radius:9px;color:#fff;font-weight:900;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 -5px 0 #0008}
.ts47-controls button b{display:block;font-size:18px}.ts47-controls button span{display:block;margin-top:4px;font-size:7px;letter-spacing:.8px}
.ts47-move{border-color:#397fff!important;background:linear-gradient(#214f9e,#071d47)}
.ts47-order{border-color:#f5d054!important;background:linear-gradient(#d4a827,#694b05)}
.ts47-fire{border-color:#ff4457!important;background:linear-gradient(#d52b3e,#6e0a17)}
.ts47-controls button.is-active,.ts47-controls button:active{filter:brightness(1.4);transform:translateY(2px);box-shadow:inset 0 -2px 0 #0008,0 0 17px currentColor}
.ts47-keyboard,.ts47-disclaimer{text-align:center;color:#7183a3;font-size:8px;line-height:1.45;letter-spacing:.45px}.ts47-keyboard{margin:8px 0 0}.ts47-disclaimer{margin:5px 0 0}
@media(max-width:700px){.ts47{margin:10px 0}.ts47-stage{border-width:3px;border-radius:10px}.ts47-topbar{inset:5px 6px auto}.ts47-brand{padding:5px 7px}.ts47-brand b{font-size:11px}.ts47-brand span{font-size:5px;letter-spacing:1px}.ts47-sector{padding:6px 8px;font-size:6px}.ts47-sound{padding:5px 7px}.ts47-card{padding:20px 14px}.ts47-card h2{font-size:31px}.ts47-card h2 span{font-size:14px;letter-spacing:3px}.ts47-card p{margin:11px auto;font-size:12px}.ts47-enemies{grid-template-columns:1fr 1fr;margin:10px auto}.ts47-enemies span{padding:5px;font-size:6px}.ts47-controls{grid-template-columns:1fr 1fr}.ts47-controls button{min-height:52px}.ts47-keyboard{display:none}.ts47-disclaimer{padding:0 8px}}
