@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f2f2f7;--surface: #ffffff;--surface2: #f2f2f7;--border: #e5e5ea;--text: #1c1c1e;--text-muted: #8e8e93;--go-green: #00843d;--accent: #00843d;--accent-subtle: color-mix(in srgb, #00843d 12%, #ffffff);--badge-departed-bg: var(--border);--badge-departed-text: var(--text-muted);--badge-cancelled-bg: #fde8e7;--badge-cancelled-text: #c0392b;--badge-delayed-bg: #fff3e0;--badge-delayed-text: #c06000;--badge-platform-bg: #4a235a;--badge-platform-text: #ffffff;--badge-arriving-bg: #e0f2fe;--badge-arriving-text: #0369a1;--last-train-bg: #fff8e6;--last-train-border: #f5d87a;--last-train-text: #92610a;--radius: 14px;--radius-sm: 10px;font-family:SF Pro Rounded,ui-rounded,Poppins,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transition:background .25s,color .25s}.app{max-width:430px;margin:0 auto;padding-bottom:40px}.top-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 16px 12px;position:sticky;top:0;z-index:10;transition:background .25s,border-color .25s;box-shadow:0 1px 0 var(--border),0 4px 16px #0000000a}.nav-route{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:0}.nav-station{font-size:20px;font-weight:800;letter-spacing:-.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-station-from{text-align:left}.nav-station-to{text-align:right}.nav-station-btn{background:none;border:none;cursor:pointer;font-family:inherit;padding:2px 6px;border-radius:8px;transition:background .15s}.nav-station-btn:active{background:var(--surface2)}.nav-swap{background:var(--surface2);border:none;border-radius:50%;width:32px;height:32px;font-size:14px;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;justify-self:center;font-family:inherit;transition:background .1s,transform .25s cubic-bezier(.34,1.56,.64,1)}.nav-swap:active{background:var(--border);transform:rotate(180deg)}.train-spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 0 4px}.train-spinner-disc{width:120px;height:120px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:50%;transition:filter .15s;will-change:transform}.train-spinner-disc:active{cursor:grabbing;filter:brightness(1.1)}.train-spinner-hint{font-size:11px;color:var(--text-muted);font-weight:500;opacity:.6}.share-btn{background:none;border:none;padding:6px;border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;display:grid;place-items:center;transition:background .1s,color .1s}.share-btn:active{background:var(--surface2);color:var(--text)}.share-icon-svg{width:16px;height:16px}.nav-btn{background:none;border:none;padding:6px;border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;display:grid;place-items:center;transition:background .1s,color .1s}.nav-btn:active{background:var(--surface2);color:var(--accent)}.nav-icon-svg{width:16px;height:16px}.card-action-btns{display:flex;align-items:center;gap:2px}.bell-btn{background:none;border:none;padding:6px;border-radius:8px;color:var(--text-muted);cursor:pointer;flex-shrink:0;display:grid;place-items:center;transition:background .1s,color .1s}.bell-btn:active{background:var(--surface2)}.bell-btn-active{color:var(--accent)}.bell-btn-active:active{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.bell-icon-svg{width:16px;height:16px}.route-picker-done{display:block;width:100%;margin-top:28px;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s}.route-picker-done:active{opacity:.8}.station-list{display:flex;flex-direction:column;gap:2px;margin-top:4px}.station-list-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.station-list-item:active{background:var(--surface2)}.station-list-item.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);font-weight:600}.station-list-check{flex-shrink:0;color:var(--accent)}.app-footer{text-align:center;font-size:11px;color:var(--text-muted);opacity:.5;padding:4px 0 0}.updated-strip{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0 16px;font-size:11px;font-weight:500;color:var(--text-muted)}.updated-strip svg{flex-shrink:0}.updated-strip .spin{animation:spin .8s linear infinite}.updated-sep{opacity:.4}.updated-settings-btn{background:none;border:none;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.updated-settings-btn:active{color:var(--text)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;animation:sheet-in .32s cubic-bezier(.16,1,.3,1) both}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.settings-overlay.closing{animation:sheet-out .24s cubic-bezier(.4,0,1,1) both}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}.settings-sheet{background:var(--surface2);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 40px;padding-top:env(safe-area-inset-top);padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:18px 0 16px;border-bottom:1px solid var(--border);margin-bottom:16px;position:sticky;top:0;background:var(--surface2);z-index:1}.settings-title{font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--text)}.settings-close{background:var(--surface2);border:none;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s}.settings-close:active{background:var(--border);color:var(--text)}.settings-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:10px}.line-dot-picker{display:flex;flex-wrap:wrap;gap:6px}.line-dot-btn{display:flex;align-items:center;gap:6px;background:var(--bg);border:1.5px solid transparent;border-radius:20px;padding:5px 12px 5px 8px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;min-height:34px;transition:all .15s cubic-bezier(.16,1,.3,1)}.line-dot-btn:active{transform:scale(.95)}.line-dot-btn.active{border-color:var(--lc);color:var(--lc);background:color-mix(in srgb,var(--lc) 8%,white);font-weight:700}.ldot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.settings-pickers{display:flex;align-items:flex-end;gap:8px}.station-picker{flex:1;display:flex;flex-direction:column;gap:4px}.station-picker label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600}.station-picker select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 26px 9px 10px;font-size:14px;font-family:inherit;width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238e8e93' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;min-height:42px;transition:border-color .15s}.station-picker select:focus{outline:none;border-color:var(--accent)}.swap-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:50%;width:38px;height:38px;font-size:16px;cursor:pointer;flex-shrink:0;margin-bottom:1px;font-family:inherit;transition:background .1s}.swap-btn:active{background:var(--border)}.debug-panel{border-top:1px solid var(--border);padding-top:12px}.debug-toggle{background:none;border:none;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit;padding:0;display:flex;align-items:center;gap:4px}.debug-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}.dbg-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px;margin-top:4px}.dbg-section-title:first-child{margin-top:0}.dbg-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 10px;display:flex;flex-direction:column}.dbg-row2{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}.dbg-row2:last-child{border-bottom:none}.dbg-row2-label{color:var(--text-muted);flex-shrink:0}.dbg-row2-val{font-weight:600;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.dbg-mono{font-family:monospace;font-size:11px}.dbg-offline{font-size:12px;color:var(--badge-cancelled-text, #f87171);padding:6px 0}.dbg-loading-label{font-size:12px;color:var(--text-muted);padding:6px 0}.dbg-log-line{font-family:monospace;font-size:11px;padding:4px 0;border-bottom:1px solid var(--border);color:var(--text-muted)}.dbg-log-line:last-child{border-bottom:none}.dbg-coords-row{display:flex;align-items:center;gap:6px;font-size:11px;font-family:monospace;color:var(--text-muted);padding:4px 0 2px}.dbg-coords-arrow{color:var(--text-muted);opacity:.5}.dbg-usage-bar-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.dbg-usage-label{font-size:11px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.dbg-usage-track{width:80px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.dbg-usage-fill{height:100%;border-radius:2px;transition:width .3s}main{padding:8px 12px 0}.board{display:flex;flex-direction:column;gap:6px}.refresh-btn{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:inherit;padding:4px 2px;border-radius:8px;transition:color .15s}.refresh-btn:active{color:var(--text)}.refresh-btn svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.refresh-spinning svg{animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.refresh-time{font-size:11px;font-weight:500;color:var(--text-muted)}.refresh-progress{height:2px;background:var(--border);border-radius:1px;overflow:hidden;margin-bottom:4px}.refresh-progress-fill{height:100%;background:var(--accent);border-radius:1px;transition:width 1s linear;opacity:.5}.service-alert-banner{display:flex;align-items:flex-start;gap:10px;background:color-mix(in srgb,#f59e0b 12%,var(--surface));border:1px solid color-mix(in srgb,#f59e0b 40%,var(--border));border-left:3px solid #f59e0b;border-radius:var(--radius-sm);padding:11px 12px;margin-bottom:4px}.service-alert-icon{font-size:15px;flex-shrink:0;line-height:1.4}.service-alert-msg{flex:1;font-size:13px;font-weight:500;color:var(--text);line-height:1.4}.service-alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;line-height:1}.service-alert-dismiss:active{opacity:.6}.crowd-banner{display:flex;align-items:flex-start;gap:10px;border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:4px;border-left:3px solid transparent}.crowd-banner-pre{background:color-mix(in srgb,#3b82f6 10%,var(--surface));border-left-color:#3b82f6}.crowd-banner-live{background:color-mix(in srgb,#ef4444 10%,var(--surface));border-left-color:#ef4444}.crowd-banner-post{background:color-mix(in srgb,#f59e0b 10%,var(--surface));border-left-color:#f59e0b}.crowd-banner-emoji{font-size:15px;flex-shrink:0;line-height:1.5}.crowd-banner-msg{font-size:13px;font-weight:500;color:var(--text);line-height:1.4}.last-train-banner{background:var(--last-train-bg);border:1px solid var(--last-train-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:600;color:var(--last-train-text);text-align:center}.more-btn{width:100%;background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius);padding:12px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.more-btn:active{background:var(--bg);color:var(--text);border-color:var(--accent)}.past-toggle{background:none;border:none;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit;padding:2px;align-self:flex-start;transition:color .15s;margin-bottom:-2px}.past-toggle:hover{color:var(--text)}.dep-card{width:100%;background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--radius);padding:14px 16px 12px;cursor:pointer;text-align:left;font-family:inherit;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 3px #0000000f;transition:background .25s,border-color .25s,transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}.dep-card:active{transform:scale(.982);box-shadow:0 1px 2px #0000000a}.dep-card.dep-faded{opacity:.38}.dep-card.dep-cancelled{opacity:.55}.dep-card.dep-arriving{border-color:color-mix(in srgb,#0ea5e9 30%,var(--border));background:color-mix(in srgb,#0ea5e9 6%,var(--surface))}.dep-card.dep-soon{border-left-color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 14%,transparent)}.label-express{font-size:11px;font-weight:700;color:var(--badge-delayed-text, #c06000);margin-bottom:3px}.label-ends{font-size:11px;color:var(--badge-cancelled-text, #c0392b);margin-bottom:3px}.card-main-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-left{flex:1}.dep-time{font-size:28px;font-weight:800;letter-spacing:-.8px;line-height:1;color:var(--text)}.dep-time-muted{color:var(--text-muted)}.card-right{flex-shrink:0;display:flex;align-items:center;gap:8px}.pulse-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--border);position:relative;flex-shrink:0;transition:background .3s}.pulse-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent}.pulse-dot.pulse-dot-active{background:var(--accent)}.pulse-dot.pulse-dot-active:after{border-color:var(--accent);animation:pulse-ring 1.4s ease-out infinite}@keyframes pulse-ring{0%{opacity:.75;transform:scale(.5)}to{opacity:0;transform:scale(2.4)}}.countdown-wrap{display:flex;align-items:center;gap:8px}.countdown-block{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.countdown-num{font-size:36px;font-weight:800;letter-spacing:-1.5px;color:var(--accent);font-variant-numeric:tabular-nums;transition:color .3s;opacity:.72}.countdown-unit{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-top:-1px;text-align:right;transition:color .3s;opacity:.72}.countdown-soon .countdown-num,.countdown-soon .countdown-unit,.countdown-urgent .countdown-num{opacity:1}.card-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.b-departed{background:var(--badge-departed-bg);color:var(--badge-departed-text)}.b-cancelled{background:var(--badge-cancelled-bg);color:var(--badge-cancelled-text)}.b-delayed{background:var(--badge-delayed-bg);color:var(--badge-delayed-text)}.b-platform{background:var(--badge-platform-bg);color:var(--badge-platform-text)}.b-arriving{background:var(--badge-arriving-bg);color:var(--badge-arriving-text)}.b-last-train{background:var(--last-train-bg);color:var(--last-train-text);border:1px solid var(--last-train-border)}.leave-row{display:flex;align-items:center;gap:12px;margin-top:11px;padding-top:11px;border-top:1px solid var(--border)}.leave-mode-icon{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent);transition:background .25s,color .25s}.leave-missed .leave-mode-icon{background:var(--badge-cancelled-bg, #fde8e7);color:var(--badge-cancelled-text, #c0392b)}.leave-warn .leave-mode-icon{opacity:.75}.leave-urgent .leave-mode-icon{opacity:.55}.leave-loading-row .leave-mode-icon{opacity:.5}.leave-icon-svg{width:17px;height:17px}.leave-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.leave-primary{font-size:14px;font-weight:700;letter-spacing:-.2px;color:var(--text);transition:color .25s}.leave-missed .leave-primary{color:var(--badge-cancelled-text, #c0392b);opacity:.8}.leave-secondary{font-size:11px;font-weight:500;color:var(--text-muted);display:flex;flex-direction:column;align-items:flex-start;gap:3px}.leave-loading{font-size:13px;font-weight:500;font-style:italic;color:var(--text-muted)}.traffic-inline{display:flex;align-items:center;gap:4px}.traffic-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;animation:traffic-pulse 2s ease-in-out infinite}@keyframes traffic-pulse{0%,to{opacity:1}50%{opacity:.45}}.dep-card.dep-missed{opacity:.55}.b-missed{background:var(--badge-cancelled-bg, #fde8e7);color:var(--badge-cancelled-text, #c0392b)}.remind-btn{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:var(--surface2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}.remind-btn:active{transform:scale(1.15)}.remind-set{background:var(--accent-subtle);color:var(--accent)}.remind-icon-svg{width:15px;height:15px;pointer-events:none}.dep-detail{margin-top:4px}.detail-divider{height:1px;background:var(--border);margin:10px 0}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:13px;color:var(--text-muted)}.detail-value{font-size:13px;font-weight:600}.platform-pill{background:#4a235a;color:#fff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.theme-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.theme-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg);border:1.5px solid transparent;border-radius:12px;padding:8px 10px 6px;cursor:pointer;font-family:inherit;transition:all .15s cubic-bezier(.16,1,.3,1);min-width:64px}.theme-btn:active{transform:scale(.95)}.theme-btn-active{border-color:var(--ta, var(--go-green));background:color-mix(in srgb,var(--ta, var(--go-green)) 10%,var(--surface))}.theme-swatch{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-swatch-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #ffffff4d}.theme-name{font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.settings-row-label{font-size:14px;color:var(--text)}.settings-hint{font-size:12px;color:var(--text-muted);line-height:1.5;margin-bottom:4px}.settings-collapse-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-top:1px solid var(--border);padding:14px 0 4px;margin-top:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);cursor:pointer}.settings-collapse-btn:active{opacity:.7}.collapse-chevron{transition:transform .2s;flex-shrink:0}.collapse-chevron.expanded{transform:rotate(180deg)}.settings-collapse-body{padding-top:8px}.theme-custom-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.theme-custom-label{font-size:13px;font-weight:500;color:var(--text)}.theme-color-input{width:36px;height:36px;border:none;border-radius:50%;padding:0;cursor:pointer;background:none;overflow:hidden}.theme-color-input::-webkit-color-swatch-wrapper{padding:0}.theme-color-input::-webkit-color-swatch{border:none;border-radius:50%}.day-seg-small{display:flex;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:2px;gap:2px}.day-seg-small-btn{background:none;border:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;padding:4px 12px;border-radius:8px;transition:background .15s,color .15s}.day-seg-small-btn.active{background:var(--accent);color:#fff}.toggle-switch{width:44px;height:26px;border-radius:13px;background:var(--border);border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.toggle-on{background:var(--accent)}.toggle-on:after{transform:translate(18px)}.dbg-summary-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:middle}.dbg-check-row{display:flex;align-items:center;gap:6px}.dbg-check-row .dbg-check{flex:1}.dbg-refresh-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 7px;line-height:1;flex-shrink:0}.dbg-refresh-btn:active{background:var(--surface2)}.dbg-check{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.dbg-check-icon{flex-shrink:0;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;margin-top:1px}.dbg-check-body{display:flex;flex-direction:column;gap:1px;min-width:0}.dbg-check-label{font-size:12px;font-weight:600;color:var(--text)}.dbg-check-detail{font-size:11px;color:var(--text-muted);word-break:break-all}.dbg-ok{background:#d1fae5;color:#065f46}.dbg-warn{background:#fef3c7;color:#92400e}.dbg-err{background:#fee2e2;color:#991b1b}.dbg-loading{background:var(--border);color:var(--text-muted)}.dbg-summary-dot.dbg-ok{background:#22c55e}.dbg-summary-dot.dbg-warn{background:#f59e0b}.parking-stepper{display:flex;align-items:center;gap:8px;background:var(--surface2);border-radius:20px;padding:2px 4px}.parking-stepper button{background:none;border:none;font-size:16px;font-weight:700;color:var(--text-muted);cursor:pointer;width:28px;height:28px;border-radius:50%;font-family:inherit;transition:background .1s,color .1s;display:grid;place-items:center}.parking-stepper button:active{background:var(--border);color:var(--text)}.parking-stepper span{font-size:13px;font-weight:600;color:var(--text);min-width:42px;text-align:center}.hint{text-align:center;color:var(--text-muted);font-size:14px;padding:40px 0}.hint.error{color:#c0392b}
