.physics-shell{--flight-ink:#e4eadf;--flight-muted:#a0b1b2;--flight-line:#93b0ae26;--flight-accent:#d5ef9f;height:100dvh;min-height:570px;color:var(--flight-ink);background:#101c25;flex-direction:column;display:flex;overflow:hidden}.physics-nav{border-bottom:1px solid var(--flight-line);background:#0c1620;justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:10px clamp(16px,4vw,60px);display:flex}.physics-nav .retro-wordmark{--wordmark-size:27px}.physics-back{letter-spacing:.08em;color:#b9c9c7;font-size:10px}.physics-nav .sound-control{margin:0}.physics-nav button{border-color:var(--flight-line)}.physics-heading{justify-content:space-between;align-items:center;gap:18px;width:100%;max-width:1600px;margin:0 auto;padding:19px clamp(20px,4vw,60px) 17px;display:flex}.physics-eyebrow{letter-spacing:.2em;color:var(--flight-muted);font-size:9px;line-height:1.7;display:block}.physics-heading h1{letter-spacing:.045em;margin:4px 0 0;font-size:clamp(22px,3.3vw,34px);font-weight:700;line-height:1.15}.physics-stage-picker{gap:6px;min-width:0;max-width:45%;display:grid}.physics-stage-picker label{letter-spacing:.18em;color:var(--flight-muted);font-size:8px}.physics-stage-picker select{color:#d1dfd8;cursor:pointer;background:#162630;border:1px solid #aac7b930;border-radius:5px;width:100%;min-width:0;min-height:34px;padding:5px 8px;font-size:10px}.physics-scene{isolation:isolate;border-top:1px solid var(--flight-line);border-bottom:1px solid var(--flight-line);flex:1;min-height:260px;position:relative;overflow:hidden}.physics-scene canvas{touch-action:none;outline-offset:-3px;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.physics-touchdown .physics-scene canvas{cursor:default}.physics-scene-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:14px;display:flex;position:absolute;top:17px;left:clamp(20px,4vw,60px);right:clamp(20px,4vw,60px)}.physics-scene-top p{color:#cfddd4;max-width:70%;margin:0;font-size:11px;line-height:1.6}.physics-icon-button{pointer-events:auto;color:#d1dfd8;background:#14242b8c;border:1px solid #a2bdad40;border-radius:50%;width:34px;height:34px;font-size:17px}.physics-shot-counter{pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute;top:56px;left:clamp(20px,4vw,60px)}.physics-shot-counter span{letter-spacing:.14em;color:#9badad;margin-right:5px;font-size:8px}.physics-shot-counter i{background:#d5ef9f;border:1px solid #d5ef9f;border-radius:50%;width:7px;height:7px}.physics-shot-counter i.used{background:0 0;border-color:#acc4b54d}.physics-scene-bottom{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:14px;left:clamp(20px,4vw,60px);right:clamp(20px,4vw,60px)}.physics-scene-bottom>span{color:#c6d3c8;letter-spacing:.07em;font-size:11px}.physics-scene-bottom small{color:#9aac9f;font-size:9px}.physics-reset{pointer-events:auto;color:#becfc6;letter-spacing:.05em;background:#101d2566;border:0;border-radius:4px;padding:8px 10px;font-size:9px}.physics-controls{padding:17px 22px max(12px,env(safe-area-inset-bottom));background:#101b25;flex:none;position:relative;box-shadow:0 -10px 36px #0b192122}.bankshot-aim-controls{grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;width:min(670px,100%);margin:auto;display:grid}.bankshot-aim-controls label{letter-spacing:.14em;color:var(--flight-muted);flex-wrap:wrap;justify-content:space-between;gap:9px;min-width:0;font-size:8px;display:flex}.bankshot-aim-controls strong{color:#e0ead6;letter-spacing:0;font-size:10px;font-weight:400}.bankshot-aim-controls input{accent-color:#bbd699;cursor:pointer;touch-action:pan-y;width:100%;height:17px;margin:0}.bankshot-aim-controls input:disabled{opacity:.35}.physics-launch,.physics-primary{color:#162421;letter-spacing:.025em;background:#c9dfa7;border:1px solid #dce9c4;border-radius:6px;min-height:46px;padding:12px 19px;font-size:11px;font-weight:700;transition:background .15s,transform .15s;box-shadow:0 3px #4a6250}.physics-launch:hover:not(:disabled),.physics-primary:hover{background:#deebc6;transform:translateY(-1px)}.physics-launch:active:not(:disabled),.physics-primary:active{box-shadow:none;transform:translateY(2px)}.physics-launch:disabled{color:#a1b299;box-shadow:none;opacity:.6;background:#324740;border-color:#506252}.physics-control-hint{text-align:center;color:#94aaa8;letter-spacing:.025em;margin:12px 0 0;font-size:9px;line-height:1.6}.physics-panel{-webkit-backdrop-filter:blur(12px);text-align:center;z-index:2;background:linear-gradient(135deg,#172b31ed,#101d2beb);border:1px solid #c0d6c736;border-radius:12px;width:min(360px,100% - 42px);padding:25px 26px;animation:.32s ease-out physicsPanelIn;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 65px #030b164d}.physics-panel h2{letter-spacing:-.04em;margin:7px 0 12px;font-size:clamp(19px,3vw,27px);line-height:1.3}.physics-panel p{color:#b6c8c6;margin:12px 0 20px;font-size:10px;line-height:1.8}.physics-result{padding:22px 24px;top:44%}.physics-result.success{border-color:#d5ef9f66}.physics-result-score{color:#d5ef9f;margin:8px 0 18px;font-size:34px;line-height:1.2}.physics-result-score span{color:#9aafaa;font-size:12px}.physics-result-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.physics-result-actions .physics-primary{width:100%}.physics-secondary{color:#bed8d5;letter-spacing:.06em;background:0 0;border:0;padding:3px 6px;font-size:9px}.physics-ready .physics-primary{margin-top:2px}.physics-telemetry{text-align:center;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(360px,100% - 32px);display:grid;position:absolute;top:64px;left:50%;transform:translate(-50%)}.physics-telemetry>div{gap:5px;min-width:0;display:grid}.physics-telemetry span{letter-spacing:.1em;color:#9eafb4;font-size:8px}.physics-telemetry strong{color:#dbe6db;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;font-weight:400}.physics-telemetry small{color:#a2b2b1;font-size:9px}.physics-telemetry .safe strong{color:#c7dfa6}.physics-telemetry .caution strong{color:#e1c09a}.flight-controls{grid-template-columns:65px minmax(140px,220px) 65px;justify-content:center;gap:15px;display:grid}.flight-control{color:#bed4c8;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#1c3039;border:1px solid #b1cdc13b;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:58px;transition:background .1s,transform .1s;display:flex;box-shadow:0 3px #07121b}.flight-control b{font-size:27px;font-weight:400;line-height:1.1}.flight-control small{letter-spacing:.12em;font-size:8px}.flight-thrust{color:#132f2e;background:#a6c6b6;border-color:#badbc8;flex-direction:row;gap:12px}.flight-thrust svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:22px;height:25px}.flight-thrust span{letter-spacing:.035em;font-size:10px;font-weight:700}.flight-control.held{box-shadow:none;background:#304c53;transform:translateY(2px)}.flight-thrust.held{background:#d3e4b4}.flight-control:disabled{opacity:.37;cursor:default;box-shadow:none}.physics-shell button:focus-visible,.physics-shell a:focus-visible,.physics-shell select:focus-visible,.physics-shell input:focus-visible,.physics-scene canvas:focus-visible{outline-offset:4px;outline:2px solid #addbdd}.physics-scene canvas:focus-visible{outline-offset:-3px}.physics-live-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes physicsPanelIn{0%{opacity:0;translate:0 9px}to{opacity:1;translate:0}}@media (min-width:1300px){.physics-scene{border:1px solid var(--flight-line);border-radius:10px;margin:0 26px}.physics-controls{padding-top:20px;padding-bottom:19px}}@media (max-width:600px){.physics-nav{min-height:52px;padding:8px 16px}.physics-nav .retro-wordmark{--wordmark-size:23px}.physics-back{font-size:8px}.physics-heading{padding:15px 20px}.physics-heading h1{font-size:23px}.physics-eyebrow{font-size:7px}.physics-stage-picker{max-width:47%}.physics-stage-picker select{min-height:32px;padding:5px;font-size:8px}.physics-scene-top p{max-width:75%;font-size:9px}.physics-telemetry{gap:10px}.physics-telemetry strong{font-size:13px}.physics-telemetry span,.physics-telemetry small{font-size:7px}.physics-panel{padding:20px 22px}.physics-panel h2{font-size:21px}.physics-result{top:48%}.physics-controls{padding:14px 18px max(10px,env(safe-area-inset-bottom))}.bankshot-aim-controls{gap:13px}.physics-launch{min-height:44px;padding:10px 12px;font-size:9px}.physics-control-hint{margin-top:11px;font-size:8px}.flight-controls{grid-template-columns:56px minmax(140px,210px) 56px;gap:12px}.flight-control{min-height:56px}.flight-thrust span{font-size:9px}.flight-thrust{gap:9px}}@media (max-height:640px) and (min-width:700px){.physics-shell{min-height:450px}.physics-nav{min-height:44px;padding-top:5px;padding-bottom:5px}.physics-heading{padding-top:10px;padding-bottom:10px}.physics-heading h1{font-size:22px}.physics-scene{min-height:200px}.physics-controls{padding:9px 25px}.physics-control-hint{display:none}.physics-panel{max-width:320px;padding:14px 20px}.physics-panel p{margin:8px 0 13px}.physics-result-score{margin:4px 0 12px;font-size:26px}.flight-control{min-height:46px}}@media (prefers-reduced-motion:reduce){.physics-panel{animation:none}.physics-shell button{transition:none}}.physics-match{border:0;width:100%;height:100%;min-height:0}.physics-match .physics-heading{display:none}.physics-match .physics-scene{border:0;border-radius:0;min-height:0;margin:0}.physics-match .physics-controls{padding:12px 18px}.physics-match .physics-panel{top:46%}.physics-match .physics-scene-top{top:8px}.physics-match .physics-shot-counter{top:38px}.arcade-mode-actions{gap:12px;margin:16px 0 24px;display:grid}.arcade-friend-start{text-align:center;justify-content:center;align-items:center;width:100%;min-height:48px;margin:0;padding:14px;font-size:12px;display:flex}.arcade-random-start{text-align:center;flex-direction:column;gap:9px;width:100%;margin:0;padding:20px 14px;display:flex}.arcade-random-start strong{font-size:clamp(14px,2vw,20px)}.arcade-random-start small{letter-spacing:.12em;font-size:10px}.practice-best-duel{align-items:center;gap:24px;font-size:10px;display:flex}.practice-best-duel span{color:var(--lime,#c8ff61);gap:5px;display:grid}.practice-best-duel span+span{color:var(--cyan,#67f4ff)}.practice-best-duel b{font-size:23px}@media (pointer:coarse){.physics-touchdown{touch-action:none}.physics-touchdown .flight-controls{justify-content:space-between;width:100%;max-width:680px;margin:auto;display:flex}.physics-touchdown .flight-control{border-radius:50%;width:72px;height:62px}.physics-touchdown .flight-control b{font-size:38px}.physics-touchdown .flight-control small,.physics-touchdown .flight-thrust{display:none}.physics-touchdown .physics-controls{background:0 0;position:relative}.physics-touchdown .physics-control-hint{text-wrap:balance;margin:0;font-size:clamp(7px,1.8vw,9px);line-height:1.8;display:block;position:absolute;top:50%;left:82px;right:82px;transform:translateY(-50%)}.physics-touchdown .physics-scene canvas{cursor:default}}.immersive-game-view .practice-best-duel{text-align:right;gap:4px;font-size:9px;display:grid}.immersive-game-view .practice-best-duel span{justify-content:flex-end;align-items:center;gap:8px;display:flex}.immersive-game-view .practice-best-duel b{font-size:16px}.arcade-match-summary{text-align:center;width:min(100%,720px);max-height:100%;margin:auto;padding:84px clamp(18px,4vw,40px) 28px;overflow-y:auto}.arcade-match-summary .game-outcome{margin:22px 0}.arcade-match-total{color:var(--lime,#c8ff61);justify-content:center;align-items:baseline;gap:12px;margin:18px 0;display:flex}.arcade-match-total strong{font-size:clamp(42px,9vw,76px)}.arcade-match-total span{color:var(--muted);font-size:16px}.arcade-match-record{justify-content:center;gap:24px;font-size:10px;display:flex}.arcade-match-record b{margin-bottom:8px;font-size:24px;display:block}.arcade-match-record span:first-child{color:var(--lime,#c8ff61)}.arcade-match-record span:nth-child(2){color:var(--pink)}.arcade-match-record span:last-child{color:var(--cyan)}.arcade-match-summary p{margin:18px 0;font-size:11px}.arcade-match-review{text-align:left;border:1px solid var(--line);margin:24px 0;padding:14px}.arcade-match-review summary{cursor:pointer;text-align:center;font-size:12px}.arcade-match-review ol{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.arcade-match-review li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px;font-size:11px;display:grid}.arcade-match-review small{color:var(--muted);grid-column:1/-1;font-size:9px}.arcade-match-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.arcade-match-actions button{justify-content:center;margin:0;padding:14px 18px;font-size:12px}.physics-bankshot .physics-scene canvas{cursor:grab}.physics-bankshot .physics-scene canvas:active{cursor:grabbing}.physics-replay-status{pointer-events:none;text-shadow:0 2px 4px #000;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;display:flex;position:absolute;top:38px;left:20px;right:20px}.physics-human-trace{color:#d5ef9f}.physics-ai-trace{color:#ff79c9;text-align:right}.physics-quick-next{color:#d5ef9f;letter-spacing:.025em;white-space:nowrap;cursor:pointer;background:#15282eee;border:1px solid #b6d3b74d;border-radius:6px;min-height:44px;padding:8px 12px;font-size:9px;position:absolute;bottom:12px;right:16px}.physics-quick-next:hover{background:#243d3e}.physics-quick-next:active{background:#30494a}.physics-quick-next span{margin-left:5px;font-size:13px}.slingshot-drag-hint{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;color:#fff;text-align:center;filter:drop-shadow(0 2px 3px #000);width:132px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slingshot-drag-caption{font-size:12px}.slingshot-drag-demo{width:100px;height:86px;margin:5px auto;position:relative}.slingshot-drag-path{fill:none;width:100px;height:80px;stroke:var(--lime,#c8ff61);stroke-width:2px;opacity:.6;position:absolute;inset:0}.slingshot-drag-hand{fill:#fff;stroke:#080b14;stroke-width:1.5px;width:30px;height:36px;animation:1.8s ease-in-out 2 both slingshotDragGesture;position:absolute;top:12px;left:59px}.slingshot-drag-touch{border:2px solid var(--lime,#c8ff61);border-radius:50%;width:20px;height:20px;animation:1.8s ease-in-out 2 both slingshotDragTouch;position:absolute;top:7px;left:66px}@keyframes slingshotDragGesture{0%,10%{opacity:0;transform:translate(0)}20%,30%{opacity:1;transform:translate(0)}70%,82%{opacity:1;transform:translate(-51px,46px)}95%,to{opacity:0;transform:translate(-51px,46px)}}@keyframes slingshotDragTouch{0%,10%{opacity:0;transform:scale(.6)}20%,30%{opacity:1;transform:scale(1)}70%,82%{opacity:.5;transform:translate(-51px,46px)scale(1.1)}95%,to{opacity:0;transform:translate(-51px,46px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.slingshot-drag-hand,.slingshot-drag-touch{animation:none}.slingshot-drag-touch{opacity:.65}}.physics-touchdown,.physics-touchdown *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
