:root{--color-primary: #00b2ff;--color-primary-dark: #0090d4;--color-primary-hover: #0099e0;--color-primary-light: #ccf0ff;--color-primary-bg: #e6f8ff;--color-white: #ffffff;--color-surface: #f5f7fa;--color-surface-2: #eaecef;--color-text-primary: #1a1a2e;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #eaecef;--color-border-strong: #d1d5db;--color-success: #0a7a3e;--color-success-bg: #d6f5e3;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 100px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-h1: 32px;--font-size-h2: 24px;--font-size-h3: 18px;--font-size-body-lg: 16px;--font-size-body: 15px;--font-size-body-sm: 14px;--font-size-caption: 12px;--font-size-label: 11px;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--container-max: 720px;--container-pad: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(0, 178, 255, .08);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;font-family:var(--font-family);font-size:var(--font-size-body);color:var(--color-text-primary);background:linear-gradient(180deg,var(--color-primary-bg) 0,rgba(245,247,250,0) 280px),var(--color-surface);line-height:var(--line-height-normal)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;padding:var(--space-lg) var(--container-pad)}.app-container{max-width:var(--container-max);margin:0 auto}.card{position:relative;overflow:hidden;background:#fffffff5;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-md);box-shadow:var(--shadow-md)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;height:5px;background:var(--color-primary)}.screen-heading{display:grid;gap:var(--space-sm)}.eyebrow{margin:0;color:var(--color-primary-dark);font-size:var(--font-size-label);font-weight:700;letter-spacing:0;text-transform:uppercase}.headline{margin:0;max-width:560px;font-size:var(--font-size-h2);line-height:var(--line-height-tight);letter-spacing:0}.support{margin:0;max-width:520px;color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:var(--line-height-normal)}.home-guide{margin-top:var(--space-lg);display:grid;gap:var(--space-sm)}.guide-step{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}.guide-step:last-child{border-bottom:0}.guide-step-number{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-primary-bg);color:var(--color-primary-dark);font-size:var(--font-size-caption);font-weight:800}.guide-step-label,.guide-step-text{margin:0}.guide-step-label{font-size:var(--font-size-body-sm);font-weight:700}.guide-step-text{margin-top:2px;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.step-list{margin:var(--space-lg) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.step-item{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:7px 9px;color:var(--color-text-secondary);background:var(--color-white);font-size:var(--font-size-caption);font-weight:700;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.step-number{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:var(--font-size-label);transition:background var(--transition-fast),color var(--transition-fast)}.step-item.active{border-color:var(--color-primary-light);color:var(--color-primary-dark);background:var(--color-primary-bg);box-shadow:var(--shadow-card)}.step-item.active .step-number,.step-item.done .step-number{background:var(--color-primary);color:var(--color-white)}.step-item.done{border-color:transparent;color:var(--color-primary-dark);background:#e6f8ff8c}.step-panel{min-height:178px}.home-card{display:grid}.direction-group{margin:var(--space-lg) 0 0;padding:0;border:0}.group-label{display:block;margin-bottom:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:700}.field-stack{margin-top:var(--space-md);display:grid}.time-field,.select-field{width:100%;min-height:52px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-md);color:var(--color-text-primary);background:var(--color-white);font-size:var(--font-size-body-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.time-field:hover,.select-field:hover{border-color:var(--color-border-strong)}.time-field:focus-visible,.select-field:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.segmented-control{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}.home-direction-grid{gap:var(--space-md)}.segment-button{min-height:64px;width:100%;display:grid;gap:3px;border:1px solid var(--color-border);background:var(--color-white);border-radius:var(--radius-lg);padding:13px var(--space-md);color:var(--color-text-primary);text-align:left;transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-fast)}.segment-button:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-card)}.segment-button:active{transform:scale(.99)}.segment-button.selected{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:0 0 0 3px #00b2ff1a}.segment-title{font-size:var(--font-size-body-lg);font-weight:800;line-height:var(--line-height-snug)}.segment-helper{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-normal)}.segment-button.selected .segment-title{color:var(--color-primary-dark)}.home-direction-card{min-height:160px;align-content:space-between;gap:var(--space-md);padding:var(--space-md)}.home-direction-mascot{width:min(100%,132px);height:112px;justify-self:center;object-fit:contain}.home-direction-copy{display:grid;gap:3px}.home-flow-hint{margin:var(--space-md) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-normal);text-align:center}.segment-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--color-primary-light)}.primary-button,.secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;width:100%;border-radius:var(--radius-pill);padding:13px 22px;text-decoration:none;font-size:var(--font-size-body);font-weight:800;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.primary-button{margin-top:var(--space-lg);border:0;background:var(--color-primary);color:var(--color-white)}.primary-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.primary-button:active,.secondary-button:active{transform:scale(.98)}.primary-button:disabled{background:var(--color-surface-2);color:var(--color-text-muted);box-shadow:none;transform:none}.secondary-button{margin-top:var(--space-md);border:1.5px solid var(--color-border-strong);color:var(--color-text-primary);background:var(--color-white)}.secondary-button:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-bg)}.summary-box{margin-top:var(--space-lg);display:grid;gap:var(--space-md);background:transparent}.summary-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.summary-time-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-pill);padding:5px 10px;color:var(--color-primary-dark);background:var(--color-primary-bg);font-size:var(--font-size-caption);font-weight:800;line-height:1.2}.summary-label{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:800;letter-spacing:0;text-transform:uppercase}.summary-value{margin:0;font-size:var(--font-size-h3);font-weight:800;line-height:var(--line-height-snug)}.summary-timeline{position:relative;display:grid;gap:18px;padding-left:26px}.summary-timeline:before{content:"";position:absolute;top:12px;bottom:12px;left:7px;width:2px;background:var(--color-primary-light)}.summary-timeline-stop{position:relative}.summary-timeline-stop:before{content:"";position:absolute;top:5px;left:-25px;width:16px;height:16px;border:4px solid var(--color-white);border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.summary-timeline-label{margin:0;color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:800}.summary-timeline-value{margin:2px 0 0;font-size:var(--font-size-h3);font-weight:800;line-height:var(--line-height-snug)}.summary-subtle{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed)}.summary-nearby-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:13px;background:var(--color-surface)}.summary-nearby-card{display:grid;gap:10px}.summary-nearby-list{display:flex;flex-wrap:wrap;gap:7px}.summary-nearby-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:7px 10px;color:var(--color-text-primary);background:var(--color-white);font-size:var(--font-size-body-sm);font-weight:700;line-height:1}.message-preview-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);padding:var(--space-md);box-shadow:var(--shadow-sm)}.message-preview-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.regenerate-message-button{min-height:32px;flex-shrink:0;border:1px solid var(--color-primary-light);border-radius:var(--radius-pill);padding:7px 11px;color:var(--color-primary-dark);background:var(--color-primary-bg);font-size:var(--font-size-caption);font-weight:800;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.regenerate-message-button:hover{border-color:var(--color-primary);background:var(--color-white);box-shadow:var(--shadow-card)}.regenerate-message-button:active{transform:scale(.98)}.regenerate-message-button:disabled{cursor:wait;opacity:.78;transform:none}.regenerate-message-button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--color-primary-light)}.message-preview-text{margin:var(--space-sm) 0 0;color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);white-space:pre-wrap}.message-preview-loading{color:var(--color-primary-dark);font-weight:700}.summary-actions{margin-top:var(--space-sm);display:grid;gap:var(--space-sm)}.summary-actions .primary-button,.summary-actions .secondary-button,.summary-primary-button,.summary-secondary-button,.edit-actions .secondary-button{margin-top:0}.edit-actions{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}.summary-feedback{margin:0;border-radius:var(--radius-pill);padding:8px 12px;color:var(--color-success);background:var(--color-success-bg);font-size:var(--font-size-body-sm);font-weight:700;text-align:center}.route-fade-enter-active,.route-fade-leave-active,.step-slide-enter-active,.step-slide-leave-active,.soft-reveal-enter-active,.soft-reveal-leave-active,.message-refresh-enter-active,.message-refresh-leave-active{transition:opacity var(--transition-normal),transform var(--transition-normal)}.route-fade-enter-from,.route-fade-leave-to{opacity:0;transform:translateY(8px)}.step-slide-enter-from{opacity:0;transform:translateY(10px)}.step-slide-leave-to{opacity:0;transform:translateY(-8px)}.soft-reveal-enter-from,.soft-reveal-leave-to{opacity:0;transform:translateY(-4px)}.message-refresh-enter-from{opacity:0;transform:translateY(8px)}.message-refresh-leave-to{opacity:0;transform:translateY(-6px)}@media (min-width: 640px){:root{--container-pad: 24px}.app-shell{padding:var(--space-xl) var(--container-pad)}.card{padding:32px 28px}.headline{font-size:var(--font-size-h1)}.home-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.guide-step{grid-template-columns:32px 1fr;align-items:start;border-bottom:0;padding:0}.segmented-control{grid-template-columns:1fr 1fr}.home-direction-card{min-height:188px;padding:18px}.home-direction-mascot{height:124px}.summary-actions{grid-template-columns:1.15fr 1fr}.summary-feedback,.edit-actions{grid-column:1 / -1}.edit-actions{grid-template-columns:1fr 1fr}}@media (max-width: 380px){.home-direction-card{min-height:136px;grid-template-columns:84px 1fr;align-content:center;align-items:center}.home-direction-mascot{width:84px;height:88px}.message-preview-header{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.route-fade-enter-from,.route-fade-leave-to,.step-slide-enter-from,.step-slide-leave-to,.soft-reveal-enter-from,.soft-reveal-leave-to,.message-refresh-enter-from,.message-refresh-leave-to{transform:none}}
