:root{--text:#5b5648;--text-h:#221d12;--bg:#faf6ee;--card-bg:#fffdf7;--border:#d8d2c2;--code-bg:#f1ede2;--accent:#0f6b63;--accent-bg:#0f6b6317;--accent-border:#0f6b6399;--control-border:#77776d;--on-accent:#fff;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--serif:Georgia, "Times New Roman", serif;--mono:ui-monospace, Consolas, monospace;font:17px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b9c3c0;--text-h:#f0f4f2;--bg:#141817;--card-bg:#1b211f;--border:#37413e;--accent:#4fc0b5;--accent-bg:#4fc0b524;--accent-border:#4fc0b599;--control-border:#899b92;--on-accent:#141817}}*,:before,:after{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{font-family:var(--serif);color:var(--text-h);margin:0 0 8px;font-weight:600}h3{font-size:17px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--accent);color:var(--on-accent);border-radius:0 0 8px 8px;padding:8px 14px;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus-visible{top:0}a{color:var(--accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline:2px solid highlight}.chip.on{border:2px solid highlight}.mode.winner{border-color:highlight}.skip-link{color:linktext;background:canvas;border:1px solid buttonborder}}.app{text-align:left;max-width:780px;margin:0 auto;padding:24px 16px 64px}header{text-align:center;margin-bottom:20px}header h1{margin:16px 0 4px;font-size:44px}.tagline{color:var(--text)}.card{border:1px solid var(--border);background:var(--card-bg,transparent);border-radius:10px;margin-bottom:16px;padding:18px 20px}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:10px 0;display:flex}fieldset{border:none;min-width:0;margin:0;padding:0}fieldset legend{color:var(--text-h);margin-bottom:6px;padding:0;font-weight:600}.field{flex-direction:column;gap:4px;min-width:0;font-size:14px;display:flex}.field span{color:var(--text)}.field input,.field select{font:inherit;border:1px solid var(--control-border);background:var(--bg);min-height:44px;color:var(--text-h);border-radius:6px;width:130px;min-width:0;max-width:100%;padding:6px 8px;font-size:15px}.field select{width:auto;min-width:220px}.field.checkbox{flex-direction:row;align-items:center;gap:8px}.field.checkbox input{width:auto}button{font:inherit;border:1px solid var(--control-border);background:var(--accent-bg);min-height:44px;color:var(--text-h);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:15px}button:disabled{opacity:.6;cursor:default}button:hover{border-color:var(--accent-border)}button.swap{align-self:flex-end;padding:6px 10px}button.link{color:var(--accent);background:0 0;border:none;padding:4px 6px}.compare-btn{background:var(--accent-bg);border-color:var(--accent-border);width:100%;margin:8px 0 20px;padding:12px;font-size:18px;font-weight:600;display:block}.prefs-bar{justify-content:center;align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.profiles{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.chip{background:var(--bg);border-radius:999px;padding:6px 14px;font-size:14px}.chip.on{background:var(--accent-bg);border-color:var(--accent-border);font-weight:600}.estimate-note{text-align:center;margin-bottom:10px}.hint{color:var(--text);font-size:13px}.choice-row{align-items:stretch;gap:14px;margin:16px 0;display:flex}.choice{text-align:left;background:var(--bg);border-radius:10px;flex-direction:column;flex:1;gap:8px;padding:18px;display:flex}.choice strong{font-size:18px}.or{color:var(--text);align-self:center}.result h2 .route{color:var(--text);margin-left:8px;font-size:18px;font-weight:400}.modes{gap:14px;margin:14px 0;display:flex}.mode{border:1px solid var(--border);border-radius:8px;flex:1;padding:14px}.mode.winner{border-color:var(--accent-border);background:var(--accent-bg)}.mode .big{color:var(--text-h);font-size:22px;font-weight:600}.mode .edh{font-family:var(--mono);color:var(--text);margin-top:6px;font-size:13px}.explain{border-top:1px solid var(--border);padding-top:12px;font-size:16px}.feedback{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:14px;display:flex}.feedback .tally{margin-left:auto}.feedback .donate{cursor:pointer;align-items:center;gap:4px;display:flex}details{margin-top:14px}details summary{cursor:pointer;color:var(--accent);padding:10px 0;font-weight:600}details ul{margin:8px 0;padding-left:18px;font-size:14px}.route-map{border:1px solid var(--border);background:var(--accent-bg);border-radius:8px;width:100%;margin-top:14px}.route-map .state{fill:none;stroke:var(--border);stroke-width:1px}.route-map .drive-route{fill:none;stroke:#3b82f6;stroke-width:2.5px;stroke-dasharray:6 4;opacity:.9}.route-map .flight-arc{fill:none;stroke:var(--accent);stroke-width:2.5px;opacity:.9}.route-map .airport{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.route-map .airport-label{fill:var(--text-h);font-size:16px;font-weight:600}.race-scene{border:1px solid var(--border);border-radius:8px;margin-top:14px;overflow:hidden}.race-scene canvas{width:100%;display:block}.race-caption{text-align:center;margin-top:6px}@media (width<=640px){.modes,.choice-row{flex-direction:column}.or{text-align:center}}.field.checkbox input{width:20px;height:20px;min-height:0;accent-color:var(--accent)}.field.checkbox{justify-content:flex-start;min-height:44px}.errors{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:8px;margin:10px 0;padding:10px 14px}.errors ul{margin:0;padding-left:18px}.status-line{min-height:18px;margin:4px 0}.selected-profile{margin:4px 0 10px}.mode.unavailable{border-style:dashed}.brand{width:56px;height:56px;margin:0 auto;display:block}.route-note{margin:6px 0 10px}.adjust-note,.feedback-note{margin:4px 0}.accommodations fieldset{margin:12px 0}.accommodations .field.checkbox{margin:4px 0}.guidance ul{margin:6px 0;padding-left:20px;font-size:14px}.planner-fields{margin:0}@media (width<=400px){.row{gap:8px}.field input,.field select{width:100%;min-width:0}.field{flex:100%}.field.checkbox{flex-direction:row}}.chip.on{border:2px solid var(--accent-border)}
