:root{--ink:#fffdf2;--muted:#c9c2a7;--course:#70c5ce;--accent:#f7dc31;--accent-2:#79c632;--accent-3:#446f21}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
html.source-page{background:var(--tt-source-bg,#70c5ce)}
body{display:flex;align-items:center;justify-content:center;background:var(--tt-source-bg,#70c5ce);color:var(--ink);font-family:Inter,"Trebuchet MS","Segoe UI",sans-serif}
.game-wrap{display:grid;width:min(100vw,56.25vh);height:min(100vh,177.7778vw);margin:auto}
.sky-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(7px,2cqw,10px);width:100%;height:100%;min-height:0;overflow:hidden;border:clamp(3px,1.1cqw,5px) solid #5b4a25;border-radius:9px;background:#17271d;padding:clamp(10px,3cqw,14px);box-shadow:0 18px 40px #02040c8c;container-type:inline-size}
.flight-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.flight-name{overflow:hidden;font-size:clamp(18px,5.4cqw,25px);font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.flight-state{margin-top:3px;color:var(--muted);font-size:clamp(10px,2.9cqw,18px)}
.score-bank{display:grid;grid-template-columns:repeat(2,auto);gap:12px;text-align:right}
.score-bank span{display:block;color:var(--muted);font-size:clamp(8px,2.3cqw,14px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.score-bank strong{display:block;font-size:clamp(17px,5cqw,23px);font-variant-numeric:tabular-nums}
.flight-stage{position:relative;min-height:0;overflow:hidden;border:3px solid #5b4a25;background:var(--course);cursor:pointer;touch-action:manipulation;container-type:inline-size}
#courseCanvas{display:block;width:100%;height:100%}
.stage-score{position:absolute;z-index:4;top:14px;left:50%;transform:translateX(-50%);color:#fff;font:900 clamp(28px,8cqw,38px)/1 monospace;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:-2px 0 #17271d,2px 0 #17271d,0 -2px #17271d,0 2px #17271d,-2px -2px #17271d,2px -2px #17271d,-2px 2px #17271d,2px 2px #17271d,0 3px 6px #000a}
.gift-rails{position:absolute;z-index:3;top:max(36%,calc(14px + clamp(28px,8cqw,38px) + 2cqw));right:4px;display:grid;gap:min(7px,2cqw);width:calc(50% - 4px);pointer-events:none}
.gift-rail{display:grid;gap:min(7px,2cqw)}
.gift-rail-item{display:flex;align-items:center;gap:min(5px,1.2cqw);min-width:0;padding:min(2px,.5cqw) 0;border-radius:8px;background:none;box-shadow:none;color:#fff;text-shadow:-2px 0 #17271d,2px 0 #17271d,0 -2px #17271d,0 2px #17271d,-1px -1px #17271d,1px -1px #17271d,-1px 1px #17271d,1px 1px #17271d,0 2px 4px #000a;font-size:min(18px,3cqw);font-weight:800;line-height:1.15;white-space:nowrap}
.gift-rail .gift-rail-item{flex-direction:row-reverse;text-align:right}
.gift-rail-item .tt-core-gift-icon{width:min(27px,6cqw);height:min(27px,6cqw);flex:0 0 min(27px,6cqw)}
.gift-rail-item span:last-child{flex-shrink:0;min-width:0;white-space:nowrap;overflow-wrap:normal}
[data-tt-gift-icons=off] .gift-rail-item .tt-core-gift-icon{display:none}
.hold-layer{position:absolute;z-index:5;inset:0;display:grid;place-items:center;padding:24px;background:#070b1bbd;text-align:center;pointer-events:none}
.hold-layer strong{display:block;font-size:clamp(18px,5cqw,24px);letter-spacing:.08em;text-transform:uppercase}
.hold-layer span{display:block;margin-top:7px;color:#dbe3f5;font-size:clamp(11px,3.2cqw,14px);line-height:1.4}
.telemetry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--muted);font-size:clamp(9px,2.6cqw,17px)}
.telemetry>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.telemetry strong{color:var(--ink)}
#queueText{color:var(--accent);font-weight:800}
.gift-status-row{display:flex;align-items:center;gap:8px;min-height:32px;color:#dbe3f5;font-size:clamp(9px,2.55cqw,17px);font-weight:800}
.gift-status-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar-slot{display:grid;flex:0 0 30px;width:30px;height:30px}.avatar-slot:empty{display:none}
.avatar-slot .tt-core-avatar{font-size:12px}
.mode-label{position:absolute;z-index:6;top:10px;left:50%;transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:#17271de8;color:#fff7aa;font-size:clamp(10px,2.8cqw,18px);font-weight:900}
.source-page .tt-core-status>.tt-core-pill{display:none}
.preview-status{display:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
