:root{color-scheme:light}body{margin:0;font-size:15px}img{max-width:100%}[hidden]{display:none!important}:root{--bg:#ffffff;--surface:#f4f4f2;--surface-2:#eaeae7;--fg:#111111;--muted:#76767a;--line:#e3e3df;--ink:#111111;--on-ink:#ffffff;--ok:#1f8a4c;--warn:#b06e00;--bad:#c8352b;--stage:#ecece8;--scrim:rgba(0,0,0,.45);--land:#eef0ea;--water:#cfe0ea;--road:#ffffff;--road-edge:#d9dbd4;--park:#e1e9d9;--display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:var(--display)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121213;--surface:#1d1d1f;--surface-2:#2a2a2d;--fg:#f2f2ef;--muted:#9a9a9f;--line:#2e2e31;--ink:#f2f2ef;--on-ink:#121213;--ok:#4cc27e;--warn:#e3a43a;--bad:#ef6a5f;--stage:#0b0b0c;--scrim:rgba(0,0,0,.6);--land:#1b1d1c;--water:#1c2b35;--road:#323436;--road-edge:#262829;--park:#1e2620;color-scheme:dark}}:root[data-theme=dark]{--bg:#121213;--surface:#1d1d1f;--surface-2:#2a2a2d;--fg:#f2f2ef;--muted:#9a9a9f;--line:#2e2e31;--ink:#f2f2ef;--on-ink:#121213;--ok:#4cc27e;--warn:#e3a43a;--bad:#ef6a5f;--stage:#0b0b0c;--scrim:rgba(0,0,0,.6);--land:#1b1d1c;--water:#1c2b35;--road:#323436;--road-edge:#262829;--park:#1e2620;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--stage);color:var(--fg);font-family:var(--display);font-size:15px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px;transition:background .2s}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app{max-width:420px;margin:0 auto;background:var(--bg);border-radius:28px;height:100%;position:relative;overflow:hidden;box-shadow:0 1px 0 var(--line),0 20px 50px #00000014;display:flex;flex-direction:column}@media (max-width:460px){body{padding-block:0;padding-left:0;padding-right:0}.app{border-radius:0;box-shadow:none}}.screen{flex:1;display:flex;flex-direction:column;padding:20px 20px 16px;gap:16px;min-height:0}h1,h2,h3{margin:0;text-wrap:balance}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.badge,.next .num,.stop .num,.top5 .rank,.m-buy .stepper input,.rs-dot{font-variant-numeric:tabular-nums}.btn{border:0;border-radius:999px;padding:15px 20px;font-weight:700;background:var(--ink);color:var(--on-ink);width:100%}.btn.ghost{background:var(--surface-2);color:var(--fg)}.btn.sm{padding:9px 14px;width:auto;font-size:14px}.iconbtn{border:0;background:none;padding:6px;border-radius:10px;display:grid;place-items:center;position:relative}.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.logo{display:grid;place-items:center;padding-top:8px}.logo svg{width:90px;height:90px}.field{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid transparent;border-radius:14px;padding:0 16px}.field:focus-within{border-color:var(--ink);background:var(--bg)}.field input{flex:1;border:0;background:none;padding:16px 0;outline:none;min-width:0}.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--surface) inset;box-shadow:0 0 0 100px var(--surface) inset;-webkit-text-fill-color:var(--fg);caret-color:var(--fg)}.field:focus-within input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--bg) inset;box-shadow:0 0 0 100px var(--bg) inset}.field .ic{width:18px;height:18px;color:var(--muted)}.check{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600}.check input{width:20px;height:20px;accent-color:var(--ink)}.err{color:var(--bad);font-weight:600;font-size:14px;text-align:center;min-height:1.2em;margin:0}.hint{font-size:13px;color:var(--muted);text-align:center;margin:0;line-height:1.45}.hint b{color:var(--fg)}.top{display:flex;align-items:center;gap:8px}.avatar{width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:800;flex:none}.top .who{flex:1;min-width:0;margin-left:4px}.top small{color:var(--muted);font-size:13px}.top b{display:block;font-size:17px}.badge{position:absolute;top:0;right:0;min-width:17px;height:17px;border-radius:9px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;padding:0 4px;font-family:var(--mono)}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:14px;padding:0 6px 0 14px;border:1.5px solid transparent}.search:focus-within{border-color:var(--ink);background:var(--bg)}.search input{flex:1;border:0;background:none;padding:14px 0;outline:none;min-width:0}.search>.ic{width:19px;height:19px;color:var(--muted)}.sec{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sec h2{font-size:19px;font-weight:700}.sec button{border:0;background:none;font-weight:700;padding:4px}.banner{background:var(--surface);border-radius:22px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.banner .big{font-size:34px;font-weight:800;line-height:1}.banner p{margin:4px 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.banner svg{width:96px;height:84px}.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}.cat{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:0}.cat span.c{width:56px;height:56px;border-radius:50%;background:var(--surface);display:grid;place-items:center}.cat span.c svg{width:26px;height:26px}.cat.on span.c{background:var(--ink);color:var(--on-ink)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;flex:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;border:1.5px solid var(--ink);background:none;border-radius:999px;padding:7px 16px;font-weight:600;font-size:14px}.chip.on{background:var(--ink);color:var(--on-ink)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.card{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative;border-radius:18px}.card .open{border:0;background:none;padding:0;text-align:left;display:flex;flex-direction:column;gap:6px;min-width:0}.thumb{aspect-ratio:1/.9;background:var(--surface);border-radius:18px;display:grid;place-items:center;position:relative;width:100%;border:2px solid transparent;transition:border-color .15s}.thumb svg.part{width:56%;height:56%}.thumb .sn{position:absolute;left:8px;top:8px;font-size:10.5px;background:var(--bg);padding:3px 7px;border-radius:6px}.thumb .tick{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;border:2px solid var(--muted);background:var(--bg);display:grid;place-items:center}.card.sel .thumb{border-color:var(--ink)}.card.sel .tick{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.card.off .open{opacity:.5}.card h3{font-size:15px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);flex-wrap:wrap}.pill{border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600;color:var(--fg)}.stock{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.stock:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.s-ok{color:var(--ok)}.s-low{color:var(--warn)}.s-out{color:var(--bad)}.price{font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}.cfoot{display:flex;align-items:center;justify-content:space-between;gap:6px}.add{width:32px;height:32px;border-radius:50%;border:0;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;flex:none}.add .ic{width:18px;height:18px}.add.in{background:var(--surface-2);color:var(--fg)}.head{display:flex;align-items:center;gap:8px;flex:none}.head h2{flex:1;font-size:20px}.results-h{display:flex;justify-content:space-between;font-weight:700;gap:8px}.results-h span{color:var(--muted);font-weight:600}.recent{display:flex;flex-direction:column}.recent button{border:0;border-bottom:1px solid var(--line);background:none;display:flex;justify-content:space-between;padding:13px 2px;color:var(--muted);text-align:left}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px 10px}.empty svg{width:110px;height:110px;color:var(--muted)}.empty h3{font-size:20px}.empty p{color:var(--muted);margin:0;max-width:30ch;line-height:1.45}.scroll{overflow-y:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:18px;margin:0 -4px;padding:0 4px}.selbar{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--on-ink);border-radius:18px;padding:10px 10px 10px 16px;flex:none}.selbar b{flex:1}.selbar button{border:0;border-radius:999px;padding:9px 14px;font-weight:700}.selbar .go{background:var(--on-ink);color:var(--ink)}.selbar .x{background:none;color:var(--on-ink);padding:6px}.tabs{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:10px 4px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);flex:none}.tabs button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted);position:relative;padding:0 6px}.tabs button.on{color:var(--fg)}.tabs .badge{right:-2px;top:-4px}.d-art{background:var(--surface);border-radius:24px;aspect-ratio:1.3;display:grid;place-items:center;flex:none}.d-art svg{width:46%;height:46%}.d-title{display:flex;flex-direction:column;gap:8px}.d-title h1{font-size:25px;line-height:1.2}.specs{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;font-size:14px}.specs dt{color:var(--muted)}.specs dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}.fits{display:flex;flex-wrap:wrap;gap:6px}.fits span{background:var(--surface);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.buybar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px;flex:none}.buybar .p small{display:block;color:var(--muted);font-size:12px}.buybar .btn{flex:1}.stepper{display:inline-flex;align-items:center;background:var(--surface);border-radius:999px;flex:none}.stepper button{border:0;background:none;width:34px;height:34px;font-size:18px;font-weight:700}.stepper span{min-width:26px;text-align:center;font-weight:700}.toast{position:absolute;left:50%;bottom:150px;transform:translate(-50%);background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:12px;font-weight:600;font-size:14px;white-space:nowrap;z-index:9;max-width:90%;overflow:hidden;text-overflow:ellipsis}.lines{display:flex;flex-direction:column;gap:12px}.line{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;background:var(--surface);border-radius:18px;padding:10px}.line .mini{width:72px;height:72px;border-radius:14px;background:var(--bg);display:grid;place-items:center}.line .mini svg{width:42px;height:42px}.line .info{min-width:0;display:flex;flex-direction:column;gap:6px}.line .t{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.line h3{font-size:15px;line-height:1.25}.line .rm{border:0;background:none;color:var(--muted);padding:2px}.line .rm .ic{width:18px;height:18px}.line .b{display:flex;justify-content:space-between;align-items:center;gap:8px}.line .stepper{background:var(--bg)}.totals{display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--line);padding-top:14px;font-size:14px}.totals div{display:flex;justify-content:space-between}.totals .grand{font-size:18px;font-weight:800}.note{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.note input{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;outline:none;font-weight:500}.note input:focus{border-color:var(--ink)}.easy textarea{width:100%;min-height:130px;resize:vertical;border:1.5px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);outline:none;font-family:var(--mono);font-size:14px;line-height:1.6}.easy textarea:focus{border-color:var(--ink);background:var(--bg)}.parsed{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}.parsed .r{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:11px 14px;border-bottom:1px solid var(--line);align-items:center}.parsed .r:last-child{border-bottom:0}.parsed .r small{color:var(--muted);font-size:12px;grid-column:1}.parsed .r.bad{background:var(--surface)}.parsed .r.bad small{color:var(--bad)}.quick{display:flex;gap:8px}.quick .search{flex:1}.done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.done .ok{width:84px;height:84px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center}.done .ok .ic{width:40px;height:40px;stroke-width:2.4}.receipt{width:100%;background:var(--surface);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;text-align:left;font-size:14px}.receipt div{display:flex;justify-content:space-between;gap:10px}.receipt div span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders{display:flex;flex-direction:column;gap:8px}.orders div{display:flex;justify-content:space-between;background:var(--surface);border-radius:14px;padding:12px 14px;font-size:14px;gap:10px}.orders small{color:var(--muted);display:block}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:flex-end;z-index:5}.sheet{background:var(--bg);width:100%;border-radius:28px 28px 0 0;padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px;max-height:90%;overflow-y:auto}.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--surface-2);margin:0 auto}.sheet h2{text-align:center;font-size:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.sheet h4{margin:0;font-size:15px}.chips.wrap{flex-wrap:wrap;overflow:visible}.toggle{display:flex;justify-content:space-between;align-items:center;font-weight:600}.toggle input{width:22px;height:22px;accent-color:var(--ink)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:16px}.seg{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--surface);border-radius:14px;padding:4px;gap:4px}.seg button{border:0;background:none;border-radius:10px;padding:10px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}.seg button .ic{width:17px;height:17px}.seg button.on{background:var(--bg);box-shadow:0 1px 3px #0000001f}.route{background:var(--surface);border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:12px}.route-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-h h2{font-size:18px}.route-h small{color:var(--muted);font-size:12.5px;display:block;margin-top:2px}.mapbox{border:0;padding:0;background:none;display:block;width:100%;border-radius:16px;overflow:hidden;position:relative}.mapbox svg{display:block;width:100%;height:auto}.next{display:flex;align-items:center;gap:12px}.next .num{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:800;flex:none;font-family:var(--mono)}.next .who{flex:1;min-width:0}.next .who b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next .who small{color:var(--muted);font-size:12.5px}.prog{height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden}.prog i{display:block;height:100%;background:var(--ink);border-radius:6px}.linkbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;background:var(--ink);color:var(--on-ink);flex:none}.linkbtn.ghost{background:var(--bg);color:var(--fg);border:1.5px solid var(--line)}.linkbtn .ic{width:17px;height:17px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{background:var(--surface);border-radius:14px;padding:10px 12px}.stats small{display:block;color:var(--muted);font-size:12px}.stats b{font-size:17px}.stops{display:flex;flex-direction:column;position:relative}.stop{display:grid;grid-template-columns:34px 1fr;gap:12px;padding-bottom:16px;position:relative}.stop:before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:var(--line)}.stop:last-child:before{display:none}.stop .num{width:34px;height:34px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font-weight:800;font-family:var(--mono);background:var(--bg)}.stop.done .num{background:var(--ink);color:var(--on-ink)}.stop.done .body>b{text-decoration:line-through;color:var(--muted)}.stop.now .num{box-shadow:0 0 0 4px var(--surface-2)}.stop .body{display:flex;flex-direction:column;gap:5px;min-width:0}.stop .body small{color:var(--muted);font-size:13px}.stop .task{font-size:13px;background:var(--surface);border-radius:10px;padding:7px 10px}.stop .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.stop .acts button{border:1.5px solid var(--line);background:var(--bg);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px}.stop.done .acts button{border-color:var(--ink)}.stop .acts .linkbtn{padding:8px 14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.pulse{animation:pulse 1.8s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(2.6);opacity:0}}}.custsel{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:14px;padding:4px 6px 4px 14px;flex:none}.custsel .ic{width:19px;height:19px;color:var(--muted);flex:none}.custsel select{flex:1;min-width:0;border:0;background:none;padding:10px 0;font-weight:700;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.custsel .chev{width:16px;height:16px;color:var(--muted);flex:none;margin-right:6px}.top5{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden}.top5 .row{border:0;border-bottom:1px solid var(--line);background:none;display:grid;grid-template-columns:22px 44px 1fr auto;gap:10px;align-items:center;padding:10px 12px;text-align:left;width:100%}.top5 .row:last-child{border-bottom:0}.top5 .row:hover{background:var(--surface)}.top5 .rank{font-family:var(--mono);font-weight:700;color:var(--muted);font-size:13px;text-align:center}.top5 .mini{width:44px;height:44px;border-radius:10px;background:var(--surface);display:grid;place-items:center}.top5 .mini svg{width:26px;height:26px}.top5 .nm{min-width:0;display:flex;flex-direction:column;gap:2px}.top5 .nm b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top5 .nm small{font-size:12px;color:var(--muted)}.top5 .bar{height:4px;border-radius:4px;background:var(--surface-2);margin-top:3px;overflow:hidden}.top5 .bar i{display:block;height:100%;background:var(--ink)}.top5 .plus{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center}.top5 .plus .ic{width:17px;height:17px}.top5 .row.off{opacity:.5}.ac{position:relative;flex:none;z-index:3}.dd .mini{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;transition:background-color .2s,color .2s}.dd .mini svg{width:26px;height:26px}.dd .nm{min-width:0}.dd .nm b{display:block;font-size:15px;font-weight:600}.dd .nm span{font-size:13px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd mark{background:var(--ink);color:var(--on-ink);border-radius:3px;padding:0 1px}.dd .none{text-align:center;color:var(--muted);font-size:14px}.dd .more{width:100%;border:0;background:var(--bg);color:var(--fg);transition:background-color .2s,color .2s}.m-art{position:relative;background:var(--surface);border-radius:20px;aspect-ratio:1.7;display:grid;place-items:center;flex:none}.m-art svg{width:34%;height:60%}.m-art .x{position:absolute;right:10px;top:10px;background:var(--bg);border-radius:50%;width:38px;height:38px}.m-art .sn{position:absolute;left:12px;top:12px;background:var(--bg);border-radius:8px;padding:4px 9px;font-size:12px}.m-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-grid div{background:var(--surface);border-radius:12px;padding:10px 12px;min-width:0}.m-grid small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.m-grid b{overflow-wrap:anywhere;font-size:14px}.qtyline{display:flex;justify-content:space-between;align-items:center;font-weight:700}.m-buy{display:flex;align-items:center;gap:12px}.m-buy .stepper button{width:44px;height:48px;font-size:20px}.m-buy .stepper input{width:44px;text-align:center;border:0;background:none;font-family:var(--mono);font-weight:700;font-size:16px;outline:none}.m-buy .btn{flex:1}.overlay.center .sheet{gap:14px}@media (min-width:461px){.overlay.center{align-items:center;padding:16px}.overlay.center .sheet{border-radius:28px}}.picks{display:flex;flex-direction:column;gap:10px}.picks h3{font-size:15px;color:var(--muted);font-weight:600}@media (prefers-reduced-motion:no-preference){.sheet{animation:up .22s ease}@keyframes up{0%{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}}@media (prefers-reduced-motion:no-preference){.screen{animation:in .2s ease-out}@keyframes in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.overlay{animation:fade .18s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}}.scroll::-webkit-scrollbar-track{background:transparent}.chip,.add,.cat span.c,.btn,.stepper button,.top5 .row,.opt{transition:background-color .15s,color .15s,border-color .15s,opacity .15s}.m-art .x .ic{width:18px;height:18px}.thumb .rank-tag{left:auto;right:8px;background:var(--ink);color:var(--on-ink)}.scroll>*{flex-shrink:0}.scroll{scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent;overscroll-behavior:contain}.scroll::-webkit-scrollbar{width:6px}.scroll::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:6px}button,a{-webkit-tap-highlight-color:transparent}:root{--dd-hover-bg:var(--ink);--dd-hover-fg:var(--on-ink);--dd-shadow:0 25px 50px -12px rgba(0,0,0,.25)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dd-hover-bg:transparent;--dd-hover-fg:var(--fg);--dd-shadow:0 25px 50px -12px rgba(0,0,0,.7)}}:root[data-theme=dark]{--dd-hover-bg:transparent;--dd-hover-fg:var(--fg);--dd-shadow:0 25px 50px -12px rgba(0,0,0,.7)}.dd-wrap{position:relative}.dd-trigger{width:100%;padding:16px 24px;border-radius:12px;border:2px solid var(--ink);background:var(--bg);color:var(--fg);display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:500;font-size:15px;transition:background-color .3s,color .3s}.dd-trigger:hover{background:var(--dd-hover-bg);color:var(--dd-hover-fg)}.dd-chev{display:grid;place-items:center}.dd-menu{position:absolute;left:0;right:0;top:100%;margin-top:8px;border-radius:12px;border:2px solid var(--ink);background:var(--bg);overflow:hidden;box-shadow:var(--dd-shadow);z-index:20}.dd-item{width:100%;padding:16px 24px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--fg);transition:background-color .2s,color .2s}.dd-item:last-child{border-bottom:0}.dd-item:hover,.dd-item.hi{background:var(--ink);color:var(--on-ink)}.dd-label{font-weight:500}.dd-desc{font-size:14px;color:var(--muted);transition:color .2s}.dd-item:hover .dd-desc,.dd-item.hi .dd-desc{color:var(--on-ink);opacity:.6}.dd-check{display:grid;place-items:center;flex:none}.dd.dd-menu{max-height:min(380px,60vh);overflow-y:auto;padding:0;margin-top:8px;top:100%}.dd .opt{display:grid;grid-template-columns:44px 1fr auto;gap:14px;padding:12px 24px;border-radius:0}.dd .opt .mini{background:var(--surface)}.dd .opt:hover .mini,.dd .opt.hi .mini{background:transparent;color:var(--on-ink)}.dd .opt:hover .nm span,.dd .opt.hi .nm span{color:var(--on-ink);opacity:.6}.dd .opt:hover .stock,.dd .opt.hi .stock{color:var(--on-ink)}.dd .opt:hover mark,.dd .opt.hi mark{background:var(--on-ink);color:var(--ink)}.dd .none{padding:20px 24px}.dd .more{border-top:1px solid var(--line);margin:0;padding:16px 24px;font-weight:600}.dd .more:hover{background:var(--ink);color:var(--on-ink)}.olist{display:flex;flex-direction:column;gap:10px}.ocard{background:var(--surface);border-radius:18px;overflow:hidden;border:1.5px solid transparent;transition:border-color .2s}.ocard.open{border-color:var(--ink)}.ohead{width:100%;border:0;background:none;display:grid;grid-template-columns:1fr auto 20px;gap:12px;align-items:center;padding:14px 16px;text-align:left}.ohead .l{min-width:0;display:flex;flex-direction:column;gap:3px}.ohead .l b{font-size:15px}.ohead .l small{color:var(--muted);font-size:12.5px}.ohead .l span{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ohead .r{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ohead .r b{font-size:15px}.ohead .chev{color:var(--muted);display:grid;place-items:center;transition:transform .3s}.ohead .chev .ic{width:20px;height:20px}.ocard.open .ohead .chev{transform:rotate(180deg)}.obody{padding:0 16px 16px;display:flex;flex-direction:column}.oline{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.oline .mini{width:40px;height:40px;border-radius:10px;background:var(--bg);display:grid;place-items:center}.oline .mini svg{width:24px;height:24px}.oline .n{min-width:0}.oline .n b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oline .n small{color:var(--muted);font-size:11.5px}.ofoot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px dashed var(--line);padding-top:12px;font-size:14px}.ofoot b{font-size:16px;margin-left:6px}@media (prefers-reduced-motion:no-preference){.obody{animation:ddIn .2s ease-out}}@keyframes ddIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.screen.login{overflow-y:auto;gap:0;padding-top:12px;position:relative}.login-top{position:absolute;top:12px;left:20px;right:20px;display:flex;justify-content:flex-end;align-items:center;z-index:2;pointer-events:none}.login-top>*{pointer-events:auto}.login-body{flex:none;width:100%;max-width:335px;margin:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:22px;text-align:center;padding-block:52px 6px}.login-art{position:relative;display:block;width:100%;max-width:250px;aspect-ratio:600/426;overflow:hidden;flex:none}.login-art .la-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;transition:opacity .35s ease}.login-art .la-anim{position:absolute;left:-25%;top:-10.329%;width:125%;height:117.371%;opacity:0;transition:opacity .35s ease}.login-art.live .la-anim{opacity:1}.login-art.live .la-poster{opacity:0}.login-head{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:41px}.login-head:has(.eyebrow){padding-top:20px}.login-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.login-head h1{font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.1}.login-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.4}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;text-align:left}.fgroup{display:flex;flex-direction:column;gap:6px}.fgroup>label{font-size:13px;font-weight:700;padding-left:2px}.login-form .check{justify-content:flex-start;font-size:14px;padding-left:2px}.login-form .err{text-align:left;margin:0}.login-form .btn{margin-top:4px}.login-foot{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--muted);line-height:1.45}.login-foot p{margin:0}.login-foot .demo{background:var(--surface);border-radius:10px;padding:8px 12px;color:var(--fg)}.login-foot .demo .mono{font-size:12px;font-weight:700}@media (max-height:720px){.login-art{max-width:190px}.login-body{gap:16px}}:root{--veil:rgba(255,255,255,.55);--loader-card:rgba(255,255,255,.92)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--veil:rgba(10,10,11,.55);--loader-card:rgba(242,242,239,.96)}}:root[data-theme=dark]{--veil:rgba(10,10,11,.55);--loader-card:rgba(242,242,239,.96)}.loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:var(--veil);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);animation:veilIn .2s ease-out both}.loader.out{animation:veilOut .22s ease-in both}.loader-card{width:min(240px,100%);background:var(--loader-card);color:#111;border-radius:24px;padding:12px 20px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;box-shadow:0 24px 60px -12px #00000059;animation:cardIn .28s cubic-bezier(.2,.9,.3,1.2) both}.loader-anim{width:132px;height:132px;margin-bottom:6px;overflow:hidden;position:relative}.loader-anim svg{position:absolute;top:0;right:0;bottom:0;left:0;width:260%!important;height:260%!important;transform:translate(-30.77%,-30.77%)!important}.loader-card b{font-size:16px;font-weight:700}.loader-card small{font-size:13px;color:#6b6b70}@keyframes veilIn{0%{opacity:0}to{opacity:1}}@keyframes veilOut{0%{opacity:1}to{opacity:0}}@keyframes cardIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.loader,.loader.out,.loader-card{animation:none}}.geo{display:flex;align-items:center;gap:8px;width:100%;border:0;background:var(--surface);border-radius:12px;padding:10px 12px;text-align:left;font-size:13.5px;font-weight:600;color:var(--fg)}.route .geo{background:var(--bg)}.geo .ic{width:16px;height:16px;color:var(--muted);flex:none}.geo .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo .dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}.geo.ok .dot{background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:geoPulse 2s infinite}.geo.warn .dot{background:var(--warn)}.geo.wait .dot{background:var(--warn);opacity:.6}.geo.warn .t{white-space:normal}.geo.compact{padding:8px 10px;font-size:12.5px}@keyframes geoPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.geo.ok .dot{animation:none}}.setsec{display:flex;flex-direction:column;gap:14px;background:var(--surface);border-radius:18px;padding:16px}.setsec h3{margin:0;font-size:16px}.setsec .geo{background:var(--bg)}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.switchrow span{display:flex;flex-direction:column;gap:3px;min-width:0}.switchrow b{font-size:14.5px}.switchrow small{font-size:12.5px;color:var(--muted);line-height:1.4}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:46px;height:28px;border-radius:999px;background:var(--surface-2);position:relative;cursor:pointer;transition:background-color .2s;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--bg);box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch:checked{background:var(--ink)}.switch:checked:after{transform:translate(18px)}.setsec .dd-trigger{background:var(--bg)}.geo-row{display:flex;gap:8px;align-items:center}.geo-row .geo{flex:1;min-width:0}.geo-row .btn{flex:none;background:var(--bg)}.rstops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rs{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-bottom:12px}.rs:last-child{padding-bottom:0}.rs:before{content:"";position:absolute;left:16px;top:34px;bottom:-2px;width:2px;background:var(--line)}.rs:last-child:before{display:none}.rs.is-done:before,.rs.depot:before{background:var(--ink)}.rs-dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--bg);color:var(--muted);display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:13px;position:relative;z-index:1}.rs-dot .ic{width:16px;height:16px}.rs.depot .rs-dot{border-radius:10px;border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.rs.is-done .rs-dot{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.rs.is-done .rs-dot .ic{stroke-width:2.6}.rs.is-next .rs-dot{border-color:var(--ink);color:var(--fg);box-shadow:0 0 0 4px var(--surface-2)}.rs-card{background:var(--surface);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-width:0;border:1.5px solid transparent}.rs.is-next .rs-card{border-color:var(--ink);background:var(--bg)}.rs.depot .rs-card{padding:10px 14px}.rs-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.rs-title{min-width:0;display:flex;flex-direction:column;gap:2px}.rs-title b{font-size:15px;font-weight:700;line-height:1.25}.rs-title small{font-size:12.5px;color:var(--muted)}.rs.is-done .rs-title b{color:var(--muted)}.rs-time{flex:none;font-size:11.5px;font-weight:700;color:var(--muted);background:var(--bg);border-radius:8px;padding:4px 7px}.rs.is-next .rs-time{background:var(--surface)}.rs-task{margin:0;font-size:13.5px;line-height:1.45;color:var(--fg);padding-left:10px;border-left:2px solid var(--line)}.rs-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.rs-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}.rs-chip .ic{width:14px;height:14px;stroke-width:2.4}.rs-chip.ok{color:var(--ok)}.rs-chip.next{color:var(--on-ink);background:var(--ink);border-radius:999px;padding:4px 10px}.rs-acts{display:flex;align-items:center;gap:6px}.rs-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:var(--fg);background:var(--bg);text-decoration:none}.rs-icon .ic{width:16px;height:16px}.rs-btn{border:1.5px solid var(--line);background:var(--bg);color:var(--fg);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px}.rs-btn.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.rs-btn.undo{border-color:transparent;background:none;color:var(--muted);padding:8px 6px;text-decoration:underline;text-underline-offset:3px}.rs-icon:hover,.rs-btn:hover{border-color:var(--ink)}.switchrow.static{cursor:default}.switchrow .btn{flex:none}.switchrow>.ic{flex:none;color:var(--ok)}.sheet.install{align-items:center;text-align:center}.sheet.install h2{border:0;padding:0}.sheet.install .hint{margin:0}.install-icon{width:72px;height:72px;border-radius:18px;box-shadow:0 0 0 1px var(--line),0 6px 18px #0000002e;margin-top:6px}.install-lead{margin:0;color:var(--muted);line-height:1.45;max-width:32ch}.install-steps{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:12px;text-align:left}.install-steps li{display:flex;align-items:flex-start;gap:12px;line-height:1.45}.install-steps .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:700;font-size:13px}.install-steps .inl{width:17px;height:17px;vertical-align:-3px}.offline{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:32px 28px calc(32px + env(safe-area-inset-bottom,0px))}.offline-badge{width:96px;height:96px;border-radius:50%;background:var(--surface);display:grid;place-items:center;margin-bottom:8px}.offline-badge .ic{width:44px;height:44px;color:var(--muted)}.offline h2{font-size:24px;font-weight:800}.offline p{margin:0;color:var(--muted);line-height:1.45;max-width:30ch}.offline .btn{max-width:280px;margin-top:12px}.custbtn{display:flex;align-items:center;gap:12px;width:100%;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:14px;padding:10px 14px;text-align:left;flex:none}.custbtn>.ic{width:20px;height:20px;color:var(--muted);flex:none}.custbtn span{flex:1;min-width:0}.custbtn small{display:block;color:var(--muted);font-size:12px}.custbtn b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custbtn.empty{border-color:var(--ink);border-style:dashed}.custlist{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:120px;max-height:52vh}.custlist button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:var(--surface);color:var(--fg);border-radius:12px;padding:12px 14px;text-align:left}.custlist button span{min-width:0}.custlist button b{display:block;font-weight:600}.custlist button small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custlist button.on{background:var(--ink);color:var(--on-ink)}.custlist button.on small{color:var(--on-ink);opacity:.7}.custlist button .ic{width:20px;height:20px;flex:none}.btn:disabled{opacity:.55}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--surface-2);border-top-color:var(--ink);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pic{display:block;width:100%;height:100%;border-radius:inherit;background:var(--bg)}.pic-cover{object-fit:cover}.pic-contain{object-fit:contain}.thumb{overflow:hidden}.thumb>.pic{position:absolute;top:0;right:0;bottom:0;left:0}.thumb>.pic-contain{padding:6px;background:#fff}.m-art{overflow:hidden}.m-art>.pic{position:absolute;top:0;right:0;bottom:0;left:0}.line .mini,.oline .mini,.dd .mini{overflow:hidden}.loader-card{background:transparent;box-shadow:none;color:var(--fg);padding:0}.loader-card b{text-shadow:0 1px 12px var(--bg)}.loader-card small{color:var(--muted);text-shadow:0 1px 10px var(--bg)}:root[data-theme=dark] .loader-anim svg{filter:invert(1) hue-rotate(180deg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .loader-anim svg{filter:invert(1) hue-rotate(180deg)}}
