.tt-description,.answer_shadow.tt-rules{font-size:14px!important;text-align:left!important;line-height:1.8;word-break:keep-all}
.answer_shadow.tt-rules{margin-top:16px}
.tt-rules h3{font-size:1rem;margin:0 0 10px}
.tt-rules p{font-size:.88rem;margin:8px 0}
.tt-rules small{font-size:.8rem;color:#777}

#tt-game{color:#eef2f8;background:#172338;border:1px solid #2c3b57;border-radius:22px;overflow:hidden;width:100%;margin:18px auto;box-shadow:0 14px 34px #10182a26;box-sizing:border-box}
#tt-game *{box-sizing:border-box}
#tt-game [hidden]{display:none!important}
#tt-game button{font-family:inherit;cursor:pointer;touch-action:manipulation}
#tt-game button:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
#tt-game button:disabled{cursor:default;opacity:.45}

.tt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 20px;border-bottom:1px solid #ffffff14}
.tt-brand{font-size:20px;font-weight:900;white-space:nowrap}
.tt-brand>span{color:#ffc76b}
.tt-brand small{display:inline-block;margin-left:10px;font-size:10px;letter-spacing:2px;color:#9fb0cc;font-weight:500}
#tt-sound{border:1px solid #ffffff28;border-radius:10px;background:#ffffff08;color:#d8e1f0;min-height:38px;padding:7px 11px;font-size:12px}

.tt-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:680px;margin:0 auto;padding:13px 12px;text-align:center}
.tt-hud small{display:block;color:#9fb0cc;font-size:11px;margin-bottom:2px}
.tt-hud strong{font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums}
.tt-hud>div:nth-child(2){color:#ffd27a}
.tt-hud>div+div{border-left:1px solid #ffffff14}

#tt-stage{position:relative;background:#0f1828;isolation:isolate;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#tt-canvas{display:block;width:100%;height:auto;aspect-ratio:600/330;max-height:min(70vh,560px);object-fit:contain;margin:0 auto}
#tt-stage.done{cursor:default}
.tt-stage-top{position:absolute;top:10px;left:14px;right:14px;display:flex;justify-content:flex-end;pointer-events:none}
#tt-badge{font-size:11px;color:#e8eefb;background:#0d1626b8;border-radius:20px;padding:4px 10px;white-space:nowrap}

#tt-intro,#tt-curtain{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;background:linear-gradient(100deg,#141f35f2,#1b2b48e6);cursor:default}
.tt-eyebrow{font-size:10px;letter-spacing:2.5px;color:#a9badb}
#tt-intro h2{font-size:clamp(26px,5vw,42px);font-weight:900;line-height:1.18;margin:12px 0;color:#fff4dc}
#tt-intro em{font-style:normal;color:#ffc76b}
#tt-intro p,#tt-curtain p{font-size:14px;line-height:1.7;color:#c4d0e6;margin:0 0 16px}
#tt-curtain h2{font-size:24px;color:#ffd27a;margin:0 0 8px}
.tt-primary{border:0;border-radius:12px;min-height:46px;padding:11px 24px;background:#ffc76b;color:#2a1d05;font-size:15px;font-weight:800;box-shadow:0 4px 0 #0000003d}
.tt-primary:active{transform:translateY(1px)}

.tt-bottom{padding:16px 20px 18px;text-align:center}
.tt-feedback b{display:block;font-size:21px;color:#fff4dc;min-height:30px}
.tt-feedback span{display:block;font-size:13px;color:#b9c6dc;line-height:1.6;margin-top:4px;min-height:21px}
#tt-tap{display:block;width:100%;max-width:520px;margin:14px auto 0;min-height:56px;border:0;border-radius:14px;background:linear-gradient(180deg,#ff6b5e,#e5483c);color:#fff;font-size:17px;font-weight:900;letter-spacing:.5px;box-shadow:0 5px 0 #8f2a22}
#tt-tap:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #8f2a22}
#tt-next{margin-top:12px;min-width:200px}
#tt-film{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0 0}
#tt-film span{width:38px;height:30px;display:grid;place-items:center;border:1px solid #ffffff1f;border-radius:8px;font-size:12px;color:#8193b3;font-variant-numeric:tabular-nums}
#tt-film span.now{border-color:#ffc76b;color:#ffc76b}
#tt-film span.done{background:#ffc76b1a;color:#ffd27a}
#tt-film span.perfect{background:#ffc76b;color:#2a1d05;border-color:#ffc76b;font-weight:800}
#tt-film span.miss{color:#ff8b80;border-color:#ff8b8055}
.tt-key{font-size:11px;line-height:1.6;color:#8d9dbb;margin:12px 0 0}

#tt-result{border-top:1px solid #ffffff14;background:#121c2e;padding:22px 20px 24px;text-align:center}
.tt-r-score{font-size:13px;color:#9fb0cc}
.tt-r-score strong{display:block;font-size:46px;line-height:1.1;color:#ffd27a;font-variant-numeric:tabular-nums}
.tt-r-grade{margin:12px 0 4px;font-size:22px;font-weight:900;color:#fff4dc}
.tt-r-grade span{margin-right:6px}
#tt-r-pct{min-height:20px;font-size:13px;color:#ffc76b;font-weight:700;margin:2px 0 6px}
.tt-r-desc{font-size:14px;line-height:1.75;color:#c4d0e6;margin:0 auto 14px;word-break:keep-all;text-align:left}
.tt-r-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 auto 14px}
.tt-r-stats div{background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;padding:10px 4px}
.tt-r-stats small{display:block;font-size:11px;color:#9fb0cc}
.tt-r-stats b{font-size:18px;color:#fff;font-variant-numeric:tabular-nums}
.tt-r-tend{background:#ffc76b12;border:1px solid #ffc76b33;border-radius:14px;padding:13px 15px;text-align:left;margin:0 auto 12px}
.tt-r-tend b{display:block;color:#ffd27a;font-size:15px;margin-bottom:4px}
.tt-r-tend p,#tt-r-cmp{font-size:13px;line-height:1.7;color:#c4d0e6;margin:0;word-break:keep-all;text-align:left}
#tt-r-cmp{margin:0 auto 16px}
@media(min-width:761px){#tt-result{padding-left:max(20px,calc((100% - 680px)/2));padding-right:max(20px,calc((100% - 680px)/2))}}
@media(max-width:600px){
 #tt-game{border-radius:16px}
 .tt-toolbar{padding:11px 12px}.tt-brand{font-size:18px}.tt-brand small{display:none}
 .tt-hud{padding:10px 6px}.tt-hud strong{font-size:20px}
 .tt-bottom{padding:13px 12px 15px}.tt-feedback b{font-size:18px}
 #tt-intro h2{font-size:26px;margin:6px 0}#tt-intro p{font-size:12px;margin-bottom:10px;line-height:1.5}.tt-eyebrow{font-size:8px}
 .tt-primary{min-height:42px;font-size:14px;padding:9px 18px}
 #tt-film{gap:4px}#tt-film span{width:30px;height:27px;font-size:11px}
 #tt-result{padding:18px 13px 20px}.tt-r-score strong{font-size:40px}.tt-r-grade{font-size:19px}
}
