.routing-game{letter-spacing:normal;font-variation-settings:normal;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100svh;font-size:16px;line-height:normal}.routing-game :where(h2,h3,strong,b){font-weight:700}.routing-game :where(p){margin-block:1em}.routing-game :where(svg){display:inline}.routing-game :where(dialog){margin:auto}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/routing-game/fonts/dm-sans-latin.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/routing-game/fonts/manrope-latin.woff2)format("woff2")}.routing-game{color:#253c33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--green:#087f72;--ink:#253c33;--muted:#7a847a;--line:#e1e6dc;--paper:#fafbf7;background:#f5f5f0;font-family:DM Sans,sans-serif;font-weight:400}.routing-game *{box-sizing:border-box}.routing-game{min-width:360px;margin:0}.routing-game button,.routing-game a{-webkit-tap-highlight-color:transparent}.routing-game button{font:inherit;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s,border-color .18s}.routing-game button:active:not(:disabled){transform:translateY(1px)}.routing-game button:disabled{cursor:not-allowed}.routing-game button:focus-visible,.routing-game a:focus-visible{outline-offset:4px;outline:3px solid #73b8ff}.routing-game a{color:inherit;text-decoration:none}.routing-game button svg{flex-shrink:0}.routing-game kbd{font-family:inherit}.routing-game button{color:inherit}.routing-game svg{vertical-align:middle}.routing-game .app-shell{max-width:1600px;margin:0 auto;padding:0 48px}.routing-game .site-header{border-bottom:1px solid var(--line);align-items:center;gap:25px;height:94px;display:flex}.routing-game .brand{align-items:center;gap:10px;display:flex}.routing-game .brand>span{letter-spacing:-1px;font-family:Manrope,sans-serif;font-size:22px;font-weight:800}.routing-game .brand>span>span{color:#728277;font-weight:450}.routing-game .brand img{border-radius:11px}.routing-game .header-center{letter-spacing:1.5px;color:#687a6d;align-items:center;gap:25px;font-size:10px;font-weight:600;display:flex}.routing-game .header-divider{background:#d4dbd0;width:1px;height:21px}.routing-game .how-to-button{background:0 0;border:1px solid #dce2d6;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.routing-game .how-to-button:hover{background:#eaf0e5}.routing-game .intro{justify-content:space-between;align-items:center;gap:24px;padding:35px 0 34px;display:flex}.routing-game .eyebrow{letter-spacing:1.65px;color:#667b6b;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.routing-game .tiny-line{background:var(--green);width:21px;height:2px}.routing-game h1{letter-spacing:-2px;margin:9px 0;font-family:Manrope,sans-serif;font-size:clamp(29px,3vw,45px);font-weight:750;line-height:1.3}.routing-game h1>span{color:var(--green)}.routing-game .intro p{color:#788376;margin:0;font-size:13px}.routing-game .mobile-break{display:none}.routing-game .intro-aside{color:#7c897c;align-self:flex-end;padding-bottom:3px;font-size:12px;line-height:1.9}.routing-game .puzzle-label{letter-spacing:1.3px;color:#6f806d;align-items:center;gap:7px;margin-bottom:7px;font-size:8px;font-weight:700;display:flex}.routing-game .status-dot{background:#84a983;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.routing-game .challenge-bar{justify-content:space-between;align-items:center;gap:15px;min-height:63px;display:flex}.routing-game .challenge-tabs{border:0;align-items:center;gap:6px;margin:0;padding:0;display:flex}.routing-game .challenge-tab{color:#7a877a;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;font-weight:600;display:flex}.routing-game .challenge-tab.active{color:#344e37;background:#e7eddf;border-color:#d5dfcf}.routing-game .challenge-tab:hover:not(.active){background:#eeefe6}.routing-game .challenge-tab small{opacity:.8;font-size:10px;font-weight:400}.routing-game .challenge-number{opacity:.6;font-size:9px;font-weight:500}.routing-game .main-tag{letter-spacing:.6px;border:1px solid #dbdfd3;border-radius:4px;margin-left:1px;padding:3px 5px;font-size:7px;font-weight:700}.routing-game .challenge-description{color:#7a8778;text-align:right;font-size:11px}.routing-game .game-frame{background:var(--paper);isolation:isolate;border:1px solid #dfe5d9;border-radius:15px;grid-template-columns:minmax(0,1fr) 284px;display:grid;position:relative;overflow:hidden;box-shadow:0 7px 25px #293e2710}.routing-game .board{background:var(--paper);flex-direction:column;min-width:0;min-height:clamp(510px,100dvh - 360px,660px);display:flex;position:relative}.routing-game .board-topline{color:#879080;letter-spacing:1.25px;justify-content:space-between;align-items:center;gap:15px;padding:22px 25px 0;font-size:8px;font-weight:650;display:flex}.routing-game .board-topline>span:first-child{align-items:center;gap:7px;display:flex}.routing-game .board-seed{color:#a3aa9b;letter-spacing:.9px;font-size:7px}.routing-game .board-seed>span{margin:0 8px}.routing-game .route-board{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:calc(100% - 120px);min-height:0;display:block;position:absolute;top:40px;overflow:visible}.routing-game .board-guides{fill:none;stroke:#ccd5c5;stroke-width:1px}.routing-game .board-guides text{stroke:none;fill:#aeb7a5;letter-spacing:2px;font-size:8px}.routing-game .route-layer{transition:opacity .15s}.routing-game .vehicle-route{transition:opacity .2s}.routing-game .direction-arrow{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.routing-game .segment-hit{fill:none;stroke:#0000;stroke-width:23px;cursor:grab;pointer-events:stroke;vector-effect:non-scaling-stroke}.routing-game .is-dragging .segment-hit,.routing-game .is-dragging .customer,.routing-game .is-dragging .depot{cursor:grabbing}.routing-game .customer{cursor:grab;outline:none}.routing-game .customer-hit{fill:#0000}.routing-game .node-shadow{fill:#23382d0c}.routing-game .node-body{r:calc(12px * var(--node-scale,1));fill:#fdfefa;stroke:#aab8a5;stroke-width:1.5px;transition:fill .16s,stroke .16s,stroke-width .16s,r .16s}.routing-game .node-label{font-family:DM Sans,sans-serif;font-size:calc(10px * var(--node-scale,1));fill:#62745c;pointer-events:none;font-weight:550}.routing-game .customer.assigned .node-body{fill:var(--node-color);stroke:var(--paper);stroke-width:3px}.routing-game .customer.assigned .node-label{fill:#fff;font-weight:650}.routing-game .customer:not(.selected).assigned{opacity:.8}.routing-game .customer:hover .node-body,.routing-game .customer:focus-visible .node-body{stroke:var(--node-color);stroke-width:3px;r:calc(14px * var(--node-scale,1))}.routing-game .customer.assigned:hover .node-body{stroke:#fff}.routing-game .customer:focus-visible .customer-hit{stroke:#408ae1;stroke-width:2px;stroke-dasharray:4 3}.routing-game .customer.drag-source{opacity:.55}.routing-game .snap-ring{fill:#087f720d;stroke-width:2px;stroke-dasharray:4 3;animation:.15s ease-out routing-game-snap-in}.routing-game .snap-ring.invalid{fill:#c3483610}.routing-game .drop-target .node-body{r:calc(14px * var(--node-scale,1));stroke-width:3px}.routing-game .sequence-badge circle{fill:var(--paper);stroke:var(--node-color);stroke-width:.65px}.routing-game .sequence-badge text{fill:var(--node-color);font-size:8px;font-weight:600}.routing-game .depot{cursor:grab}.routing-game .depot-body{fill:#294d3c;stroke:#fff;stroke-width:3px;filter:drop-shadow(0 4px 3px #233e2922);transition:fill .2s}.routing-game .depot:hover .depot-body{fill:var(--green)}.routing-game .depot-label{letter-spacing:1.25px;fill:#59714f;font-size:9px;font-weight:700}.routing-game .preview-layer{animation:.15s routing-game-appear}.routing-game .preview-layer path{animation:1s linear infinite routing-game-march}.routing-game .drag-tether path{fill:none;stroke-width:3px;stroke-dasharray:6 5;stroke-linejoin:round}.routing-game .board-hint{white-space:nowrap;pointer-events:none;background:#fffffff0;border:1px solid #e3e8db;border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 70px);padding:12px 13px;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%);box-shadow:0 3px 16px #2e492a09}.routing-game .board-hint>div{flex-direction:column;gap:4px;display:flex}.routing-game .board-hint strong{font-size:11px;font-weight:600}.routing-game .board-hint>div>span{color:#7e8b77;font-size:10px}.routing-game .hint-icon{color:var(--green);background:#edf4e8;border-radius:7px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.routing-game .hint-dismiss{pointer-events:auto;color:#9aa490;background:0 0;border:none;place-items:center;margin-left:5px;padding:5px;display:grid}.routing-game .hint-dismiss:hover{color:var(--green)}.routing-game .drag-hint{color:#3c6741;background:#eff7ec;border-color:#cbdcc2;gap:9px;font-size:12px}.routing-game .drag-hint kbd{color:#8a9a7e;border-left:1px solid #d1dfc8;margin-left:8px;padding-left:10px;font-size:9px}.routing-game .invalid-hint{color:#b5412f;background:#fff1ed;border-color:#f0c8bf}.routing-game .board-bottomline{color:#8a9580;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:0 25px 20px;font-size:9px;display:flex}.routing-game .board-bottomline>span{align-items:center;gap:7px;display:flex}.routing-game .board-bottomline>span:last-child{letter-spacing:1.2px;font-size:7px}.routing-game .legend-node{border:1px solid #a9b7a0;border-radius:50%;width:7px;height:7px;display:inline-block}.routing-game .legend-route{width:14px;height:2px;margin-left:8px;display:inline-block}.routing-game .fleet-panel{border-left:1px solid var(--line);background:#fffefa;flex-direction:column;padding:22px 21px 19px;display:flex}.routing-game .score-block .eyebrow{letter-spacing:1.1px;justify-content:space-between;font-size:8px}.routing-game .score-block .eyebrow svg{color:#98a38b}.routing-game .total-score{letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:10px 0 4px;font-family:Manrope,sans-serif;font-size:47px;font-weight:650;line-height:1.3}.routing-game .total-score>span{letter-spacing:0;color:#929985;margin-left:8px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:400}.routing-game .score-caption{color:#718168;font-size:11px}.routing-game .assignment-block{margin-top:18px;margin-bottom:18px}.routing-game .assignment-block>div:first-child{color:#8b927f;justify-content:space-between;align-items:center;font-size:10px;display:flex}.routing-game .assignment-block>div:first-child>span{align-items:center;gap:4px;display:flex}.routing-game .assignment-block strong{font-variant-numeric:tabular-nums;color:#5b7055;font-size:12px;font-weight:600}.routing-game .assignment-block strong>span{color:#98a08e;font-size:10px;font-weight:400}.routing-game .assignment-track{background:#edf0e6;border-radius:10px;height:4px;margin-top:10px;overflow:hidden}.routing-game .assignment-track>div{background:#88ab7e;border-radius:10px;height:100%;transition:width .28s}.routing-game .assignment-block.complete>div:first-child{color:var(--green)}.routing-game .assignment-block.complete .assignment-track>div{background:var(--green)}.routing-game .fleet-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.routing-game .fleet-heading h2{margin:0;font-size:12px;font-weight:650}.routing-game .fleet-heading>span{color:#949b89;font-size:9px}.routing-game .vehicle-list{flex-direction:column;gap:6px;display:flex}.routing-game .vehicle-card{text-align:left;background:#fffefa;border:1px solid #e8eade;border-radius:9px;align-items:center;gap:9px;width:100%;padding:9px 10px;display:flex;position:relative}.routing-game .vehicle-card.active{background:color-mix(in srgb, var(--vehicle-color) 5%, #fffefa);border-color:color-mix(in srgb, var(--vehicle-color) 40%, #fffefa);box-shadow:inset 2px 0 0 var(--vehicle-color)}.routing-game .vehicle-card:hover{border-color:var(--vehicle-color)}.routing-game .vehicle-icon{background:color-mix(in srgb, var(--vehicle-color) 9%, #fffefa);width:31px;height:33px;color:var(--vehicle-color);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.routing-game .vehicle-details{flex-direction:column;flex:1;min-width:0;display:flex}.routing-game .vehicle-name{align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.routing-game .selected-indicator{background:var(--vehicle-color);border-radius:100%;width:4px;height:4px}.routing-game .vehicle-capacity{color:#75816a;white-space:nowrap;align-items:center;gap:5px;margin-top:2px;font-size:10px;display:flex}.routing-game .full-tag{color:var(--vehicle-color);background:color-mix(in srgb, var(--vehicle-color) 10%, white);border-radius:3px;padding:1px 3px;font-size:7px}.routing-game .capacity-track{gap:2px;max-width:108px;height:3px;margin-top:7px;display:flex}.routing-game .capacity-track>i{background:#e3e7d9;border-radius:1px;flex:1;transition:background .2s}.routing-game .capacity-track>i.filled{background:var(--vehicle-color)}.routing-game .vehicle-distance{color:#657b5c;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;font-weight:600;display:flex}.routing-game .vehicle-distance>small{color:#9ca38f;font-size:8px;font-weight:400}.routing-game .vehicle-shortcut{color:#b4bca8;opacity:0;font-size:6px;position:absolute;top:4px;right:6px}.routing-game .vehicle-card:hover .vehicle-shortcut{opacity:1}.routing-game .fleet-spacer{flex:1;min-height:16px}.routing-game .compare-prompt{text-align:center;color:#6b7e62;margin-bottom:11px;font-size:10px}.routing-game .primary-button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 12px;font-size:11px;font-weight:550;display:flex;box-shadow:0 2px 3px #087f7210}.routing-game .primary-button:hover:not(:disabled){background:#096d61;box-shadow:0 4px 10px #087f7222}.routing-game .primary-button:disabled{color:#8c9c7d;box-shadow:none;background:#e7eddf;border-color:#e7eddf}.routing-game .compare-button{gap:6px;padding:13px 8px;font-size:11px}.routing-game .compare-block p{text-align:center;color:#758368;margin:10px 0 0;font-size:10px}.routing-game .game-toolbar{justify-content:space-between;align-items:center;gap:15px;padding:15px 3px 18px;display:flex}.routing-game .editing-tools{align-items:center;gap:5px;display:flex}.routing-game .tool-button{color:#75816b;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.routing-game .tool-button:hover:not(:disabled){color:#375c37;background:#e7eddf}.routing-game .tool-button:disabled{color:#b6bcae}.routing-game .toolbar-divider{background:#d8dfd0;width:1px;height:14px;margin:0 6px}.routing-game .toolbar-note{color:#8b9581;align-items:center;gap:7px;font-size:9px;display:flex}.routing-game .toolbar-note>.status-dot{width:4px;height:4px}.routing-game .below-game{border-top:1px solid var(--line);color:#8c9783;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 28px;font-size:10px;display:flex}.routing-game .below-game p{margin:0}.routing-game .below-game p>span{color:#62745a;font-weight:550}.routing-game .below-game a{color:#608267;align-items:center;gap:8px;font-size:10px;display:flex}.routing-game .below-game a:hover{color:var(--green)}.routing-game .site-footer{color:#98a18f;justify-content:space-between;align-items:center;gap:20px;padding:16px 0 24px;font-size:9px;display:flex}.routing-game .site-footer strong{color:#7c8e74;font-weight:550}.routing-game .site-footer>span:last-child{letter-spacing:1.3px;font-size:7px}.routing-game .toast{opacity:0;pointer-events:none;color:#fff;z-index:10;text-align:center;background:#294737;border:1px solid #446951;border-radius:9px;max-width:90vw;padding:13px 22px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);box-shadow:0 6px 30px #203e2926}.routing-game .toast.visible{opacity:1;transform:translate(-50%)}.routing-game .comparison-panel{border-left:1px solid var(--line);background:#fffefa;flex-direction:column;padding:24px 21px;animation:.55s both routing-game-reveal;display:flex}.routing-game .comparison-symbol{color:#69944c;background:#eaf1df;border-radius:14px;place-items:center;width:45px;height:45px;margin-bottom:17px;display:grid}.routing-game .comparison-panel>.eyebrow{letter-spacing:1px;font-size:7px}.routing-game .comparison-panel>h2{letter-spacing:-.8px;margin:10px 0;font-family:Manrope,sans-serif;font-size:23px;font-weight:650;line-height:1.3}.routing-game .comparison-description{color:#748368;margin:0 0 17px;font-size:11px;line-height:1.7}.routing-game .savings-card{color:#456e36;background:#edf3e5;border:1px solid #dbe7cc;border-radius:10px;flex-direction:column;gap:5px;padding:17px 16px;display:flex}.routing-game .savings-value{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-family:Manrope,sans-serif;font-size:46px;font-weight:650;line-height:1.15}.routing-game .savings-value small{letter-spacing:-1px;margin-left:2px;font-size:27px}.routing-game .savings-card strong{font-size:11px;font-weight:600}.routing-game .savings-card>span:last-child{color:#829775;font-size:9px}.routing-game .comparison-switch{background:#f1f2e9;border:0;border-radius:7px;gap:3px;min-width:0;margin:18px 0 12px;padding:4px;display:flex}.routing-game .comparison-switch button{color:#9a9f8b;background:0 0;border:0;border-radius:5px;flex:1;padding:7px 4px;font-size:10px}.routing-game .comparison-switch button.active{color:#526e44;background:#fffefa;box-shadow:0 1px 5px #35472c12}.routing-game .comparison-distances{flex-direction:column;gap:12px;display:flex}.routing-game .comparison-distances>div{color:#849174;justify-content:space-between;align-items:center;font-size:10px;display:flex}.routing-game .comparison-distances>div>span{align-items:center;gap:6px;display:flex}.routing-game .comparison-distances strong{font-variant-numeric:tabular-nums;color:#576f49;font-size:13px;font-weight:600}.routing-game .comparison-distances small{color:#9ba48f;margin-left:4px;font-size:8px;font-weight:400}.routing-game .player-dot,.routing-game .optimizer-dot{background:#adbaa1;border-radius:100%;width:5px;height:5px}.routing-game .optimizer-dot{background:var(--green)}.routing-game .demo-note{color:#829072;margin:17px 0;font-size:10px;line-height:1.65}.routing-game .comparison-actions{flex-direction:column;gap:9px;margin-top:auto;display:flex}.routing-game .comparison-fleet{white-space:nowrap;align-items:center;gap:7px;display:flex;position:absolute;bottom:47px;left:50%;transform:translate(-50%)}.routing-game .comparison-fleet>span{color:#829072;margin-right:3px;font-size:10px}.routing-game .comparison-fleet button{color:var(--vehicle-color);background:#fffefa;border:1px solid #e0e6d8;border-radius:7px;align-items:center;gap:5px;padding:7px 10px;font-size:10px;display:flex}.routing-game .comparison-fleet button:hover,.routing-game .comparison-fleet button[aria-pressed=true]{border-color:var(--vehicle-color);background:color-mix(in srgb, var(--vehicle-color) 8%, #fffefa)}.routing-game .challenge-hard .score-caption{display:none}.routing-game .challenge-hard .total-score{margin:7px 0 0;font-size:39px}.routing-game .challenge-hard .assignment-block{margin-top:15px;margin-bottom:16px}.routing-game .challenge-hard .fleet-spacer{min-height:12px}.routing-game .comparison-actions .primary-button{font-size:11px}.routing-game .text-button{color:#68805b;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:6px;font-size:10px;display:flex}.routing-game .text-button:hover{color:var(--green)}.routing-game .restart-link{color:#97a188;padding:1px;font-size:9px}.routing-game .show-comparison .route-layer{animation:.7s both routing-game-reveal-routes}.routing-game .is-readonly .customer,.routing-game .is-readonly .depot{cursor:default}.routing-game .optimization-scan{pointer-events:none;position:absolute;inset:0 284px 0 0;overflow:hidden}.routing-game .optimization-scan:after{content:"";background:linear-gradient(90deg,#0000,#087f7214);border-right:1px solid #087f7233;width:25%;height:100%;animation:1.1s ease-in-out infinite routing-game-scan;position:absolute;top:0;left:-25%}.routing-game .spinner{border:1.5px solid #bcccae;border-top-color:#5e7b4c;border-radius:100%;width:14px;height:14px;animation:1s linear infinite routing-game-spin}.routing-game .help-dialog{width:calc(100vw - 32px);max-width:500px;color:var(--ink);background:#fffefa;border:1px solid #d8e2cf;border-radius:20px;padding:28px 32px;box-shadow:0 20px 90px #21392030}.routing-game .help-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#263d3355}.routing-game .help-header{justify-content:space-between;align-items:center;display:flex}.routing-game .icon-button{background:0 0;border:0;border-radius:6px;place-items:center;padding:6px;display:grid}.routing-game .icon-button:hover{background:#ecf0e6}.routing-game .help-dialog h2{letter-spacing:-1px;margin:15px 0 10px;font-family:Manrope,sans-serif;font-size:28px}.routing-game .help-dialog p{color:#829077;font-size:12px;line-height:1.7}.routing-game .help-step{gap:16px;margin-top:23px;display:flex}.routing-game .help-step>span{color:#acba9e;font-family:Manrope,sans-serif;font-size:13px}.routing-game .help-step h3{margin:0;font-size:13px}.routing-game .help-step p{margin:6px 0 0;font-size:11px}.routing-game .help-step svg{width:100%;height:70px;margin-top:8px}.routing-game .help-shortcuts{color:#8d9980;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 15px;font-size:9px;display:grid}.routing-game .help-shortcuts>span{align-items:center;gap:6px;display:flex}.routing-game .help-shortcuts kbd{color:#5b7250;border:1px solid #e0e6d7;border-radius:4px;padding:3px 5px;font-size:8px}.routing-game .help-dialog .keyboard-note{color:#9ba78f;margin-bottom:20px;font-size:9px}@keyframes routing-game-appear{0%{opacity:0}to{opacity:1}}@keyframes routing-game-snap-in{0%{r:32;opacity:0}to{r:25;opacity:1}}@keyframes routing-game-march{to{stroke-dashoffset:-24px}}@keyframes routing-game-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes routing-game-reveal-routes{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur()}}@keyframes routing-game-spin{to{transform:rotate(360deg)}}@keyframes routing-game-scan{to{left:100%}}@media (width>=1500px){.routing-game .board{min-height:clamp(580px,100dvh - 360px,730px)}.routing-game .game-frame{grid-template-columns:minmax(0,1fr) 310px}.routing-game .fleet-panel,.routing-game .comparison-panel{padding:30px 25px}.routing-game .vehicle-card{padding:14px 11px}.routing-game .optimization-scan{right:310px}}@media (width<=1190px){.routing-game .app-shell{padding:0 28px}.routing-game .intro-aside,.routing-game .challenge-description{display:none}.routing-game .board{min-height:clamp(510px,100dvh - 315px,640px)}.routing-game .game-frame{grid-template-columns:minmax(0,1fr) 265px}.routing-game .board-hint{max-width:calc(100% - 30px);padding:10px;bottom:53px}.routing-game .board-hint>div>span{font-size:9px}.routing-game .board-hint strong{font-size:10px}.routing-game .board-seed{display:none}.routing-game .optimization-scan{right:265px}.routing-game .fleet-panel,.routing-game .comparison-panel{padding:23px 17px}.routing-game .board-bottomline>span:last-child{display:none}.routing-game .intro{padding:28px 0 22px}}@media (width<=850px){.routing-game .app-shell{padding:0 20px}.routing-game .site-header{gap:17px;height:76px}.routing-game .brand>span{font-size:19px}.routing-game .header-center{letter-spacing:1px;gap:17px;font-size:8px}.routing-game .intro{padding-top:25px}.routing-game h1{letter-spacing:-1.4px;font-size:32px}.routing-game .game-frame{grid-template-columns:minmax(0,1fr) 230px}.routing-game .fleet-panel,.routing-game .comparison-panel{padding:20px 13px}.routing-game .board{min-height:560px}.routing-game .board-hint{white-space:normal;width:calc(100% - 28px);bottom:55px}.routing-game .hint-icon{display:none}.routing-game .board-hint>div>span{line-height:1.6}.routing-game .board-topline{padding:20px 18px 0;font-size:7px}.routing-game .board-bottomline{padding:0 18px 20px}.routing-game .compare-button{gap:5px;font-size:9px}.routing-game .compare-button svg{width:15px}.routing-game .vehicle-card{gap:6px;padding:10px 7px}.routing-game .vehicle-icon{width:27px}.routing-game .vehicle-name,.routing-game .vehicle-distance{font-size:10px}.routing-game .vehicle-capacity{font-size:8px}.routing-game .toolbar-note{display:none}.routing-game .below-game{align-items:flex-start}.routing-game .below-game p{max-width:55%;line-height:1.8}.routing-game .below-game a{white-space:nowrap;padding-top:4px;font-size:9px}.routing-game .optimization-scan{right:230px}.routing-game .comparison-panel>h2{font-size:21px}}@media (width<=650px){.routing-game .app-shell{padding:0 15px}.routing-game .site-header{height:72px}.routing-game .header-center{display:none}.routing-game .brand>span{font-size:20px}.routing-game .brand img{width:31px;height:31px}.routing-game .how-to-button{gap:6px;padding:8px 10px;font-size:10px}.routing-game .intro{padding:25px 0 18px}.routing-game .intro .eyebrow{letter-spacing:1.3px;font-size:7px}.routing-game h1{letter-spacing:-1.4px;margin-top:12px;font-size:32px;line-height:1.25}.routing-game .mobile-break{display:block}.routing-game .intro p{max-width:290px;margin-top:12px;font-size:11px;line-height:1.7}.routing-game .challenge-bar{min-height:62px}.routing-game .challenge-tabs{gap:3px;width:100%}.routing-game .challenge-tab{flex:1;justify-content:center;gap:6px;padding:10px 7px;font-size:11px}.routing-game .challenge-tab small{font-size:8px}.routing-game .challenge-number,.routing-game .main-tag{display:none}.routing-game .game-frame{grid-template-columns:minmax(0,1fr);overflow:hidden}.routing-game .board{min-height:410px}.routing-game .route-board{min-height:330px}.routing-game .board-topline{padding:17px 15px 0;font-size:7px}.routing-game .board-hint{white-space:normal;width:auto;min-width:80%;padding:8px 11px;bottom:44px}.routing-game .board-hint>div{gap:3px}.routing-game .board-hint strong{font-size:9px}.routing-game .board-hint>div>span{font-size:9px;line-height:1.5}.routing-game .board-bottomline{padding:0 15px 16px;font-size:8px}.routing-game .board-guides{display:none}.routing-game .fleet-panel{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;column-gap:20px;padding:20px;display:grid}.routing-game .score-block{grid-column:1}.routing-game .total-score{margin-top:6px;font-size:37px}.routing-game .score-caption{font-size:8px}.routing-game .score-block .eyebrow{letter-spacing:.8px;font-size:7px}.routing-game .assignment-block{grid-area:1/2;align-self:center;margin:15px 0 0}.routing-game .fleet-heading{grid-column:1/-1;margin:24px 0 10px}.routing-game .vehicle-list{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.routing-game .vehicle-card{min-height:63px;padding:10px 9px}.routing-game .vehicle-details{max-width:110px}.routing-game .vehicle-list>.vehicle-card:only-child{grid-column:1/-1}.routing-game .vehicle-distance{margin-left:auto}.routing-game .vehicle-icon{width:27px}.routing-game .vehicle-capacity{font-size:8px}.routing-game .compare-block{grid-column:1/-1;margin-top:20px}.routing-game .compare-prompt{font-size:10px}.routing-game .compare-button{padding:14px;font-size:12px}.routing-game .compare-button svg{width:18px}.routing-game .compare-block p{font-size:9px}.routing-game .fleet-spacer{display:none}.routing-game .tool-button{gap:5px;padding:7px 8px;font-size:9px}.routing-game .tool-button svg{width:14px}.routing-game .toolbar-divider{margin:0 2px}.routing-game .editing-tools{gap:0}.routing-game .game-toolbar{padding:10px 0 15px}.routing-game .below-game{gap:12px;padding:15px 0 16px}.routing-game .below-game p{max-width:57%;font-size:9px}.routing-game .below-game a{white-space:normal;max-width:35%;font-size:8px;line-height:1.6}.routing-game .site-footer{padding:12px 0 22px;font-size:8px}.routing-game .site-footer>span:last-child{display:none}.routing-game .comparison-panel{border-left:0;border-top:1px solid var(--line);padding:24px}.routing-game .comparison-panel>h2{font-size:26px}.routing-game .comparison-panel>.eyebrow{font-size:8px}.routing-game .comparison-description{font-size:12px}.routing-game .savings-card{margin-top:3px}.routing-game .savings-card strong{font-size:13px}.routing-game .savings-card>span:last-child{font-size:11px}.routing-game .comparison-distances>div{font-size:12px}.routing-game .comparison-switch button{font-size:11px}.routing-game .demo-note{font-size:10px}.routing-game .comparison-actions .primary-button{font-size:12px}.routing-game .comparison-actions .text-button{font-size:11px}.routing-game .optimization-scan{height:410px;bottom:auto;right:0}.routing-game .drag-hint{min-width:85%;font-size:10px}.routing-game .drag-hint kbd{display:none}.routing-game .help-dialog{padding:23px}.routing-game .help-dialog h2{font-size:26px}}@media (height<=900px) and (width>=651px){.routing-game .site-header{height:76px}.routing-game .intro{padding:22px 0 19px}.routing-game .challenge-bar{min-height:57px}.routing-game .board{min-height:clamp(510px,100dvh - 285px,620px)}.routing-game .challenge-hard .fleet-panel{padding-top:18px;padding-bottom:16px}.routing-game .challenge-hard .vehicle-card{padding:6px 8px}.routing-game .challenge-hard .capacity-track{margin-top:5px}.routing-game .challenge-hard .compare-prompt{display:none}.routing-game .challenge-hard .assignment-block{margin-top:10px;margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.routing-game *,.routing-game :before,.routing-game :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
