:root{--color-brand-primary: #1A73E8;--color-brand-primary-dark: #1557B0;--color-brand-primary-light: #4A90E2;--color-brand-primary-subtle: #E8F0FE;--color-price-excellent: #1E8449;--color-price-excellent-bg: #D5F5E3;--color-price-good: #27AE60;--color-price-good-bg: #EAFAF1;--color-price-normal: #F39C12;--color-price-normal-bg: #FEF9E7;--color-price-high: #E74C3C;--color-price-high-bg: #FDEDEC;--color-error-fare-alert: #C0392B;--color-error-fare-alert-bg: #FADBD8;--color-error-fare-alert-border: #E74C3C;--color-error-fare-badge: #FF1744;--color-ai-confidence-high: #1565C0;--color-ai-confidence-mid: #F57C00;--color-ai-confidence-low: #757575;--color-ai-bg: #E3F2FD;--color-neutral-0: #FFFFFF;--color-neutral-50: #F8F9FA;--color-neutral-100: #F1F3F4;--color-neutral-200: #E8EAED;--color-neutral-300: #DADCE0;--color-neutral-400: #BDC1C6;--color-neutral-500: #80868B;--color-neutral-600: #5F6368;--color-neutral-700: #3C4043;--color-neutral-800: #202124;--color-neutral-900: #0D0D0D;--color-success: #27AE60;--color-warning: #F39C12;--color-danger: #E74C3C;--color-info: #1A73E8;--color-line-brand: #06C755;--color-line-cta: #00B900;--color-surface-page: #F8F9FA;--color-surface-card: #FFFFFF;--color-surface-modal: #FFFFFF;--color-surface-overlay: rgba(0, 0, 0, .48);--font-body: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-h1-size: 32px;--text-h1-line-height: 40px;--text-h1-weight: 700;--text-h1-letter-spacing: -.5px;--text-h2-size: 24px;--text-h2-line-height: 32px;--text-h2-weight: 700;--text-h2-letter-spacing: -.25px;--text-h3-size: 20px;--text-h3-line-height: 28px;--text-h3-weight: 600;--text-h3-letter-spacing: 0;--text-h4-size: 18px;--text-h4-line-height: 26px;--text-h4-weight: 600;--text-h4-letter-spacing: 0;--text-subtitle-size: 16px;--text-subtitle-line-height: 24px;--text-subtitle-weight: 500;--text-subtitle-letter-spacing: .1px;--text-body-size: 16px;--text-body-line-height: 24px;--text-body-weight: 400;--text-body-letter-spacing: .15px;--text-body-sm-size: 14px;--text-body-sm-line-height: 20px;--text-body-sm-weight: 400;--text-body-sm-letter-spacing: .1px;--text-caption-size: 12px;--text-caption-line-height: 16px;--text-caption-weight: 400;--text-caption-letter-spacing: .4px;--text-overline-size: 10px;--text-overline-line-height: 14px;--text-overline-weight: 500;--text-overline-letter-spacing: 1.5px;--text-price-hero-size: 36px;--text-price-hero-line-height: 44px;--text-price-hero-weight: 800;--text-price-lg-size: 24px;--text-price-lg-line-height: 32px;--text-price-lg-weight: 700;--text-price-md-size: 18px;--text-price-md-line-height: 24px;--text-price-md-weight: 600;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(0, 0, 0, .1), 0 0 1px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .14), 0 0 1px rgba(0, 0, 0, .08);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .18), 0 0 1px rgba(0, 0, 0, .1);--shadow-error-fare: 0 4px 16px rgba(192, 57, 43, .28), 0 0 0 2px #C0392B;--border-thin: 1px;--border-medium: 2px;--border-thick: 3px;--border-color-default: #DADCE0;--border-color-subtle: #E8EAED;--border-color-strong: #BDC1C6;--border-color-focus: #1A73E8;--border-color-error-fare: #C0392B;--border-color-price-good: #27AE60;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease-in-out;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-line-height);letter-spacing:var(--text-body-letter-spacing);color:var(--color-neutral-800);background-color:var(--color-surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line-height);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-letter-spacing)}h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line-height);font-weight:var(--text-h2-weight);letter-spacing:var(--text-h2-letter-spacing)}h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line-height);font-weight:var(--text-h3-weight)}h4{font-size:var(--text-h4-size);line-height:var(--text-h4-line-height);font-weight:var(--text-h4-weight)}a{color:var(--color-brand-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body);font-size:var(--text-body-size)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-brand-primary);outline-offset:1px}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite;background-color:var(--color-neutral-200);border-radius:var(--radius-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) ease forwards}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}
