:root{--bg-0: #070b14;--bg-1: #0b1220;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text: #eef2f9;--muted: #93a1bd;--faint: #5e6b85;--accent: #38bdf8;--accent-ink: #04121d;--green: #34d399;--yellow: #fbbf24;--red: #fb7185;--radius: 20px;--radius-sm: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(1100px 600px at 50% -10%,rgba(56,189,248,.16),transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.screen{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 26px) 18px calc(env(safe-area-inset-bottom) + 28px);display:flex;flex-direction:column;gap:16px}.head{padding:4px 4px 2px}.head h1{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.head h1 span{color:var(--accent)}.route{margin-top:6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field-label em{font-style:normal;color:var(--faint);font-weight:600}.hint{font-size:12.5px;font-weight:500;color:var(--faint);margin-top:-2px}.input{width:100%;font-size:17px;font-weight:600;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:15px 16px;outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--faint);font-weight:500}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #38bdf829}input[type=date].input{-webkit-appearance:none;appearance:none}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}.toggle{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 16px;cursor:pointer;color:var(--text);font:inherit;transition:border-color .15s,background .15s}.toggle .toggle-knob{position:relative;width:44px;height:26px;border-radius:999px;background:#ffffff24;flex:none;transition:background .18s}.toggle .toggle-knob:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s}.toggle.on{border-color:#38bdf880}.toggle.on .toggle-knob{background:var(--accent)}.toggle.on .toggle-knob:after{transform:translate(18px)}.toggle-text{font-size:15px;font-weight:600}.segmented{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px}.seg{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:14px;padding:9px 0;border-radius:10px;cursor:pointer;transition:background .15s,color .15s}.seg.active{background:var(--accent);color:var(--accent-ink)}.cta{margin-top:2px;width:100%;border:0;border-radius:var(--radius-sm);padding:17px;font:inherit;font-size:17px;font-weight:800;letter-spacing:.01em;color:var(--accent-ink);background:linear-gradient(180deg,#7dd3fc,var(--accent));cursor:pointer;transition:transform .08s,opacity .15s,filter .15s}.cta:active{transform:scale(.985)}.cta:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.pending{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px;font-weight:600}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.banner{font-size:14px;font-weight:600;line-height:1.45;padding:15px 16px}.banner.error{background:#fb71851f;border-color:#fb718566;color:#fecdd3}.banner.warn{background:#fbbf241a;border-color:#fbbf2457;color:#fde6ad}.result{display:flex;flex-direction:column;gap:14px}.summary{padding:4px 4px 2px}.summary-main{font-size:22px;font-weight:800;letter-spacing:-.01em}.summary-main .arrow{color:var(--accent);margin:0 4px}.summary-sub{margin-top:6px;font-size:14px;color:var(--muted);font-weight:600}.summary-sub b{color:var(--text)}.target{margin-top:12px;font-size:15px;font-weight:700;color:var(--text)}.target b{color:var(--accent);font-size:17px}.option{position:relative;border-left-width:4px;padding:16px 16px 6px}.option.green{border-left-color:var(--green)}.option.yellow{border-left-color:var(--yellow)}.option.red{border-left-color:var(--red)}.option-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.best{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-ink);background:var(--accent);padding:4px 9px;border-radius:999px}.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tag .dot{width:9px;height:9px;border-radius:50%}.tag.green{color:var(--green)}.tag.green .dot{background:var(--green)}.tag.yellow{color:var(--yellow)}.tag.yellow .dot{background:var(--yellow)}.tag.red{color:var(--red)}.tag.red .dot{background:var(--red)}.variance{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--faint)}.timeline{padding:6px 0 4px}.step{position:relative;display:flex;gap:14px;padding-bottom:18px}.step.last{padding-bottom:4px}.step-marker{position:relative;flex:none;width:14px;display:flex;justify-content:center}.step-marker i{width:12px;height:12px;border-radius:50%;background:var(--bg-0);border:2.5px solid var(--accent);margin-top:3px;z-index:1}.step:not(.last) .step-marker:after{content:"";position:absolute;top:14px;bottom:-4px;width:2px;background:var(--border-strong)}.step.last .step-marker i{background:var(--accent)}.step-time{font-size:20px;font-weight:800;letter-spacing:-.01em}.step-label{font-size:13px;color:var(--muted);font-weight:600;margin-top:1px}.foot{margin-top:auto;padding-top:8px;font-size:11.5px;line-height:1.5;color:var(--faint);text-align:center}
