:root{color:#f5f7f6;background:#050607;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}button{font:inherit}#app{position:relative;isolation:isolate;background:#050607}#scene{position:absolute;inset:0;cursor:crosshair;touch-action:none}#scene:after{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 48%,rgb(0 0 0 / 18%) 100%),linear-gradient(180deg,rgb(0 0 0 / 10%) 0%,transparent 25%,transparent 70%,rgb(0 0 0 / 18%) 100%)}.scene-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transform-origin:center center;will-change:transform}.vignette-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 48%,transparent 34%,rgb(0 0 0 / 28%) 66%,rgb(0 0 0 / 74%) 100%),linear-gradient(180deg,rgb(0 0 0 / 18%) 0%,transparent 28%,transparent 64%,rgb(0 0 0 / 26%) 100%);transition:opacity 1.3s ease}.vignette-overlay[data-active=true]{opacity:1}.somatic-overlay{--somatic-opacity: 0;--somatic-tunnel-alpha: 0;--somatic-edge-alpha: 0;--somatic-pulse-alpha: 0;--somatic-oxygen-alpha: 0;--somatic-panic-alpha: 0;--somatic-heartbeat: 0;position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:var(--somatic-opacity);contain:paint;background:radial-gradient(ellipse at 50% 52%,transparent 0 42%,rgb(6 7 9 / var(--somatic-tunnel-alpha)) 72%,rgb(0 0 0 / var(--somatic-edge-alpha)) 100%),linear-gradient(90deg,rgb(54 203 255 / var(--somatic-oxygen-alpha)) 0%,rgb(54 203 255 / var(--somatic-oxygen-alpha)) 8%,transparent 27%,transparent 73%,rgb(255 47 88 / var(--somatic-oxygen-alpha)) 92%,rgb(255 47 88 / var(--somatic-oxygen-alpha)) 100%);transition:opacity .26s ease}.somatic-black-noise{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block;image-rendering:pixelated;mix-blend-mode:multiply;contain:paint}.somatic-overlay:before,.somatic-overlay:after{position:absolute;inset:-5%;content:"";pointer-events:none}.somatic-overlay:before{opacity:var(--somatic-pulse-alpha);background:radial-gradient(ellipse at 50% 54%,transparent 0 32%,rgb(255 64 93 / 42%) 43%,transparent 60%),radial-gradient(ellipse at 50% 50%,transparent 0 52%,rgb(255 255 255 / 20%) 59%,transparent 70%),radial-gradient(ellipse at 50% 52%,transparent 0 48%,rgb(0 0 0 / 34%) 76%,rgb(0 0 0 / 52%) 100%);mix-blend-mode:normal;transform:scale(calc(1 + var(--somatic-heartbeat) * .13));transform-origin:center center}.somatic-overlay:after{opacity:var(--somatic-panic-alpha);background-image:radial-gradient(circle at 12% 28%,rgb(255 255 255 / 42%) 0 1px,transparent 2px),radial-gradient(circle at 82% 18%,rgb(119 242 188 / 26%) 0 1px,transparent 2px),radial-gradient(circle at 74% 72%,rgb(255 83 97 / 30%) 0 1px,transparent 2px),radial-gradient(circle at 24% 78%,rgb(255 255 255 / 28%) 0 1px,transparent 2px),repeating-linear-gradient(90deg,transparent 0 18px,rgb(255 255 255 / 4%) 19px,transparent 20px);background-size:138px 117px,164px 149px,181px 153px,129px 171px,auto;mix-blend-mode:screen;animation:none}.somatic-overlay[data-active=true]:after{animation:somatic-static .82s steps(2,end) infinite}@keyframes somatic-static{0%{transform:translate3d(-.35%,.25%,0)}50%{transform:translate3d(.28%,-.2%,0)}to{transform:translate3d(-.18%,.15%,0)}}.hud{position:absolute;inset:0;z-index:2;pointer-events:none}.hud-card{position:absolute;min-width:0;border:1px solid rgb(216 230 238 / 36%);border-radius:18px;color:#f4f7f6;background:#06070899;box-shadow:inset 0 1px #ffffff2e,0 22px 58px #0000004d}#app[data-lag-level="1"] .hud-card{background:#06070899;box-shadow:inset 0 1px #ffffff1f,0 12px 26px #0000003d}#app[data-lag-level="2"] .hud-card{background:#06070899;box-shadow:inset 0 1px #ffffff1a,0 8px 18px #0003}#app[data-lag-level="1"] .input-mode-picker,#app[data-lag-level="1"] .quality-picker,#app[data-lag-level="1"] .start-button,#app[data-lag-level="1"] .tdinput-panel,#app[data-lag-level="1"] .retry-button,#app[data-lag-level="2"] .input-mode-picker,#app[data-lag-level="2"] .quality-picker,#app[data-lag-level="2"] .start-button,#app[data-lag-level="2"] .tdinput-panel,#app[data-lag-level="2"] .retry-button{background:#06070899}#app[data-lag-level="1"] .heart-icon,#app[data-lag-level="2"] .heart-icon,#app[data-lag-level="1"] .music-button,#app[data-lag-level="2"] .music-button,#app[data-lag-level="1"] .distance-meter__fill,#app[data-lag-level="2"] .distance-meter__fill{filter:none;box-shadow:none}.hud-label{display:block;color:#eef4f4bf;font-size:clamp(.74rem,1.25vw,1.04rem);font-weight:700;line-height:1}.hud-card--time{top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));width:clamp(340px,25vw,430px);padding:clamp(20px,2vw,30px);transform:scale(.8);transform-origin:top left}.time-value{display:block;margin-top:18px;color:#f7fbfa;font-size:clamp(2.85rem,4.2vw,4.35rem);font-weight:300;line-height:.9;letter-spacing:0;text-shadow:0 2px 16px rgb(0 0 0 / 38%);font-variant-numeric:tabular-nums}.hud-divider{height:1px;margin:22px 0 16px;background:#ffffff21}.class-row{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#f5f7f6c7;font-size:clamp(.86rem,1.4vw,1.14rem);font-weight:700;line-height:1}.class-row span:last-child{color:#ffc454;font-size:clamp(1rem,1.55vw,1.35rem);font-weight:500;font-variant-numeric:tabular-nums}.hud-card--heart{top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));width:clamp(280px,20vw,350px);padding:clamp(17px,1.55vw,24px);transform:scale(.8);transform-origin:top right}.heart-row{display:flex;align-items:flex-end;gap:clamp(8px,1vw,12px);margin-top:16px;min-width:0}.heart-icon{width:clamp(38px,3.6vw,58px);flex:0 0 auto;fill:#ff5361;filter:drop-shadow(0 6px 14px rgb(255 83 97 / 25%));transform:translateY(5px)}.heart-value{min-width:0;color:#f7fbfa;font-size:clamp(2.85rem,4.1vw,4.25rem);font-weight:300;line-height:.86;font-variant-numeric:tabular-nums}.heart-unit{flex:0 0 auto;margin-bottom:.38em;color:#eef4f4b8;font-size:clamp(.92rem,1.25vw,1.22rem);font-weight:600}.hud-card--status{bottom:max(24px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));width:clamp(320px,26vw,470px);padding:clamp(20px,2vw,30px);transform:scale(.8);transform-origin:bottom left}.status-row{display:flex;align-items:center;gap:clamp(12px,1.5vw,20px);margin-top:20px;min-width:0}.runner-icon{width:clamp(58px,6vw,82px);height:clamp(58px,6vw,82px);flex:0 0 auto;overflow:visible;fill:#ff5361;stroke:#ff5361;stroke-linecap:round;stroke-linejoin:round;stroke-width:7}.runner-icon path{fill:none}.status-value{min-width:0;overflow:visible;color:#ff5361;font-size:clamp(1.75rem,2.7vw,2.85rem);font-weight:800;line-height:1;white-space:nowrap}.speed-chip{position:absolute;right:18px;bottom:14px;color:#eef4f49e;font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums}.hud-stack{position:absolute;min-width:0;pointer-events:none}.hud-stack--status{bottom:max(24px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));display:flex;width:clamp(320px,26vw,470px);flex-direction:column;gap:14px;transform:scale(.8);transform-origin:bottom left}.hud-stack--status .hud-card{position:relative;inset:auto;width:100%;transform:none}.hud-stack--status .hud-card--status{padding:clamp(20px,2vw,30px)}.hud-card--music{padding:clamp(14px,1.35vw,20px);pointer-events:auto;z-index:4}.music-row{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:10px;margin-top:12px}.music-button{display:grid;width:48px;height:42px;place-items:center;border:0;color:#f7fbfa;background:transparent;cursor:pointer;opacity:.94;filter:drop-shadow(0 8px 14px rgb(0 0 0 / 34%));transition:filter .16s ease,opacity .16s ease,transform .16s ease}.music-button:not(:disabled):hover{filter:drop-shadow(0 10px 18px rgb(0 0 0 / 42%));opacity:1;transform:scale(1.06)}.music-button:disabled{cursor:default;opacity:.38}.music-button:not(:disabled):active{transform:scale(.96)}.music-skip-icon{display:flex;align-items:center;justify-content:center;width:31px;height:26px;color:#fff}.music-skip-bar{width:5px;height:24px;border-radius:3px;background:currentcolor}.music-skip-triangle{width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent}.music-button--prev .music-skip-icon{gap:4px}.music-button--prev .music-skip-triangle{border-right:20px solid currentcolor}.music-button--next .music-skip-icon{gap:4px}.music-button--next .music-skip-triangle{border-left:20px solid currentcolor}.music-title-button{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;min-width:0;min-height:38px;padding:0;border:0;color:inherit;background:transparent;cursor:pointer}.music-title-button:disabled{cursor:default;opacity:.45}.music-title-button:not(:disabled):hover .music-title{color:#fff}.music-title{min-width:0;overflow:hidden;color:#f7fbfa;font-size:clamp(.92rem,1.35vw,1.18rem);font-weight:750;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.music-chevron{width:13px;height:13px;border-right:2px solid rgb(247 251 250 / 88%);border-bottom:2px solid rgb(247 251 250 / 88%);transform:translateY(-3px) rotate(45deg);transition:transform .16s ease}.music-title-button[aria-expanded=true] .music-chevron{transform:translateY(3px) rotate(225deg)}.music-volume{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:9px;margin-top:10px;color:#f7fbfaad;font-size:.66rem;font-weight:850;letter-spacing:.08em;touch-action:none}.music-volume-slider{width:100%;height:18px;margin:0;accent-color:#77f2bc;appearance:none;background:transparent;cursor:pointer;touch-action:none}.music-volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:#f7fbfa38}.music-volume-slider::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#f7fbfa;box-shadow:0 5px 14px #00000057;appearance:none}.music-volume-slider::-moz-range-track{height:4px;border-radius:999px;background:#f7fbfa38}.music-volume-slider::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#f7fbfa;box-shadow:0 5px 14px #00000057}.music-volume-value{color:#f7fbfad1;font-variant-numeric:tabular-nums;text-align:right}.music-track-list{position:absolute;right:clamp(10px,1.1vw,16px);bottom:calc(100% - 8px);left:clamp(10px,1.1vw,16px);display:grid;max-height:min(44vh,320px);padding:8px;overflow-y:auto;border:1px solid rgb(238 244 244 / 13%);border-radius:8px;background:#06070899;box-shadow:inset 0 1px #ffffff1a,0 20px 42px #0000006b}.music-track-list[hidden]{display:none}.music-track-item{min-width:0;padding:9px 10px;overflow:hidden;border:0;border-radius:6px;color:#f7fbfabd;background:transparent;cursor:pointer;font-size:.82rem;font-weight:760;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.music-track-item:hover,.music-track-item[data-selected=true]{color:#f7fbfa;background:#ffffff1a}.music-track-item[data-selected=true]:before{content:"✓ ";color:#77f2bc}.hud-card--distance{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:clamp(245px,21vw,380px);padding:clamp(19px,1.8vw,28px);transform:scale(.8);transform-origin:bottom right}.distance-row{display:flex;align-items:baseline;gap:12px;margin-top:20px;min-width:0}.distance-value{min-width:0;color:#f7fbfa;font-size:clamp(3.1rem,5.2vw,5rem);font-weight:300;line-height:.9;font-variant-numeric:tabular-nums;text-shadow:0 2px 16px rgb(0 0 0 / 35%)}.distance-unit{color:#eef4f4db;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:600}.distance-meter{position:relative;height:26px;margin-top:18px;padding-right:34px}.distance-meter:before{position:absolute;top:9px;left:0;right:34px;height:8px;border-radius:999px;content:"";background:#cfdce23d}.distance-meter__fill{position:absolute;top:9px;left:0;width:calc(100% - 34px);height:8px;border-radius:999px;background:#ff5361;box-shadow:0 0 16px #ff53613d;transform:scaleX(0);transform-origin:left center}.flag-icon{position:absolute;right:0;top:0;width:25px;height:25px;fill:none;stroke:#eef4f4c2;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.message-overlay{position:absolute;left:50%;top:50%;z-index:3;width:min(760px,calc(100vw - 48px));max-width:min(760px,calc(100vw - 48px));padding:0 24px;color:#f7fbfa;font-size:clamp(1.05rem,2vw,1.62rem);font-weight:400;line-height:1.55;letter-spacing:clamp(.21rem,.68vw,.5rem);white-space:pre-line;text-align:center;text-transform:lowercase;text-shadow:0 0 7px rgb(255 255 255 / 82%),0 0 18px rgb(255 255 255 / 48%),0 2px 20px rgb(0 0 0 / 60%);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .65s ease,transform .65s ease}.message-overlay[data-visible=true]{opacity:1;transform:translate(-50%,-50%) scale(1)}.message-overlay[data-tone=success]{color:#9cf3d0}.message-overlay[data-tone=failure],.message-overlay[data-tone=notice]{color:#f7fbfa}.retry-button{position:absolute;left:50%;top:calc(50% + 96px);z-index:4;min-width:116px;min-height:44px;padding:0 22px;border:1px solid rgb(255 255 255 / 28%);border-radius:8px;color:#f7fbfa;background:#06070899;box-shadow:0 18px 46px #00000057;cursor:pointer;transform:translate(-50%)}.retry-button:hover{border-color:#ffffff6b;background:#060708a3}.retry-button[hidden]{display:none}.start-panel{position:absolute;left:50%;top:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translate(-50%,-50%)}.start-panel--hidden{display:none}.input-mode-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(720px,calc(100vw - 36px));margin:0;padding:10px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;background:#06070899;box-shadow:0 18px 46px #00000047}.input-mode-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.input-mode-option{position:relative;min-width:0;min-height:54px;cursor:pointer}.input-mode-option input{position:absolute;opacity:0;pointer-events:none}.input-mode-option span{display:flex;width:100%;height:100%;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:0 12px;border:1px solid rgb(255 255 255 / 16%);border-radius:7px;color:#f7fbfabd;background:#ffffff0d;font-size:clamp(.74rem,1.4vw,.9rem);font-weight:800;line-height:1;text-align:center}.input-mode-option small{display:block;overflow:hidden;color:#f7fbfa8a;font-size:.72em;font-weight:700;line-height:1.1;text-overflow:ellipsis}.input-mode-option input:checked+span{border-color:#ff5361c2;color:#f7fbfa;background:#ff53612e;box-shadow:inset 0 1px #ffffff2e,0 0 22px #ff536126}.tdinput-panel{width:min(520px,calc(100vw - 36px));padding:14px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;color:#f7fbfad1;background:#06070899;box-shadow:0 18px 46px #0000004d}.tdinput-panel[hidden]{display:none}.tdinput-status-row{display:flex;align-items:center;justify-content:center;gap:9px;min-height:20px;color:#f7fbfa;font-size:.84rem;font-weight:800}.tdinput-dot{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:#ffc454;box-shadow:0 0 14px #ffc45457}.tdinput-panel[data-status=receiving] .tdinput-dot{background:#77f2bc;box-shadow:0 0 16px #77f2bc5c}.tdinput-panel[data-status=reconnecting] .tdinput-dot,.tdinput-panel[data-status=error] .tdinput-dot{background:#ff5361;box-shadow:0 0 16px #ff536157}.tdinput-grid{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.1fr);gap:8px 14px;margin-top:13px;padding-top:13px;border-top:1px solid rgb(255 255 255 / 12%);font-size:.8rem;line-height:1.1}.tdinput-grid span{color:#f7fbfa94;font-weight:800;text-transform:uppercase}.tdinput-grid strong{min-width:0;overflow-wrap:anywhere;color:#f7fbfa;font-size:clamp(1rem,2.5vw,1.34rem);font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.motion-qr-panel{display:grid;justify-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgb(255 255 255 / 12%)}.motion-qr-panel[hidden]{display:none}.motion-qr-panel canvas{width:168px;height:168px;border:8px solid #f7fbfa;border-radius:7px;background:#f7fbfa;box-shadow:0 18px 38px #00000052}.motion-qr-panel a{width:100%;min-width:0;overflow-wrap:anywhere;color:#f7fbfab3;font-size:.72rem;font-weight:700;line-height:1.35;text-align:center;text-decoration:none}.tdinput-panel p{margin:13px 0 0;color:#f7fbfaa3;font-size:.78rem;font-weight:700;line-height:1.35;text-align:center}.quality-picker{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;color:#f7fbfac7;background:#06070899;box-shadow:0 14px 38px #00000042;font-size:.86rem;font-weight:700;text-transform:uppercase}.quality-picker select{min-width:92px;border:0;color:#f7fbfa;background:transparent;font:inherit;cursor:pointer;outline:none}.quality-picker option{color:#111}.start-button{min-width:118px;min-height:46px;padding:0 22px;border:1px solid rgb(255 255 255 / 24%);border-radius:8px;color:#f7fbfa;background:#06070899;box-shadow:0 18px 46px #00000061;cursor:pointer}.start-button:disabled{color:#f7fbfa85;background:#0607086b;border-color:#ffffff24;box-shadow:none;cursor:not-allowed}.headphone-notice{margin:-4px 0 0;color:#f7fbfa;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-align:center;text-shadow:0 2px 14px rgb(0 0 0 / 80%)}.credits-button{min-height:30px;padding:0 12px;border:1px solid rgb(255 255 255 / 18%);border-radius:999px;color:#f7fbfab8;background:#06070899;box-shadow:0 10px 28px #0000003d;cursor:pointer;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.credits-button:hover,.credits-button[aria-expanded=true]{border-color:#ffffff57;color:#f7fbfa}.credits-panel{position:absolute;top:calc(100% + 12px);left:50%;width:min(480px,calc(100vw - 36px));padding:14px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;color:#f7fbfa;background:#060708e0;box-shadow:0 18px 46px #0000005c;transform:translate(-50%)}.credits-panel[hidden]{display:none}.credits-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgb(255 255 255 / 12%)}.credits-panel__header h2{margin:0;font-size:.86rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.credits-panel__header button{display:grid;width:28px;height:28px;place-items:center;border:0;color:#f7fbfab8;background:transparent;cursor:pointer;font-size:1.25rem;line-height:1}.credits-panel__header button:hover{color:#f7fbfa}.credits-list{display:grid;gap:9px;margin:12px 0 0}.credits-list div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;align-items:baseline}.credits-list dt{color:#f7fbfa94;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.credits-list dd{margin:0;color:#f7fbfa;font-size:.84rem;font-weight:700;line-height:1.35;text-align:right;word-break:keep-all}.controller-page{min-height:100svh;padding:max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));color:#f7fbfa;background:radial-gradient(circle at 50% 0%,rgb(255 83 97 / 14%),transparent 42%),#050607}.controller-shell{display:grid;align-content:center;gap:18px;width:min(430px,100%);min-height:calc(100svh - 44px);margin:0 auto}.controller-kicker{margin:0;color:#f7fbfa94;font-size:.75rem;font-weight:800;letter-spacing:.08rem;text-transform:uppercase}.controller-shell h1{margin:0;color:#f7fbfa;font-size:clamp(2.35rem,12vw,4rem);font-weight:300;line-height:.95}.controller-status{display:flex;align-items:center;gap:10px;min-height:28px;color:#f7fbfac7;font-size:.94rem;font-weight:800}.controller-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#ffc454;box-shadow:0 0 15px #ffc4545c}.controller-dot[data-status=active],.controller-dot[data-status=connected]{background:#77f2bc;box-shadow:0 0 18px #77f2bc5c}.controller-dot[data-status=error],.controller-dot[data-status=reconnecting]{background:#ff5361;box-shadow:0 0 18px #ff53615c}.controller-button{width:100%;min-height:58px;border:1px solid rgb(255 255 255 / 22%);border-radius:8px;color:#f7fbfa;background:#ff53612e;box-shadow:inset 0 1px #ffffff29,0 18px 42px #00000052;cursor:pointer;font-size:1rem;font-weight:900}.controller-button:disabled{cursor:default;opacity:.58}.controller-debug{display:grid;grid-template-columns:minmax(92px,1fr) minmax(0,1fr);gap:10px 14px;margin-top:6px;padding:15px;border:1px solid rgb(255 255 255 / 15%);border-radius:8px;background:#ffffff0d}.controller-debug span{color:#f7fbfa8c;font-size:.72rem;font-weight:800;text-transform:uppercase}.controller-debug strong{min-width:0;overflow-wrap:anywhere;color:#f7fbfa;font-size:.92rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:900px){.hud-card{border-radius:14px}.hud-card--distance{width:min(42vw,290px);padding:14px}.hud-card--heart{width:min(44vw,310px);padding:14px}.hud-card--time{width:min(44vw,320px);padding:14px}.hud-card--status{width:min(48vw,340px);padding:14px}.distance-value{font-size:clamp(2rem,7vw,3rem)}.heart-value{font-size:clamp(1.85rem,6.2vw,2.75rem)}.time-value{font-size:clamp(1.8rem,5.8vw,2.8rem)}.runner-icon{width:46px;height:46px;stroke-width:6}.status-value{font-size:clamp(1.35rem,4.8vw,2rem)}}@media(max-width:620px){.hud-card--time,.hud-card--heart{top:max(12px,env(safe-area-inset-top))}.hud-card--status,.hud-card--distance{bottom:max(12px,env(safe-area-inset-bottom))}.hud-card--time,.hud-card--status{left:max(12px,env(safe-area-inset-left))}.hud-card--heart,.hud-card--distance{right:max(12px,env(safe-area-inset-right))}.hud-card--time,.hud-card--heart,.hud-card--status,.hud-card--distance{width:calc(50vw - 18px);min-width:0;padding:10px;border-radius:11px}.hud-label{font-size:clamp(.55rem,2.45vw,.68rem)}.time-value,.heart-value,.distance-value{margin-top:10px;font-size:clamp(1.35rem,7.5vw,1.95rem)}.heart-row,.distance-row,.status-row{gap:6px;margin-top:10px}.heart-icon{width:clamp(22px,7.4vw,30px);transform:translateY(2px)}.heart-unit,.distance-unit{font-size:clamp(.62rem,3vw,.82rem)}.hud-divider,.class-row,.speed-chip{display:none}.runner-icon{width:clamp(26px,8.5vw,33px);height:clamp(26px,8.5vw,33px);stroke-width:6.5}.status-value{overflow:hidden;font-size:clamp(.84rem,4.8vw,1.16rem);text-overflow:clip}.distance-meter{height:18px;margin-top:10px;padding-right:24px}.distance-meter:before,.distance-meter__fill{top:7px;right:24px;height:6px}.distance-meter__fill{width:calc(100% - 24px)}.flag-icon{width:18px;height:18px}.message-overlay{width:calc(100vw - 28px);padding:0 12px;font-size:clamp(.88rem,4.6vw,1.18rem);letter-spacing:clamp(.1rem,1.2vw,.24rem)}.input-mode-picker{grid-template-columns:1fr;width:min(360px,calc(100vw - 28px))}.input-mode-option{min-height:44px}.input-mode-option span{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem;text-align:left}.input-mode-option small{flex:0 0 auto}.tdinput-panel{width:min(360px,calc(100vw - 28px));padding:12px}.tdinput-grid{grid-template-columns:1fr;gap:5px}.tdinput-grid strong{margin-bottom:6px;text-align:left}.credits-panel{width:min(360px,calc(100vw - 28px))}.credits-list div{grid-template-columns:1fr;gap:3px}.credits-list dd{text-align:left}}@media(max-width:420px){.hud-card--time,.hud-card--heart,.hud-card--status,.hud-card--distance{width:calc(50vw - 14px);padding:8px}.hud-card--time,.hud-card--heart{top:max(8px,env(safe-area-inset-top))}.hud-card--status,.hud-card--distance{bottom:max(8px,env(safe-area-inset-bottom))}.hud-card--time,.hud-card--status{left:max(8px,env(safe-area-inset-left))}.hud-card--heart,.hud-card--distance{right:max(8px,env(safe-area-inset-right))}.time-value,.heart-value,.distance-value{font-size:clamp(1.08rem,6.8vw,1.55rem)}.heart-unit,.distance-unit{font-size:clamp(.54rem,2.8vw,.7rem)}.heart-icon{width:clamp(19px,6.4vw,24px)}.runner-icon{display:none}.status-value{font-size:clamp(.78rem,4.9vw,1.05rem)}.distance-meter{height:14px;margin-top:7px;padding-right:18px}.distance-meter:before,.distance-meter__fill{top:5px;right:18px;height:5px}.distance-meter__fill{width:calc(100% - 18px)}.flag-icon{width:14px;height:14px}}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){.hud-card{border-radius:10px}.hud-card--time{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));width:clamp(210px,22vw,260px);padding:9px 10px;transform:scale(.72)}.hud-card--heart{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:clamp(170px,18vw,220px);padding:9px 10px;transform:scale(.72)}.hud-card--status{bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));width:clamp(220px,26vw,285px);padding:9px 10px;transform:scale(.72)}.hud-card--distance{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:clamp(170px,20vw,230px);padding:9px 10px;transform:scale(.72)}.hud-label{font-size:.64rem}.time-value,.heart-value,.distance-value{margin-top:8px;font-size:clamp(1.75rem,4.4vw,2.35rem)}.heart-row,.status-row,.distance-row{gap:7px;margin-top:8px}.heart-icon{width:29px;transform:translateY(2px)}.heart-unit,.distance-unit{font-size:.78rem}.runner-icon{width:36px;height:36px;stroke-width:6.5}.status-value{overflow:hidden;font-size:clamp(1.08rem,3.25vw,1.56rem)}.hud-divider,.class-row,.speed-chip{display:none}.distance-meter{height:16px;margin-top:8px;padding-right:20px}.distance-meter:before,.distance-meter__fill{top:6px;right:20px;height:5px}.distance-meter__fill{width:calc(100% - 20px)}.flag-icon{width:16px;height:16px}.message-overlay{font-size:clamp(.82rem,2.6vw,1.05rem);letter-spacing:clamp(.08rem,.9vw,.18rem)}.start-panel{gap:9px}.input-mode-picker{grid-template-columns:repeat(4,minmax(0,1fr));width:min(620px,calc(100vw - 28px));padding:8px}.input-mode-option{min-height:42px}.input-mode-option span{flex-direction:column;justify-content:center;gap:4px;padding:0 8px;font-size:.72rem;text-align:center}.tdinput-panel{width:min(500px,calc(100vw - 28px));padding:10px}.tdinput-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.tdinput-grid span{font-size:.62rem}.tdinput-grid strong{grid-row:2;font-size:.82rem;text-align:left}.tdinput-panel p{display:none}}@media(max-width:900px){.hud-stack--status{width:min(48vw,340px);gap:10px}.hud-card--music{padding:12px}.music-row{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;margin-top:10px}.music-button{width:38px;height:32px}.music-skip-icon{transform:scale(.84)}}@media(max-width:620px){.hud-stack--status{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:calc(50vw - 18px);gap:8px}.hud-stack--status .hud-card--status,.hud-card--music{padding:10px;border-radius:11px}.music-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px;margin-top:8px}.music-button{width:32px;height:28px}.music-skip-icon{transform:scale(.72)}.music-title{font-size:clamp(.68rem,3.4vw,.86rem)}}@media(max-width:420px){.hud-stack--status{bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));width:calc(50vw - 14px);gap:6px}.hud-stack--status .hud-card--status,.hud-card--music{padding:8px}.music-row{grid-template-columns:26px minmax(0,1fr) 26px;gap:5px;margin-top:7px}.music-button{width:28px;height:24px}.music-skip-icon{transform:scale(.64)}}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){.hud-stack--status{bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));width:clamp(220px,26vw,285px);gap:7px;transform:scale(.72)}.hud-stack--status .hud-card--status,.hud-card--music{padding:9px 10px;border-radius:10px}.music-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px;margin-top:7px}.music-button{width:32px;height:26px}.music-skip-icon{transform:scale(.68)}.music-title{font-size:.76rem}}
