:root{--bg:#f3f5f8;--surface:#fff;--surface-2:#f7f8fa;--text:#151a23;--muted:#626b7a;--border:#e1e5eb;--accent:#1a6ef5;--on-accent:#fff;--good:#0f9d58;--bad:#d93025;--best-bg:#eaf1fe;--shadow:0 1px 2px #1018280d, 0 4px 16px #1018280f;--cat-toll:#1a6ef5;--cat-toll-bg:#eaf1fe;--cat-entry:#8a3ffc;--cat-entry-bg:#f3ecfe;--cat-free:#8a6a52;--cat-free-bg:#f5efe9;--pick-fastest:#e8590c;--pick-fastest-bg:#fff1e6;--pick-cheapest:#0f9d58;--pick-cheapest-bg:#e6f6ee;--pick-best:#b7791f;--pick-best-bg:#fff7e0;--slower:#c2410c;--cheaper:#0f9d58;--pricier:#d93025}@media (prefers-color-scheme:dark){:root{--bg:#0e1117;--surface:#171b23;--surface-2:#1d222c;--text:#e9edf3;--muted:#98a2b3;--border:#2a303c;--accent:#7aa7ff;--on-accent:#0e1117;--good:#5fd39a;--bad:#ff8a80;--best-bg:#17233a;--shadow:0 1px 2px #0006, 0 6px 20px #00000059;--cat-toll:#7aa7ff;--cat-toll-bg:#17233a;--cat-entry:#c39bff;--cat-entry-bg:#241a38;--cat-free:#d2b49c;--cat-free-bg:#2a221c;--pick-fastest:#ff9b57;--pick-fastest-bg:#2e1f14;--pick-cheapest:#5fd39a;--pick-cheapest-bg:#12291f;--pick-best:#f2c14e;--pick-best-bg:#2d2513;--slower:#ffa36b;--cheaper:#5fd39a;--pricier:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Noto Sans JP,sans-serif;line-height:1.5}main{max-width:820px;margin:0 auto;padding:24px 16px 48px}h1{letter-spacing:.02em;margin:0 0 4px;font-size:1.5rem}h2{margin:24px 0 8px;font-size:1rem}.lead{color:var(--muted);margin:0 0 20px;font-size:.9rem}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:16px}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.full{grid-column:1/-1}label{color:var(--muted);margin-bottom:4px;font-size:.8rem;display:block}label.check{color:var(--text);align-items:center;gap:8px;margin:0;font-size:.9rem;display:flex}label.check input{width:auto}input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;padding:12px;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:-1px}details{margin-top:12px}summary{cursor:pointer;color:var(--muted);font-size:.9rem}button{background:var(--accent);width:100%;color:var(--on-accent);cursor:pointer;border:0;border-radius:10px;margin-top:16px;padding:13px;font-size:1rem;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.link{width:auto;color:var(--accent);background:0 0;margin:0;padding:0;font-size:.85rem;font-weight:600}.od{align-items:center;gap:10px;display:flex}.od-fields{flex:1;gap:10px;display:grid}.od-row label{margin-bottom:4px}button.swap{background:var(--surface-2);width:44px;height:44px;color:var(--text);border:1px solid var(--border);border-radius:50%;flex:none;margin:22px 0 0;padding:0;font-size:1.2rem;font-weight:400}button.swap:hover{border-color:var(--accent);color:var(--accent)}.userbar{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-bottom:8px;font-size:.85rem;display:flex}.status{color:var(--muted);min-height:1.5em;margin:16px 0;font-size:.9rem}.status.error{color:var(--bad)}.remaining{color:var(--muted);text-align:center;margin:10px 0 0;font-size:.85rem}.billing{margin-bottom:16px}.billing .head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.billing .name{font-weight:700}.plans{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}button.plan{background:var(--surface-2);color:var(--text);border:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;margin:0;padding:12px 8px;font-weight:400;display:flex}button.plan:hover{border-color:var(--accent)}.plan-name{font-weight:700}.plan-price{color:var(--accent);font-size:1.15rem;font-weight:800}.plan-limit{color:var(--muted);font-size:.8rem}.share{margin:0 0 12px}.share>button{margin-top:0}.share-links{justify-content:center;gap:20px;margin-top:8px;display:flex}.cta{text-align:center;margin-bottom:16px}.cta p{margin:0 0 10px}a.cta-button{background:var(--accent);color:var(--on-accent);border-radius:10px;padding:11px 22px;font-weight:700;text-decoration:none;display:inline-block}.login-after-trial .panel{border-color:var(--accent);box-shadow:0 0 0 3px var(--best-bg)}.places{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 14px;font-size:.9rem;display:flex}.places .place{font-weight:700}.places .arrow{color:var(--muted)}.places .calc{color:var(--muted);flex-basis:100%;font-size:.78rem}.hero{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}button.hero-tile{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--pick);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:14px 14px 12px;font-weight:400;transition:transform .12s,box-shadow .12s;display:flex}button.hero-tile:hover{transform:translateY(-2px)}.pick-fastest{--pick:var(--pick-fastest);--pick-bg:var(--pick-fastest-bg)}.pick-cheapest{--pick:var(--pick-cheapest);--pick-bg:var(--pick-cheapest-bg)}.pick-best{--pick:var(--pick-best);--pick-bg:var(--pick-best-bg)}.hero-label{color:var(--pick);letter-spacing:.02em;align-items:center;gap:8px;font-size:1.7rem;font-weight:900;line-height:1.1;display:flex}.hero-icon{background:var(--pick-bg);border-radius:8px;place-items:center;width:1.6rem;height:1.6rem;font-size:1rem;font-weight:900;display:inline-grid}.hero-figures{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.hero-figures .sep{color:var(--muted);margin:0 4px;font-weight:400}.hero-route{min-width:0;max-width:100%;color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.hero-route-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.delta{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;font-size:1.35rem;font-weight:800;line-height:1.2;display:flex}.delta .slower{color:var(--slower)}.delta .cheaper{color:var(--cheaper)}.delta .pricier{color:var(--pricier)}.delta .same{color:var(--muted)}.delta.base{color:var(--pick-fastest);font-size:1.05rem}.cat-toll{--cat:var(--cat-toll);--cat-bg:var(--cat-toll-bg)}.cat-entry{--cat:var(--cat-entry);--cat-bg:var(--cat-entry-bg)}.cat-free{--cat:var(--cat-free);--cat-bg:var(--cat-free-bg)}.cat-chip{background:var(--cat-bg);color:var(--cat);border-radius:99px;flex:none;padding:1px 8px;font-size:.75rem;font-weight:700}.tabs{z-index:2;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-width:none;gap:6px;margin-bottom:4px;padding:8px 0;display:flex;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{background:var(--surface);width:auto;color:var(--text);border:1px solid var(--border);border-radius:99px;flex:none;margin:0;padding:8px 14px;font-size:.9rem;font-weight:700}.tabs button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.tabs button[class*=cat-].on{background:var(--cat);color:var(--surface);border-color:var(--cat)}.tabs .count{opacity:.7;margin-left:4px;font-weight:600}.group{margin-top:14px}.group-head{color:var(--cat);flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;font-size:1.05rem;display:flex}.group-icon{background:var(--cat-bg);border-radius:9px;place-items:center;width:1.8rem;height:1.8rem;font-size:1rem;display:inline-grid}.group-desc{color:var(--muted);font-size:.78rem;font-weight:400}.route{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;margin-bottom:10px;padding:14px 16px 12px 20px;scroll-margin-top:64px;position:relative}.route:before{content:"";background:var(--cat);border-radius:0 4px 4px 0;width:5px;position:absolute;top:12px;bottom:12px;left:0}.route.picked{border-color:color-mix(in srgb, var(--cat) 45%, var(--border))}.route-top{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:6px;display:flex}.route-name{margin-right:auto;font-weight:700}.badge{background:var(--pick-bg);color:var(--pick);border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:800}.route .delta{margin-bottom:6px;font-size:1.45rem}.figures{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 24px;display:flex}.figures>div{align-items:baseline;gap:6px;display:flex}.figures .k{color:var(--muted);font-size:.78rem}.figures .v{font-size:1.1rem;font-weight:700}.split{color:var(--muted);margin-top:4px;font-size:.82rem}.road-chip{border-radius:99px;flex:none;padding:1px 8px;font-size:.72rem;font-weight:700}.road-chip.toll{background:var(--cat-toll-bg);color:var(--cat-toll)}.road-chip.freeway{background:var(--pick-cheapest-bg);color:var(--pick-cheapest)}.hw-summary{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;font-size:.84rem;display:flex}.hw-summary.none{color:var(--muted)}.hw-label{color:var(--cat-toll);font-weight:700}.flow{margin-top:8px}.flow summary{font-size:.82rem}.hw-list{gap:8px;margin:10px 0;display:grid}.hw{background:var(--surface-2);border-left:4px solid var(--cat-toll);border-radius:10px;padding:8px 10px}.hw.freeway{border-left-color:var(--pick-cheapest)}.hw-ends{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:1rem;font-weight:800;display:flex}.hw-arrow{color:var(--muted);font-weight:400}.hw-meta{color:var(--muted);margin-top:2px;font-size:.8rem}.legs{border-left:2px solid var(--border);max-height:340px;margin:8px 0 0;padding:0 0 0 14px;list-style:none;overflow-y:auto}.leg{flex-wrap:wrap;align-items:center;gap:2px 8px;padding:4px 0 4px 6px;font-size:.86rem;display:flex;position:relative}.leg:before{content:"";background:var(--muted);border-radius:50%;width:10px;height:10px;position:absolute;top:11px;left:-20px}.leg.toll:before{background:var(--cat-toll)}.leg.freeway:before{background:var(--pick-cheapest)}.leg.toll .leg-road,.leg.freeway .leg-road{font-weight:700}.leg-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem}.more{margin-top:8px}.more summary{font-size:.82rem}.more dl{grid-template-columns:auto 1fr;gap:4px 16px;margin:10px 0;font-size:.88rem;display:grid}.more dt{color:var(--muted)}.more dd{font-variant-numeric:tabular-nums;margin:0}.verdict{background:var(--surface-2);border-radius:10px;padding:8px 10px;font-size:.88rem}.verdict .good{color:var(--good);font-weight:700}.verdict .bad{color:var(--bad);font-weight:700}.go-links{flex-wrap:wrap;gap:6px 18px;margin-top:8px;display:flex}a.go{color:var(--accent);font-size:.92rem;font-weight:700;text-decoration:none;display:inline-block}.go-note{color:var(--muted);font-size:.72rem;font-weight:400;display:block}.note,footer{color:var(--muted);font-size:.8rem}.note a,footer a{color:var(--accent)}.terms-note{margin:10px 0 0;line-height:1.6}.legal-links{flex-wrap:wrap;gap:4px 16px;margin-top:16px;font-size:.8rem;display:flex}.legal-links a{color:var(--muted)}.legal{line-height:1.8}.legal h1{margin:16px 0;font-size:1.3rem}.legal h2{margin:28px 0 8px;font-size:1rem}.legal a{color:var(--accent)}.legal ol,.legal ul{padding-left:1.4em}.legal-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.9rem}.legal-table th,.legal-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.legal-table th{background:var(--surface-2);width:32%;font-weight:600}footer{margin-top:32px}@media (max-width:640px){.hero{grid-template-columns:1fr;gap:8px}button.hero-tile{border-top-width:1px;border-left:5px solid var(--pick);grid-template-columns:7.4rem 1fr;grid-template-areas:"label delta""label figures""route route";align-items:center;gap:2px 10px;display:grid}.hero-label{white-space:nowrap;flex-direction:column;grid-area:label;align-items:flex-start;gap:4px;font-size:1.35rem}.hero-tile .delta{grid-area:delta;font-size:1.15rem}.hero-figures{grid-area:figures;font-size:.92rem}.hero-route{grid-area:route;margin-top:6px}}@media (max-width:520px){.grid,.plans{grid-template-columns:1fr}.route .delta{font-size:1.3rem}.tabs{gap:4px}.tabs button{padding:7px 8px;font-size:.84rem}.tabs .count{margin-left:2px}.legal-table th,.legal-table td{width:100%;display:block}.legal-table th{border-bottom:0}}
