:root{font-family:Arial,Helvetica,sans-serif;color:#f4f5e8;background:#102a28;color-scheme:dark;--lime: #dcf78c;--muted: #b6cbc0;--safe-top: env(safe-area-inset-top,0px);--safe-right: env(safe-area-inset-right,0px);--safe-bottom: env(safe-area-inset-bottom,0px);--safe-left: env(safe-area-inset-left,0px)}#run-score{display:block;font-size:12px;letter-spacing:0;margin-top:4px;color:#ecffdc}#cue{font-size:12px;font-weight:700;color:var(--lime)}#cue:empty{display:none}#mission-hud{display:none;position:absolute;bottom:calc(92px + var(--safe-bottom));left:5%;right:5%;z-index:2;padding:8px 12px;background:#102a28f2;border:1px solid #d5edb633;border-radius:12px;font-size:10px;pointer-events:none;max-width:420px;margin:auto;color:#e9f5da}#game[data-state=playing] #mission-hud{display:block}#mission-progress{display:block;width:100%;height:3px;margin-top:7px;border:0;appearance:none;background:#fff2}#mission-progress::-webkit-progress-bar{background:#fff2}#mission-progress::-webkit-progress-value{background:#dcf78c}#mission-progress::-moz-progress-bar{background:#dcf78c}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #fff;outline-offset:5px}[hidden]{display:none!important}#game{position:relative;min-height:680px;height:100svh;overflow:hidden;isolation:isolate}#scene{position:absolute;width:100%;height:100%;inset:0;touch-action:none;outline-offset:-5px}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#102a28ed 0%,#102a28c9 26%,#102a2833 60%,transparent 100%),linear-gradient(0deg,#102a28bd,transparent 25%);z-index:1}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:32px 4.5%;z-index:4;gap:18px}.wordmark{text-decoration:none;font-size:21px;font-weight:900;letter-spacing:-.8px;white-space:nowrap;position:relative}.wordmark .thin{font-weight:400;margin-left:5px}.wordmark small{display:block;font-size:8px;letter-spacing:2px;margin:6px 0 0 29px;color:#cfdfd3}.paw{color:var(--lime);font-size:27px;margin-right:6px}.top-actions{display:flex;gap:14px;align-items:center}.icon-button{width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;background:#102a28d9;color:#fff;font-size:20px;backdrop-filter:blur(10px)}.back-link{font-size:11px;text-decoration:none;background:#102a28d9;border-radius:10px;padding:0 6px;margin-left:12px;min-height:44px;display:inline-flex;align-items:center}.menu{position:absolute;z-index:2;left:8%;top:23%;max-width:560px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--lime);display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;background:var(--lime);border-radius:50%}h1{font-size:clamp(66px,7.5vw,112px);line-height:.96;letter-spacing:-6px;margin:24px 0;font-weight:850}h1 em{font-style:normal;color:var(--lime)}.intro{font-size:15px;line-height:1.8;color:#c2d3c8}.start-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;max-width:480px;margin-top:28px}.start-actions .text-button{background:#102a28d9;border-radius:12px;padding:10px 12px;min-height:44px}#shop{order:3;color:var(--lime)}#route-choice{color:#efffc9;font-size:10px;line-height:1.5}#route-choice:empty{display:none}#run-highlights{font-size:12px;color:var(--lime)}#run-lesson{font-size:13px;line-height:1.6;padding:12px;border-radius:12px;background:#ffffff0a}#controls button.turn-ready{background:var(--lime);color:#173c32;border-color:var(--lime)}.save-notice{flex-basis:100%;grid-column:1/-1;margin:0 0 6px;padding:8px 10px;background:#493c26;border:1px solid #edc47788;border-radius:10px;font-size:11px;line-height:1.4;color:#fff0cb}#game[data-storage=unavailable] .intro,#game[data-storage=unavailable] .menu-stats{display:none}@media(max-height:520px){#game[data-storage=unavailable] h1{font-size:32px}}#upgrades,#collection{max-height:42svh;overflow-y:auto;text-align:left}#upgrades>div,#collection>div{display:flex;align-items:center;gap:14px;border-bottom:1px solid #ffffff22;padding:10px 0}#upgrades p,#collection p{flex:1;font-size:12px;line-height:1.6}#upgrades button,#collection button{min-width:95px;min-height:44px;border:1px solid #dcf78c66;border-radius:12px;background:#dcf78c;color:#173c32;padding:8px;font-size:12px}#upgrades button:disabled,#collection button:disabled{opacity:1;background:transparent;color:#b6cbc0;cursor:default}#collection .clubhouse-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}#collection .clubhouse-categories button{min-width:0;background:#102a28;color:#f4f5e8}#collection .clubhouse-categories button[aria-pressed=true]{background:var(--lime);color:#173c32}#collection .collection-card{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:16px 0}#collection .collection-card img{width:88px;height:88px;border-radius:14px}#collection .collection-card p{margin:0;font-size:13px}#collection .collection-card>button{grid-column:2;justify-self:stretch}#collection .preview-angle{background:#102a28;color:#e8f5dc;width:100%}#overlay[data-kind=kennel] .eyebrow{display:none}#overlay[data-kind=kennel] h2{font-size:26px;margin:4px 0 10px}#overlay[data-kind=kennel] #overlay-copy{margin:6px 0 16px}@media(min-width:360px){#collection .clubhouse-categories{grid-template-columns:repeat(4,1fr);gap:5px}#collection .clubhouse-categories button{padding:6px 3px;font-size:11px}}.upgrade-copy strong,.upgrade-copy span,.upgrade-copy small{display:block}.upgrade-copy strong{font-size:15px;color:#f4f5e8;margin-bottom:6px}.upgrade-copy small{font-size:12px;margin:8px 0 4px;color:var(--lime)}.upgrade-copy progress{width:100%;accent-color:#98f5e1;height:7px;display:block}.primary{background:var(--lime);border:0;border-radius:100px;color:#16352e;padding:19px 27px;min-height:56px;font-weight:700;font-size:14px;box-shadow:0 7px 30px #b6ed7715}.primary:hover{background:#ecffb9;transform:translateY(-2px)}.text-button{background:none;border:0;color:#d9e5da;font-size:12px;min-height:44px;padding:10px}.text-button span{margin-left:12px}.menu-stats{display:flex;gap:38px;margin-top:40px}.menu-stats>div+div{border-left:1px solid #ffffff25;padding-left:38px}.menu-stats span{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.menu-stats strong{display:block;font-size:25px;margin-top:10px;font-weight:500}.menu-stats strong span{display:inline;font-size:11px;letter-spacing:0}.trail-tag{display:flex;gap:16px;align-items:center;margin-top:35px;font-size:11px;letter-spacing:.6px}.trail-tag i{font-style:normal;border:1px solid #ffffff3c;border-radius:9px;padding:12px;font-size:12px;color:var(--lime)}.trail-tag span{display:block;font-size:10px;color:var(--muted);margin-top:7px;letter-spacing:0}.trail-tag b{margin-left:25px;color:var(--lime)}#buddy{position:absolute;z-index:2;right:12%;bottom:23%;text-align:right;text-shadow:0 2px 10px #102a28;padding:12px 16px;background:#102a28ed;border-radius:16px}#buddy>span{font-size:11px;letter-spacing:2px;color:#e0eddd}#buddy strong{display:block;font-size:38px;margin-top:8px;letter-spacing:-1.5px}#buddy p{font-size:12px;color:#d8e6d9;margin-top:7px}footer{position:absolute;z-index:2;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;font-size:8px;letter-spacing:1.3px;color:#b6cbbb;gap:16px}footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);margin-right:8px}footer b{font-size:17px;margin:0 14px;color:var(--lime)}footer .text-button{font-size:12px;padding:0 10px;background:#102a28d9;border-radius:10px}#hud{position:absolute;top:114px;left:5%;right:5%;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.score>span{font-size:10px;letter-spacing:2px}.score{background:#102a28ed;outline:6px solid #102a28ed;border-radius:6px}.score strong{display:block;font-size:42px;letter-spacing:-2px}.score small{font-size:14px;letter-spacing:0}.run-stats{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.bones{padding:10px 18px;border:1px solid #ffffff44;border-radius:30px;background:#102a28ed;font-size:20px}.bones b{margin-left:8px}#hearts{background:#102a28ed;border-radius:10px;padding:4px 7px;color:#ffad86;font-size:19px;letter-spacing:3px}#power{position:absolute;top:96px;left:0;right:0;color:var(--lime);font-size:11px;display:flex;flex-wrap:wrap;gap:4px}#power:empty{display:none}.power-chip{display:block;padding:6px 8px;border-radius:9px;background:#102a28cc;border:1px solid #bcece944;font-size:11px;color:#d9fff4;white-space:nowrap}.power-chip small{display:none}.power-chip progress{display:block;width:100%;height:2px;margin-top:3px;border:0;appearance:none;background:#ffffff25;border-radius:4px;overflow:hidden}.power-chip progress::-webkit-progress-bar{background:#ffffff25}.power-chip progress::-webkit-progress-value{background:#85f8ed}.power-chip progress::-moz-progress-bar{background:#85f8ed}.power-chip.double{color:#ffe39a}.toast{pointer-events:none;font-size:11px;line-height:1.4;color:#ecffdc}.toast:empty{display:none}.overlay{position:absolute;inset:0;z-index:6;background:#0b231db0;backdrop-filter:blur(12px);display:grid;place-items:center;padding:22px;overflow-y:auto}.modal{max-height:calc(100svh - 44px);display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;background:#173c32;border:1px solid #c9e9b82e;box-shadow:0 35px 100px #0004;border-radius:28px;padding:36px;text-align:center;max-width:480px;width:100%}.modal-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8eb79b #102a28}.modal-actions{flex-shrink:0}.modal-content #upgrades,.modal-content #collection{max-height:none;overflow:visible}.modal .eyebrow{justify-content:center}.modal h2{font-size:38px;letter-spacing:-1.5px;margin:18px 0 12px}.modal-content>p{font-size:13px;color:#c2d6c6;line-height:1.6}.modal .primary{display:block;width:100%;margin-top:24px}.modal-actions>.text-button{margin-top:8px}#results{display:flex;justify-content:space-around;margin:27px 0;gap:12px}#results span{font-size:8px;letter-spacing:1px;color:var(--muted)}#results strong{font-size:25px;display:block;margin-top:10px}#instructions{text-align:left;font-size:13px;line-height:1.6}#instructions p{padding-bottom:12px;border-bottom:1px solid #ffffff16}#instructions span{display:block;color:var(--lime);font-size:12px;margin-top:7px}#instructions summary{padding:14px 0;color:var(--lime);cursor:pointer;font-weight:700}#run-breakdown{text-align:left;font-size:13px;line-height:1.6}#run-breakdown summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--lime)}#run-breakdown summary:before{content:"+ ";margin-right:8px}#run-breakdown[open] summary:before{content:"\2212  "}.basic-moves strong{font-size:15px}.basic-moves img{float:right;width:72px;height:42px;object-fit:contain;margin:0 0 4px 8px;border-radius:8px}.basic-moves p{display:flow-root}@media(max-height:700px){#overlay[data-kind=ended] .eyebrow{display:none}#overlay[data-kind=ended] h2{font-size:24px;margin:4px 0 8px}#overlay[data-kind=ended] #results{margin:12px 0}#overlay[data-kind=ended] #run-lesson{margin:8px 0;padding:8px}#overlay[data-kind=help] .eyebrow{display:none}#overlay[data-kind=help] h2{font-size:24px;margin:4px 0 8px}#overlay[data-kind=help] #overlay-copy{margin:6px 0}#overlay[data-kind=help] .basic-moves p{margin:8px 0;padding-bottom:8px;line-height:1.4}}kbd{display:inline-block;border:1px solid #ffffff44;border-radius:4px;min-width:24px;padding:2px 4px;text-align:center;margin-right:4px}#controls{position:absolute;bottom:max(22px,calc(var(--safe-bottom) + 12px));left:5%;right:5%;display:flex;gap:10px;z-index:3;justify-content:center;touch-action:none}.mastery-card{border:1px solid #d5edb633;border-radius:14px;padding:12px;margin:10px 0;background:#102a2840}#trail-passport summary{cursor:pointer;padding:14px 0;font-weight:800;color:var(--lime)}.mastery-card h3{margin:0 0 8px;font-size:15px;color:var(--lime)}.mastery-card progress{width:100%;accent-color:#98f5e1}.mastery-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mastery-badge{padding:8px 4px;border:1px solid #d5edb666;border-radius:10px;font-size:12px;text-align:center;overflow-wrap:anywhere}.mastery-badge b{display:grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;margin:0 auto 6px}.mastery-badge span,.mastery-badge small{display:block}.mastery-badge small{margin-top:5px;font-size:11px}.mastery-card>p:not(.mastery-badges){font-size:13px;line-height:1.5}.other-passport-cards{border-top:1px solid #d5edb633;margin-top:12px}.mastery-badge.earned{background:#b8844e;color:#102a28;border-color:#edc492}.mastery-badge.earned[data-tier="1"]{background:#c4d6d9;border-color:#eaf4f5}.mastery-badge.earned[data-tier="2"]{background:#f5d571;border-color:#fff0a0}#controls button{height:56px;min-width:58px;border-radius:18px;border:1px solid #d7f0ce66;background:#102a28ed;color:#edffde;font-size:24px;touch-action:none;user-select:none}#controls button[data-action=slide]{margin-left:auto}#controls #fetch{min-width:58px;width:64px;height:56px;padding:0 4px;font-size:11px;font-weight:800;border-radius:14px}#controls #fetch:disabled{opacity:1;color:#c9d6cd}#controls #fetch.ready{background:#98f5e1;color:#123b32;border-color:#c5fff0}@media(max-width:380px){#controls{gap:7px}#controls button,#controls #fetch{min-width:48px}}#controls small{font-size:10px;display:block;font-weight:700;letter-spacing:.3px}#controls .jump{background:var(--lime);color:#16352e}#game[data-state=playing] .vignette,#game[data-state=paused] .vignette,#game[data-state=ended] .vignette{background:linear-gradient(0deg,#102a2860,transparent 25%,transparent 70%,#102a28ab)}#game[data-state=playing] header{pointer-events:none}#game[data-state=playing] header a,#game[data-state=playing] header button{pointer-events:auto}.fallback{position:absolute;z-index:10;background:#173c32;padding:30px;inset:30%;line-height:1.6}.hit{animation:hit .3s ease-out}@keyframes hit{50%{box-shadow:inset 0 0 100px #ff775999}}@media(min-width:800px)and (pointer:fine){#controls{left:38%;right:38%;opacity:1}}@media(max-width:700px){#game{min-height:560px}header{padding:20px 16px;gap:8px;--header-top:20px;--header-side:16px}.wordmark{font-size:17px}.wordmark small{font-size:6px;letter-spacing:1.5px}.top-actions{gap:8px}.back-link{font-size:10px;margin-left:0}.icon-button{height:44px;width:44px}.menu{left:7%;top:18%;right:7%}h1{font-size:clamp(52px,18vw,70px);letter-spacing:-4px;margin:19px 0}.eyebrow{font-size:7px;letter-spacing:1.4px}.intro{font-size:12px}.start-actions{margin-top:23px;gap:12px}.primary{padding:17px 24px;font-size:13px}.menu-stats{margin-top:28px;gap:28px}.menu-stats>div+div{padding-left:28px}.trail-tag{margin-top:25px}.vignette{background:linear-gradient(90deg,#102a28e8,#102a28a8 50%,#102a2811),linear-gradient(0deg,#102a28,transparent 28%)}#buddy{display:none}#buddy>span{display:none}#buddy strong{font-size:24px}#buddy p{font-size:10px}footer{padding:12px 7% calc(12px + var(--safe-bottom));font-size:7px;gap:8px}footer>span:nth-child(2){display:none}#hud{top:94px}.score strong{font-size:35px}.modal{padding:26px}.modal h2{font-size:31px}.back-link{max-width:67px;line-height:1.4}#game[data-state=playing] .back-link{display:none}}@media(max-height:740px){.menu{top:18%}h1{font-size:min(66px,18vw)}.menu-stats{margin-top:22px}.trail-tag{display:none}#buddy{bottom:16%}}@media(max-width:700px)and (min-height:521px)and (max-height:700px){.menu{top:90px}h1{font-size:min(52px,16vw);margin:12px 0}.intro,#buddy{display:none}.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:110px}.start-actions button{padding:8px;font-size:12px}.menu-stats{display:none}.trail-tag{display:flex;margin-top:12px;padding:10px;border-radius:12px;background:#102a28d9;font-size:11px}.trail-tag i,.trail-tag b{display:none}.trail-tag span{font-size:11px;line-height:1.4;margin-top:4px}}@media(max-width:700px)and (min-height:701px){.start-actions{position:fixed;left:7%;right:7%;bottom:calc(15svh + var(--safe-bottom));max-width:none;margin:0;gap:8px}.start-actions button{padding:12px 8px;font-size:12px}.menu-stats{display:none}.trail-tag{position:fixed;left:7%;right:7%;bottom:calc(5.5svh + var(--safe-bottom));margin:0;padding:10px;border-radius:12px;background:#102a28d9;font-size:11px}.trail-tag i,.trail-tag b{display:none}.trail-tag span{font-size:11px;line-height:1.4;margin-top:4px}}@media(max-width:700px){footer>span{display:none}footer{justify-content:flex-end}}@media(max-height:520px){#game{min-height:0}header{padding:12px 4%;--header-top:12px;--header-side:4%}.menu{top:20%;left:6%;max-width:340px}h1{font-size:48px;margin:14px 0}.intro,.menu-stats,.trail-tag,#buddy,footer{display:none}.start-actions{margin-top:12px;gap:8px}.start-actions button{min-height:44px;padding:8px 14px;font-size:12px}footer{display:flex;justify-content:flex-end;pointer-events:none}footer>span{display:none}footer button{pointer-events:auto}.eyebrow{font-size:7px}#hud{top:72px}.score strong{font-size:28px}.modal{padding:18px;max-width:540px}.modal h2{font-size:26px;margin:8px}.modal .primary{margin-top:12px}#instructions{font-size:11px}#instructions p{padding:0;margin:7px}#instructions span{display:inline;margin-left:10px}#results{margin:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.primary:hover{transform:none}}@media(max-width:700px)and (orientation:portrait){#power{gap:4px}.power-chip{padding:6px 8px;font-size:11px}.power-chip small{display:none}.power-chip progress{margin-top:3px;height:2px}}@media(orientation:landscape)and (max-height:520px){#hud{top:58px}#game[data-state=playing] .wordmark small{display:none}.score strong{font-size:24px}#power{top:80px;right:36vw}.power-chip{padding:5px 6px;font-size:11px}.power-chip small{display:none}.power-chip progress{margin-top:3px;height:2px}.run-stats{flex-direction:row;align-items:center;gap:8px}.bones{padding:6px 10px;font-size:14px}#hearts{font-size:15px}#mission-hud{left:auto;right:max(5%,var(--safe-right));width:min(32vw,280px);top:calc(114px + var(--safe-top));bottom:auto;padding:7px 10px;font-size:11px}#controls{left:max(5%,var(--safe-left));right:max(5%,var(--safe-right));display:grid;grid-template-columns:58px 58px 1fr 58px 58px}#controls #fetch{position:absolute;left:0;bottom:68px}#controls button[data-action=slide]{grid-column:4;margin-left:0}#controls .jump{grid-column:5}#route-choice{font-size:10px;line-height:1.2}#mission-progress{margin-top:4px}}header{padding-top:calc(var(--header-top,32px) + var(--safe-top));padding-left:max(var(--header-side,4.5%),calc(var(--safe-left) + 12px));padding-right:max(var(--header-side,4.5%),calc(var(--safe-right) + 12px))}#hud{margin-top:var(--safe-top)}@media(max-height:520px){.menu{left:max(6%,calc(var(--safe-left) + 12px))}}
