.dart-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:22px; align-items:start; }
.dart-board-panel { min-width:0; }
.dart-controls { display:flex; align-items:end; gap:14px; margin-bottom:16px; }
.dart-controls label { display:grid; gap:7px; flex:1; font-size:.83rem; font-weight:650; }
.dart-controls select { width:100%; min-height:46px; border:1px solid var(--border); border-radius:10px; padding:10px 12px; background:var(--surface); color:var(--text); font:inherit; }
.dart-controls button { gap:7px; white-space:nowrap; min-height:46px; }
.dart-canvas { overflow:hidden; border:1px solid #c8dcec; border-radius:18px; background:#e8f3fb; }
.dart-map-label,.dart-map-caption { display:flex; justify-content:space-between; gap:12px; padding:16px 18px; font-size:.78rem; color:#48657e; }
.dart-map-label span:first-child { font-size:.94rem; font-weight:750; color:#204b71; }
.dart-map-caption { border-top:1px solid #c8dcec; background:#f4f9fd; }
.dart-map { display:block; width:100%; height:auto; }
.dart-land { fill:#fcfdff; stroke:#9dbbd3; stroke-width:1.2; }
.dart-city { fill:#6b95b7; }
.dart-pin { fill:none; stroke:#b34734; stroke-width:4; animation:dart-land .6s ease-out; }
.dart-ring { fill:#fff8f4; stroke-width:2; }
.dart-center { fill:#b34734; stroke:none; }
@keyframes dart-land { from { opacity:0; transform:translate(55px,-100px) scale(1.8); } to { opacity:1; transform:translate(0,0) scale(1); } }
.dart-footnote { font-size:.75rem; color:var(--muted); line-height:1.6; margin:12px 4px; }
.dart-waiting { padding:28px; background:linear-gradient(150deg,#fff,#f1f7fd); }
.dart-waiting-icon { display:inline-flex; padding:16px; margin-bottom:20px; background:#e7f1fc; border-radius:14px; color:#346c9f; }
.dart-waiting-icon .icon { width:30px; height:30px; }
.dart-waiting h2 { font-family:Georgia,serif; font-size:1.8rem; }
.dart-waiting p { line-height:1.65; color:var(--muted); }
.dart-waiting ol { padding-left:20px; font-size:.88rem; line-height:2; margin-block:20px; }
.dart-proposal h2 { font-family:Georgia,serif; font-size:2.25rem; }
.dart-country { color:var(--muted); font-size:.87rem; }
.dart-country span { font-size:.75rem; }
.dart-result-intro { margin:18px 0!important; font-size:.9rem; line-height:1.6; }
.dart-proposal fieldset { min-width:0; }
.dart-proposal .form-row { grid-template-columns:1fr; }
.dart-proposal .form-stack>.muted { font-size:.76rem; line-height:1.5; }
.dart-checklist { margin-top:22px; padding-top:16px; border-top:1px solid var(--border); font-size:.83rem; line-height:1.7; }
.dart-checklist summary { cursor:pointer; font-weight:650; }
.dart-checklist ul { padding-left:20px; }
.dart-modes { margin-top:22px; display:flex; gap:24px; font-size:.84rem; color:var(--muted); line-height:1.6; }
.dart-modes strong { white-space:nowrap; color:var(--text); }
.dart-home { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-block:20px; background:#edf5fc; }
.dart-home p { color:var(--muted); }
.dart-home .button { flex-shrink:0; }
.dart-origin { margin-block:20px; }
.dart-origin ul { padding-left:20px; line-height:1.8; font-size:.9rem; }
@media(max-width:1150px){.dart-layout { grid-template-columns:1fr; }.dart-proposal .form-row { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:480px){.dart-controls,.dart-home,.dart-modes { flex-direction:column; align-items:stretch; }.dart-proposal .form-row { grid-template-columns:1fr; }.dart-map-label,.dart-map-caption { padding:12px; font-size:.7rem; }.dart-map-caption { flex-direction:column; gap:4px; }.dart-waiting { padding:20px; }}
@media(prefers-reduced-motion:reduce){.dart-pin { animation:none; }}
/* Destination camera and dimensional dart, independent of map scale. */
.dart-scene{transform:var(--dart-camera);transform-origin:0 0}
.dart-anchor{transform:var(--dart-end);transform-origin:0 0}
.dart-pin{fill:initial;stroke:none;stroke-width:initial;animation:none}
.dart-animate .dart-scene{animation:dart-zoom 1.5s cubic-bezier(.2,.65,.2,1) both}
.dart-animate .dart-anchor{animation:dart-anchor-zoom 1.5s cubic-bezier(.2,.65,.2,1) both}
.dart-drop .dart-pin{animation:dart-land .7s cubic-bezier(.12,.68,.25,1)}
.dart-place-label{pointer-events:none}.dart-animate .dart-place-label{animation:dart-label 1.5s both}
.dart-zoom-button,.flight-buttons button{border:1px solid #9abbd5;border-radius:7px;min-height:36px;padding:7px 11px;background:#fff;color:#285675;font:inherit;font-weight:650;cursor:pointer}
.dart-map-label{align-items:center;min-height:68px}.dart-zoom-button:focus-visible,.flight-buttons button:focus-visible{outline:3px solid #357cad;outline-offset:3px}
@keyframes dart-zoom{from{transform:translate(0,0) scale(1)}to{transform:var(--dart-camera)}}
@keyframes dart-anchor-zoom{from{transform:var(--dart-start)}to{transform:var(--dart-end)}}
@keyframes dart-label{0%,60%{opacity:0}100%{opacity:1}}
.dart-origin-control{margin:0 0 16px}.dart-origin-control label{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:650}.dart-origin-control select{min-width:0;max-width:100%;flex:1;min-height:42px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);padding:9px;font:inherit}.dart-origin-control p{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.flight-console{padding:20px 22px;background:linear-gradient(125deg,#fff,#eef7ff);border-top:1px solid #c8dcec}.flight-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.flight-eyebrow{color:#426882;text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:750}.flight-buttons{display:flex;flex-wrap:wrap;gap:8px}.flight-buttons button{font-size:11px}.flight-buttons [hidden]{display:none}.flight-status{font-size:20px;font-weight:650;letter-spacing:-.03em;line-height:1.4;margin:18px 0 6px;min-height:28px}.flight-airline{font-size:12px;color:#456882;min-height:18px;margin:0 0 18px}.flight-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0}.flight-steps li{flex:1;border-top:3px solid #d7e4ef;padding-top:8px;font-size:11px;color:#526a80}.flight-steps .is-current{border-color:#c58d44;color:#775421;font-weight:700}.flight-steps .is-done{border-color:#397da9;color:#285675}.flight-honesty{font-size:11px;color:#526a80;line-height:1.65;margin:16px 0 0}.flight-route-editor{margin-top:18px;font-size:12px}.flight-route-editor summary{cursor:pointer;font-weight:650;padding:12px 0}.flight-route-editor .form-stack{margin-top:16px}.flight-route-editor input,.flight-route-editor select{max-width:100%}.flight-route-editor fieldset{border:1px solid var(--border);border-radius:9px;padding:12px;margin:0;min-width:0}
@media(max-width:480px){.flight-console{padding:15px}.flight-heading{align-items:flex-start;flex-direction:column}.flight-status{font-size:17px}.flight-buttons button{min-height:40px}.dart-origin-control label{align-items:flex-start;flex-direction:column}.dart-origin-control select{width:100%}.dart-map-label{min-height:64px}}
@media(prefers-reduced-motion:reduce){.dart-animate .dart-scene,.dart-animate .dart-anchor,.dart-animate .dart-place-label,.dart-drop .dart-pin{animation:none}}

[data-dart-board]:not([data-flight-phase="complete"]) [data-flight-scene] .dart-zoom-button{visibility:hidden}
.dart-title{display:flex;align-items:center;gap:12px}.dart-title-art{width:56px;height:56px;flex:none;margin-left:-8px}
.dart-controls{display:grid;gap:12px}.dart-throw-row{display:flex;align-items:end;gap:12px;min-width:0}.dart-throw-row>label{min-width:0}.dart-smart-fields{min-width:0;border:1px solid #bbd9ec;border-radius:12px;background:#edf7ff;padding:15px;margin:0}.dart-smart-fields[hidden]{display:none}.dart-smart-fields legend{font-weight:700;color:#235a7d;padding-inline:5px}.dart-smart-fields p{font-size:.79rem;line-height:1.6;margin:4px 0 12px;color:#3e627a}.dart-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:10px}.dart-smart-fields input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:10px;border:1px solid #a8c9df;border-radius:8px;background:#fff;color:#17374e;font:inherit}.dart-smart-fields .dart-visited-check{display:flex;align-items:center;gap:9px;margin:14px 0}.dart-visited-check input{width:18px;height:18px;flex-shrink:0}.dart-filter-summary{margin:16px 0;padding:14px;border:1px solid #c5dfef;border-radius:10px;background:#f0f8ff;min-width:0}.dart-filter-summary h3{font-size:1rem;margin:7px 0 10px}.dart-filter-summary p,.dart-filter-summary li{font-size:.8rem;line-height:1.6;overflow-wrap:anywhere}.dart-filter-summary ul{padding-left:18px}.dart-filter-summary summary{font-size:.83rem;font-weight:650;cursor:pointer;color:#225d83;padding-block:6px}.dart-excluded-list{max-height:230px;overflow:auto}.dart-filter-summary .dart-unknowns{margin-top:10px}.dart-controls [data-dart-filter-error]:empty{display:none}.dart-controls [data-dart-filter-error]{margin:0}.dart-controls button:disabled{opacity:.6;cursor:wait}
@media(max-width:620px){.dart-throw-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dart-throw-row>.button{grid-column:1/-1;justify-content:center}.dart-smart-fields{padding:12px}}
@media(max-width:390px){.dart-throw-row,.dart-filter-grid{grid-template-columns:minmax(0,1fr)}.dart-smart-fields input,.dart-controls select{font-size:16px}.dart-filter-summary{padding:10px}.dart-controls button{white-space:normal}}
.trip-heading{flex-wrap:wrap;gap:18px}.trip-journey-action{max-width:100%}.trip-journey-action .button{white-space:normal;text-align:left;gap:12px}
.itinerary-editor{max-width:1000px}.itinerary-editor>p{color:var(--muted);line-height:1.7}.itinerary-editor fieldset{min-width:0;margin:0 0 16px;border:1px solid var(--border);border-radius:12px;padding:18px;background:#f8fbfe}.itinerary-editor legend{padding:0 8px;font-weight:700;color:#2e658e}.itinerary-leg-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px}.itinerary-editor select,.itinerary-editor input{width:100%;min-width:0}.itinerary-editor [data-remove-leg]{margin-top:12px;font-size:12px}.itinerary-editor [data-add-leg]{justify-self:start}.itinerary-editor .muted{font-size:12px;line-height:1.7}
.journey-dialog{width:min(1000px,calc(100% - 28px));max-height:92dvh;padding:24px;background:#f9fcff;color:var(--text);border:1px solid #c8dcec;border-radius:22px;box-shadow:0 24px 100px #12345155;overflow:auto}.journey-dialog::backdrop{background:#143249a8;backdrop-filter:blur(5px)}.journey-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.journey-dialog-heading h2{margin:5px 0 0;font-family:Georgia,serif;font-size:28px}.journey-dialog-heading .button{flex-shrink:0}.journey-dialog .flight-map{max-height:46dvh}.journey-stop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:decimal;padding-left:24px;margin-bottom:0;font-size:12px;line-height:1.6}.journey-stop-list li{padding-left:4px;overflow-wrap:anywhere}.journey-stop-list span{display:block;color:var(--muted)}
@media(max-width:700px){.itinerary-leg-grid{grid-template-columns:1fr}.journey-dialog{padding:14px}.journey-stop-list{grid-template-columns:1fr}.journey-dialog-heading h2{font-size:23px}.journey-dialog-heading .button{font-size:11px;padding:9px}.journey-dialog .flight-map{max-height:none}.dart-title-art{width:44px;height:44px}.itinerary-editor fieldset{padding:12px}}
