@charset "UTF-8";:root{--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Lexend", var(--font-body);--font-accent: "Nunito", var(--font-body);--color-bg: #faf9f5;--color-surface: #ffffff;--color-surface-alt: #f1ede8;--color-primary-50: #f1f6f6;--color-primary-100: #e1edee;--color-primary-200: #c4dadb;--color-primary-300: #9cc1c3;--color-primary-400: #6ea4a6;--color-primary-500: #4a8c8e;--color-primary-600: #3d7779;--color-primary-700: #335f61;--color-primary-800: #2c4d4e;--color-primary-900: #243d3e;--color-primary: var(--color-primary-500);--color-primary-hover: var(--color-primary-600);--color-primary-soft: var(--color-primary-50);--color-primary-border: var(--color-primary-200);--color-accent: #d96c4f;--color-accent-hover: #c45a3e;--color-accent-soft: #fbeee9;--color-text: #2c2c2c;--color-text-muted: #6b6b6b;--color-text-subtle: #8a8f8c;--color-border: #e5e0d8;--color-border-strong: #d6cfc3;--color-danger: #dc2626;--color-danger-soft: #fbeaea;--color-success: #15803d;--color-success-soft: #e8f3ec;--color-nav-bg: #21302f;--color-nav-bg-hover: #2c403e;--color-nav-border: #34504d;--color-nav-text: #aebab6;--color-nav-text-strong: #f3f6f4;--shadow-xs: 0 1px 2px rgba(40, 60, 58, .05);--shadow-sm: 0 2px 8px rgba(40, 60, 58, .06);--shadow-md: 0 6px 20px rgba(40, 60, 58, .08);--shadow-lg: 0 16px 40px rgba(40, 60, 58, .12);--shadow-primary: 0 8px 24px rgba(74, 140, 142, .28);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--focus-ring: 0 0 0 3px var(--color-primary-200);--focus-ring-offset: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary-400);--ease-out: cubic-bezier(.22, .61, .36, 1);--transition-fast: .15s var(--ease-out);--transition-base: .25s var(--ease-out);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bottom-nav-h: 58px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;letter-spacing:-.015em;color:var(--color-text)}h1{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.1rem);font-weight:700}h2{font-size:clamp(1.25rem,1rem + 1vw,1.6rem);font-weight:600}h3{font-size:clamp(1.05rem,.95rem + .5vw,1.25rem);font-weight:600}button{font-family:var(--font-accent)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}a:focus-visible,button:focus-visible{box-shadow:var(--focus-ring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-accent);font-size:.95rem;font-weight:700;line-height:1;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:not(:disabled):hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg)}.btn-ghost{background:var(--color-surface);color:var(--color-primary-700);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-ghost:not(:disabled):hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.btn-text{background:none;color:var(--color-primary-600);padding:8px 12px;font-weight:600}.btn-text:not(:disabled):hover{color:var(--color-primary-800);text-decoration:underline}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:not(:disabled):active{transform:none}}@media(prefers-reduced-motion:no-preference){router-outlet+*{animation:page-in .28s ease both}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
