@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--navy:#142b45;--navy2:#213b56;--blue:#1783dc;--blue2:#0f6eb8;--gold:#ffcc43;--mint:#16a57a;--danger:#e64e59;--orange:#e8a63e;--ink:#20384c;--muted:#758796;--line:#e3eaf0;--surface:#fff;--bg:#edf4f0;--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--head:'Outfit',var(--font)}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font-family:var(--font);background:#12283f;color:var(--ink);-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.42;cursor:not-allowed}strong,b,h1,h2,h3{font-family:var(--head)}.hidden{display:none!important}.game{height:100dvh;min-height:460px;max-width:1800px;margin:auto;overflow:hidden;position:relative;background:var(--bg);isolation:isolate}.topbar{height:calc(108px + env(safe-area-inset-top));position:absolute;top:0;left:0;right:0;z-index:7;background:linear-gradient(110deg,#183651,#10283f 72%);color:white;padding:calc(12px + env(safe-area-inset-top)) 14px 9px;box-shadow:0 5px 22px #162c3854}.brand{display:flex;align-items:center;gap:8px}.brand-icon{height:37px;width:37px;display:grid;place-items:center;color:#172d3c;background:var(--gold);border-radius:11px;box-shadow:0 2px 0 #ce9e25}.brand-icon svg{width:27px;height:27px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:22px;letter-spacing:-.9px;font-weight:900}.brand strong span{color:var(--gold)}.brand small{letter-spacing:2.2px;font-size:8px;font-weight:800;color:#9eb8cf;margin-top:4px}.top-right{margin-left:auto;display:flex;gap:7px;align-items:center}.topbar>.brand{float:left}.topbar>.top-right{float:right}.stat-chip{border:1px solid #ffffff19;border-radius:13px;background:#29445f;padding:8px 10px;font-size:14px;display:flex;gap:5px;align-items:center}.stat-chip i{color:#9de5b6;font-style:normal}.top-icon{background:#2c4761;color:#e1ecf4;border:1px solid #ffffff17;border-radius:12px;height:37px;width:37px;font-size:19px;font-weight:800}.barrow{clear:both;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff20;margin-top:10px;padding-top:10px;gap:8px}.shift-label{font-weight:900;font-size:10px;letter-spacing:.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-dot{display:inline-block;width:7px;height:7px;background:#5fdfb5;border-radius:50%;box-shadow:0 0 10px #5fdfb566;margin-right:6px}.top-stats{display:flex;align-items:center;gap:11px;font-size:12px;color:#f9d978;white-space:nowrap}.top-stats b{color:#fff;font-size:12px}.world{position:absolute;top:calc(108px + env(safe-area-inset-top));bottom:calc(63px + env(safe-area-inset-bottom));left:0;right:0;overflow:hidden;background:#e4efe5}#city{height:100%;width:100%;display:block;background:#e7f0e7;touch-action:none;user-select:none;cursor:grab}#city:active{cursor:grabbing}.map-fade{position:absolute;top:0;left:0;right:0;height:55px;background:linear-gradient(#f4f8f2cc,transparent);pointer-events:none}.map-hint{position:absolute;top:13px;left:12px;display:flex;align-items:center;gap:5px;background:#fffffff2;box-shadow:0 3px 12px #30546d18;border:1px solid #e5efeb;border-radius:11px;padding:10px 12px;font-family:var(--head);font-weight:800;font-size:10px;letter-spacing:.45px;color:#4b6978}.hint-dot{height:7px;width:7px;border-radius:50%;background:#27a882}.hint-detail{color:#8ba1a9;font-weight:600}.calls-fab{position:absolute;right:12px;top:14px;z-index:3;background:linear-gradient(145deg,#1f96ec,#126cbd);border:2px solid #eaf8ff;color:white;border-radius:15px;padding:10px 11px;font-weight:900;letter-spacing:.5px;box-shadow:0 6px 14px #13548c66;display:flex;align-items:center;gap:7px;font-size:12px}.phone-icon{font-size:19px;line-height:14px}.calls-fab b{border-radius:15px;background:var(--danger);color:white;padding:3px 6px;min-width:21px;font-size:11px}.calls-fab.urgent{animation:urgent 1s infinite}@keyframes urgent{50%{box-shadow:0 4px 20px #e84354aa}}.map-controls{position:absolute;right:13px;bottom:62px;display:flex;flex-direction:column;gap:6px;z-index:3}.map-controls button{background:#ffffffed;border:1px solid #dfe9ec;box-shadow:0 2px 8px #37516933;color:#3e5e77;border-radius:12px;height:41px;width:41px;font-weight:800;font-size:22px}.map-foot{position:absolute;bottom:11px;left:12px;right:11px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:5px;font-family:var(--head);font-size:10px;letter-spacing:.45px;color:#526d7b}.map-foot>span:first-child{background:#fffdf9ed;border-radius:12px;padding:8px 10px;box-shadow:0 2px 10px #30465319}.signal{color:#20ba86}.tiny-guide{background:#fffdf9c9;padding:8px 8px;border-radius:12px;font-size:8px;font-weight:700}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:calc(63px + env(safe-area-inset-bottom));padding:7px 11px calc(8px + env(safe-area-inset-bottom));background:#182f49;z-index:7;display:flex;gap:8px;box-shadow:0 -3px 15px #0d263747}.nav-item{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;border:0;border-radius:12px;background:transparent;color:#b9cbdb;font-size:10px}.nav-item span{font-size:19px;line-height:18px;font-weight:900}.nav-item b{font-family:var(--head);letter-spacing:.3px;font-size:9px}.nav-item.active{background:#1e5282;color:#fff}.sheet-backdrop{position:absolute;inset:0;z-index:8;background:#0e213c53}.sheet{position:absolute;bottom:calc(63px + env(safe-area-inset-bottom));left:8px;right:8px;z-index:9;background:#fff;max-height:min(79%,800px);border-radius:22px 22px 13px 13px;box-shadow:0 -8px 40px #07213d55;display:flex;flex-direction:column;padding:0 17px 15px;animation:slideUp .16s ease-out}@keyframes slideUp{from{transform:translateY(25px);opacity:.5}to{transform:translateY(0);opacity:1}}.grabber{width:42px;height:4px;background:#d4dce0;border-radius:6px;margin:9px auto 12px;flex-shrink:0}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.eyebrow{font-family:var(--head);font-size:10px;font-weight:900;color:#6391a5;letter-spacing:1.6px}.sheet h2{font-size:23px;color:#1c364e;line-height:1.1;margin:3px 0 0}.close{height:34px;width:34px;border:0;border-radius:50%;background:#edf3f6;color:#597285;font-size:23px}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:0 2px 10px;min-height:80px}.section-title{font-family:var(--head);font-weight:900;color:#2b455c;font-size:13px;margin:16px 0 9px}.caption{font-size:12px;color:#8194a0;line-height:1.5}.call-card{border:1.5px solid #e3eaf0;background:#fff;border-radius:16px;padding:12px;margin:8px 0;box-shadow:0 3px 8px #152c4410;cursor:pointer}.call-card.selected{border-color:#4aacf0;background:#f0f8ff}.call-card.urgent{border-color:#e99a93}.call-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.call-top b{font-family:var(--head);font-size:14px}.call-row{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:7px;font-size:12px;color:#648093}.tag{padding:4px 8px;border-radius:100px;font-size:10px;font-weight:900;font-family:var(--head);white-space:nowrap}.tag.shared{background:#e9eeff;color:#6d64b9}.tag.solo{background:#fff1d6;color:#9f6d19}.tag.green{background:#e2f5eb;color:#23855a}.tag.red{background:#ffebeb;color:#b74e54}.bar{width:100%;height:7px;background:#e8eef2;border-radius:20px;overflow:hidden;margin-top:8px}.bar span{height:100%;display:block;border-radius:20px;transition:width .35s}.call-actions{display:flex;gap:7px;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;padding:11px 14px;font-family:var(--head);font-weight:900;font-size:12px;box-shadow:0 3px 8px #122c4510}.btn.primary{background:linear-gradient(135deg,#2594e8,#1169b7);color:white}.btn.gold{background:linear-gradient(135deg,#ffd65e,#ffbd32);color:#654409}.btn.neutral{background:#edf3f6;color:#35536e}.btn.danger{background:#fbe9e8;color:#bf444f}.btn.wide{width:100%}.pill-button{background:#fff;border:1px solid #dde8ec;color:#3a586d;font-size:12px;padding:9px 11px;border-radius:11px;font-weight:700}.pill-button.selected{border-color:#1885da;background:#e6f4ff;color:#0e6dab}.panel-row{display:flex;gap:12px;align-items:center}.avatar{width:49px;height:49px;border-radius:14px;background:linear-gradient(150deg,#ffe99b,#ffc341);display:grid;place-items:center;font-size:24px;flex-shrink:0}.panel-row strong{font-size:17px}.panel-row small{color:#8999a6;font-size:11px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.tile{background:#f1f6fa;padding:12px;border-radius:13px}.tile small{display:block;font-size:10px;color:#79909d;margin-bottom:5px}.tile b{font-size:16px;color:#243e57}.stop{display:flex;align-items:flex-start;gap:10px;padding:10px 4px;border-bottom:1px solid #edf2f6}.stop-mark{flex-shrink:0;height:25px;width:25px;border-radius:50%;display:grid;place-items:center;color:white;background:#23a77a;font-size:12px;font-weight:900}.stop-mark.drop{background:#8a62ca}.stop-main{flex:1}.stop-main b{display:block;font-size:13px}.stop-main small{display:block;color:#8594a0;font-size:11px;margin-top:3px}.stop .eta{color:#6b8697;font-size:11px}.option{border:1.5px solid #dfebf2;background:#fff;border-radius:15px;padding:13px;cursor:pointer;display:flex;align-items:flex-start;gap:9px;margin:9px 0}.option.selected{border-color:#278ed6;background:#edf8ff}.option input{accent-color:#208bda;margin-top:3px}.option b{font-size:14px}.option small{font-size:11px;color:#768d9d;line-height:1.4;display:block;margin-top:4px}.compare{background:#f4f8fa;border-radius:13px;padding:11px 13px;margin:12px 0}.compare div{display:flex;justify-content:space-between;gap:10px;margin:7px 0;font-size:12px}.compare b{color:#245069}.mini-alert{font-size:12px;border-radius:12px;padding:11px 12px;margin:10px 0;background:#fff5e2;color:#8c6022;line-height:1.5}.mini-alert.blue{background:#edf7ff;color:#4c718e}.mini-alert.red{background:#feeeee;color:#a44d4d}.list-mini{border:1px solid #e5edf0;border-radius:12px;padding:10px;margin:8px 0;display:flex;align-items:center;gap:8px;cursor:pointer}.list-mini .stretch{flex:1}.list-mini small{color:#8b9aa6}.pill-dot{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ffe59b;color:#644c10;font-weight:900;font-size:11px}.shop-card{border:1px solid #e0e8ee;background:#fff;border-radius:15px;padding:13px;display:flex;align-items:center;gap:11px;margin:9px 0}.shop-emoji{display:grid;place-items:center;background:#eef4fc;border-radius:13px;font-size:23px;width:47px;height:48px;flex-shrink:0}.shop-info{flex:1;min-width:0}.shop-info b{font-size:13px}.shop-info small{display:block;font-size:11px;line-height:1.45;color:#8a9caa;margin-top:4px}.shop-card .btn{padding:10px;font-size:11px;min-width:80px}.toast{position:absolute;z-index:13;bottom:calc(83px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-width:190px;width:max-content;max-width:92%;background:#1b334cd9;color:white;padding:12px 15px;border-radius:12px;text-align:center;font-weight:800;font-size:12px;box-shadow:0 5px 22px #132d3d66;pointer-events:none}.event-banner{position:absolute;top:72px;left:12px;right:12px;z-index:4;border-radius:14px;background:#ffedc9;border:1px solid #ffca71;box-shadow:0 5px 20px #5b493040;padding:12px;color:#805221;font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px}.event-banner strong{color:#a74c23}.modal{position:absolute;inset:0;z-index:11;display:grid;place-items:center;padding:14px;background:#0c2235bd}.modal-box{width:min(100%,480px);max-height:90%;overflow:auto;border-radius:24px;background:#fff;padding:21px;box-shadow:0 20px 60px #071d2a8a}.modal-header{text-align:center}.modal-header .hero{display:block;font-size:39px;margin:3px auto 6px}.modal-header h2{margin:3px 0 5px;font-size:30px;letter-spacing:-.7px}.modal-header p{color:#8294a1;font-size:12px;line-height:1.5}.hero-bar{border-radius:15px;background:#f4f8f5;padding:14px;margin:14px 0}.total-row{display:flex;justify-content:space-between;align-items:center;padding:9px 1px;border-bottom:1px solid #e9eff2;font-size:13px}.total-row b{color:#1b644f}.stars{font-size:30px;letter-spacing:5px;color:#ffbb3d}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.modal-actions .btn{flex:1}.breakdown{animation:bob .8s ease-in-out infinite alternate}@keyframes bob{to{transform:translateY(-3px)}}.pin-pulse{animation:pulse 1.1s infinite;transform-box:fill-box;transform-origin:center}@keyframes pulse{50%{opacity:.55;transform:scale(1.1)}}.car-marker{cursor:pointer;filter:url(#shadow)}.car-marker.selected .selected-ring{opacity:1}.car-marker .selected-ring{opacity:0}.cab-label{font-size:19px;font-weight:900;fill:white;text-anchor:middle;font-family:var(--head)}.zone-label{font:800 30px var(--head);fill:#365b74;paint-order:stroke;stroke:#f1f6ee;stroke-width:10;stroke-linejoin:round;text-anchor:middle;letter-spacing:.1px}.water-label{font:italic 500 25px var(--head);fill:#6fa4b9;letter-spacing:1px;text-anchor:middle}.road-shield{font:800 13px var(--head);fill:#69919e;text-anchor:middle}.route-line{fill:none;stroke:#2d9bec;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:13 12;filter:drop-shadow(0 0 3px white)}.pickup-pin text,.drop-pin text{font-family:var(--head);font-size:14px;fill:white;text-anchor:middle;font-weight:900}.break-pin text{font-size:21px;text-anchor:middle}.no-content{color:#81939f;font-size:12px;text-align:center;padding:23px 8px}.tut-step{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid #eaf0f4}.tut-num{width:28px;height:28px;display:grid;place-items:center;background:#e3f3ff;color:#1781bd;border-radius:9px;font:900 14px var(--head)}.tut-step b{display:block;font-size:13px}.tut-step small{display:block;color:#8595a1;font-size:11px;line-height:1.5;margin-top:5px}#city .click-area{pointer-events:stroke;cursor:pointer}.footer-help{font-size:11px;color:#79909f;text-align:center;margin:12px 0 0}
@media(min-width:700px){.topbar{padding-left:26px;padding-right:26px}.sheet{left:auto;right:18px;bottom:85px;width:390px;max-height:min(80%,810px)}.world{bottom:76px}.bottom-nav{height:76px;justify-content:center}.nav-item{max-width:190px}.calls-fab{right:20px}.map-controls{right:20px}.map-hint{left:22px}.map-foot{left:22px;right:22px}.modal-box{padding:25px}}@media(max-height:690px){.topbar{height:calc(88px + env(safe-area-inset-top))}.brand-icon{height:30px;width:30px}.brand-copy strong{font-size:19px}.barrow{margin-top:5px;padding-top:6px}.world{top:calc(88px + env(safe-area-inset-top))}.sheet{max-height:80%}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}