:root{color:#10213f;background:#e9f3f5;font-family:Inter,ui-rounded,SF Pro Rounded,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #10213f;--ink-soft: #45546d;--navy: #153358;--blue: #1f79c5;--cyan: #42c6cc;--mint: #4ed2a6;--yellow: #ffd25a;--orange: #f28b43;--red: #dc4d57;--paper: #fffdf8;--panel: rgba(255, 253, 248, .94);--shadow: 0 18px 54px rgba(16, 33, 63, .2);--footer-space: 3.75rem}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}html{background:#dcebef;overscroll-behavior:none}body{min-width:320px;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--blue)}[hidden]{display:none!important}.app-shell{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.95) 0 5%,transparent 16%),radial-gradient(circle at 88% 72%,rgba(66,198,204,.18) 0 8%,transparent 24%),linear-gradient(145deg,#eaf5f5,#dceaf0 55%,#edf4ec)}.game-main{min-height:0;display:grid;place-items:center;padding:0}.game-frame{position:relative;isolation:isolate;width:min(100vw,30rem,calc((100dvh - var(--footer-space)) * .5625));aspect-ratio:9 / 16;max-height:100%;overflow:hidden;background:linear-gradient(#8cdce1,#d8f1dd 61%,#5b8c54 61%,#375f40);box-shadow:var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none}.game-container,.game-container canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.game-container{z-index:1;overflow:hidden;touch-action:none}.game-container canvas{display:block;object-fit:contain}.ambient-sky{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.ambient-cloud{position:absolute;width:4.4rem;height:1.25rem;border-radius:999px;background:#ffffffbd;box-shadow:1.2rem -.55rem 0 -.05rem #ffffffbd,2.35rem -.15rem 0 -.15rem #ffffffbd}.ambient-cloud--one{top:18%;left:-1.5rem}.ambient-cloud--two{top:34%;right:2rem;transform:scale(.72);opacity:.8}.ambient-track{position:absolute;right:-10%;bottom:12%;left:-10%;height:24%;transform:skewY(-3deg);border-top:.38rem solid rgba(255,255,255,.88);background:repeating-linear-gradient(90deg,#d66d54 0 2.5rem,#c95b49 2.5rem 5rem)}.screen-panel,.overlay-panel,.hud-layer{position:absolute;z-index:4;inset:0}.screen-panel,.overlay-panel{display:grid;place-items:center;padding:max(.85rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) max(.85rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left))}.overlay-panel:focus{outline:none}.home-screen{background:linear-gradient(180deg,#1032510a,#10213f5c),#ebfaf71f}.home-card,.overlay-card{width:min(100%,25.5rem);max-height:100%;overflow:auto;overscroll-behavior:contain;padding:clamp(1.05rem,4.8vw,1.65rem);border:2px solid rgba(255,255,255,.88);border-radius:1.75rem;color:var(--ink);background:var(--panel);box-shadow:0 1rem 2.7rem #10213f40,inset 0 1px #fff;text-align:center;touch-action:pan-y}.home-card h1{max-width:8em;margin:.1rem auto .25rem;color:var(--navy);font-size:clamp(2rem,9.5vw,3.05rem);line-height:1.03;letter-spacing:.035em;text-wrap:balance}.eyebrow{margin:0;color:#2b687f;font-size:clamp(.72rem,3vw,.9rem);font-weight:900;letter-spacing:.14em}.runner-mark{display:grid;width:clamp(3.2rem,15vw,4.3rem);aspect-ratio:1;place-items:center;margin:.6rem auto .15rem;border:.22rem solid #fff;border-radius:1.25rem;background:linear-gradient(145deg,var(--yellow),var(--orange));box-shadow:0 .5rem 1.2rem #f28b4352;font-size:clamp(1.8rem,8vw,2.65rem);transform:rotate(-4deg)}.home-lead{margin:0 0 .85rem;color:var(--ink-soft);font-size:clamp(.9rem,3.8vw,1.05rem);font-weight:700}.marathon-route{margin:.72rem 0;padding:.72rem;border:1px solid #b9d7da;border-radius:1.05rem;background:linear-gradient(145deg,#e7f7f2f0,#edf4ffeb);text-align:left}.marathon-route h2{margin:0 0 .55rem;color:var(--navy);font-size:clamp(.8rem,3.35vw,.96rem);text-align:center}.stage-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.32rem;margin:0;padding:0;list-style:none}.stage-roadmap li{position:relative;display:grid;min-width:0;justify-items:center;gap:.25rem;padding:.45rem .18rem;border:1px solid rgba(31,121,197,.18);border-radius:.75rem;background:#ffffffc7;text-align:center}.stage-roadmap li>span:last-child{min-width:0}.stage-roadmap__number{display:grid;width:1.55rem;aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:.72rem;font-weight:950}.stage-roadmap strong,.stage-roadmap small{display:block}.stage-roadmap strong{color:#173957;font-size:clamp(.65rem,2.75vw,.78rem);line-height:1.2}.stage-roadmap small{margin-top:.16rem;color:#5b6a7d;font-size:clamp(.53rem,2.25vw,.63rem);font-weight:700;line-height:1.25}.route-flow{margin:.5rem 0 0;color:#326478;font-size:clamp(.62rem,2.55vw,.72rem);font-weight:900;letter-spacing:.015em;text-align:center}.route-flow span{margin:0 .18rem;color:var(--orange)}.how-to-play{margin:.8rem 0 1rem;padding:.85rem;border:1px solid #cbdde0;border-radius:1.1rem;background:#e8f4f2d1;text-align:left}.how-to-play h2{margin:0 0 .45rem;color:var(--navy);font-size:1rem}.how-to-play ol{display:grid;gap:.42rem;margin:0;padding:0;list-style:none;color:#31445d;font-size:clamp(.78rem,3.3vw,.92rem);font-weight:700;line-height:1.35}.how-to-play li{display:grid;grid-template-columns:1.45rem 1fr;align-items:center;gap:.48rem}.how-to-play li span{display:grid;width:1.45rem;aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:.73rem;font-weight:900}.button,.icon-button{min-height:3rem;border:0;border-radius:.95rem;cursor:pointer;font-weight:900;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.78rem 1rem}.button:hover,.icon-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.button:active,.icon-button:active{transform:translateY(1px) scale(.99)}.button:disabled{cursor:wait;filter:grayscale(.35);opacity:.68}.button--large{width:100%;min-height:3.55rem;font-size:clamp(1.05rem,4.5vw,1.25rem)}.button--primary{color:#fff;background:linear-gradient(135deg,#1674bb,#13518f);box-shadow:0 .55rem 1rem #15518f42}.button--secondary{color:#173957;border:2px solid #75c9c7;background:#e5f8f3}.button--save{min-width:6.3rem;color:#fff;background:linear-gradient(135deg,#258f75,#176b5a);box-shadow:0 .4rem .8rem #176b5a38}.button--ghost{min-height:2.75rem;color:#40536a;background:transparent;text-decoration:underline;text-underline-offset:.2em}.home-hint{margin:.55rem 0 0;color:#66758b;font-size:.76rem;font-weight:700}.home-actions{display:grid;gap:.48rem}.hud-layer{z-index:3;padding:max(.65rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left));pointer-events:none}.hud-top-actions{display:flex;justify-content:space-between;gap:.5rem;pointer-events:none}.icon-button{display:inline-flex;min-width:5.2rem;min-height:2.85rem;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .72rem;border:2px solid rgba(255,255,255,.82);color:#fff;background:#0f2642db;box-shadow:0 .35rem .9rem #10213f33;font-size:clamp(.72rem,3vw,.85rem);pointer-events:auto}.hud-summary{display:grid;grid-template-columns:1fr .8fr 1.15fr;gap:.38rem;margin-top:.48rem}.stage-hud{margin-top:.48rem;padding:.55rem .62rem .58rem;border:1px solid rgba(255,255,255,.88);border-radius:.85rem;color:#fff;background:linear-gradient(135deg,#144b6ff0,#18395ef0);box-shadow:0 .35rem .9rem #10213f33;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.stage-hud__heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.stage-hud__heading>div{min-width:0}.stage-hud__kicker{display:block;color:#bfe8e8;font-size:clamp(.58rem,2.35vw,.68rem);font-weight:850}.stage-hud__heading strong{display:block;overflow:hidden;margin-top:.08rem;font-size:clamp(.9rem,3.7vw,1.06rem);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.pace-state{display:inline-flex;min-height:1.8rem;align-items:center;gap:.28rem;padding:.3rem .48rem;border:1px solid currentColor;border-radius:999px;font-size:clamp(.57rem,2.35vw,.68rem);font-weight:900;line-height:1.15;text-align:right}.pace-state[data-tone=comfortable]{color:#b8f5df;background:#4ed2a61f}.pace-state[data-tone=steady]{color:#c7edff;background:#42c6cc1f}.pace-state[data-tone=challenging]{color:#ffe49a;background:#ffd25a24}.pace-state[data-tone=warning]{color:#ffc5c9;background:#dc4d5733}.stage-indicator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin:.42rem 0 0;padding:0;list-style:none}.stage-indicator li{display:flex;min-width:0;align-items:center;justify-content:center;gap:.25rem;padding:.2rem .18rem;border-radius:999px;color:#adc1d1;background:#04122457;font-size:.58rem;font-weight:800}.stage-indicator li>span{display:grid;width:1rem;aspect-ratio:1;place-items:center;border-radius:50%;background:#ffffff21;font-size:.54rem}.stage-indicator li[data-state=completed]{color:#c5f8e5;background:#4ed2a629}.stage-indicator li[data-state=completed]>span:before{content:"✓";font-size:.58rem}.stage-indicator li[data-state=completed]>span{font-size:0}.stage-indicator li[data-state=current]{color:#183451;background:#ffdc78}.stage-indicator small{overflow:hidden;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.course-progress{margin-top:.4rem}.course-progress__label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem;color:#d9eef2;font-size:clamp(.58rem,2.3vw,.68rem);font-weight:850}.course-progress__label strong{color:#fff1b4;font-variant-numeric:tabular-nums}.course-progress__track{height:.46rem;overflow:hidden;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#030e1e94}.course-progress__track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--yellow));transition:width .23s ease}.metric-card,.vitals-card,.status-region{border:1px solid rgba(255,255,255,.8);color:#fff;background:#0f2642d6;box-shadow:0 .35rem .9rem #10213f2e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.metric-card{min-width:0;padding:.48rem .5rem;border-radius:.75rem}.metric-label{display:block;margin-bottom:.1rem;color:#bfe8e8;font-size:clamp(.62rem,2.45vw,.74rem);font-weight:800}.metric-card strong{display:block;overflow:hidden;font-size:clamp(.77rem,3.2vw,.95rem);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.metric-card small{display:block;overflow:hidden;color:#fbe4a3;font-size:.61rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.vitals-card{display:grid;gap:.48rem;margin-top:.42rem;padding:.58rem;border-radius:.85rem}.vital-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.23rem;font-size:clamp(.69rem,2.75vw,.82rem);font-weight:850}.vital-heading strong{font-variant-numeric:tabular-nums}.bar-track{height:.65rem;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#030e1e94}.bar-fill{display:block;height:100%;border-radius:inherit;transition:width .23s ease}.bar-fill--energy{width:100%;background:repeating-linear-gradient(135deg,#55d8a9 0 .55rem,#36be94 .55rem 1.1rem)}.bar-fill--risk{width:0;background:repeating-linear-gradient(135deg,#ff9d4e 0 .55rem,#ed674e .55rem 1.1rem)}.vital[data-level=critical] .vital-heading{color:#ffe0a6}.vital[data-level=warning] .vital-heading{color:#ffe28d}.status-region{display:flex;min-height:2.45rem;align-items:center;gap:.45rem;margin-top:.42rem;padding:.42rem .5rem;border-radius:.78rem}.status-region__label{flex:0 0 auto;color:#bfe8e8;font-size:clamp(.61rem,2.4vw,.72rem);font-weight:900}.status-list{display:flex;min-width:0;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.status-chip{padding:.2rem .42rem;border:1px solid currentColor;border-radius:999px;font-size:clamp(.62rem,2.55vw,.73rem);font-weight:850;line-height:1.25}.status-chip--neutral{color:#d5eef0;background:#d5eef01f}.status-chip--positive{color:#a7f4d6;background:#4ed2a629}.status-chip--warning{color:#ffe38b;background:#ffd25a24}.status-chip--danger{color:#ffc5c9;background:#dc4d5733}.game-feedback{--feedback-duration: 1.4s;position:relative;z-index:2;width:fit-content;max-width:min(92%,24rem);margin:.42rem auto 0;padding:.42rem .68rem;border:2px solid currentColor;border-radius:.9rem;box-shadow:0 .35rem .9rem #10213f33;background:#fffffff5;font-size:clamp(.69rem,2.8vw,.82rem);font-weight:900;line-height:1.25;text-align:center;white-space:pre-line;opacity:0;pointer-events:none}.game-feedback:empty{display:none}.game-feedback[data-tone=positive]{color:#116b5f}.game-feedback[data-tone=danger]{color:#a62838}.game-feedback--visible{animation:game-feedback-pop var(--feedback-duration) ease-out both}@keyframes game-feedback-pop{0%{opacity:0;transform:translateY(.45rem) scale(.96)}12%,72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.45rem) scale(.99)}}.jump-button{position:absolute;right:3%;bottom:2.5%;display:grid;width:clamp(3.75rem,19%,5.5rem);aspect-ratio:1;place-content:center;gap:.05rem;border:.22rem solid rgba(255,255,255,.92);border-radius:50%;color:#fff;background:linear-gradient(145deg,#f28b43,#d95c42);box-shadow:0 .7rem 1.5rem #59231e52,inset 0 .18rem .25rem #ffffff47;font-size:clamp(.72rem,3vw,.86rem);font-weight:950;line-height:1;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.jump-button__icon{font-size:clamp(1.65rem,7vw,2rem);line-height:.9}.jump-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.jump-button:active{transform:translateY(2px) scale(.96)}.overlay-panel{z-index:6;background:#08182db8;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.overlay-card{padding:clamp(1rem,4.5vw,1.45rem)}.overlay-card--compact{width:min(88%,21rem)}.overlay-card h2{margin:.25rem 0 .45rem;color:var(--navy);font-size:clamp(1.7rem,7vw,2.3rem)}.overlay-card p{color:var(--ink-soft)}.overlay-icon{display:grid;width:4rem;aspect-ratio:1;place-items:center;margin:0 auto;border-radius:1.2rem;color:#fff;background:var(--blue);font-size:2rem}.result-card{width:min(100%,26rem);touch-action:pan-y;-webkit-overflow-scrolling:touch}.result-card h2{margin-top:.1rem}.outcome-banner{display:flex;align-items:center;gap:.55rem;margin:.45rem 0 .5rem;padding:.55rem .65rem;border:1px solid #edb691;border-radius:.9rem;color:#773f2c;background:#fff1e7;text-align:left}.outcome-banner[data-outcome=completed]{border-color:#8ed8bd;color:#205c4e;background:#e5f8ef}.outcome-banner__icon{display:grid;width:2.35rem;aspect-ratio:1;flex:0 0 auto;place-items:center;border-radius:.7rem;color:#fff;background:var(--orange);font-size:1.2rem}.outcome-banner[data-outcome=completed] .outcome-banner__icon{background:#259b78}.outcome-banner small,.outcome-banner strong{display:block}.outcome-banner small{font-size:.65rem;font-weight:800}.outcome-banner strong{margin-top:.05rem;font-size:clamp(.78rem,3.25vw,.94rem)}.new-record{display:inline-flex;margin:.15rem 0 .5rem!important;padding:.25rem .65rem;border-radius:999px;color:#62410a!important;background:#ffe18a;font-size:.82rem;font-weight:900}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.42rem;margin:.7rem 0}.result-grid>div{min-width:0;padding:.65rem .35rem;border:1px solid #cadfe1;border-radius:.85rem;background:#edf7f4}.result-grid dt{color:#5d6f80;font-size:clamp(.62rem,2.5vw,.72rem);font-weight:800}.result-grid dd{overflow:hidden;margin:.18rem 0 0;color:var(--navy);font-size:clamp(.84rem,3.8vw,1.05rem);font-weight:950;text-overflow:ellipsis;white-space:nowrap}.score-save-form{margin:.62rem 0;padding:.68rem;border:1px solid #b8d9d2;border-radius:.9rem;background:#edf8f5;text-align:left}.score-save-form__heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.score-save-form__heading label{color:#214f4a;font-size:clamp(.72rem,3vw,.84rem);font-weight:900}.score-save-form__heading span{flex:0 0 auto;color:#667b78;font-size:.64rem;font-weight:750}.score-save-form__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.42rem}.score-save-form input{width:100%;min-width:0;min-height:3rem;padding:.68rem .72rem;border:2px solid #8fc5bb;border-radius:.8rem;color:var(--ink);background:#fff;font-size:1rem;font-weight:750}.score-save-form input[aria-invalid=true]{border-color:var(--red);background:#fff6f6}.score-save-form input:disabled{color:#3f5f59;background:#dfece8;opacity:1}.score-save-status{min-height:1em;margin:.35rem 0 0!important;color:#4b6661!important;font-size:.7rem;font-weight:800}.score-save-status[data-state=error]{color:#a6323e!important}.score-save-status[data-state=saved]{color:#176b5a!important}.failure-box{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.66rem .78rem;border:1px solid #f2b597;border-radius:.9rem;background:#fff1e8;text-align:left}.failure-box span{color:#805542;font-size:.7rem;font-weight:800}.failure-box strong{color:#9b3d34;font-size:clamp(.78rem,3.25vw,.92rem);text-align:right}.failure-box[data-outcome=completed]{border-color:#9ddcc6;background:#eaf8f2}.failure-box[data-outcome=completed] span{color:#3a6c5f}.failure-box[data-outcome=completed] strong{color:#1f755d}.education-message{position:relative;margin:.65rem 0;padding:.75rem .8rem .75rem 2.15rem;border:0;border-radius:.9rem;color:#254f5e;background:#e3f3f1;font-size:clamp(.76rem,3.2vw,.9rem);font-weight:750;line-height:1.42;text-align:left}.education-message:before{position:absolute;top:.65rem;left:.7rem;content:"💡";font-size:1.05rem}.education-action{margin:-.15rem 0 .7rem;padding:.68rem .78rem;border:1px solid #efc86f;border-radius:.9rem;background:#fff8df;text-align:left}.education-action span{display:block;margin-bottom:.2rem;color:#805d13;font-size:.7rem;font-weight:950;letter-spacing:.08em}.education-action p{margin:0;color:#4d4530;font-size:clamp(.73rem,3vw,.86rem);font-weight:750;line-height:1.4}.game-over-disclaimer{margin:-.12rem 0 .68rem!important;color:#405269!important;font-size:clamp(.72rem,2.8vw,.8rem);font-weight:750;line-height:1.42;text-align:left}.education-focus-label{display:flex;align-items:center;gap:.28rem;margin:.7rem 0 -.38rem!important;color:#315e70!important;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-align:left}.education-hub{margin:0 0 .7rem;overflow:hidden;border:1px solid #9ccdc7;border-radius:1rem;color:#173f4d;background:#f0f9f7;text-align:left}.education-hub>summary{display:flex;min-height:3.2rem;align-items:center;justify-content:space-between;gap:.6rem;padding:.58rem .72rem;color:#173f4d;background:linear-gradient(135deg,#dff3ee,#e8f4fa);cursor:pointer;list-style:none}.education-hub>summary::-webkit-details-marker{display:none}.education-hub>summary>span:first-child{min-width:0}.education-hub>summary strong,.education-hub>summary small{display:block}.education-hub>summary strong{font-size:clamp(.8rem,3.4vw,.94rem);font-weight:950}.education-hub>summary small{overflow:hidden;margin-top:.1rem;color:#4e706f;font-size:clamp(.72rem,2.55vw,.8rem);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.education-hub__toggle{display:grid;width:2rem;aspect-ratio:1;flex:0 0 auto;place-items:center;border:1px solid #8ebdb7;border-radius:50%;background:#ffffffb8}.education-hub__toggle:before{content:"⌄";font-size:1.05rem;font-weight:950;transition:transform .18s ease}.education-hub[open] .education-hub__toggle:before{transform:rotate(180deg)}.education-hub__intro{margin:0!important;padding:.65rem .72rem .48rem;color:#4a6568!important;font-size:clamp(.66rem,2.7vw,.76rem);font-weight:750;line-height:1.4}.knowledge-review{margin:0 .68rem .62rem;padding:.66rem;border:1px solid #a9cec8;border-radius:.85rem;background:#fff}.knowledge-review__heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.knowledge-review__heading strong{color:#174d55;font-size:clamp(.76rem,3vw,.86rem);font-weight:950}.knowledge-review__heading small{color:#648083;font-size:clamp(.61rem,2.35vw,.68rem);font-weight:750}.knowledge-review ul{display:grid;gap:.42rem;margin:.55rem 0 0;padding:0;list-style:none}.knowledge-review li{padding:.55rem .6rem;border-left:.24rem solid #258275;border-radius:.58rem;background:#eff7f4}.knowledge-review li[data-knowledge-kind=obstacle]{border-left-color:#cf5b58;background:#fff3f2}.knowledge-review li strong,.knowledge-review li span,.knowledge-review li small{display:block}.knowledge-review li strong{color:#1e4f59;font-size:clamp(.69rem,2.65vw,.77rem);font-weight:950}.knowledge-review li span{margin-top:.18rem;color:#365b61;font-size:clamp(.67rem,2.7vw,.77rem);font-weight:750;line-height:1.4}.knowledge-review li small{margin-top:.22rem;color:#537075;font-size:clamp(.62rem,2.45vw,.7rem);font-weight:700;line-height:1.4}.education-topic-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:0 .68rem .55rem}.education-topic-button{position:relative;min-width:0;min-height:2.75rem;padding:.38rem .24rem;overflow:hidden;border:1px solid #a8c9c4;border-radius:.72rem;color:#3f5e63;background:#fff;cursor:pointer;font-size:clamp(.7rem,2.55vw,.78rem);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.education-topic-button[aria-pressed=true]{border-color:#227e73;color:#fff;background:#247f74;box-shadow:0 .25rem .6rem #18635a2e}.education-topic-button[data-recommended=true]:after{position:absolute;top:.16rem;right:.2rem;content:"★";color:#da8a21;font-size:.55rem}.education-topic-button[data-recommended=true][aria-pressed=true]:after{color:#ffe39b}.education-reminder-card{margin:0 .68rem .62rem;padding:.72rem;border:1px solid #bad7d1;border-radius:.85rem;background:#fff}.education-reminder-card[data-topic=training]{border-left:.28rem solid #2a8ea0}.education-reminder-card[data-topic=injury]{border-left:.28rem solid #d05c55}.education-reminder-card[data-topic=nutrition]{border-left:.28rem solid #d69a2d}.education-reminder-card__heading{display:flex;align-items:center;gap:.5rem}.education-reminder-card__icon{display:grid;width:2.15rem;aspect-ratio:1;flex:0 0 auto;place-items:center;border-radius:.65rem;background:#e9f3f2;font-size:1.15rem}.education-reminder-card__heading small,.education-reminder-card__heading strong{display:block}.education-reminder-card__heading small{color:#587173;font-size:.68rem;font-weight:850}.education-reminder-card__heading strong{margin-top:.08rem;color:#183f4d;font-size:clamp(.82rem,3.35vw,.96rem);font-weight:950}.education-reminder-card>p{margin:.58rem 0 0;color:#38565c;font-size:clamp(.7rem,2.9vw,.82rem);font-weight:700;line-height:1.45}.education-reminder-card__action{padding:.52rem .58rem;border-radius:.68rem;background:#eef6f3}.education-reminder-card__action strong,.education-reminder-card__action span{display:block}.education-reminder-card__action strong{margin-bottom:.14rem;color:#247268;font-size:.68rem;font-weight:950;letter-spacing:.04em}.education-reminder-card__source{display:inline-flex;min-height:2.5rem;align-items:center;margin-top:.38rem;color:#306b82;font-size:.7rem;font-weight:800;line-height:1.35;text-underline-offset:.18em}.education-safety-alert{margin:0 .68rem .62rem;padding:.65rem .7rem;border:1px solid #e6a19e;border-radius:.82rem;color:#7b3035;background:#fff0f0}.education-safety-alert strong{display:block;font-size:.7rem;font-weight:950}.education-safety-alert p{margin:.25rem 0 0;color:#6d3b3f;font-size:clamp(.67rem,2.75vw,.78rem);font-weight:750;line-height:1.45}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:.48rem}.result-actions [data-testid=restart-button]{grid-column:1 / -1}.share-status{min-height:1em;margin:.35rem 0 0!important;color:#336077!important;font-size:.75rem;font-weight:800}.leaderboard-overlay{z-index:9}.leaderboard-card{display:flex;width:min(100%,27rem);max-height:100%;flex-direction:column;overflow:hidden;text-align:left}.leaderboard-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:.75rem}.leaderboard-header h2{margin:.1rem 0 0;font-size:clamp(1.45rem,6vw,2rem)}.leaderboard-close{min-width:4.2rem;min-height:3rem;padding:.55rem .7rem;border:2px solid #9cc7cf;border-radius:.8rem;color:#244e63;background:#edf8f8;cursor:pointer;font-size:.78rem;font-weight:900}.leaderboard-device-note{display:flex;flex:0 0 auto;gap:.38rem;margin:.6rem 0 .7rem!important;padding:.58rem .65rem;border:1px solid #d9c989;border-radius:.8rem;color:#66551f!important;background:#fff8da;font-size:clamp(.66rem,2.7vw,.76rem);font-weight:750;line-height:1.35}.leaderboard-scroll{min-height:0;overflow:auto;border:1px solid #c6dce0;border-radius:.85rem;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.leaderboard-table{width:100%;min-width:25rem;border-collapse:separate;border-spacing:0;color:#294157;font-size:clamp(.68rem,2.8vw,.8rem);font-variant-numeric:tabular-nums}.leaderboard-table th,.leaderboard-table td{padding:.58rem .48rem;border-bottom:1px solid #dce9eb;text-align:right;white-space:nowrap}.leaderboard-table th{position:sticky;z-index:1;top:0;color:#3b6170;background:#e9f4f3;font-size:.66rem;font-weight:900}.leaderboard-table th:nth-child(1),.leaderboard-table td:nth-child(1),.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){text-align:left}.leaderboard-table tbody tr:last-child td{border-bottom:0}.leaderboard-table tbody tr:nth-child(2n){background:#e2f2ef7a}.leaderboard-table tbody tr[data-current=true]{background:#fff3bd;box-shadow:inset .22rem 0 #e2a82c}.leaderboard-rank{width:3rem;color:#446678;font-weight:950}.leaderboard-name{display:flex;max-width:9rem;align-items:center;gap:.3rem;overflow:hidden;font-weight:900}.leaderboard-name>span{overflow:hidden;text-overflow:ellipsis}.leaderboard-current-badge{flex:0 0 auto;padding:.12rem .3rem;border-radius:999px;color:#fff;background:#b4760c;font-size:.56rem;font-weight:950}.leaderboard-score{color:#173957;font-weight:950}.leaderboard-distance{color:#4b6472}.leaderboard-outcome{display:inline-flex;padding:.22rem .4rem;border-radius:999px;color:#8d4630;background:#ffeadf;font-size:.62rem;font-weight:900}.leaderboard-outcome[data-outcome=completed]{color:#176450;background:#dff5eb}.leaderboard-empty{display:grid;min-height:12rem;flex:1 1 auto;place-content:center;justify-items:center;padding:1.25rem;border:2px dashed #bfd7da;border-radius:1rem;color:#456277;background:#f3faf8;text-align:center}.leaderboard-empty>span{font-size:2.25rem}.leaderboard-empty strong{margin-top:.35rem;color:#254d62;font-size:1rem}.leaderboard-empty p{max-width:18rem;margin:.3rem 0 0;font-size:.75rem;line-height:1.4}.leaderboard-empty[data-state=loading]{border-style:solid;color:#315e70;background:#eef8fb}.leaderboard-empty[data-state=error]{border-color:#e7b5a9;color:#7d3d3b;background:#fff5f2}.medical-disclaimer{display:flex;min-height:2.5rem;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:.7rem;row-gap:.08rem;padding:.45rem max(.75rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));color:#405269;background:#f4f9f7ed;font-size:clamp(.64rem,2.5vw,.76rem);font-weight:700;line-height:1.3;text-align:center}.medical-disclaimer__notice,.creator-credit{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:.3rem}.creator-credit{white-space:nowrap}.creator-credit:before{color:#78909c;content:"•"}.creator-credit a{display:inline-flex;min-height:2.75rem;align-items:center;color:#235f7b;font-weight:900;text-decoration-thickness:.08em;text-underline-offset:.18em}@media(max-width:40rem){:root{--footer-space: 4.75rem}}.clipboard-helper{position:fixed;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0}@media(min-width:42rem){.game-frame{border:.35rem solid rgba(255,255,255,.82);border-radius:1.6rem}}@media(max-width:30rem)and (orientation:portrait){.hud-layer{padding:max(.42rem,env(safe-area-inset-top)) max(.42rem,env(safe-area-inset-right)) max(.42rem,env(safe-area-inset-bottom)) max(.42rem,env(safe-area-inset-left))}.hud-top-actions{position:relative;z-index:2}.icon-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:.35rem;border-radius:.8rem;font-size:1rem}.icon-button>span:last-child,.pace-state,.stage-indicator{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.stage-hud{min-height:2.75rem;margin:-2.75rem 3.05rem 0;padding:.32rem .45rem .36rem;border-radius:.72rem}.stage-hud__heading>div{display:flex;min-width:0;align-items:baseline;gap:.32rem}.stage-hud__kicker{display:inline;flex:0 1 auto;overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.stage-hud__heading strong{flex:0 0 auto;margin:0;font-size:.78rem}.course-progress{margin-top:.16rem}.course-progress__label{margin-bottom:.12rem;font-size:.68rem;line-height:1}.course-progress__track{height:.34rem}.hud-summary{gap:.25rem;margin-top:.32rem}.metric-card{padding:.3rem .35rem;border-radius:.58rem}.metric-label{margin-bottom:0;font-size:.68rem;line-height:1.05}.metric-card strong{margin-top:.1rem;font-size:clamp(.75rem,3.05vw,.84rem);line-height:1.05}.metric-card small{display:none}.vitals-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;margin-top:.32rem;padding:.36rem .4rem;border-radius:.65rem}.vital{min-width:0}.vital-heading{gap:.2rem;margin-bottom:.16rem;font-size:clamp(.7rem,2.55vw,.74rem);line-height:1.1}.vital-heading>span,.vital-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vital-heading strong{flex:0 0 auto}.bar-track{height:.43rem}.status-region{min-height:2rem;margin-top:.3rem;padding:.3rem .38rem;border-radius:.62rem}.status-region[data-active=false]{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.status-region__label{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.status-list{width:100%;gap:.22rem}.status-chip{padding:.16rem .34rem;font-size:.7rem}.game-feedback{max-width:88%;margin-top:.3rem;padding:.38rem .58rem;font-size:clamp(.75rem,2.8vw,.82rem)}}@media(max-width:22rem)and (orientation:portrait){.vital-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:.08rem}.vital-heading strong{justify-self:start;font-size:.68rem}}@media(max-height:42rem){.home-card,.overlay-card{padding:.85rem;border-radius:1.25rem}.runner-mark{width:2.8rem;margin-top:.3rem}.home-card h1{font-size:1.8rem}.how-to-play{margin:.55rem 0 .7rem;padding:.6rem}.marathon-route{margin:.45rem 0;padding:.52rem}.stage-roadmap small,.route-flow{display:none}.stage-hud{padding-top:.42rem;padding-bottom:.44rem}.home-hint{display:none}.result-grid{margin:.42rem 0}.education-message{margin:.45rem 0;padding-top:.55rem;padding-bottom:.55rem}.score-save-form{padding:.52rem}.leaderboard-card{padding:.75rem}.jump-button{width:3.75rem;font-size:.67rem}.jump-button__icon{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){.game-feedback--visible{animation:none;opacity:1;transform:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
