:root{--bg:oklch(100% 0 89.9);--surface:oklch(94.6% 0 89.9);--fg:oklch(13.2% .005 345.1);--muted:oklch(51% 0 89.9);--border:oklch(90.5% 0 89.9);--accent:oklch(92.9% .221 124.5);--accent-hi:oklch(95.5% .2 124.5);--accent-lo:oklch(84% .19 124.5);--ink:oklch(17.8% 0 89.9);--board:oklch(13.2% .005 345.1);--on-page:oklch(98% 0 0);--on-page-muted:oklch(74% 0 0);--ok:oklch(72% .17 150);--warn:oklch(78% .15 78);--danger:oklch(62% .21 25);--font-d:"Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-b:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);font-family:var(--font-b);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}button{font-family:inherit}.screen{height:100dvh;color:var(--fg);background:radial-gradient(130% 72% at 50% -6%,oklch(92.9% .221 124.5/.22),#0000 58%),oklch(0% 0 0);flex-direction:column;display:flex;position:relative}.views{overscroll-behavior:contain;padding:max(14px, env(safe-area-inset-top)) 20px 24px;scrollbar-width:thin;flex:1;overflow-y:auto}.views::-webkit-scrollbar{width:5px}.views::-webkit-scrollbar-thumb{background:var(--border);border-radius:9px}.view{animation:.28s fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.greet{font-family:var(--font-d);letter-spacing:-.03em;color:var(--on-page);font-size:clamp(38px,12vw,47px);font-weight:600;line-height:1.02}.h-title{font-family:var(--font-d);letter-spacing:-.02em;color:var(--on-page);font-size:clamp(30px,9vw,34px);font-weight:600;line-height:1.05}.eyebrow{font-family:var(--font-d);letter-spacing:.02em;color:var(--on-page);font-size:13.5px;font-weight:700}.sub{color:var(--on-page-muted);font-size:13.5px;line-height:1.5}.note{color:var(--on-page-muted);text-align:center;margin-top:16px;font-size:12px;line-height:1.5}.sec-label{font-family:var(--font-d);letter-spacing:.09em;text-transform:uppercase;color:var(--on-page-muted);margin-top:22px;font-size:12px;font-weight:700;display:block}.head-row{justify-content:space-between;align-items:flex-start;gap:14px;margin-top:10px;display:flex}.avatar{background:var(--accent);width:58px;height:58px;font-family:var(--font-d);color:var(--fg);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent);border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.mapcard{background:var(--ink);aspect-ratio:300/210;border-radius:26px;margin-top:14px;position:relative;overflow:hidden}.mapcard svg{width:100%;height:100%;display:block}.map-google{width:100%;height:100%;position:absolute;inset:0}.map-hint{color:#fff;max-width:62%;font-family:var(--font-d);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(0% 0 0/.68);border-radius:12px;padding:9px 13px;font-size:12.5px;font-weight:600;line-height:1.35;position:absolute;bottom:14px;left:14px}.map-card-btn{z-index:2;background:var(--bg);color:var(--fg);font-family:var(--font-d);cursor:pointer;border:none;border-radius:999px;padding:14px 26px;font-size:15px;font-weight:700;transition:background .16s,transform .1s;position:absolute;bottom:14px;right:14px}.map-card-btn:hover{background:var(--surface)}.map-card-btn:active{transform:translateY(1px)}.cta{background:var(--accent);cursor:pointer;text-align:left;border:none;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:14px;padding:20px 20px 20px 26px;transition:background .16s,transform .1s;display:flex}.cta:hover{background:var(--accent-hi)}.cta:active{transform:translateY(1px)}.cta b{font-family:var(--font-d);color:var(--fg);letter-spacing:-.01em;font-size:19px;font-weight:700;display:block}.cta small{color:oklch(38% .05 124.5);margin-top:3px;font-size:13px;display:block}.cta .arrow{background:var(--fg);color:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.stat{background:var(--surface);border-radius:999px;padding:18px 22px}.stat.dark{background:var(--accent);color:var(--fg)}.stat b{font-family:var(--font-d);letter-spacing:-.02em;font-size:27px;font-weight:700;display:block}.stat small{color:var(--muted);margin-top:2px;font-size:13px;display:block}.stat.dark small{color:oklch(38% .05 124.5)}.tabbar{padding:14px 22px calc(18px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);flex:none;justify-content:space-between;gap:12px;display:flex}.tab{background:var(--surface);width:64px;height:64px;color:var(--fg);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:background .16s,transform .1s;display:grid}.tab:hover{background:var(--border)}.tab:active{transform:translateY(1px)}.tab.is-on{background:var(--accent);color:var(--fg)}.tab.is-on:hover{background:var(--accent-hi)}.field{gap:10px;margin-top:14px;display:flex}.field input{min-width:0;font-family:var(--font-b);color:var(--fg);background:var(--bg);border:1.5px solid var(--border);border-radius:999px;flex:1;padding:15px 20px;font-size:16px;transition:border-color .16s}.field input::placeholder{color:var(--muted)}.field input:hover{border-color:oklch(80% 0 89.9)}.field input:focus{border-color:var(--fg);outline:none}.ac-wrap{flex:1;min-width:0;position:relative}.ac-wrap input{width:100%}.ac{inset-inline:0;z-index:30;background:var(--bg);border:1.5px solid var(--border);border-radius:18px;max-height:250px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);overflow:auto;box-shadow:0 18px 40px #0000008c}.ac button{text-align:left;width:100%;font-family:var(--font-b);color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:11px 12px;font-size:14.5px;line-height:1.3;display:block}.ac button:hover,.ac button:focus-visible{background:var(--surface);outline:none}.btn-dark{background:var(--fg);color:#fff;font-family:var(--font-d);cursor:pointer;border:none;border-radius:999px;flex:none;padding:0 22px;font-size:14.5px;font-weight:700;transition:background .16s,transform .1s}.btn-dark:hover{background:oklch(26% 0 89.9)}.btn-dark:active{transform:translateY(1px)}.stops{flex-direction:column;gap:9px;margin-top:16px;list-style:none;display:flex}.stop{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;align-items:center;gap:12px;padding:13px 14px 13px 16px;display:flex}.stop .dot{background:var(--fg);border-radius:50%;flex:none;width:11px;height:11px}.stop.is-first .dot{background:var(--accent);box-shadow:0 0 0 3px oklch(92.9% .221 124.5/.35)}.stop .txt{flex:1;min-width:0;font-size:14px;line-height:1.35}.stop .txt small{color:var(--muted);margin-top:1px;font-size:12px;display:block}.stop .del{background:var(--surface);width:32px;height:32px;color:var(--fg);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;transition:background .16s;display:grid}.stop .del:hover{background:var(--border)}.stop .handle{width:32px;height:32px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:10px;flex:none;place-items:center;transition:color .16s,background .16s;display:grid}.stop .handle:hover,.stop .handle:focus-visible{background:var(--surface);color:var(--fg);outline:none}.stop .handle:active{cursor:grabbing}.stop.is-dragging{z-index:5;border-color:var(--fg);position:relative;box-shadow:0 12px 28px #00000080}.back{font-family:var(--font-b);color:var(--on-page-muted,var(--muted));cursor:pointer;background:0 0;border:none;margin-top:6px;padding:6px 0;font-size:14.5px}.back:hover{color:var(--fg)}.stop .dot.pending{box-shadow:none;background:#ffbe3d}.stop .dot.done{background:var(--accent);box-shadow:0 0 0 3px oklch(92.9% .221 124.5/.35)}.stop.is-done .txt{opacity:.65}.pill{font-family:var(--font-d);cursor:pointer;border:none;border-radius:999px;flex:none;padding:8px 13px;font-size:12.5px;font-weight:700;transition:transform .1s}.pill:active{transform:translateY(1px)}.pill.pending{color:#3a2600;background:#ffbe3d}.pill.done{background:var(--accent);color:var(--fg)}.deliver{flex-direction:column;gap:12px;height:100%;display:flex}.deliver-map{background:var(--ink);border-radius:26px;flex:auto;min-height:44vh;position:relative;overflow:hidden}.deliver-map .map-google,.deliver-map svg{border-radius:26px;width:100%;height:100%;display:block}.dm-top{z-index:3;pointer-events:none;background:linear-gradient(#0009,#0000);justify-content:space-between;align-items:center;gap:10px;padding:12px 12px 20px;display:flex;position:absolute;top:0;left:0;right:0}.dm-top>*{pointer-events:auto}.dm-chip{font-family:var(--font-d);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#00000085;border:none;border-radius:999px;align-items:center;gap:7px;padding:10px 15px;font-size:13.5px;font-weight:700;display:inline-flex}.dm-chip:hover{background:#000000b3}.dm-stats{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-d);background:#0000009e;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700;position:absolute;top:60px;left:12px}.deliver-sheet{overscroll-behavior:contain;scrollbar-width:thin;flex:none;max-height:32vh;overflow-y:auto}.d-opts{gap:8px;margin-bottom:12px;display:flex}.d-opt{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;font-family:var(--font-d);border-radius:16px;flex-direction:column;flex:1;gap:1px;padding:10px 13px;display:flex}.d-opt b{font-size:14.5px;font-weight:700}.d-opt small{color:var(--muted);font-size:12px;font-weight:500}.d-opt.is-on{border-color:var(--accent);background:var(--accent)}.d-opt.is-on small{color:oklch(35% 0 0)}.nav{z-index:120;background:#0a0a0a;animation:.2s fade;position:fixed;inset:0}.nav-map{position:absolute;inset:0}.nav-top{z-index:3;padding:max(14px, env(safe-area-inset-top)) 16px 26px;background:linear-gradient(#000000d1,#0000);align-items:center;gap:14px;display:flex;position:absolute;top:0;left:0;right:0}.nav-turn{background:var(--accent);width:62px;height:62px;color:var(--fg);border-radius:20px;flex:none;place-items:center;display:grid}.nav-turn svg{width:30px;height:30px;transition:transform .2s}.nav-instr{color:#fff;text-shadow:0 1px 8px #000c;flex-direction:column;gap:2px;display:flex}.nav-instr b{font-family:var(--font-d);font-size:19px;font-weight:700;line-height:1.2}.nav-instr small{color:var(--accent);font-size:14px;font-weight:700}.nav-bottom{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:3;background:var(--bg);border-radius:24px;flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;box-shadow:0 18px 44px #00000080}.nav-next{align-items:center;gap:12px;display:flex}.nav-next .txt{font-family:var(--font-d);color:var(--fg);flex-direction:column;gap:1px;font-size:16px;font-weight:700;display:flex}.nav-next .txt small{font-family:var(--font-b);color:var(--muted);font-size:13px;font-weight:500}.nav-badge{background:var(--surface);min-width:46px;height:46px;font-family:var(--font-d);color:var(--fg);border-radius:14px;flex:none;place-items:center;padding:0 8px;font-size:15px;font-weight:800;display:grid}.nav-actions{gap:10px;display:flex}.nav-actions .btn-primary{flex:1}.nav-exit{background:var(--surface);color:var(--fg);font-family:var(--font-d);cursor:pointer;border:none;border-radius:999px;flex:none;padding:0 22px;font-size:15px;font-weight:700}.nav-exit:hover{background:var(--border)}.fullmap{z-index:100;background:#0a0a0a;animation:.22s fade;position:fixed;inset:0}.fm-map{position:absolute;inset:0}.fm-bar{z-index:3;padding:max(14px, env(safe-area-inset-top)) 16px 18px;background:linear-gradient(#000000c7,#0000);align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.fm-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:none;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.fm-close:hover{background:#ffffff42}.fm-info{color:#fff;text-shadow:0 1px 6px #000000b3;flex-direction:column;line-height:1.3;display:flex}.fm-info b{font-family:var(--font-d);font-size:17px;font-weight:700}.fm-info small{color:oklch(88% 0 0);font-size:13px}.fm-foot{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:3;position:absolute}.empty{background:var(--surface);text-align:center;border-radius:22px;margin-top:14px;padding:22px}.empty b{font-family:var(--font-d);font-size:15px;display:block}.empty small{color:var(--muted);font-size:13px}.opts{flex-direction:column;gap:10px;margin-top:14px;display:flex}.opt{text-align:left;cursor:pointer;background:var(--bg);border:1.5px solid var(--border);border-radius:22px;align-items:center;gap:14px;width:100%;padding:15px 16px;transition:border-color .16s,background .16s;display:flex}.opt:hover{border-color:oklch(78% 0 89.9)}.opt.is-on{background:var(--fg);border-color:var(--fg);color:#fff}.opt.is-on .opt-sub{color:oklch(74% 0 89.9)}.opt .radio{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.opt.is-on .radio{border-color:var(--accent)}.opt.is-on .radio:after{content:"";background:var(--accent);border-radius:50%;width:11px;height:11px}.opt .opt-main{flex:1;min-width:0}.opt .opt-name{font-family:var(--font-d);letter-spacing:-.01em;font-size:15.5px;font-weight:700;display:block}.opt .opt-sub{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.4;display:block}.opt .opt-time{font-family:var(--font-d);white-space:nowrap;letter-spacing:-.02em;font-size:17px;font-weight:700}.tag{font-family:var(--font-d);letter-spacing:.06em;text-transform:uppercase;background:var(--surface);color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:700;display:inline-flex}.tag.warn{color:oklch(45% .12 65);background:oklch(78% .15 78/.18)}.tag.bad{color:oklch(48% .17 25);background:oklch(62% .21 25/.15)}.tag.good{color:oklch(42% .11 150);background:oklch(72% .17 150/.16)}.chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip{font-family:var(--font-d);letter-spacing:.02em;border:1.5px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s}.chip:hover{border-color:oklch(78% 0 89.9)}.chip.is-on{background:var(--fg);border-color:var(--fg);color:#fff}.inc-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.inc{background:var(--bg);border:1.5px solid var(--border);border-radius:22px;align-items:flex-start;gap:13px;padding:15px 16px;display:flex}.inc .ic{background:var(--surface);width:40px;height:40px;color:var(--fg);border-radius:50%;flex:none;place-items:center;display:grid}.inc.bad .ic{color:oklch(50% .18 25);background:oklch(62% .21 25/.14)}.inc.warn .ic{color:oklch(48% .12 65);background:oklch(78% .15 78/.2)}.inc .body{flex:1;min-width:0}.inc .street{font-family:var(--font-d);letter-spacing:-.01em;font-size:14.5px;font-weight:700;display:block}.inc .desc{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.45;display:block}.inc .delay{font-family:var(--font-d);white-space:nowrap;text-align:right;font-size:13.5px;font-weight:700}.inc.bad .delay{color:oklch(50% .18 25)}.inc.warn .delay{color:oklch(48% .12 65)}.rows{border-top:1px solid var(--border);margin-top:16px}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:17px 2px;display:flex}.row .rl{font-family:var(--font-d);color:var(--on-page);font-size:15px;font-weight:600}.row .rl small{font-family:var(--font-b);color:var(--on-page-muted);margin-top:3px;font-size:12.5px;font-weight:400;display:block}.switch{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex:none;width:52px;height:31px;transition:background .18s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:25px;height:25px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000047}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(21px)}.switch:hover{background:oklch(85% 0 89.9)}.switch[aria-checked=true]:hover{background:var(--accent-hi)}.switch:disabled{opacity:.45;cursor:default}.switch:disabled:hover{background:var(--border)}.switch[aria-checked=true]:disabled:hover{background:var(--accent)}.veh{background:var(--fg);color:#fff;border-radius:26px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:20px 22px;display:flex}.veh b{font-family:var(--font-d);font-size:17px;font-weight:700}.veh small{color:oklch(74% 0 89.9);margin-top:4px;font-size:12.5px;display:block}.veh .plate{font-family:var(--font-d);letter-spacing:.06em;background:var(--accent);color:var(--fg);border-radius:10px;padding:8px 13px;font-size:15px;font-weight:800}.btn-primary{background:var(--accent);width:100%;font-family:var(--font-d);color:var(--fg);cursor:pointer;border:none;border-radius:999px;margin-top:16px;padding:19px 24px;font-size:16px;font-weight:700;transition:background .16s,transform .1s}.btn-primary:hover{background:var(--accent-hi)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:var(--bg);border:1.5px solid var(--border);width:100%;font-family:var(--font-d);color:var(--fg);cursor:pointer;border-radius:999px;margin-top:10px;padding:16px 24px;font-size:14.5px;font-weight:700;transition:border-color .16s,background .16s}.btn-ghost:hover{border-color:var(--fg);background:var(--surface)}.toast{background:var(--fg);color:#fff;font-family:var(--font-d);opacity:0;pointer-events:none;white-space:nowrap;z-index:40;border-radius:999px;max-width:90vw;padding:12px 20px;font-size:13.5px;font-weight:600;transition:all .22s;position:absolute;bottom:104px;left:50%;transform:translate(-50%,14px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width>=480px){html{background:var(--board)}#root{justify-content:center;align-items:center;padding:22px;display:flex}.screen{border-radius:32px;width:100%;max-width:420px;height:min(880px,100dvh - 44px);overflow:hidden;box-shadow:0 30px 90px #0000008c,0 0 0 1px #ffffff0f}}@media (prefers-reduced-motion:reduce){.view{animation:none}*{transition-duration:.01ms!important}}
