:root{--accent:#007aff;--accent-pressed:#0062cc;--on-accent:#fff;--bg:#f2f2f7;--surface:#fff;--fill:#7676801f;--fill-pressed:#76768038;--text:#1c1c1e;--muted:#6e6e73;--separator:#3c3c432e;--border:#3c3c433d;--strong:#1c1c1e;--on-strong:#fff;--segment-on:#fff;--danger:#ff3b30;--danger-text:#d70015;--danger-bg:#ff3b301f;--warning-bg:#ff950026;--warning-text:#8a4a00;--position:#007aff;--position-halo:#007aff38;--glass:#fafafcc2;--glass-panel:#fafafce6;--glass-edge:#00000012;--shadow:0 6px 20px #0000001a, 0 1px 3px #00000014;--blur:blur(24px) saturate(180%);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:17px;line-height:1.35}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#0a84ff;--accent-pressed:#409cff;--bg:#000;--surface:#1c1c1e;--fill:#7676803d;--fill-pressed:#76768061;--text:#f2f2f7;--muted:#98989f;--separator:#54545899;--border:#545458bf;--strong:#f2f2f7;--on-strong:#000;--segment-on:#636366;--danger:#ff453a;--danger-text:#ff6961;--danger-bg:#ff453a2e;--warning-bg:#ff9f0a2e;--warning-text:#ffb340;--position:#0a84ff;--position-halo:#0a84ff47;--glass:#242426b8;--glass-panel:#1e1e20e0;--glass-edge:#ffffff17;--shadow:0 6px 20px #00000073}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;background:var(--bg);height:100dvh;color:var(--text);position:fixed;top:0;left:0;right:0}#root{overflow:hidden}@media (display-mode:standalone){html,body{height:100lvh}}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:28px;font-weight:700}button,input,select,textarea{font:inherit;letter-spacing:inherit}input:not([type=checkbox]),select,textarea{background:var(--fill);width:100%;min-height:44px;color:var(--text);border:none;border-radius:10px;padding:10px 12px;font-size:17px}input::placeholder,textarea::placeholder{color:var(--muted)}select{appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5l3-3' fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:34px}input[type=time],input[type=date]{appearance:none;text-align:left;display:block}input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}button{background:var(--fill);min-height:44px;color:var(--accent);cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-weight:600}button:active:not(:disabled){background:var(--fill-pressed)}button:disabled{opacity:.4;cursor:default}button.primary,button.primary-inline{background:var(--accent);color:var(--on-accent)}button.primary{width:100%}button.primary:active:not(:disabled),button.primary-inline:active:not(:disabled){background:var(--accent-pressed)}button.danger{background:var(--danger);color:#fff}button.danger-outline{background:var(--danger-bg);color:var(--danger-text)}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.icon-button{min-width:44px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.icon-button .icon{width:18px;height:18px}.link-button,.link-danger{min-height:44px;color:var(--accent);background:0 0;align-self:flex-start;padding:10px 0}.link-button:active:not(:disabled),.link-danger:active:not(:disabled){opacity:.6;background:0 0}.link-danger{color:var(--danger-text)}.muted{color:var(--muted)}.small{font-size:15px}.error{color:var(--danger-text);margin:0}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--glass-edge), var(--shadow)}.screen-center{height:100%;padding:calc(var(--safe-top) + 16px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 16px) calc(var(--safe-left) + 16px);place-items:center;display:grid;overflow-y:auto}.card{background:var(--surface);border-radius:22px;flex-direction:column;gap:12px;width:100%;max-width:360px;padding:28px 24px 24px;display:flex}.card h1{margin:0 0 4px}.card label{color:var(--muted);font-size:15px;font-weight:600}.card button.primary{min-height:50px;margin-top:4px}.login-logo{border-radius:15px;width:64px;height:64px}.map-screen{height:100%;position:relative}.map-screen .map{position:absolute;inset:0}.top-row{z-index:2;top:calc(var(--safe-top) + 10px);left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute}.top-row>*{pointer-events:auto}.top-right{flex:none;gap:8px;display:flex}.offline-pill{background:var(--danger);min-height:44px;box-shadow:var(--shadow);color:#fff;text-align:center;border-radius:14px;flex:1;padding:11px 14px;font-size:15px;font-weight:600;line-height:1.45}.control-group{border-radius:14px;display:flex}.control-group>.map-control+.map-control{border-left:.5px solid var(--separator)}button.map-control{width:46px;height:46px;min-height:0;color:var(--text);background:0 0;border-radius:0;place-items:center;padding:0;display:grid}.control-group>.map-control:first-child{border-radius:14px 0 0 14px}.control-group>.map-control:last-child{border-radius:0 14px 14px 0}button.map-control:active:not(:disabled){background:var(--fill)}.location-button.on{color:var(--position)}.location-button.on .icon{fill:currentColor}.location-button.finding .icon{animation:.9s ease-in-out infinite alternate finding}@keyframes finding{to{opacity:.3}}button.compass{border-radius:50%;animation:.15s ease-out appear}button.compass:active:not(:disabled){background:var(--glass)}.compass svg{width:38px;height:38px}.compass-n{fill:var(--text);font-size:5px;font-weight:700}.compass-north{fill:var(--danger)}.compass-south{fill:var(--muted)}@keyframes appear{0%{opacity:0;transform:scale(.85)}}.position-dot{background:var(--position);width:20px;height:20px;box-shadow:0 0 0 7px var(--position-halo), 0 1px 4px #00000059;pointer-events:none;border:3px solid #fff;border-radius:50%}.maplibregl-ctrl-top-left{padding-top:var(--safe-top);padding-left:var(--safe-left)}.maplibregl-ctrl-top-right{padding-top:var(--safe-top);padding-right:var(--safe-right)}.maplibregl-ctrl-bottom-left{padding-bottom:var(--safe-bottom);padding-left:var(--safe-left)}.maplibregl-ctrl-bottom-right{padding-bottom:var(--safe-bottom);padding-right:var(--safe-right)}.map-screen:has(.home-card) .maplibregl-ctrl-bottom-right{bottom:var(--home-height,0px);padding-bottom:0}.map-screen .maplibregl-ctrl.maplibregl-ctrl-attrib{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--muted);border-radius:7px;margin:0 8px 6px 0;padding:1px 7px;font-size:11px}.map-screen .maplibregl-ctrl-attrib a{color:inherit}.banners{top:calc(var(--safe-top) + 66px);left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);z-index:11;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.banner{pointer-events:auto;background:var(--glass-panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--glass-edge), var(--shadow);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:7px 7px 7px 16px;font-size:15px;font-weight:600;display:flex}.banner.warning{color:var(--danger-text);padding:12px 7px 12px 16px}.banner button{flex:none;min-height:40px;padding:8px 14px;font-size:15px}.install-hint{justify-content:space-between;align-items:center;gap:12px;font-weight:400;display:flex}.login-hint{border-top:.5px solid var(--separator);padding-top:14px;font-size:15px}.login-hint button{flex:none}.share-icon{vertical-align:text-bottom;fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;display:inline-block}.home-card{z-index:3;padding:12px calc(var(--safe-right) + 12px) calc(var(--safe-bottom) + 8px) calc(var(--safe-left) + 12px);border-radius:18px 18px 0 0;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}button.search-field{width:100%;min-height:44px;color:var(--muted);text-align:left;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-weight:400;display:flex}.search-field .icon{stroke-width:2.2px;width:19px;height:19px}.home-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.home-actions button{background:0 0;flex-direction:column;align-items:center;gap:3px;min-height:56px;padding:8px 4px 6px;font-size:13px;font-weight:500;display:flex}.home-actions button:active:not(:disabled){background:var(--fill)}.home-actions .icon{width:24px;height:24px}.sheet{left:0;right:0;bottom:var(--keyboard,0px);z-index:10;max-height:min(85dvh, calc(var(--visible-height,100dvh) - var(--safe-top) - 8px));background:var(--glass-panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 .5px var(--glass-edge), 0 -6px 24px #00000024;border-radius:18px 18px 0 0;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-up;display:flex;position:absolute}@keyframes sheet-up{0%{opacity:0;transform:translateY(32px)}}.sheet-header{padding:10px calc(var(--safe-right) + 8px) 0 calc(var(--safe-left) + 16px);justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-header h2{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:700}button.close-button{width:44px;color:var(--muted);background:0 0;flex:none;place-items:center;padding:0;display:grid}button.close-button:active:not(:disabled){background:0 0}.close-button .icon{background:var(--fill);stroke-width:2.4px;border-radius:50%;width:30px;height:30px;padding:7px}.sheet-body{padding:8px calc(var(--safe-right) + 16px) 16px calc(var(--safe-left) + 16px);overscroll-behavior:contain;flex-direction:column;gap:18px;display:flex;overflow-y:auto}.sheet-body p{margin:0}.sheet-footer{padding:12px calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 12px) calc(var(--safe-left) + 16px);border-top:.5px solid var(--separator);flex-direction:column;gap:8px;display:flex}.sheet-footer p{margin:0}.sheet-footer button{min-height:50px}.button-row{gap:10px;display:flex}.button-row button{flex:1}.field{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.field>label,.field>legend,.field>.label{padding:0;font-size:15px;font-weight:600}.checkbox{flex-direction:row;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--accent)}.segmented{background:var(--fill);border-radius:10px;padding:2px;display:flex}.segmented button{min-width:0;min-height:40px;color:var(--text);background:0 0;border-radius:8px;flex:1;padding:8px 4px;font-size:15px;font-weight:500}.segmented button:active:not(:disabled){opacity:.6;background:0 0}.segmented button[aria-checked=true]{background:var(--segment-on);font-weight:600;box-shadow:0 2px 6px #0000001f,0 0 0 .5px #0000000a}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:40px;color:var(--text);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:500}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch-button{border:3px solid var(--surface);width:44px;height:44px;box-shadow:0 0 0 .5px var(--border);border-radius:50%;padding:0}.swatch-button[aria-checked=true]{box-shadow:0 0 0 2.5px var(--text)}.swatch{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block;box-shadow:0 0 0 .5px #00000026}.position-row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;display:flex}.day-editor{flex-direction:column;gap:4px;display:flex}.day-label{font-weight:600}.day-ranges{flex-direction:column;gap:6px;display:flex}.range-row{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:6px;display:grid}.range-row input{min-width:0;padding:8px 6px}.range-hint{grid-column:1/-1}.danger-zone{border-top:.5px solid var(--separator);flex-direction:column;gap:10px;padding-top:12px;display:flex}.row-list{margin:0;padding:0;list-style:none}.row-list li+li{border-top:.5px solid var(--separator)}.layer-row{align-items:center;gap:12px;display:flex}.row-button{width:100%;min-width:0;color:var(--text);text-align:left;background:0 0;border-radius:0;flex:1;align-items:center;gap:12px;padding:11px 0;font-weight:400;display:flex}.row-button:active:not(:disabled){opacity:.55;background:0 0}.row-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-weight:600}.chevron{color:var(--muted);opacity:.7;font-size:1.4rem;font-weight:400}.switch{flex:none;width:51px;height:31px;position:relative}.switch input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{background:var(--fill-pressed);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch-track:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003,0 0 0 .5px #0000000a}.switch input:checked+.switch-track{background:#34c759}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.chinese-name{font-size:26px;font-weight:600}.layer-line{color:var(--muted);align-items:center;gap:8px;font-size:15px;display:flex}.details{background:var(--fill);border-radius:12px;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;padding:12px 14px;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.notes{white-space:pre-wrap}.badge{background:var(--fill);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600;display:inline-block}.warning-badge{background:var(--danger-bg);color:var(--danger-text)}.badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.notice{background:var(--warning-bg);color:var(--warning-text);border-radius:12px;margin:0;padding:11px 14px;font-size:15px}.warning-list{flex-direction:column;gap:4px;padding-left:30px;display:flex}.date-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.layer-check{font-weight:400}.itinerary-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:-8px;display:flex}.itinerary-meta .link-button{white-space:nowrap;flex:none}.day-tabs{margin:0 calc(-16px - var(--safe-right)) 0 calc(-16px - var(--safe-left));padding:0 calc(16px + var(--safe-right)) 4px calc(16px + var(--safe-left));scrollbar-width:none;flex:none;gap:8px;display:flex;overflow-x:auto}.day-tabs .chip{flex:none;align-items:center;gap:6px;display:inline-flex}.day-tabs .chip[aria-selected=true]{background:var(--strong);color:var(--on-strong)}.day-section{flex-direction:column;gap:6px;display:flex}.day-heading{align-items:center;gap:8px;margin:8px 0 0;font-size:17px;font-weight:700;display:flex}.stop-list,.plain-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.plain-list li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.stop-row{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:12px;align-items:flex-start;gap:12px;padding:9px 10px;font-weight:400;display:flex}.stop-row.selected{background:var(--fill)}.stop-row.open-meal .row-title{color:var(--muted);font-style:italic}.stop-number{background:var(--muted);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.stop-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.stop-zh{font-size:1.05rem}.action-row{gap:8px;display:flex}.action-row button{flex:1}.rename-row{flex-direction:column;gap:8px;display:flex}.stop-actions{flex-direction:column;gap:8px;margin:4px 0 8px 48px;display:flex}.stop-actions button{font-size:15px}.action-row.wrap{flex-wrap:wrap}.action-row.wrap .wide{flex:1 0 100%}.pin-time{grid-template-columns:1fr auto;gap:8px;display:grid}.picker-list{background:var(--fill);border-radius:12px;flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.picker-list li+li{border-top:.5px solid var(--separator)}.picker-list .row-button{padding:9px 12px}.add-place{flex-direction:column;flex:1 0 100%;gap:8px;display:flex}.field>legend{margin-bottom:8px;font-size:17px;font-weight:700}.settings-group{flex-direction:column;gap:4px;display:flex}.settings-group>.label{font-weight:600}.time-field{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:15px;display:flex}.time-field input{min-width:0;padding:8px 6px}.meal-row{grid-template-columns:1fr 1fr 72px;gap:8px;display:grid}.search-form{grid-template-columns:1fr auto;gap:8px;display:grid}.search-form input[type=search]{appearance:none}.search-section{flex-direction:column;gap:4px;display:flex}.search-section h3{color:var(--muted);margin:0;font-size:15px;font-weight:600}
