:root{font-family:Arial,Helvetica,sans-serif;color:#203a38;background:#f2f1e7;font-synthesis:none;--orange:#bc4a29;--ink:#17343c;--line:#d5dacc}*{box-sizing:border-box}body{margin:0}button,a,summary{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #ef9d4c;outline-offset:3px}[hidden]{display:none!important}.skip{position:fixed;top:8px;left:8px;background:white;padding:12px;transform:translateY(-150%);z-index:30}.skip:focus{transform:none}h1,h2,p{margin:0}.site-header,.shell,footer{width:min(1060px,calc(100% - 40px));margin:auto}.site-header{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-size:30px;font-weight:900;letter-spacing:-4px}.brand>span{color:var(--orange)}.brand small{letter-spacing:.13em;font-size:9px;margin-left:10px;vertical-align:middle}.site-header nav{display:flex;gap:25px;font-size:11px}.site-header nav a{padding:14px 0;text-decoration:none}.intro{display:flex;align-items:center;justify-content:space-between;padding:23px 0 19px}.eyebrow{font:700 9px/1.5 ui-monospace,monospace;letter-spacing:.12em}.intro .eyebrow{margin-bottom:5px;color:#657367}h1{font-size:42px;line-height:1;letter-spacing:-.055em}h1 em{font-style:normal;color:var(--orange)}.edition{font:10px/1.7 ui-monospace,monospace;text-align:right;color:#7b6e50}.layout{display:grid;grid-template-columns:minmax(0,500px) 300px;gap:28px;align-items:start;justify-content:center}.game{border:1px solid #17343c;border-radius:14px;overflow:hidden;background:#142b34;box-shadow:0 14px 30px #29413912;color:#f6ecd2;min-width:0}.game-top{height:40px;display:flex;align-items:center;gap:7px;padding:0 15px;border-bottom:1px solid #55716d45;font:9px ui-monospace,monospace;letter-spacing:.05em}.live-dot{width:6px;height:6px;border-radius:50%;background:#a9d587}.game-top>span:nth-child(2){margin-right:auto}.icon-button{min-height:30px;border:1px solid #7a999252;border-radius:5px;font-size:10px;padding:4px 8px;background:#ffffff06;color:#e5ead9}.icon-button:hover{background:#ffffff14}.hud{height:65px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 17px;gap:14px}.hud>div>span{display:block;font:8px ui-monospace,monospace;letter-spacing:.07em;color:#a3b8b3;margin-bottom:4px}.hud strong{font:800 24px/1 ui-monospace,monospace;letter-spacing:-.07em;white-space:nowrap}.hud strong>span{font-size:11px;font-weight:400;color:#7e9b99;letter-spacing:0}.hud .best{text-align:right}.hud .best strong{color:#ebc885;font-size:20px}.progress{height:3px;background:#35545b}.progress>div{height:100%;width:0;background:#efc36d;transition:width .15s linear}.stage{height:min(60vh,560px);min-height:370px;position:relative;background:#253d43;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;outline-offset:-4px!important}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:#102b3540;backdrop-filter:blur(2px)}.overlay-card{max-width:340px;width:100%;padding:26px 20px 23px;background:#f7f2df;border:1px solid #fff8dc;border-radius:12px;text-align:center;box-shadow:0 18px 55px #061d3a40;color:#203d42}.overlay .eyebrow{color:#9b543b;font-size:8px;margin-bottom:12px}.overlay h2{font-size:39px;line-height:1.02;letter-spacing:-.065em;margin-bottom:14px}.overlay-card>p:not(.eyebrow){font-size:12px;line-height:1.65;color:#5a6961}.primary{border:0;border-radius:7px;background:#ca5f37;color:#fff8e5;font-weight:800;min-height:48px;padding:13px 28px;margin-top:20px;min-width:185px;font-size:14px;box-shadow:0 4px 0 #924626}.primary:hover{background:#b94f29}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #924626}.primary>span{margin-left:15px}.overlay-card>p.start-tip{font:9px ui-monospace,monospace;margin-top:19px;color:#76816f}.result-numbers{display:flex;justify-content:center;align-items:baseline;gap:7px;margin:17px 0 0}.result-numbers strong{font:800 49px/1 ui-monospace,monospace;letter-spacing:-.08em;color:#1d454b}.result-numbers span{font:9px ui-monospace,monospace}.upgrade-strip{position:absolute;bottom:7px;left:10px;right:10px;display:flex;gap:5px;flex-wrap:wrap;pointer-events:none;justify-content:center}.upgrade-strip>span{font:700 7px ui-monospace,monospace;letter-spacing:.04em;border:1px solid #d8dbbb40;border-radius:3px;padding:4px 6px;background:#13343de6;color:#c6e7d3}.steering{height:57px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;border-top:1px solid #57737655}.steer{width:104px;height:41px;background:#28484f;color:#d0e8dc;border:1px solid #607e78;border-radius:7px;font-size:23px;display:flex;align-items:center;justify-content:center;gap:12px;touch-action:none;user-select:none}.steer span{font:9px ui-monospace,monospace;letter-spacing:.08em}.steer:hover,.steer.pressed{background:#496658;color:#fff9d5}.steering p{text-align:center;color:#92aea5;font-size:9px;line-height:1.5}.steering strong{font-weight:400;color:#c0d1c0}.game-bottom{min-height:43px;display:flex;align-items:center;gap:12px;border-top:1px solid #57737635;padding:8px 14px}.game-bottom p{font-size:10px;line-height:1.5;color:#b3c5b8;flex:1}.text-button{background:none;border:0;color:#eac78c;font-size:10px;padding:8px 0;min-height:30px;text-decoration:underline;text-underline-offset:3px}.brief{border:1px solid var(--line);border-radius:12px;padding:23px}.brief>.eyebrow{color:#7e806c;margin-bottom:15px}.brief h2{font-size:30px;line-height:1.05;letter-spacing:-.045em;margin-bottom:22px}.rule{display:flex;gap:12px;margin-bottom:20px}.rule-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;font-size:20px}.cyan{background:#d0e5dd;color:#366e76}.orange{background:#efd6bc;color:#a25131}.green{background:#dfE9c8;color:#4c7347}.rule p{font-size:11px;color:#68756b;line-height:1.6}.rule strong{display:block;font-size:12px;color:#2b463f;margin-bottom:3px}.finish-rule{border-top:1px solid var(--line);padding-top:18px}.finish-rule span{font:8px ui-monospace,monospace;color:#818269}.finish-rule strong{display:block;font-size:19px;margin:8px 0}.finish-rule p{font-size:11px;line-height:1.6;color:#6b7668}.help{border:1px solid var(--line);border-radius:8px;margin-top:15px;padding:0 16px}.help summary{cursor:pointer;font-size:11px;padding:15px 0}.help p{font-size:11px;line-height:1.6;margin-bottom:15px;color:#627366}.local-note{font-size:10px;line-height:1.6;color:#788170;margin:17px 5px}footer{display:flex;gap:25px;align-items:center;padding:27px 0;font-size:9px;color:#76806c}footer>a:first-child{font-weight:700;letter-spacing:.12em;text-decoration:none;color:#435a48}footer>a:last-child{margin-left:auto}.noscript{position:fixed;bottom:0;left:0;right:0;background:#17333b;color:white;padding:22px;text-align:center;z-index:50}@media(min-width:900px) and (max-height:850px){.stage{height:470px;min-height:0}.intro{padding:16px 0}.site-header{height:56px}.layout{grid-template-columns:minmax(0,500px) 300px}.hud{height:57px}}@media(max-width:800px){.layout{grid-template-columns:minmax(0,1fr)}.shell{max-width:520px}.site-header,footer{max-width:700px}.notes{display:grid;grid-template-columns:1fr}.stage{height:min(64vh,570px);min-height:370px}.intro{padding:16px 0}.intro h1{font-size:36px}.notes{margin-top:0}.brief h2{font-size:28px}.rule p{font-size:12px}.notes .brief{padding:22px}.rule strong{font-size:13px}}@media(max-width:480px){.site-header,.shell,footer{width:calc(100% - 22px)}.site-header{height:48px}.site-header nav{font-size:10px;gap:18px}.brand{font-size:27px}.intro{padding:12px 2px 11px}.intro .eyebrow{font-size:7px;margin-bottom:4px}h1,.intro h1{font-size:32px}.edition{font-size:8px}.game{border-radius:10px}.game-top{height:34px;padding:0 10px;font-size:7px;gap:5px}.icon-button{font-size:9px;padding:4px 6px;min-height:27px}.hud{height:52px;padding:0 12px;gap:8px}.hud strong{font-size:22px}.hud>div>span{font-size:7px}.hud .best strong{font-size:17px}.stage{height:calc(100svh - 320px);min-height:355px;max-height:560px}.overlay{padding:20px}.overlay-card{padding:25px 14px 21px;max-width:288px}.overlay h2{font-size:37px}.overlay-card>p:not(.eyebrow){font-size:11px}.steering{height:53px;padding:5px 9px}.steer{height:40px;width:92px}.game-bottom{min-height:40px;padding:6px 11px}.game-bottom p{font-size:9px}.steering p{font-size:8px}.layout{gap:17px}.notes .brief{display:none}.help{margin-top:0}.local-note{margin:12px 5px}.primary{min-height:47px}.result-numbers strong{font-size:43px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Short landscape gets side controls, so the whole road remains in view. */
@media (orientation:landscape) and (max-height:500px) and (min-width:560px){
  .site-header,.shell,footer{width:calc(100% - 16px);max-width:1000px}
  .site-header{height:44px}.intro{padding:10px 4px}.intro h1{font-size:28px}.intro .eyebrow{font-size:8px}.edition{font-size:9px}
  .layout{display:block}.game{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,min(38vw,calc((100svh - 16px)*.78))) minmax(145px,1fr);grid-template-rows:88px minmax(0,1fr) 3px 48px;height:calc(100svh - 16px);min-height:0;scroll-margin-block-start:8px;border-radius:10px}
  .game-top{grid-column:1;grid-row:1;height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px 12px;border-bottom:0;font-size:10px;text-align:center}
  .game-top .live-dot{display:none}.game-top>span:nth-child(2){grid-column:1/-1;margin-right:0;line-height:1.3}.icon-button{min-height:42px;font-size:12px;padding:5px}
  .hud{grid-column:1;grid-row:2;height:auto;min-height:0;grid-template-columns:1fr 1fr;gap:12px;padding:8px 16px;align-content:center}.hud>div>span{font-size:9px;line-height:1.3}.hud strong{font-size:26px}.hud .best{text-align:left}.hud .best strong{font-size:24px}.progress{grid-column:1;grid-row:3;margin-inline:16px}
  .stage{grid-column:2;grid-row:1/5;height:100%;min-height:0;max-height:none;border-inline:1px solid #55716d55}
  .steering{grid-column:3;grid-row:1/3;height:auto;min-height:0;flex-direction:column;justify-content:center;gap:8px;padding:9px 12px;border:0}.steer{width:100%;height:48px;min-height:48px;font-size:26px;gap:12px}.steer span{font-size:11px}.steering p{font-size:11px;line-height:1.35}
  .game-bottom{grid-column:3;grid-row:3/5;min-height:0;display:contents}.game-bottom p{grid-column:1;grid-row:4;margin:0;padding:5px 12px;font-size:10px;line-height:1.2;align-self:center}.game-bottom .text-button{grid-column:3;grid-row:4;align-self:stretch;min-height:44px;padding:4px 12px;font-size:12px;text-align:center}
  .overlay{padding:8px}.overlay-card{padding:14px 10px;max-width:100%;max-height:100%;overflow:auto;border-radius:8px}.overlay .eyebrow{font-size:8px;letter-spacing:.06em;line-height:1.2;margin-bottom:8px}.overlay h2{font-size:27px;line-height:1;letter-spacing:-.05em;margin-bottom:9px}.overlay-card>p:not(.eyebrow){font-size:11px;line-height:1.35}.overlay .primary{min-width:0;width:100%;min-height:44px;margin-top:11px;padding:10px 8px;font-size:13px}.overlay-card>p.start-tip{font-size:8px;line-height:1.3;margin-top:10px}.result-numbers{margin-top:9px;gap:5px}.result-numbers strong{font-size:32px}.result-numbers span{font-size:8px}
  .upgrade-strip{left:4px;right:4px;bottom:5px;gap:3px}.upgrade-strip>span{font-size:8px;letter-spacing:0;padding:3px 4px}.notes{margin-top:16px}.notes .brief{display:none}.help{margin-top:0}
}
