@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.1zrieox9119mb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2whpih27xg_2r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.1xlj4-0oa5zql.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1fxkn-ggzj93z.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.1ahvy37o8m5gt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.2ktx6yqc-sbf1.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0rpdhg_4ubdtf.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--color-background:#f1f2f7;--color-surface:#fff;--color-surface-muted:#eceef5;--color-surface-hover:#e2e5ef;--color-border:#d9dce8;--color-border-strong:#bcc1d3;--color-text:#0f1222;--color-text-muted:#585e78;--color-text-inverse:#fff;--color-accent:#7c3aed;--color-accent-glow:#a78bfa;--color-on-accent:#fff;--color-positive:#15803d;--color-positive-surface:#dcfce7;--color-focus:#7c3aed;--color-ink:#0b0d17;--color-ink-raised:#171a2b;--color-ink-hover:#21253a;--color-ink-border:#262a40;--color-ink-text:#eef0fb;--color-ink-muted:#9a9fbd;--color-ink-focus:#a78bfa;--color-bird:#1f2235;--color-bird-shadow:#0f12222e;--radius-small:6px;--radius:10px;--shadow:0 1px 2px #0f122214, 0 4px 12px #0f12220f;--shadow-marker:0 2px 6px #0f122259;--sidebar-width:420px;--transition:.15s ease;--ease-spring:cubic-bezier(.2, .9, .3, 1.3)}
*{box-sizing:border-box}body{font-feature-settings:"cv11", "ss01";color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter Variable,system-ui,sans-serif;font-size:14px}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.title{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.sidebar-title{line-height:1.25}.eyebrow,.label{color:var(--color-text-muted);font-size:12px;font-weight:500}.eyebrow{letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;display:block}.label{justify-content:space-between;align-items:baseline;display:flex}.label-value{color:var(--color-text);font-variant-numeric:tabular-nums}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:16px;height:16px}.dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;flex-shrink:0}.status{color:var(--color-text-muted);padding:24px}
.layout{grid-template-columns:var(--sidebar-width) 1fr;height:100vh;display:grid}.sidebar,.budget-dialog{--color-surface:var(--color-ink);--color-surface-muted:var(--color-ink-raised);--color-surface-hover:var(--color-ink-hover);--color-border:var(--color-ink-border);--color-text:var(--color-ink-text);--color-text-muted:var(--color-ink-muted);--color-focus:var(--color-ink-focus);color:var(--color-text);background:var(--color-surface)}.sidebar{scrollbar-color:var(--color-border) transparent;z-index:999;flex-direction:column;height:100vh;display:flex;overflow:hidden auto}.panel-section{border-bottom:1px solid var(--color-border);padding:20px 24px}.sidebar-header{padding-top:24px}.field{flex-direction:column;gap:10px;display:flex}.field+.field{margin-top:20px}.field.switch{flex-direction:row;font-size:13px}.method-link{color:var(--color-text-muted);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:6px;margin-top:10px;padding:0;font-size:12px;font-weight:500;display:inline-flex}.method-link:hover{color:var(--color-accent-glow)}.sidebar-links{flex-wrap:wrap;gap:4px 16px;margin-top:10px;display:flex}.sidebar-links .method-link{margin-top:0}
.range{--range-track:var(--color-border);--range-thumb:var(--color-accent-glow);cursor:pointer;appearance:none;background:0 0;width:100%;height:20px;margin:0}.range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--range-thumb) var(--range-fill), var(--range-track) var(--range-fill));border-radius:2px;height:4px}.range::-moz-range-track{background:var(--range-track);border-radius:2px;height:4px}.range::-moz-range-progress{background:var(--range-thumb);border-radius:2px;height:4px}.range::-webkit-slider-thumb{border:3px solid var(--color-ink);background:var(--range-thumb);appearance:none;width:18px;height:18px;transition:transform var(--transition);border-radius:50%;margin-top:-7px}.range::-moz-range-thumb{border:3px solid var(--color-ink);background:var(--range-thumb);width:12px;height:12px;transition:transform var(--transition);border-radius:50%}.range:hover::-webkit-slider-thumb{transform:scale(1.2)}.range:active::-webkit-slider-thumb{transform:scale(1.2)}.range:hover::-moz-range-thumb{transform:scale(1.2)}.range:active::-moz-range-thumb{transform:scale(1.2)}.switch{cursor:pointer;align-items:center;gap:8px;display:flex}.switch-input{opacity:0;position:absolute}.switch-track{background:var(--color-border-strong);width:28px;height:16px;transition:background var(--transition);border-radius:999px;position:relative}.switch-track:after{content:"";background:var(--color-surface);width:12px;height:12px;transition:transform var(--transition);border-radius:50%;position:absolute;top:2px;left:2px}.switch:hover .switch-track{background:var(--color-text-muted)}.switch-input:checked+.switch-track{background:var(--color-text)}.switch-input:checked+.switch-track:after{transform:translate(12px)}.switch-input:focus-visible+.switch-track{outline:2px solid var(--color-focus);outline-offset:2px}
.icon-button{border-radius:var(--radius-small);width:28px;height:28px;color:var(--color-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;place-items:center;font-size:20px;line-height:1;display:grid}.icon-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.button-primary,.button-secondary{border:1px solid var(--color-border);border-radius:var(--radius-small);transition:background var(--transition), border-color var(--transition), color var(--transition);padding:8px 16px;font-size:13px;font-weight:600}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover{border-color:var(--color-accent-glow)}.button-secondary{color:var(--color-text-muted);background:0 0}.button-secondary:hover{border-color:var(--color-accent-glow);color:var(--color-text)}
.hero{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding:24px;display:flex}.hero-label,.hero-fact{color:var(--color-text-muted);align-items:center;gap:8px;display:flex}.hero-label{font-size:13px;font-weight:500}.hero-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:700;line-height:1}.hero-sign{color:var(--color-accent-glow);margin-right:2px}.hero-facts{flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:13px;display:flex}.hero-fact-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}
.station-count-value{letter-spacing:-.02em;font-size:28px;font-weight:650;line-height:1}.field-hint{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.field-warning{color:var(--color-accent-glow);font-size:12px;font-weight:500}.budget-button{border:1px dashed var(--color-border);border-radius:var(--radius-small);width:100%;color:var(--color-text-muted);transition:border-color var(--transition), color var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.budget-button:hover{border-color:var(--color-accent-glow);color:var(--color-text)}.budget-card{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);padding:14px}.commune-chips{flex-wrap:wrap;gap:4px;display:flex}.commune-chip{border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-muted);transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;padding:4px 9px;font-size:12px;text-decoration:line-through}.commune-chip:hover{border-color:var(--color-text-muted);color:var(--color-text)}.commune-chip.is-included{border-color:var(--color-surface-hover);background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.commune-chip.is-included:hover{border-color:var(--color-accent-glow)}.advanced{border-top:1px solid var(--color-border);margin-top:20px;padding-top:14px}.advanced-summary{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition);align-items:center;gap:8px;font-size:13px;font-weight:600;list-style:none;display:flex}.advanced-summary::-webkit-details-marker{display:none}.advanced-summary:before{content:"";width:6px;height:6px;transition:transform var(--transition);border-bottom:2px solid;border-right:2px solid;transform:rotate(-45deg)}.advanced[open]>.advanced-summary:before{transform:rotate(45deg)}.advanced-summary:hover,.advanced[open]>.advanced-summary{color:var(--color-text)}.advanced-badge{border-radius:var(--radius-small);background:var(--color-accent);color:var(--color-on-accent);padding:2px 7px;font-size:11px;font-weight:600}.advanced[open] .advanced-content{animation:.22s rise-in}.advanced-content>.field:first-child{margin-top:16px}.commune-actions{gap:14px;display:flex}.link-button{color:var(--color-accent-glow);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.link-button:hover:not(:disabled){color:var(--color-text)}.link-button:disabled{color:var(--color-text-muted);opacity:.5;cursor:default;text-decoration:none}
.results{border-bottom:none;flex-direction:column;flex:1;gap:12px;display:flex}.results.is-collapsed{flex:none}.results-toggle{color:var(--color-text-muted);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:500;display:flex}.results-toggle:before{content:"";width:6px;height:6px;transition:transform var(--transition);border-bottom:2px solid;border-right:2px solid;transform:rotate(-45deg)}.results-toggle[aria-expanded=true]:before{transform:rotate(45deg)}.results-toggle:hover{color:var(--color-text)}.results-count{border-radius:var(--radius-small);background:var(--color-surface-hover);color:var(--color-text);font-variant-numeric:tabular-nums;padding:1px 7px;font-size:11px;font-weight:600}.empty{border:1px dashed var(--color-border);border-radius:var(--radius-small);text-align:center;color:var(--color-text-muted);margin:0;padding:24px}.pick-list{scrollbar-color:var(--color-border) transparent;flex:1;margin:0 -10px;padding:0;list-style:none;overflow-y:auto}.pick-item{animation:.32s both rise-in;animation-delay:calc(min(var(--appearance-order), 12) * 25ms)}.pick{border-radius:var(--radius-small);text-align:left;width:100%;transition:background var(--transition), box-shadow var(--transition);background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;padding:10px;display:grid}.pick:hover{background:var(--color-surface-muted)}.pick.is-selected{background:var(--color-surface-hover);box-shadow:inset 3px 0 0 var(--color-accent-glow)}.pick-rank{border-radius:var(--radius-small);background:var(--color-accent);width:26px;height:26px;color:var(--color-on-accent);font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-weight:650;display:grid}.pick-label{flex-direction:column;gap:2px;font-weight:500;display:flex}.pick-meta{color:var(--color-text-muted);font-size:12px;font-weight:400}.pick-figures{font-variant-numeric:tabular-nums;font-size:15px;font-weight:650}.pick-bar{background:var(--color-surface-muted);border-radius:2px;grid-column:2/-1;height:3px}.pick:hover .pick-bar{background:var(--color-border)}.pick-bar-fill{background:var(--color-accent-glow);border-radius:2px;height:100%;transition:width .4s;display:block}
.map-area{position:relative;overflow:hidden}.map{isolation:isolate;height:100%}.map-card,.detail{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);position:absolute}.map-card{flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;display:flex}.map.is-drawing .station-marker{pointer-events:none}.map.is-testing-point .station-marker{visibility:hidden;opacity:0;pointer-events:none}
.layers{top:16px;left:16px}.zone-section{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;margin-top:4px;padding-top:10px;display:flex}.zone-row{grid-template-columns:52px 1fr 1fr;align-items:center;gap:4px;display:grid}.zone-row-label{color:var(--color-text-muted);font-size:12px}.zone-tool{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);transition:background var(--transition), border-color var(--transition), color var(--transition);justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:500;display:flex}.zone-tool:hover{border-color:var(--color-border-strong);background:var(--color-surface-muted)}.zone-tool.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.zone-tool.is-active.is-exclude{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-text)}.zone-status{color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.zone-hint{max-width:230px;color:var(--color-accent);font-size:11px;line-height:1.4}.zone-clear{text-align:left;color:var(--color-text-muted);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.zone-clear:hover{color:var(--color-text)}
.legend{bottom:16px;left:16px}.legend-scale{gap:2px;display:flex}.legend-swatch{border-radius:2px;width:32px;height:8px}.legend-bounds{color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.legend-pin{border:1px solid var(--color-text-inverse);background:var(--color-accent);border-radius:50% 50% 50% 0;width:10px;height:10px;margin:0 0 2px;transform:rotate(-45deg)}
.station-marker{background:0 0;border:none;width:32px;height:40px;padding:0;transition:opacity .2s,visibility .2s}.station-marker.is-selected{z-index:1}.station-body{animation:drop-in .48s var(--ease-spring) both;animation-delay:calc(min(var(--appearance-order), 20) * 40ms);display:block}.station-pin{border:2px solid var(--color-text-inverse);background:var(--color-accent);width:30px;height:30px;box-shadow:var(--shadow-marker);transition:transform var(--transition), background var(--transition);border-radius:50% 50% 50% 0;place-items:center;margin:0 auto;display:grid;transform:rotate(-45deg)}.station-rank{color:var(--color-on-accent);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;transform:rotate(45deg)}.station-pulse{border:2px solid var(--color-accent);width:28px;height:12px;animation:2.4s ease-out infinite pulse;animation-delay:calc(var(--appearance-order) * .18s);border-radius:50%;margin-left:-14px;position:absolute;bottom:-6px;left:50%}.station-marker:hover .station-pin{transform:rotate(-45deg)scale(1.12)}.station-marker.is-selected .station-pin{border-color:var(--color-accent);background:var(--color-text-inverse);transform:rotate(-45deg)scale(1.2)}.station-marker.is-selected .station-rank{color:var(--color-accent)}.station-marker:focus-visible{outline:none}.station-marker:focus-visible .station-pin{outline:2px solid var(--color-focus);outline-offset:3px}
.detail{border-top:3px solid;flex-direction:column;gap:16px;width:380px;max-height:calc(100% - 32px);padding:20px;animation:.22s rise-in;display:flex;top:16px;right:16px;overflow-y:auto}.detail-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-title{font-size:20px}.badge{border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text-muted);margin-top:10px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.badge.is-positive{background:var(--color-positive-surface);color:var(--color-positive)}.detail-highlight{color:var(--color-text-muted);margin:0}.detail-highlight-value{letter-spacing:-.03em;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1.1;display:block}.detail-stats{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.detail-stat{border-radius:var(--radius-small);background:var(--color-surface-muted);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.detail-stat:last-child:nth-child(odd){grid-column:1/-1}.detail-stat-label{color:var(--color-text-muted);font-size:12px}.detail-stat-value{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.detail-schedule{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:14px;display:flex}.detail-lines{flex-wrap:wrap;gap:4px;display:flex}.line-chip{text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;min-width:28px;padding:2px 7px;font-size:12px;font-weight:650}.line-chip.is-more{background:var(--color-surface-muted);color:var(--color-text-muted)}.schedule-day{flex-direction:column;gap:6px;display:flex}.schedule-day-header{justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.schedule-day-summary{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.schedule-bars{grid-template-columns:repeat(24,1fr);align-items:end;gap:2px;height:44px;display:grid}.schedule-bar{background:var(--color-accent);transform-origin:bottom;border-radius:2px 2px 0 0;min-height:3px;animation:.4s both grow-bar}.schedule-day+.schedule-day .schedule-bar{background:var(--color-accent-glow)}.schedule-bar.is-empty{background:var(--color-surface-muted)}.schedule-axis{color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;font-size:11px;display:flex}.detail-note{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:0;padding-top:12px;font-size:12px;line-height:1.5}
.method-dialog{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(720px,100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--shadow);color:var(--color-text);padding:28px;font-size:14px;line-height:1.55}.method-dialog[open]{animation:.22s rise-in}.method-dialog::backdrop{background:#0b0d178c}.method-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.method-title{font-size:22px}.method-section{margin-top:20px}.method-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.method-text{margin:0}.method-steps{counter-reset:method-step;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.method-step{border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text-muted);counter-increment:method-step;flex-direction:column;gap:4px;padding:12px;font-size:12px;line-height:1.4;display:flex;position:relative}.method-step-title{color:var(--color-text);font-size:13px}.method-step-title:before{content:counter(method-step) " · ";color:var(--color-accent)}.method-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.method-list-item::marker{color:var(--color-accent)}.method-source-link{color:var(--color-accent);text-underline-offset:2px}.method-figures{margin:0}.method-figure{border-top:1px solid var(--color-border);grid-template-columns:180px 1fr;gap:16px;padding:10px 0;display:grid}.method-figure-label{font-weight:600}.method-figure-source{color:var(--color-text-muted);margin:0}
.budget-dialog{border:1px solid var(--color-border);border-radius:var(--radius);width:min(460px,100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--shadow);scrollbar-color:var(--color-border) transparent;padding:0;font-size:14px;overflow-y:auto}.budget-dialog[open]{animation:.22s rise-in}.budget-dialog::backdrop{background:#0b0d178c}.budget-header{justify-content:space-between;align-items:flex-start;gap:16px;padding-top:24px;display:flex}.option-row{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.budget-dialog .zone-tool:hover:not(.is-active){border-color:var(--color-accent-glow);background:var(--color-surface-muted)}.budget-footer{border-bottom:none;flex-direction:column;gap:16px;display:flex}.budget-note{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.budget-actions{justify-content:flex-end;gap:8px;display:flex}
.flight-button{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-text);transition:background var(--transition), border-color var(--transition);flex-direction:row;align-items:center;padding:10px 12px;font-weight:600;top:16px;left:50%;transform:translate(-50%)}.flight-icon{width:32px;height:20px;fill:var(--color-accent-glow)}.flight-button:hover:not(:disabled){border-color:var(--color-ink-hover);background:var(--color-ink-hover)}.flight-button:hover:not(:disabled) .flight-icon{animation:.52s ease-in-out infinite flap}.flight-button:disabled{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}.flight-button:disabled .flight-icon{fill:var(--color-border-strong)}.flight-card{border-top:3px solid var(--color-accent);gap:16px;width:min(340px,100% - 32px);margin:0 auto;padding:20px;font-size:14px;animation:.22s rise-in;bottom:24px;left:0;right:0}.flight-card .budget-actions{justify-content:space-between}.flight-card-body{align-items:center;gap:16px;display:flex}.viability-gauge{flex-shrink:0;width:84px;height:84px;position:relative}.viability-gauge-ring{width:100%;height:100%;transform:rotate(-90deg)}.viability-gauge-track,.viability-gauge-value{fill:none;stroke-width:6px}.viability-gauge-track{stroke:var(--color-surface-muted)}.viability-gauge-value{stroke:var(--color-accent);stroke-linecap:round}.viability-gauge-label{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.viability-gauge-score{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.viability-gauge-caption{color:var(--color-text-muted);font-size:11px}.papangue{z-index:2;pointer-events:none;width:56px;height:36px}.papangue-bird,.papangue-shadow{position:absolute;inset:0}.papangue-bird{fill:var(--color-bird);stroke:var(--color-surface);stroke-width:1px}.papangue-shadow{fill:var(--color-bird-shadow)}.papangue-svg{width:100%;height:100%;overflow:visible}.papangue-wings{transform-box:fill-box;transform-origin:50%;animation:.52s ease-in-out infinite flap}.papangue.is-landed{animation:.6s forwards land}.papangue.is-perched .papangue-wings{animation:none}.papangue.is-perched .papangue-bird .papangue-svg{animation:.45s ease-out perch}.papangue-touchdown{pointer-events:none;width:36px;height:36px}.papangue-touchdown:after{content:"";border:2px solid var(--color-accent);border-radius:50%;animation:.7s ease-out forwards pulse;position:absolute;inset:0}
.reset-button{color:var(--color-text-muted);transition:color var(--transition);flex-direction:row;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;bottom:84px;right:10px}.reset-button:hover:not(:disabled){color:var(--color-accent)}.reset-button:disabled{color:var(--color-border-strong);cursor:not-allowed}.map.is-sweeping .station-marker:not(.is-swept){opacity:0}.papangue-sweep{z-index:0;pointer-events:none;animation:sweep-across var(--sweep-duration) linear forwards;position:absolute;inset:0}.papangue-sweep-bird{animation:sweep-arc var(--sweep-duration) ease-in-out forwards;position:absolute;top:40%;left:-56px}
@keyframes sweep-across{to{transform:translateX(calc(100% + var(--sweep-overshoot)))}}@keyframes sweep-arc{0%{transform:translateY(24px)rotate(75deg)}50%{transform:translateY(-24px)rotate(90deg)}to{transform:translateY(24px)rotate(105deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes grow-bar{0%{transform:scaleY(0)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-24px)scale(.6)}}@keyframes pulse{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}@keyframes flap{50%{transform:scaleX(.72)}}@keyframes land{to{opacity:0}}@keyframes perch{40%{transform:scale(.88)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}

