:root{color:#203a38;font-synthesis:none;background:#f2efe7;font-family:Arial,Helvetica,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline-offset:4px;outline:3px solid #c17c3f}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}header{border-bottom:1px solid #d8d8ca;justify-content:space-between;align-items:center;max-width:1440px;height:100px;margin:auto;padding:0 4.5%;display:flex}.brand{letter-spacing:1.6px;align-items:center;gap:12px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.brand small{letter-spacing:2px;margin-top:6px;font-size:8px;display:block}.brand-icon{color:#f3ebd9;background:#244340;border-radius:8px;padding:9px 8px;font:900 21px Georgia}.brand-icon span{font-size:15px}.header-actions{align-items:center;gap:24px;display:flex}.practice-tag{letter-spacing:1.4px;border:1px solid #a7b6a7;border-radius:20px;padding:8px 12px;font-size:9px;font-weight:700}.quiet{background:0 0;border:1px solid #bbcabd;border-radius:6px;padding:12px 15px;font-size:12px}.quiet span{margin-left:16px}main{grid-template-columns:.78fr 1.22fr;gap:32px;max-width:1440px;margin:auto;padding:60px 4.5% 0;display:grid}.intro{padding:40px 0 30px}.eyebrow{letter-spacing:2px;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.eyebrow span,.scene-header i{background:#85a88a;border-radius:50%;width:6px;height:6px;display:inline-block}h1{letter-spacing:-3.6px;margin:25px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,4.5vw,70px);font-weight:400;line-height:1.04}h1 em{color:#759079}p{color:#68786e;font-size:14px;line-height:1.8}.intro-actions{align-items:center;gap:20px;margin:28px 0 38px;display:flex}.primary{color:#fff8e6;background:#264d43;border:0;border-radius:5px;padding:17px 20px;font-size:13px;font-weight:600;box-shadow:0 4px 8px #17392d15}.primary:hover{background:#386554}.primary span{margin-left:22px}.text-button{color:#425c51;text-underline-offset:5px;background:0 0;border:0;padding:10px 0;font-size:11px;text-decoration:underline}.route-meta{gap:26px;display:flex}.route-meta strong{letter-spacing:.5px;font-size:11px}.route-meta small{letter-spacing:1px;color:#7d887f;margin-top:7px;font-size:7px;display:block}.game-shell{background:#142e2e;border:1px solid #23413b;border-radius:110px 10px 10px;min-height:500px;position:relative;overflow:hidden;box-shadow:0 25px 45px #263f3520}.scene-header,.scene-footer{color:#b5c6ac;letter-spacing:1.7px;z-index:2;pointer-events:none;justify-content:space-between;font-size:8px;display:flex;position:absolute;left:28px;right:22px}.scene-header{top:26px;left:55px}.scene-header i{margin-right:6px}.scene-footer{font-size:7px;bottom:20px}#viewport{touch-action:none;width:100%;height:100%;min-height:500px}canvas{width:100%;height:100%;display:block}#toast{color:#eee8cb;text-align:center;pointer-events:none;background:#173f38df;border:1px solid #65837950;border-radius:6px;width:max-content;max-width:86%;padding:10px 15px;font-size:10px;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}.hud{color:#f9eed1;pointer-events:none;gap:22px;display:flex;position:absolute;top:60px;left:25px;right:25px}.hud small{letter-spacing:1px;font-size:7px;display:block}.hud strong{font-variant-numeric:tabular-nums;font-size:24px}.hud button{pointer-events:auto;color:#23443c;background:#f0ead8;border:0;border-radius:6px;width:42px;height:42px;margin-left:auto}.run-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;z-index:5;background:#f1eee8ee;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.run-overlay h2{margin-bottom:5px;font:42px Georgia}.run-overlay .primary{margin:8px}.below{border-top:1px solid #d3d8ca;grid-column:1/-1;justify-content:space-between;gap:25px;margin-top:16px;padding-top:28px;display:flex}.below>div{gap:14px;display:flex}.tiny-number{color:#9eac99;padding-top:4px;font:italic 23px Georgia}.below p{margin:0;font-size:10px}.below strong{color:#3a5449;font-size:12px;font-weight:600;display:block}.below p span{display:block}footer{letter-spacing:1px;color:#839080;border-top:1px solid #d8d8ca;justify-content:space-between;align-items:center;gap:14px;max-width:1440px;margin:35px auto 0;padding:20px 4.5%;font-size:7px;display:flex}footer .text-button{font-size:9px}dialog{color:#254238;background:#f7f4eb;border:1px solid #d1d6c8;border-radius:14px;width:min(580px,92vw);max-height:86dvh;padding:35px;box-shadow:0 25px 90px #001e2266}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#092624a8}dialog h2{margin:15px 0;font:33px Georgia}dialog h3{margin-top:25px;font-size:15px}dialog p,dialog a{font-size:12px}.close{color:#506157;background:0 0;border:0;font-size:27px;position:absolute;top:12px;right:15px}.notice{background:#e5eadc;border-radius:5px;padding:14px}.status-row{border-bottom:1px solid #dfe3d7;justify-content:space-between;gap:10px;padding:11px 0;font-size:11px;display:flex}.status-row strong{overflow-wrap:anywhere;text-align:right;max-width:60%}.dialog-actions{flex-wrap:wrap;gap:9px;margin:18px 0;display:flex}.fixture-buttons{flex-wrap:wrap;gap:7px;display:flex}.fixture-buttons button{background:#ecede2;border:1px solid #b1c1ad;border-radius:4px;padding:9px;font-size:11px}.mono{overflow-wrap:anywhere;font-family:monospace;font-size:10px!important}.fine{font-size:10px}hr{border:0;border-top:1px solid #d5dccf;margin-top:25px}#touch-controls{grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 12px 10px;display:flex}.dpad{grid-template-rows:repeat(2,45px);grid-template-columns:repeat(3,48px);gap:5px;display:grid}.dpad button,#brake{color:#345448;touch-action:none;-webkit-user-select:none;user-select:none;background:#e2e7d9;border:1px solid #b9c7b7;border-radius:8px;font-size:21px}.dpad button[data-move=up]{grid-column:2}.dpad button[data-move=left]{grid-column:1}.dpad button[data-move=down]{grid-column:2}.dpad button[data-move=right]{grid-column:3}#brake{width:90px;height:68px;font-size:11px;font-weight:700}body.playing .intro{display:none}body.playing main{grid-template-columns:1fr;max-width:1100px;padding-top:20px}body.playing .game-shell{border-radius:12px;height:65dvh;min-height:320px}body.playing #viewport{min-height:0}body.playing .below{display:none}body.playing footer{margin-top:10px}body.playing #touch-controls{display:flex}body.playing .scene-header{left:25px}body.playing .game-shell{grid-column:1/-1}@media (width>=850px) and (pointer:fine){body.playing #touch-controls{display:none}body.playing .game-shell{height:72dvh}}@media (width<=850px){header{height:78px;padding:0 6%}.brand{font-size:12px}.brand small{font-size:6px}.header-actions{gap:8px}.header-actions .practice-tag{display:none}.quiet{padding:10px;font-size:10px}.quiet span{margin-left:3px}main{grid-template-columns:1fr;gap:20px;padding:23px 6% 0}.intro{padding:5px 0 0}.eyebrow{font-size:8px}h1{letter-spacing:-2.5px;margin:17px 0;font-size:48px}.intro p{font-size:12px;line-height:1.6}.intro p br{display:none}.intro-actions{margin:20px 0}.route-meta{gap:25px;margin:0 0 7px}.game-shell{border-radius:65px 8px 8px;min-height:330px}#viewport{min-height:330px}.scene-header{font-size:6px;left:37px}.scene-footer{font-size:6px;left:18px;right:18px}#toast{font-size:9px;bottom:40px}.below{flex-direction:column;gap:12px;margin:0;padding-top:18px}.below p span{font-size:10px}footer{flex-wrap:wrap;margin-top:20px;padding:20px 6%}.run-overlay h2{font-size:32px}body.playing main{gap:12px;padding:14px 4% 0}body.playing .game-shell{height:53dvh;min-height:290px}.hud{top:48px}.hud strong{font-size:20px}dialog{padding:28px 22px}}@media (height<=500px) and (orientation:landscape){body.playing header,body.playing footer{display:none}body.playing main{padding:0 115px;display:block}body.playing .game-shell{height:100dvh;min-height:0}body.playing #touch-controls{pointer-events:none;align-items:flex-end;padding:12px;position:fixed;inset:0}body.playing #touch-controls button{pointer-events:auto}.dpad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,32px)}#brake{width:80px}.hud{top:45px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.challenge-line{flex-direction:column;align-items:flex-start;gap:7px;margin:-17px 0 24px;display:flex}.challenge-line small{letter-spacing:.2px;color:#778a7b;font-size:8px}
