:root{font-family:Trebuchet MS,Arial,sans-serif;color:#233e38;font-synthesis:none;--cream:#fff9e9;--ink:#233e38;--coral:#e87957;--green:#2f6655}*{box-sizing:border-box}body{margin:0;background:#c7e7cc;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}button:hover{transform:translateY(-2px)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9a046;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}#stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#c4e6cf}#stage canvas{display:block}header{position:relative;z-index:4;padding:22px 4.5vw;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:900;letter-spacing:1.5px;line-height:1.1}.brand-sub{display:block;font-size:11px;letter-spacing:4px;margin-top:5px}.brand-mark{background:#2f6655;color:#fff3cd;border-radius:18px 18px 22px 7px;width:51px;height:51px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:40px;font-style:italic;letter-spacing:-8px;padding-right:8px;box-shadow:0 3px #1a4539}.brand-mark span{color:#f7c987;font-size:29px;margin-top:14px}nav{display:flex;align-items:center;gap:12px}.portal{font-size:10px;letter-spacing:2px;margin-right:16px}.icon-btn{width:36px;height:36px;border:1px solid #35584744;background:#fff8e67a;border-radius:50%;font-size:18px}#connection{font-size:10px;color:#376750;background:#fff8e6ab;padding:8px 12px;border-radius:20px}#home{position:relative;z-index:2;pointer-events:none}.hero{padding:35px 0 0 6vw;width:53%;pointer-events:auto}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#507062}.hero .eyebrow{display:flex;align-items:center;gap:8px}.eyebrow span{width:7px;height:7px;border-radius:50%;background:#dd7952}h1{font-family:Georgia,serif;font-weight:600;font-size:clamp(35px,4.7vw,78px);line-height:1.06;letter-spacing:-2.7px;margin:18px 0}h1 em{font-style:italic;color:#367159}.hero p{font-size:15px;line-height:1.65;color:#4f6a5a;margin:15px 0 24px}.hero-actions{display:flex;gap:12px;align-items:center}.primary,.secondary{padding:15px 22px;border-radius:10px;font-weight:800;font-size:13px;box-shadow:0 4px #ba5942}.primary{background:var(--coral);color:#fff9ed}.primary span{padding-left:20px;font-size:20px}.primary:hover{background:#ee8868}.secondary{background:#fff9e7;color:#2c5949;box-shadow:0 3px #c8c6a3;border:1px solid #dcd9b7}.hero-facts{display:flex;gap:13px;align-items:center;font-size:10px;color:#526c59;margin-top:22px}.hero-facts i{width:3px;height:3px;border-radius:50%;background:#8ca386}.scene-label{position:fixed;right:6vw;top:49%;text-align:right;color:#fff9e8;text-shadow:0 2px 8px #1b4c3d;display:flex;flex-direction:column;gap:5px}.scene-label span{font-size:9px;letter-spacing:2px}.scene-label strong{font-family:Georgia,serif;font-size:25px}.scene-label small{font-size:11px}.selection{pointer-events:auto;position:fixed;bottom:24px;left:4.5vw;right:4.5vw;background:#fff9e9ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #fffdf5;border-radius:18px;padding:20px 24px 12px;box-shadow:0 10px 30px #2c533f20}.selection-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.selection h2{font:600 25px Georgia,serif;margin:5px 0 0}.identity{display:flex;align-items:center;gap:15px}.identity label{font-size:9px;letter-spacing:1.4px}.identity input{width:205px}.pet-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:7px}.pet{padding:5px 2px 7px;border-radius:10px;background:#e9e9d7;min-width:0;border:2px solid transparent;color:#5b6656}.pet img{width:100%;max-height:80px;object-fit:contain;display:block;filter:drop-shadow(0 3px 1px #74513a20)}.pet strong{font-size:10px}.pet.selected{background:#e2efd4;border-color:#61916d;box-shadow:0 0 0 2px #61916d20}.selection-footer{display:flex;gap:22px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:10px;color:#71816d}.selection-footer>span{margin-right:auto}.text-btn{background:transparent;padding:5px 0;color:#366751;font-size:11px;text-decoration:underline;text-underline-offset:4px}.glass{background:#fff9e9ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fffef1;box-shadow:0 10px 35px #1f41372b;border-radius:16px}.panel{position:fixed;z-index:5;padding:24px}.panel h2{font:600 28px Georgia,serif;margin:10px 0 14px}#lobby{left:4vw;top:120px;width:350px;max-height:75vh;overflow:auto}.muted{font-size:12px;line-height:1.5;color:#72816c}.code-line{display:flex;gap:10px;align-items:center;font-size:12px}.code{font-weight:700;letter-spacing:2px;background:#e5ecd9;padding:7px 10px;border-radius:6px}#room-mode{font-size:10px}#players{margin:15px 0;max-height:32vh;overflow:auto}.player-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #dfe3cf;padding:5px 0;font-size:12px}.player-row img{width:40px;height:40px;object-fit:contain}.player-row small{margin-left:auto;font-size:9px;color:#63886c}.button-row{display:flex;gap:12px;align-items:center;margin-top:15px}.button-row .primary,.button-row .secondary{padding:12px 15px}.hidden{display:none!important}#hud{z-index:4;position:fixed;top:95px;left:3vw;right:3vw;display:flex;justify-content:space-between;gap:15px;pointer-events:none}#hud .glass{padding:12px 18px;display:flex;gap:10px;align-items:center}#hud button{pointer-events:auto;background:#39715a;color:#fff6dd;border-radius:7px;padding:9px;font-size:11px}#track-name{font-size:11px;max-width:135px}#position{font:600 25px Georgia,serif}#timer{font-size:23px;font-variant-numeric:tabular-nums}#round,#latency{font-size:9px}#progress{width:180px;height:6px;border-radius:8px;background:#dce3cf;overflow:hidden}#progress i{display:block;background:#d58c56;height:100%;width:0}#stars{font-size:15px;color:#ab7532}#countdown{position:fixed;z-index:8;left:50%;top:40%;transform:translate(-50%,-50%);font:900 130px Georgia,serif;color:#fff9e6;text-shadow:0 6px #c1784c,0 12px 25px #274f39}#race-hint{position:fixed;z-index:3;bottom:25px;left:50%;transform:translate(-50%);font-size:10px;padding:12px 18px;white-space:nowrap}#spectate{z-index:6;position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 15px;font-size:12px}#spectate select{display:inline;width:140px;margin:0 0 0 5px}#results{left:50%;top:51%;transform:translate(-50%,-50%);width:600px;max-height:78vh;overflow:auto}#podium{display:flex;align-items:flex-end;justify-content:center;height:180px;gap:10px;margin:10px 0}.podium-pet{width:115px;text-align:center;font-size:11px}.podium-pet img{width:85px;height:85px;display:block;margin:auto;animation:celebrate 1.4s ease-in-out infinite}.podium-pet .step{background:#e1c089;padding:12px 2px 8px;border-radius:8px 8px 0 0}.podium-pet:nth-child(2) .step{padding-top:25px;background:#f4d38b}.podium-pet strong{display:block;font-size:20px}.podium-pet small{display:block;font-size:9px;margin-top:4px}#ranking{max-height:23vh;overflow:auto}.rank-row{display:flex;justify-content:space-between;font-size:11px;padding:9px 5px;border-bottom:1px solid #dfe3cf}.rank-row.me{font-weight:700;color:#bd714d}#chat{position:fixed;z-index:7;right:24px;bottom:24px;width:285px;overflow:hidden}#chat-toggle{width:100%;padding:13px 15px;background:transparent;display:flex;justify-content:space-between;font-weight:700;font-size:12px}#messages{height:140px;overflow:auto;padding:8px 14px;font-size:11px;line-height:1.65;overflow-wrap:anywhere}#messages p{margin:0 0 5px}#messages button{background:transparent;padding:0;color:#3b775e;font-size:inherit;font-weight:700}#chat-form{display:flex;gap:4px;padding:8px;border-top:1px solid #e1e3d1}#chat-form input{min-width:0;width:100%;font-size:11px;padding:8px;background:#f4f3df}#chat-form button{background:#e4ebd6;border-radius:7px;width:28px;color:#39664e}#chat small{display:block;font-size:8px;color:#6e806a;padding:0 12px 8px}#emotes{padding:10px;border-top:1px solid #e1e3d1}#emotes select{padding:4px;font-size:11px}#emote-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}#emote-list button{padding:5px;background:transparent;font-size:20px}dialog{width:520px;max-width:93vw;max-height:88vh;border:1px solid #fffdf1;border-radius:20px;padding:30px;color:#2b493d;background:#fff9eb;box-shadow:0 25px 100px #163c3555}dialog::backdrop{background:#193b3866;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font:600 31px Georgia,serif;margin:10px 0 20px}.close{position:absolute;right:15px;top:10px;background:none;font-size:27px;color:#64806c}label{display:block;font-size:12px;color:#61785f;margin-bottom:13px}input,select{border:1px solid #d7ddc7;border-radius:8px;padding:10px 12px;background:#fffdf3;color:#2b493d;display:block;width:100%;margin-top:6px}input[type=range]{padding:0;accent-color:#4f8062}input[type=checkbox]{width:auto;display:inline;margin:0;accent-color:#4f8062}.check{display:flex;align-items:center;gap:8px;margin:15px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}#toggles{display:grid;grid-template-columns:1fr 1fr;margin-bottom:15px}.room-row{display:flex;justify-content:space-between;align-items:center;background:#e9edda;padding:12px;border-radius:10px;margin-bottom:8px;font-size:12px}.room-row small{display:block;color:#7a856c;margin-top:4px}.room-row button{font-size:11px;background:#fff7e5;border-radius:6px;padding:9px}#join-form{border-top:1px solid #dde1cb;margin-top:18px;padding-top:18px}#new-public{margin-top:15px}dialog p,dialog dd,dialog dt{font-size:13px;line-height:1.7}dialog dt{font-weight:700;float:left;clear:left;width:165px}dialog dd{margin-left:165px;margin-bottom:9px}#custom-preview{display:block;margin:-5px auto 15px;filter:drop-shadow(0 12px 4px #6e755226)}#toast{position:fixed;z-index:25;left:50%;bottom:15px;transform:translate(-50%);padding:14px 22px;max-width:90vw;background:#244d41;color:#fff8df;border-radius:10px;font-size:13px;box-shadow:0 5px 20px #102e3333}#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#f8f3df;display:flex;flex-direction:column;align-items:center;justify-content:center}#loading h2{font:30px Georgia,serif}#loading p{font-size:12px;color:#7b826f}progress{width:240px;height:7px;accent-color:#65866a}#touch{position:fixed;bottom:calc(18px + var(--touch-lift,0px));left:18px;right:18px;z-index:6;display:flex;justify-content:space-between;pointer-events:none}#touch>div{display:flex;gap:10px}#touch button{width:58px;height:58px;background:#fff4db99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid #fff3daaa;border-radius:18px;color:#345f4e;font-size:24px;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}body.playing header{padding-top:12px;padding-bottom:12px}body.playing .portal{display:none}body.playing .brand{font-size:15px}body.playing .brand-mark{width:42px;height:42px}.offline #connection{color:#a5563d}body.playing #chat-body{display:none}body.playing #chat.expanded #chat-body{display:block}@keyframes celebrate{50%{transform:translateY(-8px) rotate(3deg)}}@media(min-height:900px){.hero{padding-top:7vh}.selection{bottom:35px;padding:25px 30px 16px}.pet img{max-height:100px}}@media(max-width:1000px){header{padding:16px 4vw}.hero{padding-top:20px}.hero p{font-size:13px}.selection{padding:15px 16px 10px;bottom:15px}.pet-grid{gap:3px}.pet img{max-height:65px}.pet strong{font-size:9px}.selection h2{font-size:21px}.scene-label{top:48%}.portal{display:none}.hero h1{font-size:49px}.hero-facts{font-size:9px}.identity input{width:175px}#hud .glass{padding:9px 12px}#progress{width:100px}}@media(max-height:650px){header{padding-top:10px;padding-bottom:10px}.hero{padding-top:6px}h1{font-size:42px!important;margin:12px 0}.hero p{margin:10px 0 15px}.hero-facts{margin-top:15px}.selection{padding:12px 16px 8px;bottom:12px}.selection-title{margin-bottom:6px}.pet img{max-height:53px}.selection h2{font-size:20px}.selection-footer{margin-top:5px}.scene-label{top:47%}.primary,.secondary{padding:11px 16px}.brand-mark{width:42px;height:42px}#lobby{top:80px;max-height:72vh;width:310px;padding:18px}#hud{top:72px}#results{top:53%;max-height:77vh}#podium{height:130px}#podium img{width:62px;height:62px}.panel h2{font-size:23px}#chat{width:250px;bottom:12px;right:12px}#race-hint{bottom:12px}}@media(max-width:650px)and (orientation:portrait){body{overflow:auto}#home{padding-bottom:20px}.hero{width:100%;padding:35px 7vw 0}.hero h1{font-size:45px!important}.hero p{font-size:13px}.hero-facts{margin-bottom:200px}.scene-label{top:450px;right:7vw}.selection{position:relative;left:auto;right:auto;bottom:auto;margin:0 5vw 20px}.selection-title{display:block}.identity{margin-top:12px}.identity label{min-width:70px}.identity input{width:100%}.pet-grid{grid-template-columns:repeat(6,1fr)}.selection-footer{flex-wrap:wrap;gap:12px}.selection-footer>span{width:100%}.brand{font-size:15px}.brand-sub{font-size:9px}.brand-mark{width:40px;height:40px}#connection{display:none}nav{gap:7px}.icon-btn{width:30px;height:30px}#lobby{left:5vw;width:90vw;top:90px;max-height:47vh}#touch button{width:48px;height:48px}#hud{top:75px;gap:5px;left:2vw;right:2vw}#hud .glass{padding:7px;gap:5px}#track-name{display:none}#position{font-size:18px}#timer{font-size:17px}#progress{width:50px}.hud-right{flex-direction:column}#latency{display:none}#race-hint{display:none!important}#results{width:94vw}#chat{bottom:90px;width:220px}#countdown{font-size:90px}#spectate{bottom:85px}#chat-toggle{padding:10px}.form-grid{gap:0 10px}}body:not(.playing) #stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#e6efd7f5 0%,#e6efd7e0 28%,#e6efd745 55%,transparent 75%)}.back-games{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;border:1px solid #4e765c70;border-radius:9px;background:#fff9e8ce;color:#305f4d;font-size:11px;font-weight:700;white-space:nowrap}.back-games:hover{background:#fff9e8}.back-games:focus-visible{outline:3px solid #e9a046;outline-offset:3px}@media(max-width:650px){.back-games{padding:8px;font-size:10px}nav .portal{display:none}}@media(max-width:650px){header{gap:8px}.brand{gap:7px;font-size:13px;letter-spacing:1px}.brand-sub{font-size:8px;letter-spacing:3px}.brand-mark{width:36px;height:36px}nav{gap:6px}}.exit-button{padding:9px 13px;border:1px solid #b7695670;border-radius:9px;background:#fff2e6;color:#a14e3e;font-size:11px;font-weight:800;white-space:nowrap}.exit-button:hover{background:#ffe2d3}@media(max-width:650px){body.playing .back-prefix{display:none}body.playing .exit-button{padding:8px 10px;font-size:10px}}#options-dialog{width:650px}#discipline-fieldset{border:1px solid #d7ddc7;border-radius:10px;padding:12px;margin:15px 0}#discipline-fieldset legend{font-size:11px;color:#62745e}#discipline-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}#discipline-list label{margin:4px 0;font-size:11px}.capacity-summary{background:#e4edd9;border-radius:9px;padding:10px 12px;font-size:12px;color:#416348}#bot-availability{display:block;margin-top:5px;font-size:10px;color:#7a896d}#sports-detail{position:fixed;z-index:5;bottom:85px;left:3vw;padding:13px 16px;max-width:370px;font-size:12px;line-height:1.6;white-space:pre-line}#team-picker{font-size:11px}#run-panel{position:fixed;bottom:25px;left:3vw;z-index:6;display:flex;align-items:center;gap:12px;padding:8px 12px}#run-tap{background:#e7825c;color:#fff7df;padding:11px 18px;border-radius:9px;font-size:13px;font-weight:700;touch-action:none;-webkit-user-select:none;user-select:none}#run-label{font-size:10px;font-weight:700}#run-meter{width:110px;height:6px;background:#d4ddc5;border-radius:8px;margin-top:5px;overflow:hidden}#run-meter i{display:block;height:100%;width:0;background:#649d77;transition:width .08s linear}.team-blue{color:#4e88a5}.team-coral{color:#c47964}@media(pointer:coarse){#run-panel{left:50%;transform:translate(-50%);bottom:25px}#run-tap{display:none}#run-meter{width:80px}#touch button{width:49px;height:54px}#touch>div{gap:6px}}@media(max-width:650px){#sports-detail{bottom:155px;left:3vw;max-width:65vw;font-size:10px;padding:8px 10px}#run-panel{padding:7px;bottom:90px}#run-meter{width:70px}#discipline-list{grid-template-columns:1fr}}#game-version{position:fixed;bottom:4px;right:12px;z-index:20;font-size:10px;line-height:16px;color:#284e40;background:#fff9e8e8;padding:1px 6px;border-radius:4px;pointer-events:none}#game-version.version-mismatch{color:#a44129}#stage{height:100dvh;bottom:auto}@media(pointer:coarse),(max-width:950px){html{min-height:100%;overflow-x:hidden}body{min-height:100dvh;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}body:not(.racing) #home{padding-bottom:24px}body:not(.playing) .hero{width:100%;padding:20px 6vw 0}body:not(.playing) .hero h1{font-size:clamp(34px,7vw,58px)!important}body:not(.playing) .hero-facts{margin-bottom:90px}body:not(.playing) .scene-label{display:none}body:not(.playing) .selection{position:relative;left:auto;right:auto;bottom:auto;margin:18px 4vw 24px;width:92vw}.pet-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.selection-footer{flex-wrap:wrap;gap:10px}.selection-footer>span{width:100%}header{gap:8px;padding:12px 4vw;flex-wrap:wrap}nav{gap:6px}.portal{display:none}body.playing:not(.racing) #lobby{position:relative;top:auto;left:auto;width:92vw;max-height:none;overflow:visible;margin:16px 4vw;padding:20px}body.playing:not(.racing) #chat{position:relative;bottom:auto;right:auto;width:92vw;margin:16px 4vw 32px}dialog{max-height:calc(100dvh - 24px);max-width:94vw;overflow-y:auto;overscroll-behavior:contain}body.racing{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;min-height:0;overflow:hidden;touch-action:none}body.racing header{position:fixed;top:calc(7px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));padding:0;z-index:12}body.racing header .brand,body.racing header nav>*:not(#header-leave){display:none!important}body.racing #header-leave{padding:7px 10px;font-size:11px;min-height:32px}body.racing #chat,body.racing #sports-detail,body.racing #race-hint,body.racing #run-panel,body.racing #spectate{display:none!important}body.racing #hud{position:fixed;top:calc(7px + env(safe-area-inset-top,0px));left:50%;right:auto;transform:translate(-50%);z-index:10;pointer-events:none}body.racing #hud .hud-left,body.racing #hud .hud-right,body.racing #progress,body.racing #round{display:none!important}body.racing #hud .hud-center{padding:6px 14px;border-radius:12px;min-height:32px}body.racing #timer{font-size:18px;font-variant-numeric:tabular-nums}body.racing #touch{left:calc(10px + env(safe-area-inset-left,0px));right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px) + min(var(--touch-lift,0px),8dvh));z-index:15;max-width:100%;gap:8px}body.racing #touch>div{gap:6px}body.racing #touch button{width:clamp(42px,8vw,66px);height:clamp(48px,12dvh,64px);font-size:20px;border-radius:15px;flex-shrink:0;touch-action:none}body.racing.hurdles #touch [data-key=slide],body.racing.hurdles #touch [data-key=use],body.racing.hurdles #touch [data-key=left]{display:none!important}body.racing.hurdles #touch [data-key=run],body.racing.hurdles #touch [data-key=jump]{width:clamp(90px,22vw,135px);font-size:17px;font-weight:700;background:#fff4dbdf}body.racing.tap-hurdles #touch>div:first-child{display:none}body.racing.tap-hurdles #touch>div:last-child{width:100%;justify-content:space-between}body.racing #game-version{bottom:calc(2px + env(safe-area-inset-bottom,0px));left:50%;right:auto;transform:translate(-50%);font-size:8px;line-height:12px;white-space:nowrap}#toast{max-width:85vw}}@media(max-width:420px){body:not(.racing) header{justify-content:center}.selection-title .identity{display:flex;flex-wrap:wrap;gap:6px}.identity input{min-width:0;max-width:100%}.pet-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(pointer:coarse),(max-width:950px){body:not(.racing) #stage,body:not(.racing) #stage canvas{pointer-events:none;touch-action:pan-y!important}}#countdown{pointer-events:none}#countdown.go{color:#fff5ae;text-shadow:0 5px #357959,0 10px 25px #274f39}.podium-portrait{position:relative;width:85px;height:85px;margin:auto;animation:celebrate 1.4s ease-in-out infinite}#podium .podium-portrait img{animation:none}.podium-medal{position:absolute;bottom:-3px;left:50%;transform:translate(-50%);font-size:27px;line-height:1;filter:drop-shadow(0 1px 1px #4b513a55)}#ranking.split-results{max-height:none;overflow:visible}.results-table-section{margin:20px 0}.results-table-section h3{margin:0 0 9px;font:700 17px Georgia,serif}.results-table-section .muted{margin:0 0 8px;font-size:11px}.results-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.results-table th,.results-table td{padding:9px 5px;border-bottom:1px solid #dfe3cf;text-align:right;overflow-wrap:anywhere}.results-table th:first-child,.results-table td:first-child{width:42px;text-align:center}.results-table th:nth-child(2){text-align:left;width:55%;font-weight:400}.results-table thead th{font-weight:700!important;color:#456a55;background:#e7eddc}.results-table .me{color:#a85235;background:#f8ead7;font-weight:700}.results-table .me th{font-weight:700}.medal-table th:nth-child(2){width:40%}.medal-table th:first-child{width:36px}.medal-table thead th:nth-child(3){color:#896416}.medal-table thead th:nth-child(4){color:#63747d}.medal-table thead th:nth-child(5){color:#995a37}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:650px){.podium-portrait{width:62px;height:62px}.podium-medal{font-size:23px}}@media(max-width:420px){.results-table{font-size:10px}.results-table th,.results-table td{padding:8px 3px}.medal-table th:nth-child(2){width:38%}.results-table-section h3{font-size:16px}}#jump-status{position:fixed;right:3vw;top:160px;z-index:6;max-width:350px;padding:10px 14px;font-size:12px;pointer-events:none}#jump-status strong,#jump-status span{display:block;margin-bottom:5px}#jump-power{height:5px;border-radius:5px;background:#d6ddc5;overflow:hidden}#jump-power i{display:block;height:100%;width:0;background:#609b76}@media(pointer:coarse),(max-width:950px){body.racing #jump-status{top:calc(48px + env(safe-area-inset-top,0px));left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:88vw;padding:6px 10px;font-size:10px;text-align:center}body.racing.long-jump #touch [data-key=slide],body.racing.long-jump #touch [data-key=use],body.racing.long-jump #touch [data-key=left]{display:none!important}body.racing.long-jump #touch [data-key=run],body.racing.long-jump #touch [data-key=jump]{width:clamp(90px,22vw,135px);font-size:17px;font-weight:700;background:#fff4dbdf}body.racing.tap-jump #touch>div:first-child{display:none}body.racing.tap-jump #touch>div:last-child{width:100%;justify-content:space-between}}@media(pointer:coarse),(max-width:950px){body.racing.javelin #touch>div:first-child{display:none}body.racing.javelin #touch>div:last-child{width:100%;justify-content:space-between}body.racing.javelin #touch button{font-size:17px;font-weight:700}body.racing.javelin #touch [data-key=run],body.racing.javelin #touch [data-key=use]{width:clamp(74px,20vw,120px);background:#fff4dbdf}}@media(pointer:coarse),(max-width:950px){body.racing.swimming #touch [data-key=jump]{display:none!important}body.racing.swimming #touch [data-key=use],body.racing.swimming #touch [data-key=slide]{width:clamp(70px,18vw,110px);font-size:14px}body.racing.swimming #touch [data-key=left],body.racing.swimming #touch [data-key=right]{font-weight:700;background:#e6f9fbdf}}@media(pointer:coarse),(max-width:950px){body.racing.swimming #jump-status{display:none!important}}@media(pointer:coarse),(max-width:950px){body.racing.swimming #touch>div:first-child,body.racing.swimming #touch [data-key=slide]{display:none!important}body.racing.swimming #touch>div:last-child{width:100%;justify-content:space-between}body.racing.swimming #touch [data-key=run],body.racing.swimming #touch [data-key=use]{width:clamp(95px,24vw,135px);font-size:17px;font-weight:700;background:#e6f9fbdf}}.olympic-table th:nth-child(2){width:32%}.olympic-table th:last-child,.olympic-table td:last-child{font-weight:700;color:#2f6655}@media(pointer:coarse),(max-width:950px){body.racing.cycling #touch [data-key=jump],body.racing.cycling #touch [data-key=slide]{display:none!important}body.racing.cycling #touch [data-key=run],body.racing.cycling #touch [data-key=use]{width:clamp(80px,20vw,125px);font-size:16px;font-weight:700}}#run-panel{max-width:min(640px,94vw);flex-wrap:wrap;gap:9px}#primary-actions{display:flex;gap:8px;flex-wrap:wrap}#primary-actions button{min-height:48px;padding:10px 16px;border-radius:10px;font-size:15px;font-weight:700;background:#ed805c;color:#fff9ed;box-shadow:0 3px #b55d44;touch-action:none;-webkit-user-select:none;user-select:none}#primary-actions button:not(:first-child){background:#376f59;box-shadow:0 3px #244b3b}#primary-actions button.pressed{transform:translateY(2px);filter:brightness(.92)}#run-panel>div:last-child{max-width:290px}#run-label{display:block;line-height:1.4;font-size:11px}#sports-detail{bottom:150px}body.cycling #hud .hud-left{display:grid;grid-template-columns:1fr auto;gap:4px 12px}#cycling-summary{grid-column:1/-1;font-size:11px;font-weight:400;color:#456451;white-space:nowrap}@media(pointer:coarse),(max-width:950px){body.racing.cycling #hud #round{display:block!important;font-size:10px;line-height:1.4}body.racing.cycling #hud .hud-center{flex-wrap:wrap;gap:4px 8px;max-width:70vw}}body.track-clean #sports-detail,body.track-clean #race-hint{display:none!important}body.track-clean #hud .hud-left{display:grid;grid-template-columns:1fr auto;gap:4px 12px}@media(pointer:coarse),(max-width:950px){body.racing.cycling #touch>div:first-child{display:none!important}body.racing.cycling #touch>div:last-child{width:100%;justify-content:space-between}}#archery-wind{position:fixed;top:165px;left:3vw;z-index:6;display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:16px;pointer-events:none}.wind-compass{width:72px;text-align:center}.wind-compass small{font-size:11px;font-weight:700;display:block;margin-bottom:3px}.wind-compass svg{display:block;width:72px;height:72px}.wind-readings{width:95px;text-align:center}.wind-readings strong{font-size:20px}.wind-readings strong small{font-size:11px}#wind-strength{width:76px;height:27px;display:block;margin:2px auto}.bow-charge{display:flex;gap:5px;align-items:center;font-size:14px}.bow-charge svg{width:65px;height:10px}#bow-ready{color:#47825e;min-width:10px}#arrows-left{display:flex;justify-content:center;gap:3px;color:#365f50;font-size:22px;line-height:1.1}#arrows-left .used{opacity:.2}@media(pointer:coarse),(max-width:950px){#archery-wind{top:calc(50px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));padding:7px 9px;gap:8px}.wind-compass,.wind-compass svg{width:54px}.wind-compass svg{height:54px}.wind-readings{width:82px}.wind-readings strong{font-size:16px}#arrows-left{font-size:18px}}@media(pointer:coarse),(max-width:950px){body.racing.sprint #touch [data-key=left],body.racing.sprint #touch [data-key=jump],body.racing.sprint #touch [data-key=slide],body.racing.sprint #touch [data-key=use],body.racing.relay #touch [data-key=left],body.racing.relay #touch [data-key=jump],body.racing.relay #touch [data-key=slide]{display:none!important}}.podium-pair{display:flex;justify-content:center;gap:2px}.podium-pair .podium-portrait{width:58px}.podium-pair img{width:58px!important;height:68px!important;object-fit:contain}.podium-pair .podium-medal{font-size:15px}.results-table th small{display:block;font-weight:400;font-size:10px;margin-top:3px}.volley-direction{display:none}body.volleyball .volley-direction{display:block}body.volleyball #touch [data-key=slide]{display:none!important}body.volleyball .podium-pair{flex-wrap:wrap;max-width:130px;margin:auto}body.volleyball .podium-pair .podium-portrait{width:48px}body.volleyball .podium-pair img{width:48px!important;height:56px!important}body.volleyball .podium-pair .podium-medal{font-size:12px}@media(pointer:coarse),(max-width:950px){body.racing.volleyball #touch>div:first-child{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}body.racing.volleyball #touch button{width:44px;height:42px;font-size:16px}body.racing.volleyball #touch [data-key=jump],body.racing.volleyball #touch [data-key=use]{width:72px;height:54px;font-size:14px}}.football-pass{display:none}body.football .football-pass,body.football .volley-direction{display:block}body.football #touch [data-key=jump],body.football #touch [data-key=slide]{display:none!important}body.football .podium-pair{flex-wrap:wrap;max-width:130px;margin:auto}body.football .podium-pair .podium-portrait{width:48px}body.football .podium-pair img{width:48px!important;height:56px!important}@media(pointer:coarse),(max-width:950px){body.racing.football #touch>div:first-child{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}body.racing.football #touch button{width:44px;height:42px;font-size:16px}body.racing.football #touch [data-key=pass],body.racing.football #touch [data-key=use]{width:72px;height:54px;font-size:14px}}#podium.team-podium{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:240px;max-width:510px;margin:18px auto;gap:24px;align-items:end}#podium.team-podium>.podium-pet{width:auto;min-width:0}#podium.team-podium>.podium-pet:empty{display:none}#podium.team-podium .podium-pair{display:grid;grid-template-columns:repeat(2,68px);justify-content:center;gap:10px 12px;margin:0 auto 12px;max-width:none}#podium.team-podium .podium-portrait{position:relative;width:68px;height:85px;margin:0;animation:none}#podium.team-podium .podium-portrait img{position:static;width:68px!important;height:68px!important;object-fit:contain;margin:0;animation:none}#podium.team-podium .podium-medal{font-size:20px;bottom:0}#podium.team-podium .step{min-height:95px;padding:12px 7px}#podium.team-podium>.podium-pet:nth-child(2) .step{padding-top:24px;min-height:110px}@media(max-width:520px){#podium.team-podium{gap:12px;min-height:210px}#podium.team-podium .podium-pair{grid-template-columns:repeat(2,48px);gap:8px 6px}#podium.team-podium .podium-portrait{width:48px;height:66px}#podium.team-podium .podium-portrait img{width:48px!important;height:48px!important}#podium.team-podium .podium-medal{font-size:17px}}
