@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;--font-display: "Space Grotesk", system-ui, sans-serif;--brand-50: #faf5ff;--brand-100: #f3e8ff;--brand-200: #e9d5ff;--brand-300: #d8b4fe;--brand-400: #c084fc;--brand-500: #a855f7;--brand-600: #9333ea;--brand-700: #7c3aed;--brand-800: #6d28d9;--brand-900: #5b21b6;--brand-950: #2e1065;--neutral-50: #fafafa;--neutral-100: #f4f4f5;--neutral-200: #e4e4e7;--neutral-300: #d4d4d8;--neutral-400: #a1a1aa;--neutral-500: #71717a;--neutral-600: #52525b;--neutral-700: #3f3f46;--neutral-800: #27272a;--neutral-900: #18181b;--neutral-950: #09090b;--color-success: #16a34a;--color-success-soft: #f0fdf4;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-error: #dc2626;--color-error-soft: #fef2f2;--color-info: #2563eb;--color-info-soft: #eff6ff;--color-bg: #f8f5ff;--color-surface: #ffffff;--color-surface-2: #f3eefc;--color-border: rgba(124, 58, 237, .15);--color-text: #18181b;--color-muted: #52525b;--color-brand: var(--brand-700);--color-brand-dark: var(--brand-800);--color-brand-light: var(--brand-400);--color-accent: #f472b6;--color-focus: var(--brand-700);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(124, 58, 237, .08), 0 1px 2px rgba(0,0,0,.06);--shadow: 0 4px 16px rgba(124, 58, 237, .12), 0 2px 4px rgba(0,0,0,.04);--shadow-md: 0 8px 30px rgba(124, 58, 237, .16), 0 4px 8px rgba(0,0,0,.06);--shadow-lg: 0 20px 60px rgba(124, 58, 237, .2), 0 8px 16px rgba(0,0,0,.08);--shadow-brand: 0 4px 20px rgba(124, 58, 237, .4);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--transition: .15s ease;--transition-slow: .25s ease}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;line-height:1.15;letter-spacing:-.02em}p{margin:0}.skip-link{background:var(--color-brand);border-radius:var(--radius-sm);color:#fff;font-weight:700;left:12px;padding:10px 16px;position:absolute;top:-60px;z-index:100;transition:top var(--transition)}.skip-link:focus-visible{top:12px}:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.site-header-wrap{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#f8f5ffe0;border-bottom:1px solid var(--color-border)}.site-header{align-items:center;display:flex;gap:var(--space-6);justify-content:space-between;margin:0 auto;max-width:1200px;padding:14px 24px}.brand{align-items:center;display:flex;font-family:var(--font-display);font-size:1.25rem;font-weight:700;gap:var(--space-2);letter-spacing:-.03em;text-decoration:none;color:var(--color-text)}.brand-icon{width:32px;height:32px;flex-shrink:0}.site-nav{align-items:center;display:flex;gap:var(--space-1)}.nav-link{border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--font-size-sm);font-weight:500;padding:6px 12px;transition:color var(--transition),background var(--transition);white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--color-brand);background:var(--brand-50);text-decoration:none}.nav-link.active{font-weight:600}.nav-auth{display:flex;align-items:center;gap:var(--space-3)}.btn-login{background:var(--color-brand);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font:500 var(--font-size-sm) / 1 inherit;padding:8px 18px;box-shadow:var(--shadow-brand);transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-login:hover{background:var(--color-brand-dark);transform:translateY(-1px);box-shadow:0 6px 24px #7c3aed80}.nav-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--brand-300);cursor:pointer;overflow:hidden;background:var(--brand-100);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--brand-700)}.nav-avatar img{width:100%;height:100%;object-fit:cover}.page-shell{margin:0 auto;max-width:1200px;padding:0 24px var(--space-16)}.hero-section{padding:80px 0 60px;text-align:center;position:relative;overflow:hidden}.hero-glow{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(168,85,247,.12) 0%,transparent 70%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-pill);color:var(--brand-700);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.06em;margin-bottom:var(--space-5);padding:5px 14px;text-transform:uppercase}.hero-title{font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin-bottom:var(--space-5);background:linear-gradient(135deg,#18181b 0%,var(--brand-700) 50%,var(--brand-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{color:var(--color-muted);font-size:var(--font-size-lg);line-height:1.65;max-width:560px;margin:0 auto var(--space-10)}.explore-tool{max-width:660px;margin:0 auto}.explore-input-wrap{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.explore-input-wrap:focus-within{border-color:var(--brand-400);box-shadow:var(--shadow-lg),0 0 0 4px #7c3aed14}.explore-textarea{border:none;background:transparent;color:var(--color-text);display:block;font:var(--font-size-base) / 1.6 inherit;min-height:100px;outline:none;padding:20px 24px 12px;resize:none;width:100%}.explore-textarea::placeholder{color:var(--neutral-400)}.explore-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 16px}.explore-hint{color:var(--color-muted);font-size:var(--font-size-xs)}.btn-explore{align-items:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-800));border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-brand);color:#fff;cursor:pointer;display:flex;font:600 var(--font-size-sm) / 1 "Plus Jakarta Sans",inherit;gap:var(--space-2);padding:10px 22px;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition)}.btn-explore:hover{transform:translateY(-1px);box-shadow:0 6px 28px #7c3aed80}.btn-explore:active{transform:translateY(0)}.btn-explore:disabled{opacity:.6;cursor:default;transform:none}.explore-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-4)}.example-chip{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-pill);color:var(--brand-700);cursor:pointer;font-size:var(--font-size-xs);padding:5px 14px;transition:background var(--transition),border-color var(--transition)}.example-chip:hover{background:var(--brand-100);border-color:var(--brand-400)}.journey-shell{padding-top:var(--space-8)}.journey-header{margin-bottom:var(--space-8)}.journey-title-row{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between;flex-wrap:wrap}.journey-title{font-size:var(--font-size-3xl);font-weight:700}.journey-meta{align-items:center;color:var(--color-muted);display:flex;font-size:var(--font-size-sm);gap:var(--space-4);margin-top:var(--space-3)}.journey-actions{display:flex;gap:var(--space-2)}.btn-share{align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;display:flex;font:500 var(--font-size-sm) / 1 inherit;gap:6px;padding:8px 16px;transition:border-color var(--transition),color var(--transition)}.btn-share:hover{border-color:var(--brand-300);color:var(--brand-700)}.btn-new{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-pill);color:var(--brand-700);cursor:pointer;font:600 var(--font-size-sm) / 1 inherit;padding:8px 18px;transition:background var(--transition)}.btn-new:hover{background:var(--brand-100)}.journey-tabs{border-bottom:2px solid var(--color-border);display:flex;gap:0;margin-bottom:var(--space-8);overflow-x:auto}.tab-btn{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;display:flex;font:500 var(--font-size-sm) / 1 inherit;gap:6px;margin-bottom:-2px;padding:12px 20px;transition:color var(--transition),border-color var(--transition);white-space:nowrap}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{border-bottom-color:var(--brand-600);color:var(--brand-700);font-weight:600}.tab-panel{display:none}.tab-panel.active{display:block}.concepts-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.concept-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);position:relative;overflow:hidden}.concept-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-400),var(--brand-700));opacity:0;transition:opacity var(--transition)}.concept-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand-300)}.concept-card:hover:before{opacity:1}.concept-card.core{border-color:var(--brand-300)}.concept-card.core:before{opacity:1}.concept-level{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-pill);color:var(--brand-700);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:var(--space-3);padding:3px 10px;text-transform:uppercase}.concept-card.secondary .concept-level{background:var(--color-info-soft);border-color:#bfdbfe;color:var(--color-info)}.concept-card.peripheral .concept-level{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--neutral-600)}.concept-label{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.concept-desc{color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--space-4)}.concept-related{display:flex;flex-wrap:wrap;gap:6px}.related-tag{background:var(--color-surface-2);border-radius:var(--radius-pill);color:var(--color-muted);font-size:11px;padding:3px 10px}.timeline{position:relative;padding-left:var(--space-8)}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--brand-300),var(--brand-100))}.timeline-event{position:relative;padding-bottom:var(--space-8)}.timeline-event:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:calc(-1 * var(--space-8) + 12px);top:4px;width:18px;height:18px;background:var(--color-surface);border:3px solid var(--brand-500);border-radius:50%;box-shadow:0 0 0 4px #a855f726;z-index:1}.timeline-event:first-child .timeline-dot{border-color:var(--brand-700);background:var(--brand-100)}.timeline-phase{color:var(--brand-600);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.timeline-milestone{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.timeline-desc{color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.65;max-width:620px}.sources-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.source-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);transition:box-shadow var(--transition),border-color var(--transition);text-decoration:none}.source-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-300);text-decoration:none}.source-category-badge{align-self:flex-start;background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius-pill);color:var(--brand-700);font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 10px;text-transform:uppercase}.source-title{font-weight:600;font-size:var(--font-size-base);color:var(--color-text)}.source-desc{color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.6;flex:1}.source-link-row{align-items:center;color:var(--brand-600);display:flex;font-size:var(--font-size-xs);font-weight:600;gap:4px;letter-spacing:.02em}.challenges-list{display:grid;gap:var(--space-6)}.challenge-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.challenge-num{color:var(--brand-600);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;margin-bottom:var(--space-3);text-transform:uppercase}.challenge-question{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-5)}.challenge-options{display:grid;gap:var(--space-2)}.option-btn{background:var(--color-surface-2);border:2px solid transparent;border-radius:var(--radius);color:var(--color-text);cursor:pointer;font:500 var(--font-size-sm) / 1.5 inherit;padding:12px 16px;text-align:left;transition:background var(--transition),border-color var(--transition)}.option-btn:hover:not(:disabled){background:var(--brand-50);border-color:var(--brand-300)}.option-btn.correct{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.option-btn.wrong{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.option-btn:disabled{cursor:default}.challenge-explanation{background:var(--brand-50);border-left:3px solid var(--brand-400);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-muted);display:none;font-size:var(--font-size-sm);line-height:1.6;margin-top:var(--space-4);padding:var(--space-4)}.challenge-explanation.visible{display:block}.journeys-header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap}.journeys-header h1{font-size:var(--font-size-3xl)}.journeys-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.journey-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:var(--space-5);transition:transform var(--transition),box-shadow var(--transition);text-decoration:none;display:block}.journey-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.journey-card-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.journey-card-input{color:var(--color-muted);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--space-3)}.journey-card-meta{align-items:center;color:var(--neutral-400);display:flex;font-size:11px;gap:var(--space-4)}.pricing-header{text-align:center;padding:var(--space-16) 0 var(--space-10)}.pricing-title{font-size:var(--font-size-4xl);font-weight:700;letter-spacing:-.03em;margin-bottom:var(--space-4)}.pricing-sub{color:var(--color-muted);font-size:var(--font-size-lg);max-width:500px;margin:0 auto}.pricing-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:760px;margin:0 auto var(--space-16)}.plan-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:var(--space-8);position:relative}.plan-card.featured{border-color:var(--brand-500);box-shadow:var(--shadow-lg),0 0 0 4px #7c3aed1a}.plan-badge{background:linear-gradient(135deg,var(--brand-600),var(--brand-800));border-radius:var(--radius-pill);color:#fff;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;padding:4px 12px;position:absolute;right:20px;text-transform:uppercase;top:-14px}.plan-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-2)}.plan-price{align-items:baseline;display:flex;gap:4px;margin-bottom:var(--space-6)}.plan-amount{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.04em;line-height:1}.plan-period{color:var(--color-muted);font-size:var(--font-size-sm)}.plan-features{display:grid;gap:var(--space-3);margin-bottom:var(--space-8)}.plan-feature{align-items:flex-start;display:flex;font-size:var(--font-size-sm);gap:var(--space-2)}.feature-check{color:var(--color-success);flex-shrink:0;margin-top:2px}.btn-plan{border-radius:var(--radius-pill);cursor:pointer;font:600 var(--font-size-base) / 1 inherit;padding:13px 24px;text-align:center;transition:background var(--transition),transform var(--transition);width:100%;border:none}.btn-plan.primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-800));box-shadow:var(--shadow-brand);color:#fff}.btn-plan.primary:hover{transform:translateY(-1px);box-shadow:0 6px 28px #7c3aed80}.btn-plan.ghost{background:transparent;border:2px solid var(--color-border);color:var(--color-text)}.btn-plan.ghost:hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}.guides-header{padding:var(--space-12) 0 var(--space-8)}.guides-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.guides-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.guide-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.guide-icon{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--radius);color:var(--brand-600);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.25rem;margin-bottom:var(--space-4)}.guide-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.guide-body{color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.7}.faq-header{padding:var(--space-12) 0 var(--space-8)}.faq-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.faq-list{display:grid;gap:var(--space-3);max-width:760px}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.faq-question{align-items:center;background:transparent;border:none;color:var(--color-text);cursor:pointer;display:flex;font:600 var(--font-size-base) / 1.4 inherit;gap:var(--space-3);justify-content:space-between;padding:var(--space-5) var(--space-6);text-align:left;width:100%;transition:color var(--transition)}.faq-question:hover{color:var(--brand-700)}.faq-chevron{flex-shrink:0;transition:transform var(--transition-slow);font-size:1.1rem}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{color:var(--color-muted);display:none;font-size:var(--font-size-sm);line-height:1.75;padding:0 var(--space-6) var(--space-5)}.faq-item.open .faq-answer{display:block}.admin-shell{padding-top:var(--space-8)}.admin-header{margin-bottom:var(--space-8)}.admin-header h1{font-size:var(--font-size-3xl)}.admin-stats{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--space-8)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.stat-label{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.stat-value{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:700}.section-heading{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-2)}.section-sub{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.btn{border-radius:var(--radius-pill);cursor:pointer;font:600 var(--font-size-sm)/1 inherit;padding:10px 20px;transition:background var(--transition),transform var(--transition);border:none}.btn-primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-800));color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{background:transparent;border:2px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{border-color:var(--brand-300);color:var(--brand-700)}.toast-wrap{bottom:var(--space-6);right:var(--space-6);display:grid;gap:var(--space-2);position:fixed;z-index:200;width:320px}.toast{background:var(--neutral-900);border-radius:var(--radius);box-shadow:var(--shadow-md);color:#fff;font-size:var(--font-size-sm);padding:var(--space-4) var(--space-5);animation:slide-in .2s ease}.toast.success{background:var(--color-success)}.toast.error{background:var(--color-error)}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--space-6);justify-content:space-between;margin:0 auto;max-width:1200px;padding:var(--space-8) 24px var(--space-10)}.footer-links{display:flex;gap:var(--space-4);flex-wrap:wrap}.footer-links a{color:var(--color-muted);transition:color var(--transition)}.footer-links a:hover{color:var(--brand-600);text-decoration:none}.legal-page{max-width:780px;padding:var(--space-12) 0}.legal-page h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-6)}.legal-page h2{font-size:var(--font-size-xl);margin:var(--space-8) 0 var(--space-3)}.legal-page p{color:var(--color-muted);line-height:1.75;margin-bottom:var(--space-4)}.ad-slot{min-height:90px;padding:var(--space-4) 0}.ad-slot[data-plan=paid]{display:none}.auth-gate{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-5);max-width:480px;margin:var(--space-16) auto;padding:var(--space-12);text-align:center}.auth-gate-icon{font-size:3rem;margin-bottom:var(--space-2)}.auth-gate h2{font-size:var(--font-size-2xl)}.auth-gate p{color:var(--color-muted)}.loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-16);text-align:center;color:var(--color-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-base)}@media (max-width: 768px){.site-header{padding:12px 16px}.page-shell{padding:0 16px var(--space-12)}.hero-section{padding:48px 0 40px}.hero-title{font-size:2rem}.hero-sub{font-size:var(--font-size-base)}.site-footer{padding:var(--space-6) 16px var(--space-8)}.journey-title-row{flex-direction:column}.pricing-grid{grid-template-columns:1fr}}@media (max-width: 480px){.nav-link{display:none}.nav-link.nav-link--mobile{display:inline-flex}}.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}.ui-empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2)}.ui-empty__icon{font-size:2.5rem}.ui-empty__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600}.ui-empty__body{color:var(--color-muted);max-width:40ch;font-size:var(--font-size-sm)}.ui-spinner{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-muted)}.ui-spinner__ring{width:18px;height:18px;border-radius:50%;border:2px solid var(--brand-100);border-top-color:var(--brand-600);animation:spin .8s linear infinite}
