.home{display:flex;flex-direction:column;gap:18px}.home-main,.home-side{display:contents}@media (min-width: 1000px){.home{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,400px);column-gap:22px;row-gap:16px;align-items:start}.home-header,.loc-hint,.install-guide,.search{grid-column:1 / -1}.home-main,.home-side{display:flex;flex-direction:column;gap:16px;min-width:0}.home-main{grid-column:1}.home-side{grid-column:2}.route-search{margin:0}}.home-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.home h1{font-size:26px;font-weight:800;margin:10px 0 0;background:linear-gradient(92deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.02em}.header-right{display:flex;align-items:center;gap:8px}.icon{flex:0 0 auto;vertical-align:-.14em}.btn-ghost .icon,.loc-hint .icon,.header-status .icon{margin-right:var(--s-1)}.icon.spinning{animation:spin .9s linear infinite}.header-status{display:inline-flex;align-items:center;font-size:var(--t-label);color:var(--text-muted);font-weight:600}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:var(--t-body)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);width:100%;padding:var(--s-5) var(--s-4);border:1px dashed color-mix(in srgb,var(--text) 18%,transparent);border-radius:var(--r-3);background:color-mix(in srgb,var(--surface) 55%,transparent);color:inherit;font:inherit;cursor:pointer;text-align:center;transition:border-color .18s ease,background .18s ease}.empty-state:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:var(--t-body);margin-bottom:var(--s-1)}.empty-state-title{font-size:var(--t-body);font-weight:700}.empty-state-note{font-size:var(--t-label);color:var(--text-muted);max-width:34em;line-height:1.5}.btn-ghost{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent);color:inherit;font:inherit;font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease}.btn-ghost:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.btn-ghost:active{transform:scale(.96)}.btn-ghost.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 3px 10px -2px var(--ring)}.btn-primary{border:none;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--accent-2)));color:var(--on-accent);font:inherit;font-size:14px;font-weight:700;padding:9px 20px;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px -4px var(--ring);transition:transform .12s ease,box-shadow .18s ease,filter .18s ease}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 6px 18px -4px var(--ring)}.btn-primary:active{transform:scale(.96)}.muted{color:var(--text-muted)}.small{font-size:12px}.error{color:#dc143c}.section-title{margin:0;font-size:var(--t-body);font-weight:800;letter-spacing:.01em;color:var(--text)}.section-title-row{min-height:32px}.fav-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 1px 3px #102a430f;transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease}.chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 3px 8px -2px var(--ring)}.chip-main{background:none;border:none;color:var(--accent);font:inherit;font-weight:700;font-size:14px;padding:7px 13px;cursor:pointer}.chip-main:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.chip-edit{display:inline-flex;border-left:1px solid var(--border)}.chip-edit button{background:none;border:none;color:inherit;cursor:pointer;padding:7px 9px;font-size:13px;transition:background .15s ease}.chip-edit button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.chip-edit button:disabled{opacity:.3;cursor:default}.slots{display:flex;flex-direction:column;gap:14px}.slot-row{display:flex;gap:8px;align-items:stretch;animation:rise-in .4s ease both}.slot-row:nth-child(2){animation-delay:.05s}.slot-row:nth-child(3){animation-delay:.1s}.slot-row:nth-child(4){animation-delay:.15s}.slot-row:nth-child(n+5){animation-delay:.2s}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.slot-body{flex:1;min-width:0}.slot-summary{display:block;width:100%;text-align:left;margin:0 0 4px;padding:4px 2px;background:none;border:none;color:inherit;font:inherit;opacity:.65;cursor:pointer;transition:opacity .15s ease}.slot-summary:hover{opacity:1}.slot-summary .edit-hint{color:var(--accent);font-weight:600}.slot-controls{display:flex;flex-direction:column;justify-content:center;gap:4px}.slot-controls button{width:30px;height:30px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:inherit;cursor:pointer;font-size:14px;transition:background .15s ease,transform .12s ease}.slot-controls button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.slot-controls button:active{transform:scale(.92)}.slot-controls button:disabled{opacity:.3;cursor:default}.slot-controls .danger{color:#dc143c;border-color:#dc143c59}.add-row{display:flex;gap:8px;flex-wrap:wrap}.card{container:card / inline-size;position:relative;border-radius:var(--r-3);padding:var(--s-4);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid var(--border);overflow:hidden;transition:box-shadow .22s ease,border-color .22s ease}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--card-accent, var(--accent))}.card:hover{box-shadow:var(--shadow-card-hover);border-color:color-mix(in srgb,var(--card-accent, var(--accent)) 26%,var(--border))}.card-rail{--card-accent: var(--accent)}.card-bus{--card-accent: var(--accent-bus)}.card-skeleton{display:flex;flex-direction:column;gap:12px}.sk-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.sk{display:inline-block;border-radius:7px;background:linear-gradient(100deg,color-mix(in srgb,var(--text) 8%,transparent) 40%,color-mix(in srgb,var(--text) 16%,transparent),color-mix(in srgb,var(--text) 8%,transparent) 60%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-60% 0}}.sk-loc{width:96px;height:20px}.sk-badge{width:72px;height:18px;border-radius:999px}.sk-dir{width:80px;height:13px}.sk-time{width:150px;height:22px}.card-head{display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.card-head .loc{font-weight:800;font-size:var(--t-title);letter-spacing:.01em}.card-head .line{font-size:var(--t-xs);font-weight:700;padding:2px var(--s-2);border-radius:var(--r-1);background:color-mix(in srgb,var(--card-accent, var(--accent)) 12%,transparent);color:var(--card-accent, var(--accent))}.card-head .state{margin-left:auto;font-size:var(--t-label);font-weight:600}.dep-row{display:grid;grid-template-columns:1fr;gap:2px 14px;padding:11px 0;border-top:1px solid var(--border)}@container card (min-width: 500px){.dep-row{grid-template-columns:minmax(96px,max-content) 1fr;align-items:baseline;gap:4px 16px}}.dep-row .dir{font-size:13px;color:var(--text-muted);font-weight:600}.dep-row .times{font-variant-numeric:tabular-nums;font-size:14px}.dep-row .deps{min-width:0}.dep-next{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px}.dep-meta{display:inline-flex;align-items:baseline;gap:5px;min-width:0}.dep-time{font-family:var(--font-time);font-variant-numeric:tabular-nums;font-weight:700;font-size:15px}.dep-next .dep-time{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:.01em;color:var(--card-accent, var(--accent))}.dep-rest{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:3px 16px;opacity:.78}.dep-later{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.dep-later:nth-child(n+2){display:none}@container card (min-width: 500px){.dep-later:nth-child(n+2){display:inline-flex}.dep-later:nth-child(n+4){display:none}}@container card (min-width: 820px){.dep-later:nth-child(n+4){display:inline-flex}}.dep-dest{font-size:11px;color:var(--text-muted)}.dep-delay{font-size:11px;font-weight:700;color:var(--state-suspended)}.dep-until{font-size:11px;font-weight:700;color:var(--card-accent, var(--accent));background:color-mix(in srgb,var(--card-accent, var(--accent)) 12%,transparent);padding:2px 7px;border-radius:999px;align-self:center;animation:pop-in .35s var(--spring) both}.dep-next .dep-until{font-size:13px;padding:3px 10px}.dep-until.soon,.seg-until.soon{color:#3d1f00!important;background:#ff9500;font-weight:800;animation:pop-in .35s var(--spring) both,soon-pulse .9s ease-in-out .35s infinite alternate}.seg-until.soon{padding:1px 6px;border-radius:999px}@keyframes soon-pulse{0%{box-shadow:0 0 #ff95008c}to{box-shadow:0 0 0 5px #ff950000}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.dep-time{animation:roll-in .4s cubic-bezier(.2,.9,.3,1.1) both}@keyframes roll-in{0%{opacity:0;transform:translateY(.55em);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}.tt-badge{font-size:10.5px;font-weight:800;padding:1.5px 7px;border-radius:999px;letter-spacing:.03em;align-self:center;color:#fff;background:#8e8e93}.tt-red{background:#ff3b30}.tt-blue{background:#007aff}.tt-orange{background:#ff9500;color:#3d1f00}.tt-pink{background:#ff2d55}.tt-purple{background:#af52de}.tt-indigo{background:#5856d6}.tt-green{background:#34c759;color:#0b2c14}.tt-teal{background:#30b0c7;color:#0b272c}.tt-gray{background:#8e8e93}.state-normal{color:var(--state-normal)!important}.state-delayed{color:var(--state-delayed)!important;font-weight:700}.state-suspended{color:var(--state-suspended)!important;font-weight:700}.dep-row.highlight .dep-time,.dep-row.highlight .times{font-weight:800;color:var(--card-accent, var(--accent))}.source{margin-top:9px}.search{position:relative}.search:before{content:"";position:absolute;left:var(--s-3);top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;background:currentColor;opacity:.45;-webkit-mask:var(--icon-search) center / contain no-repeat;mask:var(--icon-search) center / contain no-repeat}.search input{width:100%;padding:var(--s-3) var(--s-4) var(--s-3) 38px;font-size:16px;border-radius:var(--r-3);border:1px solid var(--border);background:var(--surface);color:inherit;box-shadow:var(--shadow-card);transition:border-color .18s ease,box-shadow .18s ease}.search input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.search input::placeholder{color:var(--text-muted)}.search-results{list-style:none;padding:0;margin:8px 0 0;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);animation:rise-in .25s ease both}.search-results li{display:flex;align-items:stretch}.search-results li+li{border-top:1px solid var(--border)}.search-results .fav-toggle{background:none;border:none;cursor:pointer;font-size:18px;padding:0 8px 0 13px;color:#e0a400;transition:transform .12s ease}.search-results .fav-toggle:active{transform:scale(1.25)}.search-results .result-main{display:flex;flex-direction:column;gap:2px;flex:1;text-align:left;padding:11px 14px 11px 4px;background:none;border:none;cursor:pointer;color:inherit;font:inherit;transition:background .15s ease}.search-results .result-main:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.search-results .s-name{font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1873;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fade-in .2s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);color:var(--text);width:100%;max-width:640px;border-radius:22px 22px 0 0;padding:12px 18px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:85vh;overflow-y:auto;box-shadow:0 -8px 40px #00000040;animation:slide-up .42s var(--spring) both}@keyframes slide-up{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}.modal:before{content:"";width:38px;height:4.5px;border-radius:3px;background:color-mix(in srgb,var(--text) 18%,transparent);align-self:center;flex:0 0 auto}.modal h2{margin:0;font-size:19px;font-weight:800}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-muted)}.field select{padding:10px 12px;font-size:16px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color .15s ease}.field select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.type-filter{border:1px solid var(--border);border-radius:13px;padding:10px 13px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.type-filter legend{font-size:13px;padding:0 6px;color:var(--text-muted)}.check{display:flex;align-items:center;gap:8px;font-size:15px}.check input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.routes{display:flex;flex-direction:column;gap:10px}.section-title-row{display:flex;align-items:center;justify-content:space-between}.route-header-actions{display:flex;gap:6px}.route-selector{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.route-selector::-webkit-scrollbar{display:none}.route-chip{border:1px solid transparent;border-radius:999px;padding:7px 15px;font:inherit;font-size:13px;font-weight:700;background:color-mix(in srgb,var(--text) 8%,var(--surface));color:inherit;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}.route-chip:active{transform:scale(.95)}.route-chip.active{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--accent-2)));color:var(--on-accent);box-shadow:0 3px 10px -2px var(--ring)}.route-reverse{display:flex;justify-content:flex-end;gap:6px}.segments{display:flex;flex-direction:column;gap:0}.segment{display:flex;gap:12px;padding:7px 0;transition:opacity .3s ease}.segment.status-past{opacity:.38}.seg-accent{width:12px;flex:0 0 auto;position:relative}.seg-accent:before{content:"";position:absolute;left:50%;top:-7px;bottom:-7px;width:2px;transform:translate(-50%);background:color-mix(in srgb,var(--text) 16%,transparent)}.segment:first-child .seg-accent:before{top:8px}.segment:last-child .seg-accent:before{bottom:auto;height:15px}.seg-accent:after{content:"";position:absolute;left:50%;top:6px;width:9px;height:9px;border-radius:50%;transform:translate(-50%);background:var(--surface);border:2.5px solid color-mix(in srgb,var(--text) 30%,transparent);box-sizing:border-box}.segment.status-current .seg-accent:after{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 10%,transparent)}}.seg-body{flex:1;min-width:0;padding-bottom:6px}.seg-head{display:flex;align-items:baseline;gap:8px}.seg-loc{font-weight:700;font-size:15px}.seg-alight{margin-top:2px;font-size:13px;font-weight:600;color:var(--text-muted)}.seg-here{font-size:11px;font-weight:700;color:var(--on-accent);background:var(--accent, #2b7cff);border-radius:999px;padding:1px 7px;white-space:nowrap}.seg-line{margin-left:auto;font-size:12px;color:var(--text-muted);white-space:nowrap}.seg-dir{margin:2px 0}.seg-deps{display:flex;gap:18px;flex-wrap:wrap}.seg-dep{display:flex;flex-direction:column;line-height:1.3}.seg-dep.past{opacity:.4}.seg-time{font-family:var(--font-time);font-variant-numeric:tabular-nums;font-weight:700;font-size:15px}.seg-dep.next .seg-time{font-size:22px;font-weight:800;color:var(--accent);letter-spacing:.01em}.seg-type{font-size:11px;font-weight:700;color:var(--accent)}.seg-until{font-size:11px}.seg-transfer{margin-top:3px}.text-input{padding:10px 12px;font-size:16px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:inherit;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.text-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.seg-editor{border:1px solid var(--border);border-radius:13px;padding:10px 13px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.seg-editor legend{font-size:13px;padding:0 6px;color:var(--text-muted)}.field-row{display:flex;gap:10px}.field-row .field{flex:1}.danger-text{color:#dc143c;align-self:flex-start}.bus-fav-add{margin-top:8px;padding:9px 12px;font-size:14px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:inherit;max-width:100%}.seg-tabs{display:flex;gap:4px;background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:12px;padding:3px}.seg-tabs.sub{background:transparent;padding:0;gap:6px}.seg-tabs .tab{flex:1;border:none;background:none;color:inherit;font:inherit;font-size:14px;font-weight:600;padding:8px 10px;border-radius:9px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.seg-tabs .tab.active{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 8px -2px var(--ring)}.seg-tabs.sub .tab{border:1px solid var(--border)}.seg-tabs.sub .tab.active{border-color:var(--accent)}.chip-row{display:flex;gap:6px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}@media (min-width: 560px){.chip-row{flex-wrap:wrap;overflow-x:visible}}.route-number-chips{margin-top:8px}.route-order{margin-top:8px;border:1px solid var(--border);border-radius:13px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px}.route-order-nearest{display:flex;flex-direction:column;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:2px}.pick-chip{white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:13px;font-weight:600;padding:6px 13px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease}.pick-chip:active{transform:scale(.95)}.pick-chip.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 2px 8px -2px var(--ring)}.pick-list{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.pick-item{text-align:left;border:none;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;font-size:14px;padding:10px 12px;cursor:pointer;transition:background .13s ease}.pick-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.pick-item:last-child{border-bottom:none}.pick-item.active{background:color-mix(in srgb,var(--accent) 13%,transparent);font-weight:700}.seg-rows{display:flex;flex-direction:column;gap:6px}.seg-row{display:flex;align-items:stretch;gap:6px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.seg-row:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.seg-row-main{flex:1;min-width:0;text-align:left;background:none;border:none;color:inherit;font:inherit;padding:10px 12px;cursor:pointer}.seg-row-loc{font-weight:700;font-size:15px}.seg-row-ctrl{display:flex;align-items:center}.seg-row-ctrl button{width:34px;align-self:stretch;border:none;border-left:1px solid var(--border);background:none;color:inherit;cursor:pointer;font-size:14px;transition:background .13s ease}.seg-row-ctrl button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.seg-row-ctrl button:disabled{opacity:.3;cursor:default}.seg-row-ctrl .danger{color:#dc143c}.refresh-icon{display:inline-block}.refresh-icon.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reverse-icon{display:inline-block;transition:transform .45s var(--spring)}.reverse-icon.flipped{transform:rotate(180deg)}.search-results li{animation:rise-in .3s var(--ease-out) both}.search-results li:nth-child(1){animation-delay:0s}.search-results li:nth-child(2){animation-delay:.03s}.search-results li:nth-child(3){animation-delay:.06s}.search-results li:nth-child(4){animation-delay:.09s}.search-results li:nth-child(5){animation-delay:.12s}.search-results li:nth-child(n+6){animation-delay:.15s}.loc-hint{display:flex;align-items:center;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--state-delayed) 30%,transparent);background:color-mix(in srgb,var(--state-delayed) 7%,transparent);color:inherit;font:inherit;font-size:var(--t-label);font-weight:600;padding:var(--s-2) var(--s-3);border-radius:var(--r-2);cursor:pointer;transition:background .18s ease,border-color .18s ease;animation:rise-in .35s ease both}.loc-hint:hover{background:color-mix(in srgb,var(--state-delayed) 13%,transparent);border-color:color-mix(in srgb,var(--state-delayed) 50%,transparent)}.loc-stale{display:flex;align-items:center;gap:var(--s-1);width:100%;text-align:left;border:none;background:none;color:var(--text-muted);font:inherit;font-size:var(--t-label);padding:0 var(--s-1);cursor:pointer}.loc-stale-action{margin-left:auto;color:var(--accent);font-weight:700}.loc-stale:hover .loc-stale-action{text-decoration:underline}.install-guide{position:relative;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:14px;padding:14px 16px;animation:rise-in .3s ease both}.install-guide-close{position:absolute;top:8px;right:10px;border:none;background:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 6px}.install-guide-title{font-weight:700;font-size:14px;margin-bottom:8px;padding-right:20px}.install-guide-steps{margin:0 0 8px;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:13.5px}.install-guide-steps li{line-height:1.5}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:90%;background:#121721f0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:13px;font-weight:600;padding:11px 18px;border-radius:999px;box-shadow:0 6px 24px #00000059;z-index:200;cursor:pointer;animation:toast-in .3s cubic-bezier(.2,.9,.3,1.2) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.route-search{margin:var(--s-4) 0;padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-card)}.route-search h2{font-size:var(--t-body);font-weight:800;margin:0 0 var(--s-3)}.route-search-field{margin-bottom:10px}.route-search-field-head{display:flex;justify-content:space-between;align-items:baseline}.route-search-field .field-label{font-size:12px;font-weight:700;color:var(--text-muted)}.route-search-field input[type=search]{width:100%;box-sizing:border-box;margin-top:4px}.station-row,.station-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 0}.station-pick{width:100%;background:none;border:none;text-align:left;cursor:pointer}.station-pick:hover{background:var(--surface-2);border-radius:8px}.route-search-go{width:100%;margin:8px 0;padding:10px;font-weight:700;color:var(--on-accent);background:var(--accent);border:none;border-radius:999px;cursor:pointer}.route-search-go:disabled{opacity:.4;cursor:default}.route-search-summary{font-size:13px;font-weight:700;color:var(--text-muted);margin:6px 0}.link-button{background:none;border:none;color:var(--accent, #2b7cff);font-size:12px;cursor:pointer;padding:2px 0}:root{font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.5;color-scheme:light dark;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;--accent: #0b5cad;--accent-2: #17a29a;--accent-sky: #4fc3f7;--accent-bus: #1a8c59;--bg: #f2f5fa;--surface: #ffffff;--surface-2: #f5f8fc;--text: #16202b;--text-muted: rgba(22, 32, 43, .6);--on-accent: #ffffff;--state-normal: #146c43;--state-delayed: #7a5600;--state-suspended: #b42318;--border: rgba(16, 42, 67, .1);--shadow-card: 0 1px 2px rgba(16, 42, 67, .05), 0 6px 20px -6px rgba(16, 42, 67, .12);--shadow-card-hover: 0 2px 4px rgba(16, 42, 67, .06), 0 12px 28px -8px rgba(16, 42, 67, .18);--ring: rgba(11, 92, 173, .35);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--r-1: 8px;--r-2: 12px;--r-3: 16px;--r-pill: 999px;--t-hero: 30px;--t-title: 19px;--t-body: 15px;--t-label: 13px;--t-xs: 11px;--icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='5.5'/%3E%3Cpath d='M13.2 13.2 17 17'/%3E%3C/svg%3E");--spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.2, .9, .3, 1);--font-time: ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", system-ui, sans-serif}@media (prefers-color-scheme: dark){:root{--accent: #5aa4e8;--accent-2: #3fc2ba;--accent-bus: #4cc47e;--bg: #0e1117;--surface: #1a1f29;--surface-2: #222836;--text: #e9edf3;--text-muted: rgba(233, 237, 243, .58);--on-accent: #0b1016;--state-normal: #34c759;--state-delayed: #d9a600;--state-suspended: #ff3b30;--border: rgba(255, 255, 255, .09);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -8px rgba(0, 0, 0, .5);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .4), 0 14px 32px -10px rgba(0, 0, 0, .6);--ring: rgba(90, 164, 232, .4)}}*{box-sizing:border-box}body{margin:0;min-height:100dvh;color:var(--text);background:var(--bg)}body:before{content:"";position:fixed;top:-22%;right:-22%;bottom:-22%;left:-22%;z-index:-1;pointer-events:none;background:radial-gradient(52% 34% at 82% 6%,color-mix(in srgb,var(--accent-2) 7%,transparent),transparent 70%),radial-gradient(56% 42% at 8% -2%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%);animation:ambient-drift 26s ease-in-out infinite alternate}@keyframes ambient-drift{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,2%,0) scale(1.05)}}#root{max-width:1240px;margin:0 auto;padding:env(safe-area-inset-top) 16px 32px}button{-webkit-tap-highlight-color:transparent}button:not(:disabled):active{transform:scale(.96)}button{transition:transform .15s var(--spring)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
