:root{--bg:#fbfaf8;--surface:#ffffff;--surface-2:#f4f2ee;--ink:#16202b;--ink-soft:#5a6672;--ink-faint:#8a949e;--line:#e4e1db;--accent:#1a5f7a;--accent-ink:#ffffff;--accent-soft:#e8f1f5;--warn:#8a4b12;--warn-soft:#fdf3e7;--tag-snabbast:#1a5f7a;--tag-billigast:#2f6b3a;--tag-krangel:#6b4a8a;--radius:14px;--shadow:0 1px 2px rgba(22,32,43,0.04),0 4px 16px rgba(22,32,43,0.05)}@media (prefers-color-scheme:dark){:root{--bg:#11161c;--surface:#171e26;--surface-2:#1d252f;--ink:#e9edf1;--ink-soft:#a3aeba;--ink-faint:#74808c;--line:#29333f;--accent:#7cc2dc;--accent-ink:#0d1a20;--accent-soft:#19262f;--warn:#e0aa6b;--warn-soft:#241c12;--tag-snabbast:#7cc2dc;--tag-billigast:#8fcf9b;--tag-krangel:#c4a6e6;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.num,time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:680px;margin:0 auto;padding:22px 20px 64px}.skip{position:absolute;left:12px;top:-48px;z-index:10;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:8px;text-decoration:none}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:34px}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--accent);text-decoration:none}.wordmark svg{width:28px;height:28px;display:block;flex:none}.site-nav{display:flex;gap:18px;font-size:15px}.site-nav a{color:var(--ink-soft);text-decoration:none}.site-nav a:hover{color:var(--ink)}.site-foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-soft)}.site-foot nav{display:flex;flex-wrap:wrap;gap:6px 20px}.site-foot-from{margin:10px 0 0}h1{font-size:clamp(28px,6vw,38px);line-height:1.15;letter-spacing:-.03em;font-weight:700;margin:0 0 14px;text-wrap:balance}h1.hero{font-size:clamp(36px,9vw,52px);line-height:1.05;margin-bottom:16px}h2{font-size:13px;text-transform:uppercase;letter-spacing:.09em;font-weight:650;color:var(--ink-soft);margin:44px 0 16px}h3{font-size:17px;margin:28px 0 10px}.lead{font-size:19px;margin:0 0 26px}.lead,.muted{color:var(--ink-soft)}.muted{font-size:15px}button{font:inherit}.ghost,.pill,.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.primary{background:var(--accent);color:var(--accent-ink);border:0}.primary:hover{filter:brightness(1.08)}.ghost,.pill{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:500}.ghost:hover,.pill:hover{border-color:var(--ink-faint)}.ghost:disabled{opacity:.6;cursor:progress}.pill{padding:0 16px;font-size:15px}.search{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin:0 0 8px}.search-fields{display:grid;grid-gap:10px;gap:10px}.ort-field,.search-fields{position:relative}.ort-field label{position:absolute;left:14px;top:8px;font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;pointer-events:none}.ort-field input[type=text]{width:100%;min-height:58px;padding:24px 52px 8px 14px;font:inherit;font-size:18px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid transparent;border-radius:10px}.ort-field input[type=text]::placeholder{color:var(--ink-faint);font-weight:400}.ort-field input[type=text]:focus{outline:none;border-color:var(--accent);background:var(--surface)}.swap{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer}.swap:hover{border-color:var(--accent);color:var(--accent)}.ort-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(22,32,43,.14);max-height:340px;overflow:auto}.ort-list li{display:flex;flex-direction:column;padding:9px 12px;border-radius:8px;cursor:pointer}.ort-list li[aria-selected=true]{background:var(--accent-soft)}.ort-list b{font-weight:600}.ort-list span{font-size:14px;color:var(--ink-soft)}.search-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px}.route-title{position:-webkit-sticky;position:sticky;top:0;z-index:15;margin:0 -20px 6px;padding:8px 20px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.route-title .till{color:var(--ink-faint);font-weight:500}.route-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-bottom:18px}.edit{flex-basis:auto}.edit[open]{flex-basis:100%}.edit summary{list-style:none}.edit summary::-webkit-details-marker{display:none}.edit[open] summary{border-color:var(--accent);color:var(--accent)}.edit-panel{margin-top:10px}.tc{margin:0 0 22px}.tc-modes{display:flex;flex-wrap:wrap;gap:6px}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:15px;font-weight:500;color:var(--ink-soft)}.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.tc-when{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;padding:14px;border-radius:var(--radius);background:var(--surface-2)}.tc-when label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--ink-soft)}.tc-when input{font:inherit;font-size:16px;color:var(--ink);min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.tc:has(input[value=nu]:checked) .tc-when{display:none}.tc:has(input[value=dag]:checked) .tc-time{display:none}.context{font-size:14px;font-weight:600;color:var(--ink-soft);margin:0 0 6px}.context-note{font-size:14px;color:var(--warn);margin:-2px 0 8px}.headline{font-size:clamp(22px,5vw,27px);font-weight:650;letter-spacing:-.02em;line-height:1.3;margin:0 0 4px}.headline .num{color:var(--ink)}.headline .sep{color:var(--ink-faint);font-weight:400}.headline-sub{color:var(--ink-soft);font-size:16px;margin:0 0 20px}.price{font-weight:700;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-exact{color:var(--accent)}.price-estimated{color:var(--ink)}.price-estimated:after{content:"spann";margin-left:6px;padding:1px 6px;border-radius:6px;font-size:.62em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:.2em;color:var(--ink-soft);border:1px solid var(--line)}.price-unknown{color:var(--warn)}.price-big{font-size:19px}.headline .price{font-size:inherit}.card-times .price-estimated:after,.headline .price-estimated:after{display:none}.cards{display:grid;grid-gap:14px;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px 6px}.card-first{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:650;letter-spacing:.01em;background:var(--surface-2);color:var(--ink-soft)}.tag-snabbast{background:color-mix(in srgb,var(--tag-snabbast) 14%,transparent);color:var(--tag-snabbast)}.tag-billigast{background:color-mix(in srgb,var(--tag-billigast) 14%,transparent);color:var(--tag-billigast)}.tag-minst-krangel{background:color-mix(in srgb,var(--tag-krangel) 14%,transparent);color:var(--tag-krangel)}.card-times{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:12px 0 2px;font-size:26px;font-weight:700;letter-spacing:-.02em}.card-times .price{margin-left:auto;letter-spacing:0}.card-times .arrow{color:var(--ink-faint);font-weight:400}.card-times .shift{font-size:14px;font-weight:600;color:var(--warn)}.card-meta{margin:0;color:var(--ink-soft);font-size:15.5px}.card-why{margin:6px 0 0;font-size:15px;font-weight:600}.tickets{margin:16px 0 10px;padding:12px 14px 4px;border-radius:12px;background:var(--surface-2)}.tickets h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.tickets ol{list-style:none;margin:0;padding:0}.ticket{display:grid;grid-template-columns:26px 1fr;grid-gap:10px;gap:10px;padding:10px 0}.ticket+.ticket{border-top:1px solid var(--line)}.ticket-n{width:24px;height:24px;border-radius:50%;margin-top:1px;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft)}.ticket-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.ticket-name{font-weight:600}.ticket-sub{font-size:14.5px;color:var(--ink-soft)}.ticket-buy{margin-top:6px;font-size:15px}.buy{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;white-space:nowrap}.buy:hover{filter:brightness(1.08)}.buy-alt,.buy-plain{color:var(--ink-soft)}.note{background:var(--warn-soft);border-radius:10px;padding:12px 14px;font-size:14.5px;color:var(--warn);margin:6px 0 10px}.more{border-top:1px solid var(--line)}.more summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:15px;font-weight:600;color:var(--accent);list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"▸";display:inline-block;width:1.1em;transition:transform .15s}.more[open] summary:before{transform:rotate(90deg)}.timeline{list-style:none;margin:0 0 14px;padding:0}.tl-leg{position:relative;padding-left:22px}.tl-leg:before{content:"";position:absolute;left:6px;top:12px;bottom:12px;width:2px;background:var(--accent);border-radius:2px;opacity:.5}.tl-stop{position:relative;margin:0;padding:3px 0;font-size:15.5px}.tl-stop:before{content:"";position:absolute;left:-21px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}.tl-stop time{display:inline-block;min-width:48px;font-weight:650}.tl-ride{margin:0;padding:4px 0 4px 48px;font-size:14px;color:var(--ink-soft)}.tl-ticket{color:var(--ink-faint)}.tl-change{margin:4px 0 4px -22px;padding:6px 10px;font-size:14px;color:var(--ink-soft);border-left:2px dashed var(--line)}.tl-change.tight{color:var(--warn);font-weight:600}.tl-walk{padding:4px 0 4px 22px;font-size:14px;color:var(--ink-soft)}.counted ul{margin:0 0 8px;padding-left:18px;font-size:14.5px}.counted li{margin-bottom:6px}.counted .basis{color:var(--ink-faint);font-size:13px}.counted p{margin:0 0 14px;font-size:14.5px}.caption,.collapse-note{font-size:14px;color:var(--ink-soft);margin:12px 0 0}.caption{margin-top:28px}.nartrafik{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:15px}.nartrafik p{margin:0 0 8px}.nartrafik p:last-child{margin-bottom:0}.nartrafik .nartrafik-book{display:flex;flex-wrap:wrap;gap:8px}.nartrafik .basis{font-size:13px;color:var(--ink-faint)}.nartrafik dl{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 12px;gap:4px 12px;margin:0 0 10px}.nartrafik dt{font-weight:600;color:var(--ink-soft);font-size:14px}.nartrafik dd{margin:0}.facts .nartrafik b,.facts .nartrafik span{display:inline;color:inherit;font-size:inherit;margin:0}.lastback{margin:14px 0 0;padding:12px 16px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line))}.lastback-label{display:block;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}.lastback p{margin:0;font-size:15.5px}.lastback-time{font-weight:700;font-size:17px}.empty{padding:18px 20px;border-radius:var(--radius);background:var(--surface);border:1px dashed var(--line)}.empty p{margin:0 0 8px;font-size:17px}.after{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.facts{list-style:none;margin:0;padding:0}.facts li{padding:14px 0;border-top:1px solid var(--line);font-size:16px}.facts li:last-child{border-bottom:1px solid var(--line)}.facts b{display:block;font-weight:600;margin-bottom:2px}.facts span{color:var(--ink-soft);font-size:15.5px}.facts .price{font-size:inherit}.links{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:15px;text-decoration:none}.links a:hover{border-color:var(--accent)}.choices{list-style:none;margin:0 0 16px;padding:0}.choices a{display:flex;flex-direction:column;padding:10px 14px;margin-bottom:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none}.choices span{font-size:14px;color:var(--ink-soft)}.dym{font-size:19px;font-weight:600;margin:0 0 12px}.prose p{max-width:62ch}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line)}th{font-size:13px;color:var(--ink-soft);font-weight:600}td+td,th+th{white-space:nowrap}@media (max-width:520px){.wrap{padding:16px 14px 56px}.route-title{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.site-head{margin-bottom:24px}.card{padding:16px 16px 4px}.card-times{font-size:23px}.search{padding:12px}.search-actions>*{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}