:root{--indigo-50: #EEF1FE;--indigo-100: #DDE3FD;--indigo-200: #BCC8FB;--indigo-400: #6C7DF1;--indigo-500: #4F46E5;--indigo-600: #4338CA;--indigo-700: #3730A3;--lavender-50: #F5F1FF;--lavender-100: #EBE3FF;--lavender-200: #D6C7FF;--lavender-400: #A78BFA;--lavender-500: #8B5CF6;--lavender-600: #7C3AED;--cyan-50: #ECFEFF;--cyan-300: #67E8F9;--cyan-400: #22D3EE;--cyan-500: #06B6D4;--sprout-50: #ECFDF3;--sprout-100: #D1FADF;--sprout-300: #6CE9A6;--sprout-400: #32D583;--sprout-500: #12B76A;--sprout-600: #039855;--warn-500: #F59E0B;--danger-500: #EF4444;--ink-950: #0B1120;--ink-800: #1E243A;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--bg-page: #FAFAFB;--bg-card: #FFFFFF;--bg-cool: #F0F4FF;--bg-cream: #FFF9F0;--color-primary: var(--indigo-500);--color-primary-hover: var(--indigo-600);--color-on-primary: #FFFFFF;--color-success: var(--sprout-500);--color-warn: var(--warn-500);--color-danger: var(--danger-500);--color-border: var(--slate-200);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--r-3xl: 28px;--r-pill: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 6px rgba(15, 23, 42, .06);--shadow-md: 0 6px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12);--shadow-xl: 0 24px 56px rgba(15, 23, 42, .18);--shadow-glow: 0 0 0 4px rgba(79, 70, 229, .15);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--ink-950);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.t-display{font-size:clamp(40px,6vw,72px);line-height:.98;letter-spacing:-.03em;font-weight:600;margin:0}.t-h1{font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.025em;font-weight:600;margin:0}.t-h2{font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.02em;font-weight:600;margin:0}.t-h3{font-size:24px;line-height:1.2;letter-spacing:-.01em;font-weight:600;margin:0}.t-h4{font-size:20px;line-height:1.3;letter-spacing:-.005em;font-weight:600;margin:0}.t-body-lg{font-size:18px;line-height:1.55}.t-body{font-size:16px;line-height:1.55}.t-sm{font-size:14px;line-height:1.5}.t-caption{font-size:13px;line-height:1.45}.t-mono{font-family:var(--font-mono);font-size:13px;line-height:1.45}.t-eyebrow{font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-500)}.container{max-width:1100px;margin:0 auto;padding:0 24px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 720px){.grid-2,.grid-3{grid-template-columns:1fr}}.page{min-height:100vh;padding:32px 24px 80px}.page-narrow{max-width:720px;margin:0 auto}.page-wide{max-width:1100px;margin:0 auto}.section-gap{display:flex;flex-direction:column;gap:24px}.tutor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.empty{padding:48px 24px;text-align:center;color:var(--slate-500)}.error-banner{background:#fee4e2;color:#b42318;padding:10px 14px;border-radius:var(--r-md);font-size:14px}.field-label{font-size:12px;font-weight:600;color:var(--slate-700);margin-bottom:6px;display:block;letter-spacing:.02em}.skeleton{background:linear-gradient(90deg,var(--slate-100),var(--slate-200),var(--slate-100));background-size:200% 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
