:root{--color-text: #000000;--color-background: #ffffff;--color-background-element: #f0f0f3;--color-background-selected: #e0e1e6;--color-text-secondary: #60646c;--color-primary: #009fe3;--color-on-primary: #ffffff;--color-primary-dark: #0682b7;--color-error: #ba1a1a;--color-error-container: #ffdad6;--color-surface: #f9f9fc;--color-on-surface: #1a1c1e;--color-surface-variant: #e2e2e5;--color-on-surface-variant: #414754;--color-surface-elevated: #f3f3f6;--color-outline: #e2e2e5;--color-outline-variant: #cbc3da;--space-half: 2px;--space-one: 4px;--space-two: 8px;--space-three: 16px;--space-four: 24px;--space-five: 32px;--space-six: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-xxl: 24px;--radius-full: 9999px;--max-content-width: 800px;--font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-background);color:var(--color-on-surface);font-family:var(--font-display)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(0,159,227,.14),transparent 34rem),var(--color-background)}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-three);padding:var(--space-three) var(--space-four);background:#f9f9fce6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{color:var(--color-primary);font-size:24px;font-weight:800;letter-spacing:-.04em}.route-pill{border-radius:var(--radius-full);background:var(--color-background-element);color:var(--color-on-surface-variant);font-size:13px;font-weight:700;padding:var(--space-two) var(--space-three)}.app-main{width:min(100%,var(--max-content-width));margin:0 auto;padding:var(--space-four) var(--space-four) calc(96px + var(--space-four))}.screen-card{display:grid;gap:var(--space-three);border-radius:var(--radius-xxl);background:var(--color-surface);padding:var(--space-four);box-shadow:0 16px 50px #1a1c1e14}.screen-card h1{margin:0;color:var(--color-on-surface);font-size:clamp(28px,6vw,44px);line-height:1.05;letter-spacing:-.05em}.screen-card p{margin:0;color:var(--color-on-surface-variant);font-size:16px;line-height:1.5}.eyebrow{color:var(--color-primary)!important;font-size:12px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.icon-bubble{display:grid;width:56px;height:56px;place-items:center;border-radius:var(--radius-full);background:var(--color-background-element);color:var(--color-primary)}.route-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-three);margin:var(--space-two) 0 0}.route-meta div{border-radius:var(--radius-xl);background:var(--color-background-element);padding:var(--space-three)}.route-meta dt{color:var(--color-text-secondary);font-size:12px;font-weight:800;text-transform:uppercase}.route-meta dd{margin:var(--space-one) 0 0;font-weight:700}.bottom-nav{position:fixed;right:var(--space-four);bottom:var(--space-three);left:var(--space-four);z-index:20;display:grid;max-width:var(--max-content-width);grid-template-columns:repeat(5,1fr);gap:var(--space-two);margin:0 auto;border:1px solid var(--color-outline);border-radius:var(--radius-xxl);background:#fffffff0;padding:var(--space-two);box-shadow:0 16px 50px #1a1c1e24}.nav-link{border-radius:var(--radius-xl);color:var(--color-text-secondary);font-size:12px;font-weight:800;padding:var(--space-two);text-align:center}.nav-link-active{background:var(--color-primary);color:var(--color-on-primary)}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-two)}.primary-button,.ghost-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);cursor:pointer;font-weight:800;padding:0 var(--space-four)}.primary-button{background:var(--color-primary);color:var(--color-on-primary)}.primary-button:disabled{cursor:wait;opacity:.7}.ghost-button{background:var(--color-background-element);color:var(--color-on-surface-variant)}.form-card{gap:var(--space-four)}.field{display:grid;gap:var(--space-two);color:var(--color-on-surface);font-size:14px;font-weight:700}.field input,.field select{min-height:52px;border:1px solid transparent;border-radius:var(--radius-xl);background:var(--color-background-element);color:var(--color-on-surface);padding:0 var(--space-three)}.field small{color:var(--color-error)}
