:root{--color-primary-50:#f0f9ff;--color-primary-100:#e0f2fe;--color-primary-300:#7dd3fc;--color-primary-500:#0ea5e9;--color-primary-600:#0284c7;--color-primary-700:#0369a1;--color-accent-500:#f97316;--color-accent-600:#ea580c;--color-accent-bg:#fff3ea;--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-500:#64748b;--color-neutral-700:#334155;--color-neutral-900:#0f172a;--color-success-500:#059669;--color-success-bg:#ecfdf5;--color-success-text:#065f46;--color-success-border:#6ee7b7;--color-warning-500:#b45309;--color-warning-icon:#d97706;--color-warning-bg:#fffbeb;--color-warning-text:#78350f;--color-warning-border:#fcd34d;--color-danger-500:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-bg-subtle:#fff5f5;--color-danger-text:var(--color-danger-text);--color-danger-border:#fca5a5;--color-info-500:#1d4ed8;--color-info-bg:#e7f0ff;--color-bg:var(--color-neutral-0);--color-surface:var(--color-neutral-0);--color-bg-subtle:var(--color-neutral-50);--color-border:var(--color-neutral-200);--color-border-strong:var(--color-neutral-300);--color-text:var(--color-neutral-900);--color-text-muted:var(--color-neutral-500);--color-text-subtle:var(--color-neutral-300);--color-primary:var(--color-primary-600);--color-primary-contrast:#fff;--color-accent:var(--color-accent-600);--color-accent-contrast:#fff;--color-success:var(--color-success-500);--color-success-bg-alias:var(--color-success-bg);--color-warning:var(--color-warning-500);--color-warning-bg-alias:var(--color-warning-bg);--color-warning-text-alias:var(--color-warning-text);--color-danger:var(--color-danger-500);--color-info:var(--color-info-500);--color-info-bg-alias:var(--color-info-bg);--font-heading:"Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body:"Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-md:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-.01em;--letter-spacing-normal:0;--letter-spacing-caps:.03em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 8px #10182814;--shadow-lg:0 10px 20px #1018281a;--shadow-focus:0 0 0 3px #0284c759;--transition-fast:.15s ease-out;--transition-base:.2s ease-out}*{box-sizing:border-box}body{font-family:var(--font-body,system-ui, "Segoe UI", Roboto, sans-serif);font-size:var(--font-size-base,16px);color:var(--color-text,#1a1d24);background:var(--color-bg,#fafafa);margin:0}h1,h2,h3{font-family:var(--font-heading,inherit);margin:0}button{font-family:inherit}.search-form{gap:var(--space-4,16px);padding:var(--space-5,20px);background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #1018280f);flex-direction:column;display:flex}.search-form__row{gap:var(--space-3,12px);flex-wrap:wrap;display:flex}.search-form__field{gap:var(--space-1,4px);font-size:var(--font-size-sm,13px);color:var(--color-text-muted,#5b6472);flex-direction:column;flex:160px;display:flex}.search-form__field--narrow{flex:0 100px}.search-form__field input{font:inherit;font-size:var(--font-size-md,14px);color:var(--color-text,#1a1d24);padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--color-border,#d7dbe2);border-radius:var(--radius-md,8px);background:var(--color-bg,#fff)}.search-form__field input:focus{outline:2px solid var(--color-primary,#2563eb);outline-offset:1px}.search-form__row--options{gap:var(--space-2,8px);padding:var(--space-3,12px);background:var(--color-warning-bg,#fff8e6);border:1px solid var(--color-warning,#e5b93a);border-radius:var(--radius-md,8px);flex-direction:column}.search-form__checkbox{align-items:center;gap:var(--space-2,8px);color:var(--color-text,#1a1d24);font-weight:600;display:flex}.search-form__hint{font-size:var(--font-size-sm,13px);color:var(--color-text-muted,#5b6472);margin:0;line-height:1.4}.search-form__submit{font:inherit;padding:var(--space-3,10px) var(--space-6,24px);color:var(--color-primary-contrast,#fff);background:var(--color-primary,#2563eb);border-radius:var(--radius-md,8px);cursor:pointer;border:none;align-self:flex-start;font-weight:600}.search-form__submit:disabled{opacity:.6;cursor:not-allowed}.result-card{gap:var(--space-3,12px);padding:var(--space-4,16px);background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #1018280f);flex-direction:column;display:flex}.result-card__header{justify-content:space-between;align-items:center;gap:var(--space-3,12px);display:flex}.result-card__badge{align-items:center;gap:var(--space-1,4px);font-size:var(--font-size-sm,12px);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-1,4px) var(--space-2,8px);border-radius:var(--radius-sm,6px);background:var(--color-bg-subtle,#f2f4f7);color:var(--color-text-muted,#5b6472);font-weight:600;display:inline-flex}.result-card__badge--multiseg{background:var(--color-info-bg,#e7f0ff);color:var(--color-info,#1d4ed8)}.result-card__badge--risky{background:var(--color-danger-bg,#fdeaea);color:var(--color-danger,#c22626)}.result-card__price{font-size:var(--font-size-lg,20px);color:var(--color-text,#1a1d24);font-weight:700}.result-card__segment{align-items:baseline;gap:var(--space-2,8px);font-size:var(--font-size-md,14px);color:var(--color-text,#1a1d24);display:flex}.result-card__segment-route{font-weight:600}.result-card__segment-meta{color:var(--color-text-muted,#5b6472);font-size:var(--font-size-sm,13px)}.result-card__ticket{padding:var(--space-3,12px);border:1px dashed var(--color-border,#d7dbe2);border-radius:var(--radius-md,8px);gap:var(--space-2,8px);flex-direction:column;display:flex}.result-card__ticket-title{font-size:var(--font-size-sm,13px);color:var(--color-text-muted,#5b6472);font-weight:600}.result-card__risks{gap:var(--space-2,8px);flex-wrap:wrap;display:flex}.result-card__risk-tag{font-size:var(--font-size-sm,12px);padding:var(--space-1,4px) var(--space-2,8px);border-radius:var(--radius-sm,6px);font-weight:500}.result-card__risk-tag--warning{background:var(--color-warning-bg,#fff8e6);color:var(--color-warning-text,#8a6d1a)}.result-card__risk-tag--danger{background:var(--color-danger-bg,#fdeaea);color:var(--color-danger,#c22626)}.result-card__risk-tag--neutral{background:var(--color-bg-subtle,#f2f4f7);color:var(--color-text-muted,#5b6472)}.result-card__note{font-size:var(--font-size-sm,13px);color:var(--color-text-muted,#5b6472);margin:0;line-height:1.4}.result-card__cta{font:inherit;font-weight:600;font-size:var(--font-size-sm,13px);padding:var(--space-2,8px) var(--space-4,16px);color:var(--color-primary-contrast,#fff);background:var(--color-primary,#2563eb);border-radius:var(--radius-md,8px);cursor:pointer;border:none;align-self:flex-start;text-decoration:none}.result-card--hidden-city{border-color:var(--color-danger,#c22626);background:var(--color-danger-bg-subtle,#fff5f5)}.result-card__warnings{padding-left:var(--space-4,18px);font-size:var(--font-size-sm,13px);color:var(--color-danger-text,#8a1f1f);margin:0;line-height:1.5}.results-list{gap:var(--space-4,16px);flex-direction:column;display:flex}.results-list__status{padding:var(--space-5,20px);text-align:center;color:var(--color-text-muted,#5b6472);font-size:var(--font-size-md,14px)}.results-list__status--error{color:var(--color-danger,#c22626)}.app{max-width:960px;padding:var(--space-6,24px) var(--space-4,16px) var(--space-8,48px);gap:var(--space-5,20px);flex-direction:column;margin:0 auto;display:flex}.app__header h1{font-size:var(--font-size-xl,28px);color:var(--color-text,#1a1d24);margin:0}.app__header p{margin:var(--space-1,4px) 0 0;color:var(--color-text-muted,#5b6472)}.app__main{gap:var(--space-5,20px);flex-direction:column;display:flex}
