:root{color-scheme:dark light;font-family:Outfit,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #130a1c;--panel: linear-gradient(145deg, rgba(39, 21, 51, .75), rgba(24, 11, 33, .85));--panel-solid: #1d0f2a;--card-bg: rgba(30, 16, 42, .7);--selected: linear-gradient(145deg, rgba(255, 42, 122, .15), rgba(160, 106, 255, .15));--control: rgba(255, 255, 255, .07);--control-border: rgba(255, 255, 255, .15);--border: rgba(255, 255, 255, .08);--divider: rgba(255, 255, 255, .11);--text: #f7f9fb;--muted: #aeb6be;--quiet: #76808a;--green: #39a871;--blue: #0099D8;--purple: #a06aff;--teal: #39bec2;--orange: #ff991f;--amber: #efb93e;--red: #E31837;--pink: #ff2a7a;--shadow: 0 18px 46px rgba(0, 0, 0, .32)}:root.light{--bg: #fdf5f9;--panel: linear-gradient(145deg, rgba(255, 255, 255, .85), rgba(253, 242, 250, .85));--panel-solid: #fff7fa;--card-bg: rgba(255, 255, 255, .85);--selected: linear-gradient(145deg, rgba(255, 42, 122, .1), rgba(160, 106, 255, .1));--control: rgba(255, 255, 255, .95);--control-border: rgba(19, 29, 39, .14);--border: rgba(19, 29, 39, .08);--divider: rgba(19, 29, 39, .1);--text: #111820;--muted: #5c6670;--quiet: #8a949f;--shadow: 0 18px 42px rgba(29, 42, 55, .1)}*{box-sizing:border-box;margin:0;padding:0}html{min-width:320px;min-height:100dvh;background:radial-gradient(circle at 0% 0%,rgba(160,106,255,.18),transparent 70vw),radial-gradient(circle at 100% 10%,rgba(255,42,122,.18),transparent 70vw),radial-gradient(circle at 50% 100%,rgba(255,153,31,.12),transparent 80vw),var(--bg);overflow-x:hidden;overscroll-behavior-y:none}body{min-height:100dvh;color:var(--text);background:transparent;font-family:inherit}button,input,select,textarea{font-family:inherit}input,select,textarea{font-size:16px}button{cursor:pointer;touch-action:manipulation;border:none;background:transparent}.app-shell{min-height:100dvh;width:min(100%,480px);margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 14px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:4px 2px 8px}.topbar-left{display:flex;align-items:center;justify-content:flex-start;min-width:0}.brand-title{font-size:1.85rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#ff2a7a,#a06aff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;justify-self:center;white-space:nowrap}:root.light .brand-title{background:linear-gradient(135deg,#111820,#e31837,#0099d8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.profile-avatar-pill{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 5px;border-radius:9999px;background:var(--control);border:1px solid var(--control-border);color:var(--text);transition:all .2s ease;min-width:0;max-width:100%}.avatar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-avatar-pill:hover{background:var(--divider);transform:translateY(-1px)}.profile-avatar-btn{display:grid;place-items:center;padding:0;border-radius:50%;background:transparent;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease}.profile-avatar-btn:hover{transform:scale(1.08);filter:brightness(1.1)}.profile-avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-circle{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;box-shadow:0 2px 6px #00000040}.avatar-label{font-size:.85rem;font-weight:600}.weather-card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;padding:14px 16px;box-shadow:var(--shadow)}.weather-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.weather-city-badge{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--muted)}.weather-temp-badge{font-size:1rem;color:var(--text)}.weather-metrics-grid{display:flex;justify-content:space-around;align-items:center}.weather-metric{display:flex;align-items:center;gap:8px}.metric-info{display:flex;flex-direction:column}.metric-label{font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--muted)}.metric-val{font-size:.95rem;font-weight:700;color:var(--text)}.metric-divider{width:1px;height:24px;background:var(--border)}.transit-card{background:var(--card-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:24px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.transit-mode-switcher{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--control);padding:4px;border-radius:16px;border:1px solid var(--border)}.transit-mode-btn{display:flex;flex-direction:column;align-items:center;padding:10px 8px;border-radius:12px;transition:all .2s cubic-bezier(.16,1,.3,1);color:var(--muted)}.transit-mode-btn.active-caltrain{background:linear-gradient(135deg,#e3183733,#e318370d);border:1px solid rgba(227,24,55,.35);color:var(--text)}.transit-mode-btn.active-bart{background:linear-gradient(135deg,#0099d833,#0099d80d);border:1px solid rgba(0,153,216,.35);color:var(--text)}.mode-pill-badge{width:26px;height:26px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;margin-bottom:4px}.caltrain-badge{background:#e31837}.bart-badge{background:#0099d8;font-family:monospace;font-weight:900}.mode-title{font-size:1rem;font-weight:700}.mode-sub{font-size:.7rem;color:var(--muted)}.transit-station-box{display:flex;flex-direction:column;gap:10px}.transit-controls-row{display:flex;justify-content:space-between;align-items:center}.transit-section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.transit-actions{display:flex;gap:6px}.transit-action-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:.75rem;font-weight:600;background:var(--control);border:1px solid var(--control-border);color:var(--text);transition:all .15s ease}.transit-action-btn:hover{background:var(--divider)}.transit-action-btn.is-fav{background:#efb93e2e;border-color:#efb93e66;color:var(--amber)}.fill-star{fill:var(--amber);color:var(--amber)}.station-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.select-col{display:flex;flex-direction:column;gap:4px}.select-label{font-size:.65rem;font-weight:700;color:var(--quiet);letter-spacing:.5px}.app-select{width:100%;padding:10px 12px;border-radius:12px;background:var(--control);border:1px solid var(--control-border);color:var(--text);font-size:16px;font-weight:600;outline:none;cursor:pointer}.app-select option{background:var(--panel-solid);color:var(--text)}.transfer-banner{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#efb93e1f;border:1px solid rgba(239,185,62,.25);font-size:.72rem;color:var(--amber);font-weight:500}.departures-container{display:flex;flex-direction:column;gap:8px}.departures-header{display:flex;justify-content:space-between;align-items:center}.dep-head-title{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--text)}.cached-badge{font-size:.65rem;padding:2px 6px;border-radius:6px;background:#ff991f33;color:var(--orange);font-weight:600}.refresh-btn{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--muted);padding:3px 8px;border-radius:6px}.refresh-btn:hover{color:var(--text)}.spin-animate{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.departures-list{display:flex;flex-direction:column;gap:6px}.departure-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--control);border:1px solid var(--border);border-radius:12px}.dep-left{display:flex;align-items:center;gap:10px}.bart-line-indicator{width:4px;height:28px;border-radius:2px}.dep-train-id{display:block;font-size:.9rem;font-weight:700;color:var(--text)}.dep-dest{display:block;font-size:.72rem;color:var(--muted)}.dep-right{display:flex;flex-direction:column;align-items:flex-end}.dep-countdown{font-size:1.15rem;font-weight:800;color:var(--pink)}:root.light .dep-countdown{color:#e31837}.dep-clock-time{font-size:.72rem;color:var(--muted)}.delay-badge{font-size:.65rem;color:var(--red);font-weight:600}.transfer-badge{display:inline-block;font-size:.65rem;font-weight:600;color:var(--amber);background:#efb93e24;border:1px solid rgba(239,185,62,.35);padding:1px 6px;border-radius:4px;margin-top:2px;margin-bottom:2px}.departures-loading,.departures-empty{padding:16px;text-align:center;font-size:.8rem;color:var(--muted)}.fare-display-card{background:var(--control);border:1px solid var(--control-border);border-radius:16px;padding:12px}.fare-inner{display:flex;flex-direction:column;gap:10px}.fare-header-row{display:flex;justify-content:space-between;align-items:center}.fare-section-title{font-size:.8rem;font-weight:700;color:var(--text)}.fare-zone-count{font-size:.75rem;font-weight:600;color:var(--muted)}.fare-passengers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.fare-type-pill{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:10px;background:#ffffff0a;border:1px solid var(--border);color:var(--muted);transition:all .15s ease}.fare-type-pill.selected{background:var(--selected);border-color:#ff2a7a66;color:var(--text)}.pt-name{font-size:.68rem;font-weight:600}.pt-price{font-size:1.1rem;font-weight:800;color:var(--green)}.fare-compliance-note{font-size:.65rem;color:var(--quiet);line-height:1.3}.fare-loading{padding:8px;font-size:.75rem;color:var(--muted);text-align:center}.transit-attribution{font-size:.68rem;color:var(--quiet);text-align:center}.converters-section{display:flex;flex-direction:column;gap:12px}.section-title-row{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.section-title-row h2{font-size:1.1rem;font-weight:750;color:var(--text)}.rate-badge{font-size:.7rem;padding:2px 8px;border-radius:6px;font-weight:600}.rate-badge.status-live{background:#39a8712e;color:var(--green)}.rate-badge.status-cached{background:#efb93e2e;color:var(--amber)}.rate-badge.status-loading{background:#ffffff14;color:var(--muted)}.category-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;background:var(--control);border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-weight:600;white-space:nowrap;transition:all .2s ease}.category-chip.active{background:var(--selected);border-color:#ff2a7a59;color:var(--text)}.converter-card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.converter-head{display:flex;justify-content:space-between;align-items:center}.head-info{display:flex;align-items:center;gap:8px}.head-info h3{font-size:.95rem;font-weight:700}.accent-circle{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#ffffff14}.accent-circle[data-accent=green]{color:var(--green)}.accent-circle[data-accent=blue]{color:var(--blue)}.accent-circle[data-accent=purple]{color:var(--purple)}.accent-circle[data-accent=teal]{color:var(--teal)}.accent-circle[data-accent=orange]{color:var(--orange)}.accent-circle[data-accent=amber]{color:var(--amber)}.accent-circle[data-accent=red]{color:var(--red)}.converter-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:8px}.field-group{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}.field-label{font-size:.65rem;font-weight:700;color:var(--quiet);letter-spacing:.5px}.converter-input{width:100%;min-width:0;box-sizing:border-box;padding:12px;border-radius:12px;background:var(--control);border:1px solid var(--control-border);color:var(--text);font-size:1.15rem;font-weight:700;outline:none}.swap-col{display:flex;justify-content:center;padding-top:18px}.swap-button{width:36px;height:36px;border-radius:10px;background:var(--control);border:1px solid var(--control-border);color:var(--text);display:grid;place-items:center;transition:all .2s ease}.swap-button:hover{background:var(--divider);transform:rotate(180deg)}.converter-output{min-height:48px;width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--border);display:flex;align-items:baseline;gap:6px;overflow:hidden}.output-value{font-size:1.2rem;font-weight:800;color:var(--pink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root.light .output-value{color:#0099d8}.output-unit{font-size:.75rem;font-weight:600;color:var(--muted)}.app-footer{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 24px}.dev-line{font-size:.85rem;color:var(--muted);opacity:.7;font-weight:500;text-align:center}.footer-links{display:flex;gap:12px}.footer-link-btn{font-size:.72rem;color:var(--quiet);text-decoration:underline}.footer-link-btn:hover{color:var(--muted)}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.drawer-backdrop{justify-content:flex-end;padding:0}.modal-content{background:var(--panel-solid);border:1px solid var(--control-border);border-radius:24px;width:min(100%,460px);max-height:85vh;display:flex;flex-direction:column;padding:20px;box-shadow:var(--shadow);animation:modalScale .2s cubic-bezier(.16,1,.3,1)}@keyframes modalScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.drawer-panel{background:var(--panel-solid);border-left:1px solid var(--control-border);width:min(88vw,380px);height:100%;display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));box-shadow:var(--shadow);animation:drawerSlide .25s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-header,.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-title-box{display:flex;align-items:center;gap:10px}.modal-title-box h3,.drawer-greeting h3{font-size:1.1rem;font-weight:750}.modal-sub,.drawer-sub{font-size:.72rem;color:var(--muted)}.drawer-avatar-badge{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;margin-right:10px}.drawer-content-scroll,.legal-body-scroll{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px;padding-right:4px}.drawer-section{display:flex;flex-direction:column;gap:6px}.section-header-label{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:var(--muted);letter-spacing:.5px}.input-with-action{display:flex;gap:8px}.app-input{flex:1;padding:10px 12px;border-radius:12px;background:var(--control);border:1px solid var(--control-border);color:var(--text);font-size:16px;outline:none}.save-input-btn{padding:0 16px;border-radius:12px;background:var(--selected);border:1px solid rgba(255,42,122,.3);color:var(--text);font-weight:600;font-size:.85rem}.save-input-btn:disabled{opacity:.4;cursor:not-allowed}.segmented-two-btn{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--control);padding:3px;border-radius:12px}.segmented-btn{padding:8px;border-radius:9px;font-size:.78rem;font-weight:600;color:var(--muted);transition:all .15s ease}.segmented-btn.active{background:var(--card-bg);color:var(--text);box-shadow:0 2px 8px #0003}.theme-toggle-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.theme-chip{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:10px;background:var(--control);border:1px solid var(--border);font-size:.8rem;color:var(--muted);font-weight:600}.theme-chip.active{background:var(--selected);border-color:#ff2a7a4d;color:var(--text)}.drawer-action-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#0099d826,#a06aff26);border:1px solid rgba(0,153,216,.3);cursor:pointer;transition:transform .15s ease}.drawer-action-card:hover{transform:translateY(-1px)}.action-card-left{display:flex;align-items:center;gap:10px}.action-card-left strong{display:block;font-size:.88rem}.action-card-left span{display:block;font-size:.7rem;color:var(--muted)}.action-arrow{font-size:1.1rem;font-weight:700}.legal-menu-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--control);border:1px solid var(--border);color:var(--text);font-size:.82rem;font-weight:500;text-align:left}.legal-menu-item:hover{background:var(--divider)}.legal-menu-item.text-danger{color:var(--red)}.arrow-small{font-size:1.1rem;color:var(--quiet)}.zero-data-badge{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:#39a8711a;color:var(--green);font-size:.7rem;font-weight:500}.install-steps-list{display:flex;flex-direction:column;gap:12px;margin:12px 0}.install-step-card{display:flex;gap:12px;padding:12px;border-radius:14px;background:var(--control);border:1px solid var(--border)}.step-num{width:26px;height:26px;border-radius:50%;background:var(--selected);border:1px solid rgba(255,42,122,.4);color:var(--text);font-weight:800;font-size:.85rem;display:grid;place-items:center;flex-shrink:0}.step-body h4{font-size:.88rem;font-weight:700;margin-bottom:2px}.step-body p{font-size:.75rem;color:var(--muted);line-height:1.3}.share-icon-pill{margin-top:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#00000040;border:1px solid var(--border);font-size:.72rem;font-weight:600}.install-benefits{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.benefit-item{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}.primary-action-btn{width:100%;padding:12px;border-radius:14px;background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;font-weight:700;font-size:.95rem;transition:opacity .2s ease}.primary-action-btn:hover{opacity:.9}.legal-tab-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.legal-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:10px;background:var(--control);color:var(--muted);font-size:.82rem;font-weight:600}.legal-tab.active{background:var(--selected);color:var(--text);border:1px solid rgba(255,42,122,.3)}.legal-section{font-size:.8rem;color:var(--muted);line-height:1.5}.legal-section h4{font-size:.88rem;color:var(--text);margin:12px 0 4px}.legal-section ul{padding-left:18px;margin:6px 0}.analytics-optout-box{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:10px 0;border-radius:12px;background:var(--control);border:1px solid var(--control-border)}.optout-info{display:flex;flex-direction:column}.optout-info strong{font-size:.8rem;color:var(--text)}.optout-info span{font-size:.7rem;color:var(--quiet)}.optout-toggle-btn{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text)}.smart-install-bar{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 24px),440px);background:linear-gradient(135deg,#1d0f2af2,#130a1cf2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,42,122,.4);border-radius:18px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 36px #00000073;z-index:50;animation:barSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes barSlideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.smart-install-info{display:flex;align-items:center;gap:10px}.smart-install-info strong{display:block;font-size:.85rem}.smart-install-info span{display:block;font-size:.7rem;color:var(--muted)}.smart-install-actions{display:flex;align-items:center;gap:8px}.smart-install-btn{padding:6px 12px;border-radius:10px;background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;font-size:.78rem;font-weight:700}.smart-dismiss-btn{color:var(--quiet);padding:4px}.drawer-backdrop:has(.drawer-left){justify-content:flex-start}.drawer-panel.drawer-left{border-left:none;border-right:1px solid var(--control-border);animation:drawerSlideLeft .25s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlideLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.city-search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--control);border:1px solid var(--control-border);border-radius:12px;margin-bottom:12px}.city-search-input{background:transparent;border:none;color:var(--text);width:100%;font-size:16px;outline:none;padding:0}.city-list-scroll{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.city-select-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--control);border:1px solid var(--border);color:var(--text);text-align:left;transition:all .15s ease}.city-select-item:hover,.city-select-item.selected{background:var(--selected);border-color:var(--pink)}.city-info-col{display:flex;flex-direction:column}.city-name{font-size:.88rem;font-weight:600}.city-county{font-size:.7rem;color:var(--muted)}.city-badges-col{display:flex;align-items:center;gap:6px}.transit-mini-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px}.badge-bart{background:#0099d82e;color:#0099d8}.badge-caltrain{background:#e318372e;color:#ff4d6d}.search-section-divider{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 12px 4px;border-top:1px solid var(--border);margin-top:4px}.fav-quick-restore-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:6px 10px;background:#efb93e14;border:1px solid rgba(239,185,62,.25);border-radius:10px}.fav-quick-restore-chip{display:flex;align-items:center;gap:6px;color:var(--text);font-size:.78rem;font-weight:600;text-align:left}.fav-quick-restore-chip:hover{text-decoration:underline}.fav-device-hint{font-size:.68rem;color:var(--quiet)}.transit-info-popover{background:#ffffff0f;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:.75rem;color:var(--muted);line-height:1.4;display:flex;flex-direction:column;gap:6px}.monthly-pass-chip-row{display:flex;align-items:center;justify-content:space-between;background:#39bec21f;border:1px solid rgba(57,190,194,.35);border-radius:12px;padding:10px 14px;cursor:pointer}.pass-chip-left{display:flex;align-items:center;gap:8px;font-size:.85rem}.pass-active-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}.pass-chip-sub{font-size:.72rem;color:var(--muted);margin-left:4px}.pass-expand-btn,.pass-collapse-btn{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--teal);font-weight:600}.pass-toggle-card{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--control);border:1px solid var(--control-border);border-radius:12px;padding:12px 14px;color:var(--text);text-align:left;transition:all .15s ease}.pass-toggle-card.active{border-color:var(--teal);background:#39bec21a}.pass-toggle-info strong{display:block;font-size:.85rem}.pass-toggle-info span{display:block;font-size:.72rem;color:var(--muted)}.pass-toggle-indicator{font-size:.72rem;font-weight:700;padding:4px 8px;border-radius:6px;background:var(--border);color:var(--muted)}.pass-toggle-indicator.checked{background:var(--teal);color:#0d1e24}.converters-vertical-stack{display:flex;flex-direction:column;gap:14px}.converter-card.is-pinned-favorite{border-color:#efb93e73;box-shadow:0 8px 24px #efb93e14}.pinned-badge{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:6px;background:#efb93e33;color:var(--amber)}.searchable-select-container{position:relative;width:100%;min-width:0}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;box-sizing:border-box;padding:9px 12px;border-radius:10px;background:var(--control);border:1px solid var(--control-border);color:var(--text);font-size:.86rem;transition:border-color .15s ease}.searchable-select-trigger:focus-visible{outline:none;border-color:var(--pink)}.trigger-content{display:flex;align-items:center;gap:8px;overflow:hidden;min-width:0;flex:1}.trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.trigger-chevron{color:var(--muted);transition:transform .2s ease;flex-shrink:0}.trigger-chevron.rotate-180{transform:rotate(180deg)}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;background:var(--panel-solid);border:1px solid var(--control-border);border-radius:14px;box-shadow:var(--shadow);padding:8px;max-height:280px;display:flex;flex-direction:column}.search-input-box{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--control);border-radius:8px;margin-bottom:6px}.search-input{background:transparent;border:none;color:var(--text);width:100%;font-size:16px;outline:none}.search-clear-btn{color:var(--quiet);padding:2px}.select-options-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px}.select-option-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;color:var(--text);font-size:.82rem;text-align:left;transition:background .12s ease}.select-option-item:hover,.select-option-item.selected{background:var(--selected)}.option-main{display:flex;align-items:center;gap:8px}.option-texts{display:flex;flex-direction:column}.option-label{font-weight:500}.option-sub{font-size:.68rem;color:var(--muted)}.select-no-results{padding:12px;text-align:center;font-size:.78rem;color:var(--muted)}.ss-mobile-backdrop{display:none}@media (max-width: 640px){.ss-mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:199}.searchable-select-dropdown{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-height:70dvh;border-radius:16px 16px 0 0;z-index:200!important;padding:12px 12px 24px;animation:slideUpSheet .25s cubic-bezier(.16,1,.3,1)}.searchable-select-dropdown .search-input-box{position:sticky;top:0;z-index:1;background:var(--control)}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.reset-confirm-box{padding:12px;border-radius:12px;background:#e318371f;border:1px solid rgba(227,24,55,.35);display:flex;flex-direction:column;gap:10px}.reset-confirm-msg{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:#ff8093;line-height:1.35}.reset-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.reset-cancel-btn{padding:6px 12px;border-radius:8px;background:var(--control);color:var(--text);font-size:.75rem;font-weight:600}.reset-danger-btn{padding:6px 12px;border-radius:8px;background:#e31837;color:#fff;font-weight:700;font-size:.75rem}.sw-update-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--panel-solid);border:1px solid var(--pink);border-radius:24px;padding:8px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);z-index:99;font-size:.8rem;animation:barSlideUp .3s cubic-bezier(.16,1,.3,1)}.sw-refresh-btn{background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;padding:4px 10px;border-radius:12px;display:flex;align-items:center;gap:4px;font-weight:700;font-size:.75rem}.footer-copyright{font-size:.68rem;color:var(--quiet);margin:4px 0 8px;text-align:center;line-height:1.3}.footer-author-link{color:var(--pink);text-decoration:underline;font-weight:600}.footer-share-link-btn{background:none;border:none;padding:0;display:inline;cursor:pointer;font-family:inherit;font-size:inherit;color:var(--pink);text-decoration:underline;font-weight:600;transition:opacity .15s ease}.footer-share-link-btn:hover{opacity:.8}.share-modal{width:min(100%,400px);box-sizing:border-box}.share-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0 4px;width:100%;box-sizing:border-box}.qr-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;padding:16px 16px 12px;border-radius:20px;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px #0003;width:auto;max-width:100%;box-sizing:border-box;margin:0 auto}.qr-canvas{width:min(220px,100%);max-width:100%;height:auto;aspect-ratio:1 / 1;display:block;box-sizing:border-box;border-radius:8px}.qr-caption{font-size:.82rem;font-weight:700;color:#130a1c;margin:10px 0 0;text-align:center}.share-link-box{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;background:var(--control-bg);border:1px solid var(--control-border);border-radius:14px;padding:8px 10px 8px 14px;min-width:0}.share-url-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.share-copy-btn{display:inline-flex;align-items:center;gap:6px;background:var(--pink);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s ease,transform .1s ease}.share-copy-btn:hover{opacity:.9;transform:translateY(-1px)}.native-share-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:14px;font-size:.95rem;font-weight:700;background:linear-gradient(135deg,#ff2a7a,#a06aff);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px #ff2a7a40;transition:opacity .15s ease,transform .1s ease}.native-share-btn:hover{opacity:.92;transform:translateY(-1px)}
