:root{font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,system-ui,sans-serif;color:#29444d;background:#d8e6e4;font-synthesis:none;-webkit-font-smoothing:antialiased;font-weight:600}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:3px solid #ecaa38;outline-offset:3px}button:disabled{opacity:.36;cursor:default}svg{width:23px;height:23px;flex-shrink:0}header{height:86px;position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:15px max(24px,calc((100vw - 950px)/2));z-index:4;background:#d8e6e4}.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:#28676b;color:#fff4c8;border-radius:16px;box-shadow:0 4px #a8c4bd}.brand-mark svg{width:29px;height:29px}.brand{flex:1;white-space:nowrap}h1{font-size:28px;line-height:1.05;margin:0;font-weight:850;letter-spacing:-1px}.brand p{font-size:11px;margin:7px 0 0;color:#62817e;font-weight:600}.brand p span{padding:0 4px}.round{border-radius:50%;width:38px;height:38px;display:grid;place-items:center;background:#eef4e9;font-size:23px}.round:hover{background:#fff9dc}.muted{opacity:.5;position:relative}.muted:after{content:"";height:2px;width:26px;background:#29444d;position:absolute;transform:rotate(-45deg)}#stage{position:absolute;inset:86px 0 98px}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:pointer}#bay-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.bay-label{position:absolute;top:0;left:0;background:#fdfbea;color:#54756f;font-size:12px;border-radius:20px;padding:4px 9px;white-space:nowrap;box-shadow:0 2px #9aaca465;font-weight:800}.bay-label small{font-size:10px;font-weight:700}.bay-label.occupied{background:#fffdf3;color:#293f4a}.bay-label span{font-size:13px}#top-stats{position:absolute;top:3px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;width:min(480px,calc(100vw - 28px));padding:10px 20px;background:#f8f8edeb;border-radius:19px;box-shadow:0 3px #acc4bc80;pointer-events:none}#top-stats>div{display:flex;flex-direction:column;gap:3px}#top-stats>div:last-child{text-align:right}#top-stats strong{font-size:18px;font-weight:850}#top-stats span{font-size:10px;color:#74867f}.next-up{text-align:center}.next-up strong{display:flex;align-items:center;gap:5px;justify-content:center;font-size:15px!important}.color-badge{display:inline-grid!important;place-items:center;background:var(--color);color:#183d53!important;text-shadow:0 1px 0 #ffffff70;width:25px;height:25px;border-radius:8px;font-size:17px!important;box-shadow:inset 0 -2px #00000018;flex-shrink:0}#zoom{position:absolute;right:max(14px,calc((100vw - 820px)/2));bottom:46px;display:flex;flex-direction:column;gap:5px}#zoom button{display:grid;place-items:center;width:37px;height:37px;border-radius:13px;background:#fffbeaeb;box-shadow:0 3px #9cb5ab66;font-size:24px}#zoom svg{width:18px;height:18px}#toast{position:absolute;bottom:3px;left:50%;transform:translate(-50%);font-size:12px;color:#4b7067;text-align:center;max-width:calc(100vw - 90px);width:500px;pointer-events:none;line-height:1.4;background:#d8e6e4dc;border-radius:14px;padding:7px 12px}footer{position:absolute;bottom:0;left:0;right:0;height:98px;padding:5px 14px max(6px,env(safe-area-inset-bottom));background:#d8e6e4;z-index:4}.toolbar{max-width:440px;margin:auto;display:flex;gap:8px}.toolbar button{flex:1;background:#fcf9e9;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 6px 7px;box-shadow:0 4px #a9c0b4;font-size:11px;transition:transform .12s}.toolbar button:not(:disabled):hover{background:#fff2bc;transform:translateY(-2px)}.toolbar #hint{background:#f4d777}.footnote{display:flex;justify-content:center;gap:16px;font-size:9px;color:#728b80;padding-top:10px}.footnote button{font-size:9px;text-decoration:underline;padding:0}dialog{border:0;border-radius:25px;background:#fffbee;color:#29444d;padding:25px;width:min(470px,calc(100vw - 28px));max-height:82dvh;box-shadow:0 20px 100px #17393c33}dialog::backdrop{background:#284a536b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-top .round{flex-shrink:0}h2{margin:0;font-size:25px;letter-spacing:-.7px}.eyebrow{display:block;font-size:11px;color:#728881;margin-bottom:6px}dialog p,dialog li{font-size:13px;line-height:1.65;color:#648078}dialog ol{padding-left:21px}dialog li{padding-left:4px;margin-bottom:14px}dialog strong{color:#29444d}.primary,#result-action{background:#28676b;color:#fffbea;border-radius:13px;padding:13px 20px;box-shadow:0 3px #194b51}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.dialog-actions>button{padding:12px 16px;border-radius:12px}#queue-summary{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px 0 19px;flex-wrap:wrap}#queue-summary>span:not(.color-badge){font-size:12px;margin-right:6px}#queue-batches{display:grid;gap:7px;max-height:49dvh;overflow:auto;padding-right:6px}.batch{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f0f1e6;border-radius:12px;font-size:13px}.batch.front{background:#e2eedc;outline:2px solid #adc3a0;outline-offset:-2px}.batch-order{width:36px;font-size:11px;color:#7a8b81}.batch>b{flex:1}.batch>span:last-child{font-size:15px}#vehicles-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:55dvh;overflow:auto}#vehicles-grid button{text-align:left;display:flex;gap:8px;align-items:center;background:#eef0e3;border-radius:12px;padding:10px 8px}#vehicles-grid button:hover{background:#f4dda0}#vehicles-grid b{font-size:12px;display:block}#vehicles-grid small{display:block;font-size:9px;color:#76867b;margin-top:4px}#result{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:min(330px,calc(100vw - 40px));padding:27px;text-align:center;border-radius:26px;background:#fffbeef5;box-shadow:0 15px 80px #395d5650;z-index:3}#result[hidden]{display:none}.result-icon{display:grid;place-items:center;color:#28676b;margin-bottom:10px}.result-icon svg{width:42px;height:42px}#result p{font-size:13px;line-height:1.6;color:#6c8177}#result h2{font-size:25px}.finished #result:before,.finished #result:after{content:"✦";position:absolute;color:#e9b530;font-size:55px;top:-32px;left:-12px;transform:rotate(-15deg)}.finished #result:after{left:auto;right:-9px;top:40px;color:#ed8990;font-size:38px;transform:rotate(15deg)}@media(max-width:600px){header{height:77px;padding:10px 16px;gap:9px}h1{font-size:24px}.brand p{font-size:9px;margin-top:5px}.brand-mark{width:42px;height:42px;border-radius:14px}.round{width:33px;height:33px}.brand p span{padding:0 2px}#stage{top:77px;bottom:99px}#top-stats{padding:8px 13px;width:calc(100vw - 24px)}#top-stats strong{font-size:16px}.next-up strong{font-size:13px!important}.color-badge{width:22px;height:22px;font-size:14px!important}#top-stats span{font-size:9px}.bay-label{font-size:10px;padding:3px 6px}.bay-label small{font-size:8px}.bay-label span{font-size:10px}#toast{font-size:10px;bottom:0;max-width:calc(100vw - 45px)}#zoom{right:10px;bottom:41px}#zoom button{width:33px;height:33px}.toolbar{max-width:390px}.brand p{max-width:210px;overflow:hidden}dialog{padding:20px}}@media(max-height:650px){header{height:65px}#stage{top:65px;bottom:87px}footer{height:87px}.brand p{display:none}.toolbar button{padding:6px}#top-stats{padding:5px 14px}#toast{font-size:10px}.bay-label{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}#confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}#confetti i{position:absolute;top:-20px;left:var(--x);width:9px;height:16px;border-radius:3px;animation:celebrate 2.8s var(--delay) ease-out both}@keyframes celebrate{0%{transform:translateY(-20px) rotate(0);opacity:1}90%{opacity:1}to{transform:translate(var(--drift),75vh) rotate(560deg);opacity:0}}@media(prefers-reduced-motion:reduce){#confetti{display:none}}#queue-summary .queue-total{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}@media(min-width:900px){#top-stats{position:fixed;top:15px;left:calc(50% + 100px);width:400px;z-index:5}}@media(max-width:899px){header{height:61px;padding-top:7px;padding-bottom:7px}#stage{top:118px}#game{height:calc(100% - 48px)}#top-stats{position:fixed;top:61px;z-index:5}#zoom{right:12px;bottom:1px;flex-direction:row}#zoom button{width:44px;height:44px}#toast{left:12px;transform:none;bottom:0;width:calc(100vw - 174px);max-width:none;min-height:46px;padding:3px 0;display:flex;align-items:center;text-align:left}}@media(min-width:900px){#toast{width:300px;font-size:11px;padding:5px 10px}}#play-screen[hidden],#world-map[hidden]{display:none!important}@media(max-width:600px){#play-screen header .brand-mark{display:none}#play-screen header h1{font-size:22px}#play-screen header .brand p{font-size:10px}}#fit span{display:none}@media(max-width:600px){:root{--phone-top:env(safe-area-inset-top,0px);--phone-bottom:env(safe-area-inset-bottom,0px)}#play-screen header{height:calc(56px + var(--phone-top));padding:calc(6px + var(--phone-top)) 12px 6px;gap:8px}#play-screen header .round{width:44px;height:44px;flex-shrink:0}#play-screen header h1{font-size:20px}#play-screen header .brand p{font-size:10px;margin-top:3px}#top-stats{top:calc(56px + var(--phone-top));padding:6px 12px;border-radius:14px;min-height:49px}#top-stats span{font-size:10px;color:#526960}#top-stats strong{font-size:17px}.next-up strong{font-size:14px!important}#stage{top:calc(110px + var(--phone-top));bottom:calc(94px + var(--phone-bottom))}footer{height:calc(94px + var(--phone-bottom));padding-bottom:calc(5px + var(--phone-bottom))}.toolbar button{font-size:12px;min-height:54px;padding:7px 5px;gap:3px}.footnote{font-size:10px;padding-top:0;align-items:center;min-height:30px}.footnote button{font-size:11px;min-height:30px;padding:3px 10px}.bay-label{font-size:12px;padding:4px 7px;color:#36584e}.bay-label small{font-size:10px}.bay-label span{font-size:13px}#zoom{right:10px;gap:5px}#zoom button{width:44px;height:44px}#zoom #fit{width:66px;gap:2px;align-content:center}#fit span{display:block;font-size:9px;line-height:1}#toast{font-size:11px;width:calc(100vw - 189px);color:#35594d}.dialog-top .round{width:44px;height:44px}#vehicles-grid button{min-height:54px}#vehicles-grid b{font-size:13px}#vehicles-grid small{font-size:11px;color:#52685c}}@media(max-width:359px){#play-screen header h1{font-size:17px}#play-screen header{gap:5px;padding-left:8px;padding-right:8px}#top-stats{width:calc(100vw - 16px)}#toast{font-size:10px}}#world-map{position:fixed;inset:0;z-index:20;overflow:auto;overscroll-behavior:contain;background:#d8e6e4;color:#29444d;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));-webkit-overflow-scrolling:touch}#world-map[hidden]{display:none}#world-map .world-shell{width:min(100%,620px);margin:auto}#world-map .world-header{text-align:center;margin:0 auto 27px}#world-map .world-brand{display:flex;align-items:center;justify-content:center;gap:12px}#world-map .world-brand-icon{width:45px;height:45px;display:grid;place-items:center;background:#28676b;color:#fff0bc;border-radius:15px;box-shadow:0 4px #aec6bb;transform:rotate(-5deg)}#world-map .world-brand-icon svg{width:29px;height:29px}#world-map h1{font-size:34px;line-height:1.1;letter-spacing:-1.5px;font-weight:850;margin:0}#world-map .world-header p{margin:12px 0 0;font-size:13px;color:#56766f;font-weight:600}#world-map .world-map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 17px;margin:0 0 12px}#world-map h2{font-size:18px;line-height:1.3;letter-spacing:-.45px;margin:0}#world-map .world-completion{font-size:11px;color:#5c776b;white-space:nowrap}#world-map .world-landscape{position:relative;width:100%;aspect-ratio:600/1040;isolation:isolate}#world-map .world-scenery{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}#world-map .world-stops{position:absolute;inset:0}#world-map .world-location{position:absolute;transform:translate(-50%);width:206px;max-width:48%}#world-map .world-location-1{left:29%;top:18.3%}#world-map .world-location-2{left:69%;top:45.1%}#world-map .world-stop{display:flex;position:relative;flex-direction:column;align-items:center;width:100%;border:2px solid #fffdf0;border-radius:21px;background:#fffbec;padding:25px 9px 10px;box-shadow:0 5px #a3b697,0 8px 17px #66816f20;color:#29444d;text-align:center;transition:transform .15s,box-shadow .15s;line-height:1.25;min-height:122px}#world-map .world-stop:enabled:hover{transform:translateY(-3px);box-shadow:0 8px #a3b697,0 12px 22px #66816f25}#world-map .world-stop:enabled:active{transform:translateY(3px);box-shadow:0 2px #a3b697}#world-map .world-stop:focus-visible{outline:3px solid #28676b;outline-offset:5px}#world-map .world-stop-number{position:absolute;top:-24px;left:50%;transform:translate(-50%);width:45px;height:45px;display:grid;place-items:center;border:4px solid #fffbec;border-radius:50%;background:#e5ba57;color:#29444d;font-size:21px;font-weight:850;box-shadow:0 3px #d0c59e}#world-map .world-stop-number svg{width:24px;height:24px}#world-map .world-stop-name{font-size:18px;letter-spacing:-.5px;font-weight:850}#world-map .world-stop-progress{font-size:10px;color:#607365;margin-top:5px;white-space:nowrap}#world-map .world-stop-action{background:#28676b;color:#fffbea;border-radius:10px;display:block;width:100%;padding:8px 12px;margin-top:10px;font-size:13px;font-weight:800}#world-map .is-complete .world-stop-number{background:#28676b;color:#fffbea}#world-map .is-current .world-stop:enabled{border-color:#e6bd60}#world-map .is-locked .world-stop{opacity:1;cursor:default;background:#eaf0db;border-color:#f1f3e5;box-shadow:0 5px #a9bc9c;min-height:122px}#world-map .is-locked .world-stop-number{background:#c2cdb5;border-color:#f1f3e5;color:#637763;box-shadow:0 3px #adbea1}#world-map .is-locked .world-stop-name{color:#5c715f}#world-map .is-locked .world-stop-action{background:#d6dfc9;color:#62765e}#world-map .world-hint{text-align:center;font-size:12px;line-height:1.6;color:#59786f;margin:16px auto 0;max-width:320px}@media(min-width:700px){#world-map .world-shell{width:min(100%,max(360px,min(620px,calc((100dvh - 200px)*.57692))))}}@media(max-width:600px){#world-map{padding-top:max(24px,env(safe-area-inset-top))}#world-map .world-header{margin-bottom:27px}#world-map h1{font-size:30px}#world-map .world-brand{gap:10px}#world-map .world-header p{font-size:12px}#world-map .world-map-heading{padding:0 5px;margin-bottom:20px}#world-map h2{font-size:17px}#world-map .world-location{width:178px;max-width:49%}#world-map .world-location-1{left:27%;top:18.3%}#world-map .world-location-2{left:72%;top:45.1%}#world-map .world-stop{padding:21px 7px 8px;min-height:112px;border-radius:18px}#world-map .world-stop-name{font-size:16px}#world-map .world-stop-progress{font-size:9px;letter-spacing:-.1px}#world-map .world-stop-action{font-size:12px;padding:7px 9px;margin-top:8px}#world-map .world-stop-number{width:39px;height:39px;top:-22px;font-size:18px}#world-map .world-stop-number svg{width:21px;height:21px}#world-map .is-locked .world-stop{min-height:112px}#world-map .world-hint{font-size:11px;margin-top:26px}}@media(max-width:350px){#world-map{padding-left:12px;padding-right:12px}#world-map .world-stop-name{font-size:14px}#world-map .world-stop-progress{font-size:8px}#world-map .world-hint{max-width:240px}}@media(prefers-reduced-motion:reduce){#world-map .world-stop{transition:none}}#world-map .world-location-3{left:29%;top:81%}
