.play-help{box-sizing:border-box;width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:2px solid white;border-radius:24px;padding:24px;background:#fffaf0;color:#365c64;font:15px/1.7 system-ui,sans-serif}.play-help::backdrop{background:#284a56a6;backdrop-filter:blur(4px)}.play-help header{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:-24px;background:#fffaf0;z-index:2;padding:10px 0}.play-help small{color:#637d79}.play-help header small{font-size:10px;letter-spacing:2px}.play-help h2{font-size:24px;line-height:1.4;margin:3px 0}.play-help h3{font-size:16px;margin:16px 0 7px}.play-help p{margin:12px 0}.play-help button{font:inherit;cursor:pointer;border:1px solid #b5c8bb;border-radius:12px;padding:11px 14px;color:#365c64;background:#edf2e8}.play-help header button{font-size:22px;min-width:44px;min-height:44px}.help-route{list-style:none;padding:0;display:grid;gap:15px}.help-route li{display:flex;gap:12px;align-items:center}.help-route li>b{display:grid;place-items:center;background:#dcebe5;flex:0 0 36px;height:38px;border-radius:12px;color:#447f83}.help-route li>div{font-size:16px;font-weight:750}.help-route small{display:block;font-size:13px;font-weight:400}.help-device{padding:1px 14px;background:#eaf1eb;border-radius:15px}.help-device p{font-size:14px}.help-tip{font-size:13px;color:#607e79}.play-help .help-primary,.play-help .help-return{width:100%;margin-top:12px}.play-help .help-primary{background:#e77ca3;color:white;border-color:#e77ca3;font-weight:750}.help-phone{display:none}.race-prep summary,.tm-more summary,.tm-prep summary{cursor:pointer}.race-prep summary{font-size:13px;font-weight:750;padding:12px 0;color:#527b7b}.race-quick-tip{font-size:14px;line-height:1.7;color:#456c70}.tm-prep summary{padding:10px 0;font-size:13px;color:#4c7774}.tm-more{position:relative;margin-left:auto}.tm-more>summary{list-style:none;border:1px solid #fff8;background:#fffdf1;border-radius:12px;padding:11px;font-size:12px;min-height:40px;box-sizing:border-box}.tm-more>div{position:absolute;bottom:48px;right:0;background:#fffaf0;box-shadow:0 8px 25px #345b6840;border-radius:17px;padding:12px;display:grid;gap:8px;min-width:170px}.tm-more button{font-size:14px}.tm-start-row{display:flex;gap:18px}.tm-start-row button{font-size:13px!important;padding:14px 0!important;color:#466e73}.tm-practice-label{color:#4f8a82;font-weight:800}.team-page #tm-grab[aria-pressed=true]{background:#de8b45;box-shadow:0 4px 0 #ac6b38}.team-page .tm-carry-on{outline:4px solid #ffd988}.tm-objective{pointer-events:none}.tm-roster{display:none}.tm-roster.open{display:block}.tm-practice-progress{font-size:13px;color:#426d78}.tm-target-name{pointer-events:none;position:fixed;z-index:5;transform:translate(-50%,-50%);border:2px solid #dba254;background:#fff9e9;padding:6px 10px;border-radius:13px;font-size:13px;font-weight:800;white-space:nowrap;color:#825e30;box-shadow:0 3px 12px #4d6b6a30}.tm-target-name small{display:block;font-weight:500;font-size:11px;text-align:center}.tm-target-name.hidden{display:none}.tm-objective span{font-size:15px}.tm-objective small{font-size:12px;color:#466f74}.tm-welcome p{font-size:14px;color:#4c6e70}.tm-welcome h2{font-size:27px}.tm-control-note,.tm-pad-status{font-size:12px!important}.tm-welcome{width:350px;max-height:calc(100dvh - 230px)}.tm-map{display:none}.tm-map.open{display:block}.tm-feed{font-size:13px}.tm-settings label{font-size:12px}.tm-settings select{font-size:13px}.tm-kicker{font-size:11px}.tm-header #tm-help{min-width:38px;font-weight:900}.team-page[data-phase=menu] .tm-score,.team-page[data-phase=menu] .tm-map,.team-page[data-phase=menu] .tm-footer #tm-overview{display:none}.team-page .tm-welcome .tm-primary{font-size:16px!important}.team-page .tm-welcome .tm-steps{display:none}
@media(max-width:740px),(pointer:coarse){.help-phone{display:block}.help-desktop{display:none}}
@media(max-width:740px){.team-page .tm-header{top:max(10px,env(safe-area-inset-top));left:12px;right:12px;gap:7px}.tm-header small{display:none}.tm-header h1{font-size:14px;white-space:nowrap;margin:0}.tm-header h1 span{display:none}.tm-logo{width:30px;height:34px;font-size:23px}.tm-header nav{gap:4px}.tm-header button{min-width:34px;min-height:38px;padding:7px;font-size:12px}.tm-header #tm-camera{max-width:51px;white-space:nowrap}.tm-header #tm-help{min-width:34px}.team-page .tm-score{top:58px;left:12px;right:12px;width:auto;transform:none;padding:5px 13px;height:49px;box-sizing:border-box;border-radius:15px;gap:14px}.tm-score>div{display:flex;align-items:center;gap:7px}.tm-score small{font-size:10px}.tm-score strong{font-size:23px}.tm-score .tm-timer{gap:0;display:flex;flex-direction:column}.tm-timer b{font-size:17px}.tm-timer span{font-size:10px}.tm-timer small{display:none}.team-page .tm-welcome{top:auto;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));left:12px;width:calc(100vw - 24px);max-height:min(340px,48dvh);padding:18px 20px;border-radius:23px;box-sizing:border-box;backdrop-filter:blur(5px);background:#fffaf2f5}.tm-welcome h2{font-size:23px;line-height:1.25;margin:8px 0}.tm-welcome p{font-size:14px;line-height:1.55;margin:8px 0 14px}.tm-welcome .tm-kicker{font-size:10px}.tm-welcome .tm-primary{padding:13px 16px;min-height:48px}.tm-start-row{gap:21px}.tm-start-row button{font-size:14px!important;min-height:44px}.tm-prep summary{font-size:13px;min-height:44px;padding:12px 0 0;box-sizing:border-box}.tm-prep[open]{padding-bottom:10px}.tm-settings{margin:12px 0}.tm-settings label,.tm-settings select{font-size:13px}.tm-settings select{padding:10px 4px}.tm-control-note,.tm-pad-status{font-size:12px!important}.team-page .tm-objective{top:116px;left:12px;right:12px;width:auto;max-width:none;transform:none;padding:10px 13px;text-align:left;box-sizing:border-box;border-radius:14px}.tm-objective span{font-size:14px;line-height:1.4}.tm-objective small{font-size:12px;line-height:1.5;margin-top:3px}.team-page .tm-feed{top:185px;font-size:12px;max-width:calc(100vw - 45px);padding:8px 11px}.team-page .tm-footer{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:7px;align-items:center}.tm-footer button,.tm-footer a{min-height:40px;box-sizing:border-box;font-size:12px;padding:10px}.tm-more>summary{font-size:13px;padding:10px}.team-page .tm-touch{left:14px;right:14px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px));gap:7px}.team-page .joystick{width:100px;height:100px;background:#ffffffa6;box-shadow:0 3px 13px #365c6422}.team-page .joystick>div{left:25px;top:25px}.team-page .joystick span{font-size:12px}.tm-touch-actions .grab-btn{font-size:15px;padding:10px;min-width:94px;min-height:56px}.tm-touch-actions small{font-size:10px}.team-page .jump-btn{width:66px;height:66px;font-size:21px}.tm-touch-actions .push-btn,.tm-touch-actions .roll-btn{font-size:12px;min-height:40px;min-width:44px;padding:8px 5px}.team-page[data-practice=true] .tm-touch-actions>div{display:none}.team-page .tm-roster{top:115px;bottom:70px;max-height:none;font-size:14px}.tm-crew-person strong{font-size:14px}.tm-crew-person small{font-size:12px!important}.team-page .tm-map{bottom:210px;width:95px}.tm-target-name{font-size:13px;padding:6px 9px}.team-page[data-phase=menu] .tm-footer .tm-more{display:none}.play-help{padding:20px;font-size:15px}.play-help h2{font-size:22px}}
/* Race mode: the start card sits below the scene; details open only by choice. */
body:not(.team-page) .welcome{pointer-events:none}body:not(.team-page) .intro-card{pointer-events:auto}body:not(.team-page) .race-prep .features{margin:8px 0}body:not(.team-page) .race-prep .design-row{margin:12px 0}
@media(max-width:740px){body:not(.team-page) .welcome{inset:auto 12px 66px;padding:0;background:none;display:block;max-height:48dvh;overflow:auto;border-radius:23px}body:not(.team-page) .intro-card{box-sizing:border-box;max-width:none;width:100%;background:#fffaf3f5;border:2px solid #fff;border-radius:23px;padding:18px 20px}body:not(.team-page) .intro-card h2{font-size:24px;line-height:1.3;margin:8px 0}body:not(.team-page) .intro-card h2 br{display:none}body:not(.team-page) .intro-card .intro,body:not(.team-page) .intro-card .howto,body:not(.team-page) .intro-card .footnote{display:none}body:not(.team-page) .intro-card .pill{font-size:10px}body:not(.team-page) .race-quick-tip{font-size:14px;margin:10px 0}body:not(.team-page) .intro-card .primary{min-height:46px;padding:12px 16px;font-size:16px}body:not(.team-page) .team-mode-link{font-size:12px;margin:12px 0;padding:11px;min-height:42px}body:not(.team-page) .team-mode-link b{font-size:10px}body:not(.team-page) .team-mode-link span{font-size:12px}body:not(.team-page) #watch-demo{font-size:14px;min-height:44px;padding:10px 0}body:not(.team-page) .controls{left:12px;right:12px;bottom:12px;gap:6px}body:not(.team-page) .controls .design-link,body:not(.team-page) .controls #gamepad-toggle{display:none}body:not(.team-page) .controls button{min-height:40px;font-size:12px;padding:8px}body:not(.team-page) .actionhud{display:none}body:not(.team-page) .touch-actions .grab-btn,body:not(.team-page) .touch-actions .push-btn,body:not(.team-page) .touch-actions .roll-btn{font-size:12px;min-height:40px}body:not(.team-page) .minimap{display:none}body:not(.team-page) .race-prep[open]{padding-bottom:10px}body:not(.team-page) .race-prep .level-choice strong{font-size:15px}body:not(.team-page) .race-prep .choose>span,body:not(.team-page) .race-prep .design-row label{font-size:13px}}
@media(max-height:540px) and (max-width:900px){.team-page .tm-header{top:7px}.team-page .tm-score{top:9px;left:32%;right:210px;width:auto;height:44px;transform:none;gap:8px}.tm-score .blue small,.tm-score .orange small{display:none}.team-page .tm-objective{top:62px;left:12px;max-width:320px}.team-page .tm-feed{top:120px}.team-page .tm-welcome{max-height:65dvh;bottom:56px;width:min(360px,55vw);padding:12px 18px}.tm-welcome h2{font-size:21px}.tm-welcome p{font-size:13px}.team-page .tm-touch{bottom:58px}.team-page .tm-footer{bottom:7px}.team-page .tm-more>div{bottom:45px}.team-page[data-phase=menu] .tm-welcome{max-height:70dvh}body:not(.team-page) .welcome{max-height:72dvh;width:min(360px,55vw)}.team-page .tm-target-name{font-size:12px}}

@media(max-height:540px) and (max-width:900px){.team-page .tm-score .blue small,.team-page .tm-score .orange small,.team-page .tm-timer small{display:none}.team-page .tm-score>div{display:flex;align-items:center;gap:6px}.team-page .tm-score .tm-timer{display:flex;flex-direction:column;gap:0}.team-page .tm-score strong{font-size:24px}.team-page .tm-score{padding:5px 12px}.team-page .tm-objective{transform:none;font-size:13px;padding:9px 12px}.team-page .tm-objective span{font-size:13px}.team-page .tm-objective small{font-size:11px}.team-page .tm-touch-actions>div{display:none}.team-page .tm-touch-actions .grab-btn{font-size:14px;min-width:92px;min-height:51px}.team-page .tm-touch{left:18px;right:18px;gap:12px}.team-page .tm-target-name{max-width:180px}.team-page .tm-header h1{font-size:15px}.team-page .tm-footer button,.team-page .tm-footer a{min-height:40px;font-size:12px}.team-page .tm-logo{width:36px;height:39px;font-size:27px}.team-page .tm-header small{display:none}}
.team-page[data-practice=true] .tm-score .blue,.team-page[data-practice=true] .tm-score .orange{display:none}.team-page[data-practice=true] .tm-score{justify-content:center}
@media(max-width:900px){.help-phone{display:block}.help-desktop{display:none}}

.environment-status{font-size:12px;line-height:1.5;color:#a16d36;font-weight:800;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.environment-status:empty{display:none}.tm-weather{position:fixed;top:201px;left:50%;transform:translateX(-50%);max-width:90vw;background:#fff2cbee;color:#98662c;border-radius:10px;font-size:12px;padding:5px 10px;z-index:5;pointer-events:none}.tm-weather:empty,.team-page[data-phase=menu] .tm-weather,.team-page[data-practice=true] .tm-weather{display:none}.tm-ferry-link{position:fixed;right:30px;top:100px;font-size:13px;color:#597e8c;background:#fffaf0ee;padding:10px 15px;border-radius:14px;z-index:5;text-decoration:none}.team-page:not([data-phase=menu]) .tm-ferry-link{display:none}.ferry-feature{margin-top:10px}.team-page .tm-feed{top:237px}@media(max-width:740px){.tm-weather{top:184px;max-width:calc(100vw - 30px);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-page .tm-feed{top:217px}.tm-ferry-link{top:66px;left:12px;right:auto;font-size:12px;padding:9px 12px}body:not(.team-page) .intro-card .team-mode-link:not(.ferry-feature){display:none}body:not(.team-page) .ferry-feature{margin:10px 0}}@media(max-height:540px) and (max-width:900px){.tm-weather{top:122px;left:12px;transform:none;max-width:320px;font-size:11px}.team-page .tm-feed{top:158px}.tm-ferry-link{top:64px;left:auto;right:18px}}
.environment-status:not(:empty){background:#fff8e9ed;padding:5px 8px;border:1px solid #fff8;border-radius:8px;color:#94642f;box-sizing:border-box;font-size:12px}
