@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f4ed;--ink:#193c35;--muted:#737b73;--red:#b9373c;--gold:#e8c780;--line:#deded1;font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #d99b36;outline-offset:4px}a{color:inherit;text-decoration:none}button{touch-action:manipulation}button svg{pointer-events:none}.page-shell{width:min(1232px,calc(100% - 80px));margin:0 auto}.topbar{height:73px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:800;letter-spacing:1.5px}.brand-star{font-size:28px;color:var(--red);line-height:1}.home-arrow{font-size:17px;margin-left:9px;color:#8a8e7e}.edition{font-size:10px;letter-spacing:2px;color:#7f8476}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:31px 0 29px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;margin:0 0 10px;color:#8d7960}.eyebrow>span{color:var(--red);margin-right:5px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.8px;font-size:clamp(30px,3.8vw,49px);line-height:1.13;margin:0}h1 em{color:var(--red);font-weight:400}.intro{color:var(--muted);font-size:13px;margin:11px 0 0;line-height:1.5}.record{display:flex;gap:13px;align-items:center;flex-shrink:0;padding:0 8px 0 24px;border-left:1px solid var(--line)}.record svg{width:28px;height:34px;fill:none;stroke:#ac8b4e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.record span{font-size:9px;letter-spacing:1.3px;color:#838473}.record strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;margin-top:3px}.game-frame{border:1px solid #163a43;border-radius:14px;overflow:hidden;box-shadow:0 16px 38px -25px #18382e70}.game-topline{height:39px;background:#102d3c;color:#c5d2d4;display:flex;align-items:center;justify-content:space-between;padding:0 23px;font-size:9px;letter-spacing:1.5px}.game-topline>span:first-child{display:flex;align-items:center;gap:8px}.game-topline i{width:5px;height:5px;background:#e2c376;border-radius:50%;box-shadow:0 0 7px #e2c37670}.game-topline button{background:none;border:0;color:#d2dedb;font-size:10px;letter-spacing:.3px;padding:9px 0 9px 14px}.stage{position:relative;width:100%;aspect-ratio:1200/620;background:#112d43;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;inset:22px 24px auto;display:flex;justify-content:space-between;align-items:flex-start;color:#fff6dd;pointer-events:none;text-shadow:0 2px 6px #0a2339}.hud-score,.hud-right{width:130px}.hud-score>span{display:block;font-size:9px;letter-spacing:2px;color:#bdd0d5}.hud-score>strong{display:block;font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.hud-score small{font-size:10px;color:#c7d9dc}.hud-score small b{font-weight:400}.hud-center{display:flex;align-items:center;flex-direction:column;gap:9px}.timer{font-variant-numeric:tabular-nums;font-size:17px;letter-spacing:2px;line-height:1;padding:9px 18px;background:#0a253c80;border:1px solid #ffffff25;border-radius:30px}.timer.urgent{color:#ffb5a5;border-color:#ffb5a570}.combo{font-size:8px;letter-spacing:1.5px;color:#edcf8c}.hud-right{display:flex;align-items:flex-end;flex-direction:column;gap:10px}.pause-button{pointer-events:auto;width:34px;height:34px;border-radius:50%;border:1px solid #ffffff45;background:#102b4080;color:#fff4d9;display:grid;place-items:center}.pause-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:2}.wind{font-size:8px;letter-spacing:1px;color:#cadbdc}.scene-note{position:absolute;bottom:16px;left:24px;right:24px;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:12px;color:#f3f5ee;text-shadow:0 2px 5px #122839;pointer-events:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:70px 20px 24px;background:#06203915}.overlay[hidden]{display:none}.overlay-card{width:366px;padding:22px 27px 20px;text-align:center;color:#faf5e5;background:#102d42e8;border:1px solid #b9d2d13d;border-radius:14px;box-shadow:0 10px 50px #031c3b40;backdrop-filter:blur(10px)}.card-star{font-size:23px;color:var(--gold)}.card-eyebrow{font-size:8px;letter-spacing:1.7px;color:#e3c88c;margin:11px 0}.overlay-card h2{font:400 31px/1.1 Georgia,serif;letter-spacing:-.5px;margin:0 0 14px}.overlay-card>p:not(.card-eyebrow):not(.card-footnote){font-size:12px;line-height:1.7;color:#c8d7da;margin:0 0 19px}.primary-button{border:1px solid #e36b66;border-radius:7px;background:var(--red);color:#fff9e8;padding:13px 23px;font-weight:600;font-size:13px;box-shadow:0 3px 0 #7c2529;min-height:44px}.primary-button:hover{background:#cb4145}.overlay-card .primary-button{width:100%}.card-footnote{font-size:9px;color:#a6bdc4;line-height:1.5;margin:13px -8px 0}.results{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 17px;gap:7px}.results[hidden]{display:none}.results strong{font-family:Georgia,serif;font-weight:400;font-size:24px;display:block;color:#f4d595}.results span{font-size:8px;letter-spacing:.7px;color:#bfced1}.controls{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;background:#fcfaf4;gap:14px}.steering-controls{display:flex;gap:8px;align-items:center}.steer-button{background:#f2f1e8;border:1px solid #d8dccd;border-radius:8px;color:#345147;width:43px;height:44px;font-size:23px;line-height:1;touch-action:none;user-select:none}.steer-button:hover,.steer-button.is-held{background:#dce5d7}.control-description{margin-left:9px;display:flex;flex-direction:column;gap:6px;font-size:10px;color:#879084}.control-description strong{font-size:11px;color:#345147;font-weight:600}kbd{font-family:inherit;font-size:8px}.control-description kbd{font-size:9px}.drop-button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff6e6;border:1px solid #a42b32;border-radius:8px;box-shadow:0 3px 0 #8d2b30;padding:11px 17px;font-size:12px;font-weight:600;min-height:44px;touch-action:none;user-select:none}.drop-button:hover{background:#c54145}.drop-button:active{transform:translateY(2px);box-shadow:0 1px 0 #8d2b30}.drop-button svg{width:20px;height:20px;fill:none;stroke:#f8e3b9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drop-button kbd{font-size:8px;margin-left:5px;border:1px solid #ffffff35;padding:3px 5px;border-radius:3px;color:#f3d2c7;font-weight:400}.game-bottomline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 23px;border-top:1px solid #e7e7db;background:#f2f1e8;color:#7d897d;font-size:10px;min-height:40px}.game-bottomline label{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.game-bottomline input{accent-color:#39705b;margin:0;width:13px;height:13px}.game-bottomline button{background:none;border:0;color:#3d5b4c;font-size:10px;padding:4px 0}.game-bottomline button span{padding-left:4px}#feedback{text-align:center}.play-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:28px 2px 27px}.play-tips article{display:flex;gap:13px}.tip-number{font:italic 22px Georgia,serif;color:#b9a17b}.play-tips h2{font:400 16px Georgia,serif;letter-spacing:-.2px;margin:1px 0 7px}.play-tips p{font-size:11px;line-height:1.75;color:#7b8379;margin:0}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 26px;border-top:1px solid var(--line);font-size:10px;color:#8b8c7e}footer a{color:#536c5c}.footer-stars{color:#b69b6e;font-size:13px}dialog{border:1px solid #d8dccd;border-radius:14px;padding:33px;max-width:490px;width:calc(100% - 32px);color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #0d253870}dialog::backdrop{background:#071c2acc;backdrop-filter:blur(5px)}dialog h2{font:400 29px/1.1 Georgia,serif;margin:15px 0 22px}dialog p:not(.eyebrow){font-size:13px;line-height:1.7;color:#5d7068}dialog .primary-button{margin-top:8px}.dialog-close{position:absolute;right:12px;top:8px;width:35px;height:35px;font-size:26px;background:none;border:0;color:#5d7068}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fallback{text-align:center;padding:20px}.fatal{color:#f9d8b0!important}
@media(min-width:1500px){.masthead{padding:38px 0}.stage{aspect-ratio:1200/620}}
@media(max-width:900px){.page-shell{width:calc(100% - 40px)}h1{font-size:36px}.record{padding-left:18px}.record svg{width:23px}.record span{font-size:8px}.play-tips{gap:19px}.control-description{margin-left:5px}}
@media(max-width:620px){.page-shell{width:calc(100% - 24px)}.topbar{height:53px}.brand{font-size:10px;letter-spacing:1.1px;gap:8px}.brand-star{font-size:24px}.edition{font-size:7px;letter-spacing:1px;max-width:93px;text-align:right;line-height:1.6}.home-arrow{display:none}.masthead{padding:22px 2px 21px;align-items:flex-end;gap:8px}.eyebrow{font-size:6.7px;letter-spacing:1.2px;line-height:1.8;margin-bottom:6px}h1{font-size:34px;letter-spacing:-1px;max-width:260px;line-height:1.02}h1 em{display:block}.intro{font-size:10px;line-height:1.6;max-width:230px;margin-top:9px}.record{padding-left:10px;padding-bottom:2px;border-left:0;gap:0;align-self:center}.record svg{display:none}.record span{font-size:6px;letter-spacing:.7px}.record strong{font-size:25px}.game-frame{border-radius:10px}.game-topline{padding:0 13px;height:33px;font-size:7px;letter-spacing:.8px}.game-topline>span:first-child{gap:5px}.game-topline button{font-size:8px;padding-left:5px}.stage{aspect-ratio:1/1.1;max-height:510px}.hud{inset:15px 14px auto}.hud-score,.hud-right{width:88px}.hud-score>span{font-size:7px}.hud-score>strong{font-size:29px}.hud-score small{font-size:8px}.hud-center{gap:8px}.timer{font-size:14px;padding:8px 13px}.combo{font-size:6.5px;letter-spacing:.8px;white-space:nowrap}.pause-button{width:31px;height:31px}.wind{font-size:6px;letter-spacing:.5px}.overlay{padding:78px 17px 20px}.overlay-card{width:310px;padding:18px 20px 17px}.overlay-card h2{font-size:27px}.card-eyebrow{font-size:7px;letter-spacing:1px;margin:10px -3px}.overlay-card>p:not(.card-eyebrow):not(.card-footnote){font-size:10px;line-height:1.65;margin-bottom:16px}.card-star{font-size:18px}.card-footnote{font-size:8px}.primary-button{font-size:12px;padding:11px 18px}.scene-note{bottom:12px;font-size:10px;left:14px;right:14px}.controls{padding:13px;gap:10px}.steer-button{width:44px;height:46px}.steering-controls{gap:7px}.control-description{display:none}.drop-button{padding:11px 13px;min-width:151px;min-height:46px;font-size:12px;gap:8px}.drop-button kbd{display:none}.game-bottomline{padding:9px 13px;flex-wrap:wrap;gap:7px;font-size:9px}.game-bottomline button{font-size:9px}#feedback{order:3;flex-basis:100%;font-size:9px;border-top:1px solid #e1e2d5;padding-top:8px;margin-top:1px}.play-tips{grid-template-columns:1fr;gap:17px;padding:25px 9px}.play-tips h2{font-size:16px;margin-top:0;margin-bottom:4px}.play-tips p{font-size:11px;max-width:300px}.tip-number{font-size:22px}.play-tips article{gap:15px}footer{font-size:8px;padding:18px 2px;gap:6px}.footer-stars{display:none}dialog{padding:27px 22px}dialog h2{font-size:26px}.results strong{font-size:23px}}
@media(max-width:350px){.page-shell{width:calc(100% - 16px)}h1{font-size:30px}.masthead{gap:3px}.record span{font-size:5.5px}.record strong{font-size:22px}.stage{aspect-ratio:1/1.22}.overlay{padding:77px 12px 16px}.overlay-card{padding:14px 15px}.overlay-card h2{font-size:25px}.steer-button{width:40px}.drop-button{min-width:140px}.game-topline{padding:0 9px}.game-topline>span:first-child{font-size:6px}}
@media(max-height:550px) and (min-width:621px){.topbar{height:42px}.masthead{padding:13px 0}.masthead h1{font-size:28px}.intro{display:none}.masthead .eyebrow{font-size:7px;margin-bottom:5px}.record strong{font-size:23px}.stage{aspect-ratio:1200/530}.overlay{padding-top:56px;padding-bottom:8px}.overlay-card{padding:14px 23px;width:350px}.card-star{display:none}.overlay-card h2{font-size:25px;margin-bottom:10px}.overlay-card>p:not(.card-eyebrow):not(.card-footnote){font-size:10px;margin-bottom:10px}.card-footnote{margin-top:10px;font-size:8px}.card-eyebrow{margin-top:0}.controls{padding:10px 17px}.play-tips{padding-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.game-help-actions{display:flex;gap:16px;white-space:nowrap}.delivery-guide{border-top:1px solid var(--line);padding:28px 2px 25px}.guide-intro{max-width:760px}.delivery-guide h2,.delivery-faq h2{font:400 28px/1.2 Georgia,serif;letter-spacing:-.5px;margin:0 0 13px}.delivery-guide p,.delivery-faq p{font-size:13px;line-height:1.8;color:#63756a;margin:0}.guide-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:24px}.guide-columns h3{font:400 19px Georgia,serif;margin:0 0 9px}.delivery-faq{border-top:1px solid var(--line);padding:25px 2px}.delivery-faq h2{font-size:25px;margin-bottom:18px}.delivery-faq details{border-top:1px solid var(--line);padding:13px 0}.delivery-faq details:last-child{border-bottom:1px solid var(--line)}.delivery-faq summary{font-size:13px;font-weight:600;cursor:pointer;line-height:1.7;padding:3px 0}.delivery-faq details p{padding:10px 0 3px;max-width:850px}.delivery-faq summary:focus-visible{outline:3px solid #d99b36;outline-offset:4px}.page-shell .site-related{width:100%;max-width:none;margin:28px auto;background:#f3f1e7;border-color:var(--line);border-radius:12px}.page-shell .site-related .site-related-list{grid-template-columns:repeat(3,minmax(0,1fr))}.page-shell .site-related .site-related-title{font:400 25px Georgia,serif;color:var(--ink)}.page-shell .site-related .site-related-list a{background:#fcfaf4;border-color:#d9dece;color:#345b49}.page-shell .site-related .site-related-list a:hover{background:#f8f6eb}.page-shell .site-related .site-related-list span{font-size:12px;color:#6e7b70}.page-shell .site-related .site-related-category{color:#345b49;font-size:12px}.audio-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;font-size:13px}.audio-setting strong{display:block;font-weight:600}.audio-setting small{display:block;font-size:11px;line-height:1.6;color:#748174;margin-top:5px}.audio-setting input{accent-color:#39705b;width:20px;height:20px;flex-shrink:0}.audio-channels{border:1px solid var(--line);border-radius:9px;padding:7px 16px 17px;margin:10px 0 19px}.audio-channels legend{font-size:10px;padding:0 6px;color:#6d806e}.audio-volume{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:11px;color:#58715f;gap:8px;padding:0 0 10px}.audio-volume input{width:100%;accent-color:#39705b;min-height:24px;margin:0}.audio-volume output{font-variant-numeric:tabular-nums}#audio-dialog{max-height:calc(100dvh - 32px);overflow:auto}#audio-dialog h2{margin-bottom:14px}#audio-dialog #audio-note{font-size:12px}
@media(max-width:620px){.game-help-actions{gap:15px}.delivery-guide{padding:24px 8px}.delivery-guide h2{font-size:25px}.delivery-guide p,.delivery-faq p{font-size:12px}.guide-columns{grid-template-columns:1fr;gap:20px;margin-top:20px}.guide-columns h3{font-size:19px}.delivery-faq{padding:23px 8px}.delivery-faq h2{font-size:24px}.delivery-faq summary{font-size:12px}.page-shell .site-related{padding:15px;margin:23px auto}.page-shell .site-related .site-related-list{grid-template-columns:1fr;gap:14px}.page-shell .site-related .site-related-list a{padding:12px}.audio-channels{padding-left:12px;padding-right:12px}}
.powerup-status{font-size:9px;letter-spacing:.7px;background:#c9efd9;color:#173f37;border:1px solid #e8e7bd;border-radius:20px;padding:5px 8px;white-space:nowrap}.powerup-status[hidden]{display:none}.drop-button{position:relative;overflow:hidden;min-width:182px}#drop-readiness{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#f4d58d;pointer-events:none;transform-origin:left;will-change:transform}#drop-label{display:grid;white-space:nowrap}#drop-label>span{grid-area:1/1}#drop-label:not(.is-cooling) .drop-cooling-copy,#drop-label.is-cooling .drop-ready-copy{visibility:hidden}#bonus-results{font-size:10px!important;margin:0 0 12px!important;color:#edd6a3!important}#bonus-results[hidden]{display:none}.bonus-guide{padding-top:22px;border-top:1px solid var(--line)}#help-dialog{max-height:calc(100dvh - 32px);overflow:auto}@media(max-width:620px){.drop-button{min-width:164px;padding-left:10px;padding-right:10px;gap:7px}.powerup-status{font-size:7px;padding:4px 6px}.bonus-guide{margin-top:23px;padding-top:23px}}@media(max-width:350px){.drop-button{min-width:157px;font-size:11px}}

/* Route choice belongs to the opening game screen. */
.route-picker{border:0;padding:0;margin:0 0 15px;min-width:0;text-align:left}
.route-picker[hidden],.route-return[hidden]{display:none}
.route-picker legend{font-size:9px;letter-spacing:1.2px;color:#e3c88c;margin-bottom:8px}
.route-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.route-options label{display:flex;align-items:flex-start;gap:7px;padding:10px 8px;border:1px solid #7c979b;border-radius:8px;cursor:pointer;background:#0a223680}
.route-options label:has(input:checked){border-color:#e8c780;background:#29494d}
.route-options input{accent-color:#e8c780;margin:2px 0 0;flex-shrink:0}
.route-options strong{display:block;font-size:11px;font-weight:600;line-height:1.4}
.route-options small{display:block;font-size:9px;line-height:1.5;color:#c8d7da;margin-top:4px}
.route-picker p{font-size:9px;line-height:1.5;color:#c8d7da;margin:9px 0 0;min-height:27px}
.route-return{display:block;width:100%;border:1px solid #7c979b;border-radius:7px;background:transparent;color:#e4e9dd;font-size:11px;min-height:40px;padding:8px;margin-top:10px}
.route-return:hover{background:#29494d}
.overlay{overflow-y:auto;align-items:safe center}
.overlay-card{flex-shrink:0;max-width:100%}
.overlay-card:has(.route-picker:not([hidden])) .card-star{display:none}
.stage:has(.route-picker:not([hidden])){min-height:470px}
@media(max-width:620px){.overlay:has(.route-picker:not([hidden])){padding-top:76px;padding-bottom:14px}.route-options label{gap:5px;padding:9px 7px}.route-options strong{font-size:10px}.route-picker p{font-size:8px}.stage:has(.route-picker:not([hidden])){min-height:470px}}
