.tool-page{padding-bottom:55px}.tool-accent{color:var(--accent)}.tool-helper{margin:13px 0 0;font-size:11px;line-height:1.7}.tool-source{margin:20px 0 0;font-size:11px}.tool-note{border-bottom:1px solid var(--line);color:var(--accent);align-items:flex-start;gap:12px;margin:23px 0 52px;padding:16px 0;display:flex}.tool-note p{margin:0;font-size:12px}.tool-section-heading{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px;display:flex}.tool-section-heading h2{margin:12px 0 0}.tool-reference tbody th{text-transform:none;letter-spacing:0;color:var(--ink);font-size:12px;font-weight:500}.tool-explainer p{margin-bottom:17px;font-size:13px}.tool-explainer strong{color:var(--ink)}.tool-status{min-height:20px;margin:14px 0 0;font-size:11px}.tool-status.has-error{color:#f4cf8b}.tool-optional{color:var(--muted);margin-left:5px;font-size:10px;font-weight:400}.odds-workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr;min-height:430px;display:grid}.odds-inputs{padding:32px 45px 30px 0}.odds-inputs h2{margin:14px 0 28px;font-size:31px}.odds-inputs>label:not(.odds-boost){color:var(--muted);margin:20px 0 10px;font-size:12px;display:block}.odds-presets{gap:8px;margin-top:10px;display:flex}.odds-presets button{background:0 0;flex:1;padding:8px;font-size:11px}.odds-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.odds-boost{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:22px;display:flex}.odds-boost span{align-items:center;gap:10px;font-size:12px;display:flex}.odds-boost input{accent-color:var(--accent);width:20px;height:20px;margin:0}.odds-output{background:var(--surface);flex-direction:column;justify-content:center;padding:42px 40px 30px;display:flex;overflow:hidden}.odds-percentage{color:var(--accent);white-space:nowrap;margin:20px 0 15px;font-family:Barlow;font-size:clamp(75px,7.7vw,120px);line-height:1.1;animation:.22s ease-out odds-number}.odds-percentage>span{margin-left:4px;font-size:.38em}.odds-output h3{margin:0 0 9px;font-size:29px}.odds-output>p{margin:0;font-size:12px}.odds-meter{background:#343f2e;border-radius:8px;height:5px;margin:27px 0 18px;overflow:hidden}.odds-meter>span{background:var(--accent);height:100%;transition:width .45s;display:block}.odds-facts{grid-template-columns:1fr 1fr;gap:20px;margin:6px 0 25px;display:grid}.odds-facts dt{color:var(--muted);font-size:11px}.odds-facts dd{margin:9px 0 0;font-size:15px;font-weight:600}.odds-output .odds-output-note{max-width:360px;font-size:10px}@keyframes odds-number{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.route-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:16px 0;display:flex}.route-toolbar>div{align-items:center;gap:10px;display:flex}.route-toolbar strong{font-size:13px}.route-date{color:var(--muted);margin-left:8px;font-size:10px}.route-toolbar button{align-items:center;gap:7px;padding:10px 12px;font-size:11px;display:flex}.route-toolbar button[aria-pressed=true]:not(.primary){color:var(--accent);border-color:var(--accent)}.route-workspace{border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);display:grid}.route-map{aspect-ratio:1;isolation:isolate;background:#2c657b;align-self:start;position:relative;overflow:hidden}.route-map>img{object-fit:cover;user-select:none;pointer-events:none;width:100%;height:100%}.route-map.is-placing{cursor:crosshair}.route-map.is-placing:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 3px var(--accent);position:absolute;inset:0}.route-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.route-pin{background:var(--accent);width:28px;height:28px;color:var(--bg);z-index:2;border:2px solid #161c14;border-radius:50%;place-items:center;padding:0;font-size:12px;font-weight:800;transition:background .2s,scale .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #0009}.route-pin:hover{scale:1.12}.route-pin.is-visited{color:var(--accent);border-color:var(--accent);background:#1b2620}.route-map-tag{pointer-events:none;letter-spacing:1.5px;z-index:1;background:#121715df;padding:8px 10px;font-size:9px;position:absolute;top:17px;left:17px}.route-placement{white-space:nowrap;background:var(--accent);color:var(--bg);pointer-events:none;z-index:3;border-radius:4px;padding:12px 18px;font-size:12px;font-weight:600;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.route-sidebar{border-left:1px solid var(--line);flex-direction:column;min-width:0;padding:27px;display:flex}.route-sidebar-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.route-sidebar-title h2{margin:10px 0 0;font-size:36px}.route-sidebar-title>span{color:var(--accent);font-family:Barlow;font-size:42px}.route-sidebar>label{margin:23px 0 9px;font-size:11px;display:block}.route-sidebar input{font-size:11px}.route-coordinates{border-bottom:1px solid var(--line);margin-top:16px;padding-bottom:18px}.route-coordinates summary{cursor:pointer;color:var(--accent);margin-left:12px;font-size:11px;list-style-position:outside}.route-coordinates form>div{grid-template-columns:1fr 1fr;gap:12px;margin:13px 0 10px;display:grid}.route-coordinates label{color:var(--muted);font-size:10px}.route-coordinates input{margin-top:7px}.route-coordinates form>button{justify-content:center;align-items:center;gap:7px;width:100%;padding:8px;font-size:11px;display:flex}.route-list-heading{color:var(--muted);justify-content:space-between;gap:12px;margin:18px 0 9px;font-size:10px;display:flex}.route-list{scrollbar-color:var(--line) transparent;scrollbar-width:thin;max-height:290px;margin:0 0 20px;padding:0;list-style:none;overflow-y:auto}.route-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.route-visit{width:27px;height:27px;color:var(--accent);background:0 0;flex-shrink:0;place-items:center;padding:0;font-size:11px;display:grid}.route-visit[aria-pressed=true]{background:var(--accent);color:var(--bg)}.route-list li>div{flex:1;min-width:0}.route-list strong{overflow-wrap:anywhere;font-size:11px;font-weight:500;display:block}.route-list small{margin-top:4px;font-size:9px;display:block}.route-remove{color:var(--muted);background:0 0;border:0;padding:5px;display:flex}.route-empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:28px 5px 34px;display:flex}.route-empty strong{color:var(--ink);margin-top:14px;font-size:12px}.route-empty p{max-width:200px;margin:8px 0 0;font-size:11px}.route-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;display:flex}.route-bottom>span{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.route-bottom button{background:0 0;align-items:center;gap:6px;padding:7px 9px;font-size:10px;display:flex}.route-caption{color:var(--muted);justify-content:space-between;gap:15px;margin-top:14px;font-size:10px;display:flex}.route-caption a{flex-shrink:0}@media (width<=1050px){.route-workspace{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}.route-sidebar{padding:20px}.route-date{display:none}.odds-inputs{padding-right:30px}.odds-output{padding:35px 30px}.route-sidebar-title .eyebrow{letter-spacing:1.3px;font-size:9px}.route-pin{width:27px;height:27px}.route-map-tag{font-size:8px;top:12px;left:12px}}@media (width<=760px){.route-workspace{grid-template-columns:1fr}.route-sidebar{border-left:0;border-top:1px solid var(--line);padding:24px}.route-list{max-height:280px}.route-empty{padding:30px 0}.route-map{width:100%}.route-caption{flex-direction:column;gap:7px}.odds-workspace{grid-template-columns:1fr}.odds-inputs{padding:27px 0}.odds-output{padding:30px}.odds-percentage{font-size:100px}.tool-section-heading{flex-direction:column;align-items:flex-start}.tool-section-heading h2{font-size:34px}.tool-note{margin-bottom:35px}.tool-reference th,.tool-reference td{padding:13px 8px;font-size:11px}.tool-reference thead th{font-size:9px}.tool-page .page-intro h1{font-size:48px}}@media (width<=420px){.route-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.route-toolbar>div:last-child{width:100%}.route-toolbar button{flex:1;justify-content:center}.route-sidebar{padding:20px}.odds-output{padding:25px 22px}.odds-percentage{font-size:85px}.odds-facts dd{font-size:13px}.tool-page .page-intro h1{font-size:43px}}
