.tool-root{min-width:0;background:var(--surface);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px}@media(min-width:768px){.tool-root{padding:28px}}.tool-step-head{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;margin-bottom:14px}.tool-step-head .num{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none}.tool-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.tool-field label{font-weight:600;font-size:14.5px}.tool-field>input,.tool-field>select{min-height:48px;border:1.5px solid var(--border-strong);border-radius:var(--card-radius);padding:0 14px;font:inherit;font-size:17px;color:var(--text);background:#fff;width:100%}.tool-field>input:focus,.tool-field>select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.tool-field>input[aria-invalid=true]{border-color:#c62828}.tool-field .hint{font-size:13px;color:var(--muted)}.tool-field .error{font-size:14px;color:var(--primary);font-weight:600}.tool-grid-2{display:grid;gap:0 16px;grid-template-columns:minmax(0,1fr)}@media(min-width:640px){.tool-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tool-tagid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;font-size:20px}.tool-counter{font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.tool-privacy{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin-top:12px}.tool-privacy svg{width:16px;height:16px;flex:none;margin-top:2px}.tool-segment{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tool-segment button{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font:600 14px/1 var(--font);color:var(--text);cursor:pointer}.tool-segment button[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}details.tool-help{margin:-4px 0 14px;font-size:14px}details.tool-help summary{cursor:pointer;color:var(--primary);font-weight:600;min-height:32px;display:inline-flex;align-items:center;gap:6px}details.tool-help .body{margin-top:10px;display:grid;gap:12px}@media(min-width:640px){details.tool-help .body{grid-template-columns:180px 1fr;align-items:center}}details.tool-help svg{width:100%;max-width:180px;height:auto}.tool-processing{padding:8px 0 4px}.tool-processing-title{font-weight:700;margin-bottom:10px}.tool-bar{height:8px;background:var(--section-bg-alt);border-radius:999px;overflow:hidden}.tool-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .12s linear}.tool-stages{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.tool-stages li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:15px}.tool-stages li.active{color:var(--text)}.tool-stages li.done{color:var(--ok)}.tool-tick{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex:none;position:relative}.tool-stages li.active .tool-tick{border-color:var(--primary);animation:tool-spin 1s linear infinite;border-top-color:transparent}.tool-stages li.done .tool-tick{border-color:var(--ok);background:var(--ok)}.tool-stages li.done .tool-tick:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-result{background:var(--result-bg);color:var(--result-text);border-radius:var(--card-radius);padding:22px 20px;margin-top:18px;animation:tool-rise .45s ease-out both;border-left:5px solid var(--primary)}@media(min-width:768px){.tool-result{padding:28px}}.tool-result h3,.tool-result h2{color:#fff;margin-bottom:8px}.tool-result .label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#b8c0cc;margin-bottom:6px}.tool-result .big{font-size:clamp(34px,7vw,52px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;display:inline-block}.tool-result .sub{color:#d5dae2;font-size:15px;margin-top:8px}.tool-result a{color:#fff}.tool-result .btn-light{color:var(--primary)}.tool-result .tool-idbox{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:var(--card-radius);padding:12px 14px}.tool-result .tool-idbox code{background:transparent;color:#fff;font-size:clamp(17px,4.6vw,22px);letter-spacing:.1em;padding:0;white-space:nowrap}.tool-result .tool-copy{margin-left:auto;flex:none;min-height:40px;padding:0 12px;border-radius:6px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font:600 14px/1 var(--font);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tool-result .tool-copy[data-copied=true]{background:var(--ok);border-color:var(--ok)}.tool-result .divider{border:0;border-top:1px solid rgba(255,255,255,.18);margin:18px 0}.tool-result .note{font-size:13.5px;color:#b8c0cc}.tool-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:14px}@media(min-width:640px){.tool-kv{grid-template-columns:repeat(4,1fr)}}.tool-kv div{background:#ffffff12;border-radius:6px;padding:10px 12px}.tool-kv b{display:block;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.tool-kv b:has(+span){font-size:clamp(16px,4.4vw,20px)}.tool-kv span{font-size:12.5px;color:#b8c0cc}.tool-compare{width:100%;font-size:14px;margin-top:12px;border-collapse:collapse;background:transparent}.tool-compare tbody tr,.tool-compare tbody tr:nth-child(2n){background:transparent}.tool-compare thead th{background:transparent}.tool-compare th,.tool-compare td{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;color:#e5e7eb}.tool-compare th{font-weight:600;color:#b8c0cc;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.tool-compare td.key{color:var(--secondary);font-weight:700}.tool-compare tr.you td{color:#fff;font-weight:600}.tool-apps{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.tool-apps a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:6px;background:#ffffff1a;color:#fff;text-decoration:none;font-weight:600;font-size:14px;border:1px solid rgba(255,255,255,.2)}.tool-apps a:hover{background:#ffffff2e}.tool-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tool-steps li{display:flex;gap:10px;align-items:flex-start}.tool-steps .n{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}.tool-route{list-style:none;margin:12px 0 0;padding:0;border-left:3px solid var(--line-red)}.tool-route li{position:relative;padding:4px 0 4px 18px;font-size:14.5px;color:#e5e7eb}.tool-route li:before{content:"";position:absolute;left:-7.5px;top:11px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--line-red)}.tool-route li.change{font-weight:700;color:#fff}.tool-route li.change:before{background:var(--secondary);border-color:var(--secondary)}.tool-route li.green,.tool-route.green{border-color:var(--line-green)}.tool-route li.green:before{border-color:var(--line-green)}.tool-route li.tram:before{border-color:var(--line-tram)}@keyframes tool-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes tool-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.tool-pop{animation:tool-pop .5s ease-out 1;display:inline-block}.tool-today{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.tool-today .dot{width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #137a4a33}.tool-today .dot.closed{background:var(--primary);box-shadow:0 0 0 4px #d7282f33}.tool-light{background:var(--section-bg-alt);border-radius:var(--card-radius);padding:16px;margin-top:16px}.tool-light h3{margin-bottom:8px;font-size:16px}.tool-table{width:100%;font-size:14.5px}.tool-table td,.tool-table th{padding:8px 10px}.tool-inline-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.tool-inline-list li{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13.5px}.tool-muted{color:var(--muted);font-size:14px}@media(prefers-reduced-motion:reduce){.tool-result,.tool-pop,.tool-stages li.active .tool-tick{animation:none}}.tool-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 14px;font:600 13.5px/1 var(--font);color:var(--text);cursor:pointer;min-height:40px}.tool-chip:hover{border-color:var(--primary);color:var(--primary)}.tool-inline-list li{padding:0;background:none;border:0}.tool-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--card-shadow);padding:22px}@media(min-width:768px){.tool-card{padding:30px 32px}}.tool-card-head h2{font-size:clamp(20px,3.2vw,26px);margin-bottom:6px;color:var(--primary)}.tool-card-head p{color:var(--muted);font-size:15.5px;margin-bottom:20px}.muted-note{color:var(--muted);font-weight:400}.input-shell{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border-strong);border-radius:12px;padding:0 8px 0 14px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.input-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input-shell.invalid{border-color:#c62828}.input-shell .lead{width:22px;height:22px;color:var(--muted);flex:none}.input-shell input{flex:1;min-width:0;border:0;outline:none;background:none;font:inherit;font-size:19px;letter-spacing:.08em;min-height:54px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.input-shell input::placeholder{font-family:var(--font);letter-spacing:0;font-size:16px;color:#98a0b5}.input-shell .clear{width:36px;height:36px;flex:none;border:0;background:var(--section-bg-alt);color:var(--muted);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.input-shell .clear:hover{background:var(--primary-soft);color:var(--primary)}.input-shell .clear svg{width:16px;height:16px}.field-foot{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:7px;font-size:13px;color:var(--muted)}.field-foot .error{color:#c62828;font-weight:600}.field-foot .counter{font-variant-numeric:tabular-nums;flex:none}.btn-check{margin-top:18px;font-size:17px;min-height:54px}.btn-check.is-busy{background:var(--primary);opacity:1;cursor:progress}.btn-check:disabled:not(.is-busy){background:#c3c8d8}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:tool-spin .8s linear infinite;flex:none}.busy-label{animation:tool-fade .35s ease}@keyframes tool-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.btn-progress{height:3px;background:var(--primary-soft);border-radius:2px;overflow:hidden;margin-top:8px}.btn-progress i{display:block;height:100%;width:0;background:var(--secondary);animation:tool-fill linear forwards}@keyframes tool-fill{0%{width:0}to{width:100%}}.tool-card details.tool-help{margin:16px 0 0;border-top:1px solid var(--border);padding-top:12px}.tool-card details.tool-help summary{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:500;font-size:14.5px}.tool-card details.tool-help summary svg{width:17px;height:17px;flex:none}.tool-card details.tool-help summary .chev{margin-left:auto;width:13px;height:13px;transition:transform .2s ease}.tool-card details.tool-help[open] summary{color:var(--primary)}.tool-card details.tool-help[open] summary .chev{transform:rotate(180deg)}.tool-fineprint{margin:14px 0 0;font-size:12px;line-height:1.5;color:#8a93aa}@media(prefers-reduced-motion:reduce){.spinner,.btn-progress i{animation:none}}.seg-row{display:grid;grid-auto-flow:column;gap:8px;margin-bottom:18px}.seg-row.compact{grid-template-columns:1fr 1fr}@media(max-width:520px){.seg-row{grid-auto-flow:row;grid-template-columns:1fr 1fr}}.seg{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 12px;border-radius:10px;border:1.5px solid var(--border-strong);background:#fff;font:600 14px/1 var(--font);color:var(--text);cursor:pointer;transition:all .15s ease}.seg:hover{border-color:var(--primary);color:var(--primary)}.seg[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.seg-icon{width:18px;height:18px;flex:none}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 13px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font:600 13.5px/1 var(--font);color:var(--text);cursor:pointer;transition:all .15s ease}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.chip-icon{width:16px;height:16px;flex:none;opacity:.75}.select-shell{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;border:1.5px solid var(--border-strong);border-radius:12px;padding:0 12px 0 14px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.select-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.select-shell .lead{width:20px;height:20px;flex:none;color:var(--primary)}.select-shell[data-line=green] .lead{color:var(--line-green)}.select-shell[data-line=tram] .lead{color:var(--line-tram)}.select-shell select{flex:1 1 0;width:100%;min-width:0;border:0;outline:none;background:none;font:inherit;font-size:16px;min-height:52px;color:var(--text);appearance:none;cursor:pointer}.select-shell .chev{width:14px;height:14px;flex:none;color:var(--muted);pointer-events:none}.od-group{position:relative;margin-bottom:6px}.od-group .tool-field{margin-bottom:10px}.swap-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--border-strong);background:#fff;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #121c861a;transition:all .15s ease}.swap-btn:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-50%) rotate(180deg)}.swap-btn svg{width:19px;height:19px}.tool-range{width:100%;accent-color:var(--secondary);margin:6px 0 4px}.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.result-mode{width:46px;height:46px;flex:none;color:#ffffff59}.tool-kv div{position:relative}.kv-icon{width:17px;height:17px;color:var(--secondary);margin-bottom:5px;display:block}.cmp-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:2px}.cmp-list li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:14.5px;color:#e4e8f5}.cmp-list li.you{background:#ffffff1f;color:#fff;font-weight:600}.cmp-icon{width:16px;height:16px;flex:none;opacity:.55}.cmp-name{flex:1;min-width:0}.cmp-val{font-variant-numeric:tabular-nums;flex:none}.cmp-list li.you .cmp-val{color:var(--secondary)}.route-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}.route-list li{display:flex;gap:14px;padding:0 0 18px;position:relative}.route-list li:not(:last-child):before{content:"";position:absolute;left:17px;top:34px;bottom:0;width:2px;background:#ffffff47}.route-list li[data-line=green]:not(:last-child):before{background:#00a651a6}.route-dot{width:36px;height:36px;flex:none;border-radius:50%;background:#ffffff1f;display:inline-flex;align-items:center;justify-content:center;color:#fff}.route-list li.change .route-dot{background:var(--secondary);color:#06264a}.route-dot svg{width:19px;height:19px}.route-body{display:flex;flex-direction:column;gap:2px;padding-top:6px}.route-body b{color:#fff;font-size:15.5px}.route-meta{color:#b3bcd6;font-size:13px}.route-list li:last-child{padding-bottom:0}.today-head{font-weight:700;font-size:17px;margin-bottom:4px}.tool-card .tool-light{background:var(--section-bg-alt)}
