.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;max-width:400px}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;animation:toast-in .3s ease;box-shadow:0 4px 20px #00000026;transition:opacity .3s ease}.toast:hover{opacity:.8}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.toast-warning{background:#f59e0b;color:#fff}.toast-info{background:#6366f1;color:#fff}.toast-icon{font-size:1.1rem;flex-shrink:0}.toast-message{line-height:1.4}.toast-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:2px 6px;margin-left:8px;opacity:.7}.toast-dismiss:hover,.toast-dismiss:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.toast-container{left:16px;right:16px;bottom:16px;max-width:none}}.navbar{position:sticky;top:0;z-index:100;background:#f7f8fccc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-light);padding:0}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:68px}.navbar-brand{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:750;color:var(--text)}.navbar-brand:hover{color:var(--text)}.brand-icon{font-size:1.5rem}.brand-text{letter-spacing:-.03em}.navbar-links{display:flex;align-items:center;gap:4px}.nav-link{padding:8px 16px;border-radius:var(--radius-pill);color:var(--text-muted);font-weight:500;font-size:.9rem;transition:all .2s}.nav-link:hover{color:var(--text);background:var(--bg-subtle)}.nav-link.active{color:var(--primary-dark);background:#6c5ce714;font-weight:600}.nav-cta{margin-left:12px;padding:9px 22px;font-size:.85rem}.nav-logout{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--text-dim);padding:8px 4px}.nav-logout:hover{color:var(--accent-warm)}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.menu-toggle{display:flex}.navbar-links{display:none;position:absolute;top:68px;left:0;right:0;background:#f7f8fcfa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--border-light);gap:4px;box-shadow:var(--shadow-md)}.navbar-links.open{display:flex}.nav-link{width:100%;padding:12px 16px;border-radius:var(--radius-sm)}.nav-cta{margin-left:0;margin-top:8px;justify-content:center}}.footer{background:var(--bg-white);border-top:1px solid var(--border-light);padding:64px 0 28px;margin-top:0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.footer-logo{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:12px}.footer-logo:hover{color:var(--text)}.footer-desc{color:var(--text-muted);font-size:.9rem;line-height:1.7;max-width:300px}.footer-col h4{font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text);margin-bottom:16px}.footer-col a{display:block;color:var(--text-muted);font-size:.9rem;padding:5px 0;transition:color .2s}.footer-col a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border-light);padding-top:24px;text-align:center}.footer-bottom p{color:var(--text-dim);font-size:.85rem}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1 / -1}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}.hero{padding:80px 0 40px;background:var(--gradient-hero)}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;background:#6c5ce714;color:var(--primary-dark);border-radius:var(--radius-pill);font-size:.82rem;font-weight:600;margin-bottom:20px;border:1px solid rgba(108,92,231,.15)}.hero h1{font-size:3.2rem;font-weight:800;line-height:1.12;margin-bottom:20px;letter-spacing:-.03em;color:var(--text)}.hero-subtitle{font-size:1.1rem;color:var(--text-muted);max-width:500px;margin-bottom:28px;line-height:1.7}.hero-subtitle em{color:var(--primary-dark);font-style:normal;font-weight:600}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-time{margin-top:12px;font-size:.82rem;color:var(--text-dim)}.hero-visual{display:flex;justify-content:center}.hero-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}.hero-card-header{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border-light)}.hero-card-title{font-size:.78rem;color:var(--text-dim);margin-left:8px}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#22c55e}.hero-card-body{padding:24px}.demo-brainstorm-card{display:flex;flex-direction:column}.demo-brainstorm-profession{font-size:.72rem;font-weight:600;color:var(--color-accent-strong, #6c5ce7);text-transform:uppercase;letter-spacing:.04em;padding-bottom:10px;border-bottom:1px solid var(--border-light, #eee);margin-bottom:14px}.demo-brainstorm-messages{display:flex;flex-direction:column;gap:10px}.demo-bubble{font-size:.84rem;line-height:1.5;padding:10px 14px;border-radius:var(--radius, 8px);animation:demo-fade-in .4s ease}.demo-bubble-user{background:var(--primary, #6c5ce7);color:#fff;align-self:flex-end;max-width:85%;border-bottom-right-radius:2px}.demo-bubble-companion{background:var(--bg-subtle, #f5f5f5);color:var(--text, #333);align-self:flex-start;max-width:90%;border-bottom-left-radius:2px}.demo-typing{display:flex;gap:4px;padding:12px 14px;align-self:flex-start}.demo-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim, #aaa);animation:demo-typing-bounce 1.2s infinite}.demo-typing-dot:nth-child(2){animation-delay:.2s}.demo-typing-dot:nth-child(3){animation-delay:.4s}@keyframes demo-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes demo-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:28px;position:relative;transition:all .3s ease}.step-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.step-num{position:absolute;top:12px;right:14px;font-size:.72rem;font-weight:700;color:var(--text-dim);background:var(--bg-subtle);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.step-icon-big{font-size:2rem;margin-bottom:12px}.step-card h3{font-size:1rem;font-weight:650;margin-bottom:6px;color:var(--text)}.step-card p{font-size:.85rem;color:var(--text-muted);line-height:1.55}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:all .3s}.testimonial-card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.testimonial-quote{font-size:.92rem;color:var(--text-muted);line-height:1.65;font-style:italic;margin-bottom:16px;flex:1}.testimonial-footer{display:flex;justify-content:space-between;align-items:center}.testimonial-footer strong{display:block;font-size:.88rem;color:var(--text)}.testimonial-footer span{font-size:.78rem;color:var(--text-dim)}.growth-badge{font-size:.78rem;font-weight:600;color:var(--color-success-strong);background:#00b89424;padding:4px 12px;border-radius:var(--radius-pill)}.cta-section{padding:40px 0 80px}.cta-card{background:var(--gradient-deep);border-radius:var(--radius-lg);padding:56px;text-align:center;color:#fff}.cta-card h2{font-size:1.8rem;font-weight:750;margin-bottom:10px}.cta-card p{font-size:1rem;margin-bottom:24px}.cta-card .btn-primary{background:#fff;color:var(--primary-dark);box-shadow:0 4px 16px #00000026}.cta-card .btn-primary:hover{background:#ffffffeb;transform:translateY(-2px);box-shadow:0 6px 24px #0003}@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero .container{grid-template-columns:1fr;gap:40px}.hero h1{font-size:2.2rem}.testimonials-grid{grid-template-columns:1fr}.cta-card{padding:40px 24px}}@media(max-width:600px){.steps-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--gradient-hero)}.auth-card{width:100%;max-width:420px;background:var(--bg-white);border-radius:var(--radius);padding:40px 36px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.auth-header{text-align:center;margin-bottom:28px}.auth-icon{font-size:2.2rem;display:block;margin-bottom:12px}.auth-header h1{font-size:1.5rem;font-weight:750;color:var(--text);margin-bottom:6px}.auth-header p{font-size:.88rem;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.82rem;font-weight:600;color:var(--text)}.auth-error{padding:10px 14px;background:#fff0f0;border:1px solid #fdd;border-radius:var(--radius-sm);color:#c0392b;font-size:.85rem;font-weight:500}.auth-submit{margin-top:4px;width:100%}.auth-switch{text-align:center;margin-top:20px;font-size:.85rem;color:var(--text-muted)}.auth-switch a{color:var(--primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.notfound-page{display:flex;align-items:center;justify-content:center;flex:1;padding:60px 24px;text-align:center}.notfound-content{max-width:480px}.notfound-code{font-size:7rem;font-weight:800;letter-spacing:-.04em;line-height:1;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.notfound-content h1{font-size:1.6rem;font-weight:700;margin-bottom:10px;letter-spacing:-.02em}.notfound-content p{font-size:1rem;color:var(--text-muted);margin-bottom:28px;line-height:1.6}.notfound-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.brainstorm-page{height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:1rem}.brainstorm-container{width:100%;max-width:700px;height:100%;max-height:100vh;display:flex;flex-direction:column;gap:1rem}.brainstorm-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.brainstorm-header p{color:var(--text-secondary, #666);font-size:.95rem}.brainstorm-messages{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;overflow-y:auto;padding:1rem}.brainstorm-message{display:flex;flex-direction:column;max-width:85%}.brainstorm-message-user{align-self:flex-end;align-items:flex-end}.brainstorm-message-assistant{align-self:flex-start;align-items:flex-start}.brainstorm-message-content{padding:.75rem 1rem;border-radius:1rem;font-size:.95rem;line-height:1.5}.brainstorm-message-user .brainstorm-message-content{background:var(--accent-color, #6366f1);color:#fff;border-bottom-right-radius:.25rem}.brainstorm-message-assistant .brainstorm-message-content{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #1f2937);border-bottom-left-radius:.25rem}.brainstorm-goal-summary{background:var(--bg-highlight, #f0f9ff);border:1px solid var(--border-accent, #bae6fd);border-radius:1rem;padding:1.5rem}.brainstorm-goal-summary h3{margin-bottom:.75rem;font-size:1.1rem}.brainstorm-goal-text{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.brainstorm-deliverable-text{color:var(--text-secondary, #666);font-size:.9rem;margin-bottom:1rem}.brainstorm-goal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.brainstorm-input-form{display:flex;gap:.5rem;align-items:flex-end}.brainstorm-input-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brainstorm-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;font-size:.95rem;outline:none}.brainstorm-input:focus{border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 2px #6366f133}.brainstorm-input:disabled{background:var(--bg-secondary, #f3f4f6);cursor:not-allowed}.brainstorm-send{white-space:nowrap}.brainstorm-error{color:var(--error-color, #dc2626);font-size:.9rem;padding:.75rem;background:#dc26260d;border:1px solid rgba(220,38,38,.2);border-radius:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.brainstorm-error-text{flex:1;min-width:120px}.brainstorm-error-retry{font-size:.85rem;padding:.4rem 1rem}.brainstorm-progress{text-align:center;font-size:.8rem;color:var(--text-tertiary, #646e7b);text-transform:lowercase}.brainstorm-confirmed{text-align:center;padding:3rem 1rem}.brainstorm-confirmed h1{font-size:2rem;margin-bottom:1rem}.brainstorm-skeleton-bubble{padding:.75rem 1rem;background:var(--bg-secondary, #f3f4f6);border-radius:1rem 1rem 1rem .25rem;width:80%;max-width:400px}.brainstorm-skeleton-line{height:.75rem;border-radius:.375rem;background:linear-gradient(90deg,#0000000f 25%,#0000001f,#0000000f 75%);background-size:200% 100%;animation:brainstorm-skeleton-shimmer 1.5s ease-in-out infinite;margin-bottom:.5rem}.brainstorm-skeleton-line:last-child{margin-bottom:0}.brainstorm-skeleton-line--w90{width:90%}.brainstorm-skeleton-line--w80{width:80%}.brainstorm-skeleton-line--w70{width:70%}@keyframes brainstorm-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.brainstorm-skeleton-line{animation:none;background:#00000014}}.brainstorm-typing{display:flex;align-items:center;gap:.25rem;padding:.75rem 1rem;background:var(--bg-secondary, #f3f4f6);border-radius:1rem 1rem 1rem .25rem}.brainstorm-typing-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-tertiary, #646e7b);animation:brainstorm-typing-bounce 1.4s ease-in-out infinite}.brainstorm-typing-dot:nth-child(2){animation-delay:.2s}.brainstorm-typing-dot:nth-child(3){animation-delay:.4s}.brainstorm-typing-text{margin-left:.5rem;font-size:.85rem;color:var(--text-tertiary, #646e7b)}@keyframes brainstorm-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-.3rem);opacity:1}}@media(prefers-reduced-motion:reduce){.brainstorm-typing-dot{animation:none;opacity:.7}}@media(max-width:640px){.brainstorm-page{padding:1rem .5rem}.brainstorm-header h1{font-size:1.4rem}.brainstorm-message{max-width:92%}.brainstorm-goal-actions{flex-direction:column}.brainstorm-goal-actions .btn{width:100%}}.learn-page{min-height:100vh;background:var(--bg-dark-gradient, linear-gradient(135deg, #1a1a2e, #16213e));padding:var(--space-7, 2rem)}.learn-profession-input{max-width:520px;margin:3rem auto;text-align:center;padding:2.5rem 2rem;background:var(--surface-dark-panel, rgba(255,255,255,.05));border:1px solid var(--border-on-dark, rgba(255,255,255,.1));border-radius:var(--radius, 12px)}.learn-profession-input h2{color:var(--text-on-dark, #fff);margin:0 0 .5rem;font-size:var(--fs-xl, 1.75rem)}.learn-profession-input p{color:var(--text-on-dark-muted, rgba(255,255,255,.6));margin:0 0 2rem}.learn-field-label{display:block;text-align:left;color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600);margin-bottom:.5rem}.learn-field-label[for=goal]{margin-top:1.25rem}.learn-text-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);outline:none;transition:border-color .2s;box-sizing:border-box}.learn-text-input:focus{border-color:var(--color-primary-light, #818cf8)}.learn-text-input::placeholder{color:#ffffff59}.learn-generate-btn{width:100%;margin-top:1.5rem;padding:.875rem;background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #8b5cf6));color:var(--text-on-dark, #fff);border:none;border-radius:var(--radius-sm, 8px);font-size:var(--fs-base, 1rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:transform .2s,opacity .2s}.learn-generate-btn:hover:not(:disabled){transform:translateY(-1px)}.learn-generate-btn:disabled{opacity:.6;cursor:not-allowed}.learn-course-container{max-width:900px;margin:0 auto}.learn-course-title{color:var(--text-on-dark, #fff);font-size:var(--fs-2xl, 2rem);margin:0 0 .5rem}.learn-course-deliverable{color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-md, 1.125rem);margin:0 0 2rem;line-height:var(--leading-relaxed, 1.6)}.learn-chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.learn-chapter-card{display:block;text-align:left;background:var(--surface-dark-panel, rgba(255,255,255,.05));border:1px solid var(--border-on-dark, rgba(255,255,255,.1));border-top:4px solid;border-radius:var(--radius, 12px);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;padding:0}.learn-chapter-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.learn-chapter-color-bar{height:4px}.learn-chapter-content{padding:1.25rem}.learn-chapter-number{display:block;color:var(--text-on-dark-muted, rgba(255,255,255,.5));font-size:var(--fs-xs, .75rem);font-weight:var(--fw-semibold, 600);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.learn-chapter-title{color:var(--text-on-dark, #fff);font-size:var(--fs-lg, 1.25rem);margin:0 0 .5rem}.learn-chapter-outcome{color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-sm, .875rem);line-height:var(--leading-normal, 1.5);margin:0 0 .75rem}.learn-chapter-lesson-count{color:var(--text-on-dark-dim, rgba(255,255,255,.4));font-size:var(--fs-xs, .75rem)}.learn-chapter-container{max-width:700px;margin:0 auto}.learn-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem);cursor:pointer;margin-bottom:1.5rem;transition:background .2s}.learn-back-btn:hover:not(:disabled){background:#ffffff0d}.learn-back-btn:disabled{opacity:.4;cursor:not-allowed}.learn-chapter-header{border-left:4px solid;padding:0 0 0 1.25rem;margin-bottom:2rem}.learn-chapter-title-lg{color:var(--text-on-dark, #fff);font-size:var(--fs-xl, 1.75rem);margin:.25rem 0 .5rem}.learn-chapter-outcome-lg{color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-md, 1.125rem);line-height:var(--leading-relaxed, 1.6);margin:0}.learn-lessons-list{display:flex;flex-direction:column;gap:.75rem}.learn-lesson-item{display:flex;align-items:center;gap:1rem;text-align:left;background:var(--surface-dark-panel, rgba(255,255,255,.05));border:1px solid var(--border-on-dark, rgba(255,255,255,.1));border-radius:var(--radius, 12px);padding:1.25rem;cursor:pointer;transition:background .2s,border-color .2s}.learn-lesson-item:hover{background:#6366f11a;border-color:var(--color-primary-light, #818cf8)}.learn-lesson-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#6366f126;color:var(--color-primary-light, #818cf8);font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600)}.learn-lesson-info{flex:1 1 auto;min-width:0}.learn-lesson-title{color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);margin:0 0 .25rem}.learn-lesson-outcome{color:var(--text-on-dark-muted, rgba(255,255,255,.5));font-size:var(--fs-sm, .875rem);margin:0;line-height:var(--leading-normal, 1.5)}.learn-lesson-arrow{color:var(--text-on-dark-dim, rgba(255,255,255,.3));font-size:var(--fs-lg, 1.25rem)}.learn-lesson-item--current{background:#6366f126;border-color:var(--color-primary-light, #818cf8);box-shadow:0 0 0 2px #6366f14d}.learn-lesson-item--capstone{border-color:#f59e0b;background:#f59e0b0d}.learn-lesson-item--capstone:hover{background:#f59e0b1f;border-color:#f59e0b}.learn-lesson-item--capstone .learn-lesson-number{background:#f59e0b33;color:#f59e0b}.learn-lesson-status{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;font-size:var(--fs-base, 1rem);border-radius:50%}.learn-lesson-status--completed{background:#22c55e33;color:#22c55e}.learn-lesson-status--in-progress{background:#f59e0b33;color:#f59e0b}.learn-lesson-status--not-started{background:#ffffff14;color:var(--text-on-dark-dim, rgba(255,255,255,.3))}.learn-capstone-badge{display:inline-block;margin-left:.5rem;padding:2px 8px;background:#f59e0b33;color:#f59e0b;border-radius:4px;font-size:var(--fs-xs, .75rem);font-weight:var(--fw-semibold, 600);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.learn-lesson-output-type{display:inline-block;margin-top:.25rem;color:var(--text-on-dark-dim, rgba(255,255,255,.4));font-size:var(--fs-xs, .75rem);text-transform:capitalize}.learn-collapsed-artifact{margin-left:1rem;margin-bottom:.75rem;padding-left:1rem;border-left:2px solid rgba(34,197,94,.3)}.learn-artifact-toggle{background:none;border:none;color:var(--color-primary-light, #818cf8);font-size:var(--fs-sm, .875rem);cursor:pointer;padding:4px 0;transition:color .2s}.learn-artifact-toggle:hover{color:var(--text-on-dark, #fff)}.learn-artifact-content{margin-top:.5rem;padding:.75rem 1rem;background:#ffffff08;border-radius:var(--radius-sm, 8px);color:var(--text-on-dark-muted, rgba(255,255,255,.7));font-size:var(--fs-sm, .875rem);line-height:var(--leading-relaxed, 1.6)}.learn-artifact-content ul{list-style:disc;padding-left:1.25rem;margin:0}.learn-artifact-content li{padding:2px 0}.learn-artifact-pre{white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:inherit}.learn-reshape-events{margin-bottom:1.5rem;padding:.75rem 1rem;background:#6366f10f;border:1px solid rgba(99,102,241,.15);border-radius:var(--radius-sm, 8px)}.learn-reshape-events--chapter{margin-bottom:1.5rem}.learn-reshape-event{display:flex;align-items:center;gap:.5rem;color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-sm, .875rem);line-height:var(--leading-normal, 1.5);padding:2px 0}.learn-reshape-icon{color:var(--color-primary-light, #818cf8);font-size:var(--fs-base, 1rem);flex-shrink:0}.learn-reshape-text{font-style:italic}.learn-lesson-container{max-width:640px;margin:0 auto}.learn-lesson-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.learn-card-counter{color:var(--text-on-dark-muted, rgba(255,255,255,.5));font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600)}.learn-smartcard-wrapper{min-height:200px}.learn-smartcard{background:var(--surface-dark-panel, rgba(255,255,255,.05));border:1px solid var(--border-on-dark, rgba(255,255,255,.1));border-radius:var(--radius, 12px);padding:2rem}.learn-smartcard--complete{text-align:center}.learn-complete-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border-radius:var(--radius-sm, 10px);margin-bottom:1.5rem}.learn-complete-header-text{color:var(--text-on-dark, #fff);font-size:var(--fs-lg, 1.15rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:.75rem 0 0}.learn-feedback-icons{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0}.learn-feedback-icon{font-size:2rem;cursor:pointer;line-height:1;-webkit-user-select:none;user-select:none}.learn-complete-cta{display:inline-block;width:100%;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-sm, 10px);background:#22c55e;color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);font-weight:600;cursor:pointer;text-align:center}.learn-complete-cta:hover{background:#16a34a}.learn-complete-check{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#22c55e26;color:#22c55e;font-size:1.75rem;margin-bottom:1rem}.learn-smartcard-title{color:var(--text-on-dark, #fff);font-size:var(--fs-lg, 1.25rem);margin:0 0 1rem}.learn-smartcard-body{color:var(--text-on-dark-muted, rgba(255,255,255,.7));line-height:var(--leading-relaxed, 1.6);margin:0 0 1.5rem;font-size:var(--fs-base, 1rem)}.learn-smartcard-body strong{color:var(--text-on-dark, #fff)}.learn-continue-btn{display:inline-block;padding:.75rem 2rem;background:#22c55e;color:#fff;border:none;border-radius:var(--radius-sm, 8px);font-size:var(--fs-base, 1rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:transform .2s,opacity .2s;text-transform:uppercase;letter-spacing:.05em}.learn-continue-btn:hover:not(:disabled){transform:translateY(-1px)}.learn-explain-section{margin-top:1.5rem;border-top:1px solid var(--border-on-dark-soft, rgba(255,255,255,.08));padding-top:1rem}.learn-explain-toggle{background:none;border:none;color:var(--color-primary-light, #818cf8);font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600);cursor:pointer;padding:0}.learn-explain-block{margin-top:1rem;padding:1rem;background:#ffffff08;border-radius:var(--radius-sm, 8px);color:var(--text-on-dark-muted, rgba(255,255,255,.6));line-height:var(--leading-relaxed, 1.6);font-size:var(--fs-sm, .875rem)}.learn-interactive{margin-top:1rem}.learn-interaction-prompt{color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);line-height:var(--leading-relaxed, 1.6);margin:0 0 1rem}.learn-interaction-hint{color:var(--text-on-dark-dim, rgba(255,255,255,.35));font-size:var(--fs-sm, .875rem);margin:.75rem 0 1rem}.learn-options-grid{display:flex;flex-direction:column;gap:.5rem}.learn-option-btn{padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);cursor:pointer;text-align:left;transition:all .2s}.learn-option-btn:hover:not(:disabled){background:#6366f11a;border-color:var(--color-primary-light, #818cf8)}.learn-option-btn--correct{background:#22c55e26;border-color:#22c55e}.learn-option-btn--incorrect{background:#ef444426;border-color:#ef4444}.learn-feedback{margin-top:1rem;padding:1rem;border-radius:var(--radius-sm, 8px)}.learn-feedback--correct{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.learn-feedback--incorrect{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.learn-feedback p{margin:0 0 .75rem;color:var(--text-on-dark, #fff);line-height:var(--leading-relaxed, 1.6)}.learn-matching-interaction{display:flex;flex-direction:column;gap:16px}.learn-matching-slot{padding:.75rem 1rem;background:#6366f114;border:2px solid #e5e7eb;border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.learn-matching-slot:hover{border-color:#c7d2fe}.learn-matching-slot--selected{border-color:#6366f1;background:#ede9fe;box-shadow:0 0 0 3px #6366f126}.learn-matching-slot--paired{border-color:#a7f3d0;background:#ecfdf5}.learn-matching-slot--correct{border-color:#10b981;background:#d1fae5}.learn-matching-slot--incorrect{border-color:#ef4444;background:#fee2e2}.learn-matching-slot-label{font-weight:500}.learn-matching-slot-pair{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#059669;background:#10b9811a;padding:2px 8px;border-radius:4px}.learn-matching-unpair{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0 4px;font-size:.75rem}.learn-matching-unpair:hover{color:#ef4444}.learn-matching-option{padding:.75rem 1rem;background:#ffffff0d;border:2px solid #e5e7eb;border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.learn-matching-option:hover{border-color:#c7d2fe;background:#f5f3ff}.learn-matching-option--used{opacity:.45;cursor:default}.learn-artifact-list-row{display:flex;align-items:center;gap:.5rem}.learn-artifact-list-remove{flex-shrink:0;width:32px;height:32px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;cursor:pointer;font-size:.8rem;transition:background .15s}.learn-artifact-list-remove:hover{background:#ef444433}.learn-artifact-list-add{align-self:flex-start;padding:.5rem 1rem;background:#6366f11a;border:1px dashed #6366f1;border-radius:8px;color:#6366f1;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.learn-artifact-list-add:hover{background:#6366f126}.learn-artifact-live-link{display:flex;gap:.5rem}.learn-artifact-live-url{flex:1;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:1rem;box-sizing:border-box;outline:none;transition:border-color .2s}.learn-artifact-live-url:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.learn-artifact-live-submit{flex-shrink:0;padding:.75rem 1.25rem;background:#6366f1;border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.learn-artifact-live-submit:hover{opacity:.9}.learn-artifact-live-preview{margin-top:.75rem;padding:1rem;background:#6366f10d;border:1px solid rgba(99,102,241,.2);border-radius:8px}.learn-artifact-live-preview-placeholder{color:#6b7280;font-size:.85rem;font-style:italic}.learn-matching-area{display:flex;gap:1.5rem;flex-wrap:wrap}.learn-matching-slots,.learn-matching-options{flex:1 1 200px;display:flex;flex-direction:column;gap:.5rem}.learn-matching-slot{padding:.75rem 1rem;background:#6366f114;border:1px dashed var(--color-primary-light, #818cf8);border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem)}.learn-matching-option{padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem)}.learn-artifact-capture{margin-top:1rem}.learn-artifact-textarea{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);font-family:inherit;resize:vertical;box-sizing:border-box;min-height:120px}.learn-artifact-textarea::placeholder{color:#ffffff4d}.learn-artifact-matrix{overflow-x:auto;margin-top:.5rem}.learn-artifact-matrix table{width:100%;border-collapse:collapse}.learn-artifact-matrix th,.learn-artifact-matrix td{padding:.5rem;text-align:center;border:1px solid var(--border-on-dark, rgba(255,255,255,.1));color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem)}.learn-matrix-row-label{text-align:left!important;font-weight:var(--fw-semibold, 600)}.learn-matrix-input{width:50px;padding:.25rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:4px;color:var(--text-on-dark, #fff);text-align:center}.learn-matrix-cell{min-width:44px;min-height:36px;padding:.35rem .5rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:6px;color:var(--text-on-dark-muted, rgba(255,255,255,.45));font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.learn-matrix-cell:hover{background:#ffffff1a;border-color:var(--color-primary-light, #818cf8)}.learn-matrix-cell:active{transform:scale(.95)}.learn-matrix-cell--filled{background:var(--color-primary, rgba(99,102,241,.2));border-color:var(--color-primary-light, #818cf8);color:var(--text-on-dark, #fff)}.learn-matrix-cell--filled:hover{background:#6366f14d}.learn-key-terms{margin-top:1.5rem;text-align:left}.learn-key-terms h4{color:var(--text-on-dark-muted, rgba(255,255,255,.6));font-size:var(--fs-sm, .875rem);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.learn-key-terms ul{list-style:none;padding:0;margin:0}.learn-key-term{color:var(--text-on-dark, #fff);font-size:var(--fs-base, 1rem);padding:.4rem 0;border-bottom:1px solid var(--border-on-dark-soft, rgba(255,255,255,.06))}.learn-key-term:last-child{border-bottom:none}.learn-lesson-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-on-dark-soft, rgba(255,255,255,.08))}.learn-nav-btn{padding:.5rem 1.25rem;background:#ffffff0d;border:1px solid var(--border-on-dark, rgba(255,255,255,.15));border-radius:var(--radius-sm, 8px);color:var(--text-on-dark, #fff);font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:background .2s}.learn-nav-btn:hover:not(:disabled){background:#ffffff14}.learn-nav-btn:disabled{opacity:.4;cursor:not-allowed}.learn-nav-progress{color:var(--text-on-dark-muted, rgba(255,255,255,.5));font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold, 600)}.learn-loading-container{max-width:400px;margin:4rem auto;text-align:center}.learn-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary-light, #818cf8);border-radius:50%;animation:learn-spin .8s linear infinite;margin:0 auto 1rem}@keyframes learn-spin{to{transform:rotate(360deg)}}.learn-loading-container p{color:var(--text-on-dark-muted, rgba(255,255,255,.6))}.learn-error-container{max-width:500px;margin:4rem auto;text-align:center}.learn-error{color:#f87171;text-align:center;padding:.75rem 1rem;background:#f871711a;border:1px solid rgba(248,113,113,.2);border-radius:var(--radius-sm, 8px);margin-bottom:1rem;font-size:var(--fs-sm, .875rem)}.learn-lesson-complete-screen{max-width:480px;margin:4rem auto;text-align:center}.learn-lesson-complete-screen h2{color:var(--text-on-dark, #fff);margin:0 0 .5rem}.learn-lesson-complete-screen p{color:var(--text-on-dark-muted, rgba(255,255,255,.6));margin:0 0 1.5rem}@media(max-width:768px){.learn-page{padding:1rem}.learn-chapters-grid{grid-template-columns:1fr}.learn-matching-area{flex-direction:column}}.learn-text-input:focus-visible,.learn-generate-btn:focus-visible,.learn-continue-btn:focus-visible,.learn-back-btn:focus-visible,.learn-chapter-card:focus-visible,.learn-lesson-item:focus-visible,.learn-option-btn:focus-visible,.learn-nav-btn:focus-visible,.learn-explain-toggle:focus-visible{outline:3px solid var(--color-primary-light, #818cf8);outline-offset:2px}.learn-shell{display:flex;flex-direction:column;min-height:500px;background:var(--surface-dark-panel-strong, rgba(255, 255, 255, .1));border-radius:16px;box-shadow:0 4px 24px #00000059;overflow:hidden}.learn-shell-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:#fff;font-size:.85rem;font-weight:600}.learn-shell-header-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-shell-close{background:#fff3;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:4px 10px;border-radius:6px;transition:background .15s}.learn-shell-close:hover{background:#ffffff59}.learn-shell-progress{display:flex;justify-content:center;padding:10px 0}.learn-shell-dots{display:flex;gap:6px;align-items:center}.learn-shell-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s}.learn-shell-dot--active{background:var(--color-primary, #6366f1)}.learn-shell-body{flex:1;padding:24px 32px;overflow-y:auto}.learn-shell-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e5e7eb;gap:12px}.learn-shell-footer-actions{display:flex;align-items:center;gap:12px}.learn-shell-explain{flex:1}.learn-explain-toggle{background:none;border:none;color:#6b7280;font-size:.85rem;cursor:pointer;padding:4px 0}.learn-explain-toggle:hover{color:#374151}.learn-explain-block{margin-top:8px;padding:12px;background:#f3f4f6;border-radius:8px;font-size:.85rem;color:#4b5563}.learn-reading-image{display:flex;flex-direction:column;gap:16px}.learn-reading-image-img{width:100%;max-height:400px;object-fit:cover;border-radius:12px}.learn-example-matching{display:flex;flex-direction:column;gap:16px}.learn-example-matching-area{display:flex;gap:24px}.learn-example-matching-concepts,.learn-example-matching-examples{flex:1;display:flex;flex-direction:column;gap:10px}.learn-example-concept{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;font-size:.9rem;-webkit-user-select:none;user-select:none}.learn-example-concept:hover{border-color:#c7d2fe;background:#f5f3ff}.learn-example-concept--selected{border-color:var(--color-primary, #6366f1);background:#ede9fe;box-shadow:0 0 0 3px #6366f126}.learn-example-concept--paired{border-color:#a7f3d0;background:#ecfdf5}.learn-example-concept--correct{border-color:#10b981;background:#d1fae5}.learn-example-concept--incorrect{border-color:#ef4444;background:#fee2e2}.learn-example-concept-img{width:32px;height:32px;border-radius:6px;object-fit:cover}.learn-example-concept-text{flex:1;font-weight:500}.learn-example-concept-pair{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#059669}.learn-example-pair-arrow{font-weight:700}.learn-example-unpair{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0 4px;font-size:.75rem}.learn-example-unpair:hover{color:#ef4444}.learn-example-item{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .15s;font-size:.9rem;-webkit-user-select:none;user-select:none}.learn-example-item:hover{border-color:#c7d2fe;background:#f5f3ff}.learn-example-item--used{opacity:.45;cursor:default}.learn-example-item-img{width:32px;height:32px;border-radius:6px;object-fit:cover}.learn-example-item-text{flex:1}.learn-submit-btn{align-self:center;padding:10px 32px;background:var(--color-primary, #6366f1);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.learn-submit-btn:disabled{opacity:.45;cursor:not-allowed}.learn-submit-btn:not(:disabled):hover{opacity:.9}@media(max-width:640px){.learn-example-matching-area{flex-direction:column}.learn-shell-footer{flex-direction:column;align-items:stretch}}.learn-case-study-intro{display:flex;flex-direction:column;gap:16px}.learn-case-study-img{width:100%;max-height:240px;object-fit:cover;border-radius:12px}.learn-case-study-label{display:inline-block;padding:4px 12px;background:#eef2ff;color:#4338ca;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;width:fit-content}.learn-case-study-text{font-style:italic}.learn-diagram-explanation{margin-top:1rem}.learn-diagram-svg{background:#f9fafb;border-radius:12px;padding:16px}.learn-diagram-node-label{font-family:inherit}.learn-diagram-descriptions{margin-top:16px;display:flex;flex-direction:column;gap:6px}.learn-diagram-description-item{display:flex;align-items:baseline;gap:4px;color:#4b5563;font-size:.85rem}.learn-diagram-description-label{font-weight:600;color:#374151}.learn-diagram-description-text{color:#6b7280}.learn-artifact-list{display:flex;flex-direction:column;gap:.5rem}.learn-artifact-list-input{width:100%;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:1rem;box-sizing:border-box;outline:none;transition:border-color .2s}.learn-artifact-list-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.learn-artifact-textarea--lg{min-height:180px}.learn-artifact-hint{margin-top:.5rem;color:#6b7280;font-size:.8rem;line-height:1.5}.learn-artifact-protocol{display:flex;flex-direction:column;gap:.5rem}.learn-artifact-protocol-step{display:flex;align-items:center;gap:.75rem}.learn-protocol-step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#6366f11a;color:#6366f1;font-size:.875rem;font-weight:600}.learn-protocol-step-input{flex:1;padding:.6rem .875rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:.95rem;outline:none;transition:border-color .2s}.learn-protocol-step-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.learn-artifact-framework{display:flex;flex-direction:column;gap:.75rem}.learn-artifact-framework-name{width:100%;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:1rem;font-weight:600;box-sizing:border-box;outline:none;transition:border-color .2s}.learn-artifact-framework-name:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.learn-artifact-live{display:flex;flex-direction:column;gap:.5rem}.learn-feedback-icons{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.learn-feedback-icon{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .875rem;border-radius:8px;font-size:.875rem;color:#374151}.learn-feedback-icon--positive{background:#10b9811a}.learn-feedback-icon--suggestion{background:#f59e0b1a}.learn-exit-dialog-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009}.learn-exit-dialog{max-width:26rem;width:calc(100% - 2rem);padding:1.75rem;border-radius:14px;background:#fff;color:#1f2937;box-shadow:0 12px 40px #00000040;text-align:center}.learn-exit-dialog-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#111827}.learn-exit-dialog-body{margin:0 0 1.25rem;font-size:.95rem;color:#4b5563;line-height:1.5}.learn-exit-dialog-actions{display:flex;gap:.75rem;justify-content:center}.learn-exit-dialog-cancel,.learn-exit-dialog-confirm{flex:1;padding:.7rem 1rem;border:none;border-radius:9px;font-size:.95rem;font-weight:600;cursor:pointer}.learn-exit-dialog-cancel{background:#e5e7eb;color:#1f2937}.learn-exit-dialog-cancel:hover{background:#d1d5db}.learn-exit-dialog-confirm{background:#22c55e;color:#fff}.learn-exit-dialog-confirm:hover{background:#16a34a}.learn-feedback-icon{background:none;border:none;padding:0}.new-goal-offer{max-width:560px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.new-goal-offer-icon{font-size:3rem;margin-bottom:1rem}.new-goal-offer-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.75rem}.new-goal-offer-text{font-size:1rem;color:#576074;line-height:1.6;margin-bottom:2rem}.new-goal-offer-actions{display:flex;flex-direction:column;gap:.75rem}.new-goal-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.new-goal-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.new-goal-btn-accept{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.new-goal-btn-decline{background:#fff;color:#576074;border:1px solid #e2e8f0}.new-goal-offer-error{padding:1.5rem;color:#ef4444;background:#fef2f2;border-radius:12px;border:1px solid #fecaca}.capstone-view{max-width:1080px;margin:0 auto;padding:var(--space-6) var(--space-5)}.capstone-header{text-align:center;margin-bottom:var(--space-6)}.capstone-badge{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--capstone-badge-gradient);color:var(--surface);padding:var(--space-1) calc(var(--space-4) - var(--space-1));border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}.capstone-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--capstone-text-dark);margin-bottom:var(--space-1)}.capstone-subtitle{font-size:var(--fs-md);color:var(--capstone-text-muted);line-height:var(--leading-normal)}.capstone-section-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--capstone-text-dim);margin-bottom:var(--space-3)}.capstone-goal-card{background:var(--capstone-surface-tint);border-radius:var(--space-3);padding:calc(var(--space-4) + var(--space-1));border-left:var(--border-width-accent) var(--border-style) var(--capstone-accent);margin-bottom:var(--space-6)}.capstone-goal-card .capstone-section-label{color:var(--capstone-accent);margin-bottom:var(--space-1)}.capstone-goal-text{font-size:var(--fs-base);color:var(--capstone-text-body);line-height:var(--leading-normal)}.capstone-deliverable-card{background:var(--surface);border:var(--border-width) var(--border-style) var(--capstone-border);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-xs)}.capstone-deliverable-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--capstone-text-dim);margin-bottom:var(--space-3)}.capstone-deliverable-text{font-size:var(--fs-lg);color:var(--capstone-text-dark);line-height:var(--leading-normal);margin-bottom:0}.capstone-artifact{margin-top:var(--space-6);padding-top:var(--space-6);border-top:var(--border-width) var(--border-style) var(--capstone-border)}.capstone-artifact-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--capstone-text-dim);margin-bottom:var(--space-1)}.capstone-artifact-link{color:var(--capstone-accent);text-decoration:none;font-weight:var(--fw-semibold)}.capstone-artifact-link:hover{text-decoration:underline}.capstone-prior-outputs-card{background:var(--surface);border:var(--border-width) var(--border-style) var(--capstone-border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-xs)}.capstone-insights-list{list-style:none;padding:0;margin:0}.capstone-insight-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:var(--border-width) var(--border-style) var(--capstone-border-light)}.capstone-insight-item:last-child{border-bottom:none}.capstone-insight-dim{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--capstone-text-strong);text-transform:capitalize}.capstone-insight-score{font-size:var(--fs-sm);color:var(--capstone-text-muted);font-weight:var(--fw-medium)}.capstone-next-steps-card{background:var(--capstone-next-steps-gradient);border:var(--border-width) var(--border-style) var(--capstone-next-steps-border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-6)}.capstone-next-steps-card .capstone-section-label{color:var(--capstone-next-steps-accent)}.capstone-next-steps-text{font-size:var(--fs-base);color:var(--capstone-next-steps-text);line-height:var(--leading-normal);margin:0}.capstone-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.capstone-action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:calc(var(--space-4) - var(--space-1)) var(--space-5);border-radius:var(--space-3);font-size:var(--fs-md);font-weight:var(--fw-semibold);border:none;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease}.capstone-action-btn:hover{transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--shadow-md)}.capstone-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.capstone-action-primary{background:var(--capstone-cta-gradient);color:var(--surface)}.capstone-action-secondary{background:var(--surface);color:var(--capstone-text-body);border:var(--border-width) var(--border-style) var(--capstone-border)}.capstone-export-btn{background:var(--surface);color:var(--capstone-accent);border:var(--border-width) var(--border-style) var(--capstone-border);margin-top:var(--space-4);padding:var(--space-3) var(--space-5);font-size:var(--fs-sm)}.capstone-export-btn:hover{border-color:var(--capstone-accent);background:var(--capstone-surface-tint)}.capstone-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--capstone-text-dim)}.capstone-error{text-align:center;padding:var(--space-4);color:var(--capstone-error-text);background:var(--capstone-error-bg);border-radius:var(--space-3);border:var(--border-width) var(--border-style) var(--capstone-error-border);font-size:var(--fs-sm)}.capstone-error:not(:first-child){margin-top:var(--space-4)}.capstone-export-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.capstone-export-btn{padding:var(--space-3) var(--space-4);font-size:var(--fs-sm)}.capstone-share-url{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-3);background:var(--capstone-surface-tint);border-radius:var(--space-3)}.capstone-share-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--capstone-text-dim)}.capstone-share-input{width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) var(--border-style) var(--capstone-border);border-radius:var(--space-2);font-size:var(--fs-sm);color:var(--capstone-text-body);background:var(--surface)}.goal-history{max-width:720px;margin:0 auto;padding:1.5rem}.goal-history-header{margin-bottom:1.5rem}.goal-history-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.goal-history-subtitle{font-size:.95rem;color:#576074}.goal-history-list{display:flex;flex-direction:column;gap:1rem}.goal-history-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem 1.5rem;transition:box-shadow .2s ease}.goal-history-card:hover{box-shadow:0 2px 8px #0000000f}.goal-history-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.goal-history-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .625rem;border-radius:999px}.goal-history-status-completed{background:#dcfce7;color:#15803d}.goal-history-status-abandoned{background:#fef3c7;color:#b45309}.goal-history-date{font-size:.8rem;color:#646e7b}.goal-history-goal-text{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;line-height:1.4}.goal-history-deliverable{font-size:.9rem;color:#576074;line-height:1.5}.goal-history-artifact{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9;font-size:.85rem;color:#576074}.goal-history-artifact-label{font-weight:600;color:#1e293b}.goal-history-artifact-link{color:#6366f1;text-decoration:none;font-weight:600}.goal-history-artifact-link:hover{text-decoration:underline}.goal-history-artifact-text{color:#576074}.goal-history-empty{text-align:center;padding:3rem 1.5rem;color:#646e7b}.goal-history-loading{text-align:center;padding:2rem;color:#646e7b}.goal-history-error{padding:1.5rem;text-align:center;color:#b91c1c;background:#fef2f2;border-radius:12px;border:1px solid #fecaca}.goal-history-revisit-capstone{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:#2563eb;background:transparent;border:1px solid #2563eb;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.goal-history-revisit-capstone:hover{background:#2563eb;color:#fff}.journey-dashboard{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.journey-welcome{text-align:center;padding:4rem 2rem;max-width:560px;margin:2rem auto}.journey-welcome-icon{font-size:4rem;margin-bottom:1rem}.journey-welcome h1{color:var(--text);font-size:2rem;margin:0 0 1rem}.journey-welcome p{color:var(--text-muted);line-height:1.7;margin:0 0 2rem}.journey-discover-btn{padding:.875rem 2.5rem;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.journey-discover-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f14d}.journey-welcome-hint{margin-top:1rem!important;font-size:.85rem!important;color:var(--text-dim)!important}.journey-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.journey-header h1{color:var(--text);font-size:1.75rem;margin:0}.journey-stage-badge{padding:.3rem .85rem;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.journey-content{display:flex;gap:2.5rem;align-items:flex-start}.journey-radar-section{flex:1;min-width:0}.journey-actions-section{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:1.5rem}.journey-stats{display:flex;gap:1rem}.journey-stat{flex:1;background:var(--bg-subtle);border-radius:12px;padding:1rem;text-align:center}.journey-stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text)}.journey-stat-label{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.journey-cta-card{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:16px;padding:1.5rem}.journey-cta-card h3{color:var(--text);font-size:1.1rem;margin:0 0 .5rem}.journey-cta-card p{color:var(--text-muted);font-size:.9rem;margin:0 0 1.25rem;line-height:1.5}.journey-learn-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.journey-learn-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f140}.journey-chat-btn{width:100%;padding:.75rem 1.5rem;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:10px;font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;transition:background .2s}.journey-chat-btn:hover{background:var(--border-light)}@media(max-width:768px){.journey-content{flex-direction:column}.journey-actions-section{width:100%}}.acct-page{max-width:860px;margin:0 auto;padding:32px 20px 64px}.acct-header{margin-bottom:24px}.acct-header h1{font-size:1.9rem;margin:0 0 6px}.acct-header p{margin:0;color:var(--text-muted)}.acct-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:28px;flex-wrap:wrap}.acct-tab{background:none;border:none;padding:12px 18px;font-size:.95rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;font-family:inherit}.acct-tab:hover{color:var(--text)}.acct-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.acct-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px}.acct-skeleton{padding:40px 0;text-align:center;color:var(--text-muted)}.acct-empty{text-align:center;padding:32px 16px}.acct-empty-icon{font-size:2.6rem;margin-bottom:8px}.acct-empty h2{font-size:1.25rem;margin:0 0 8px}.acct-empty p{color:var(--text-muted);margin:0 0 20px}.acct-export-row{margin-top:20px;text-align:right}.acct-form{display:flex;flex-direction:column;gap:18px;max-width:480px}.acct-form-group{display:flex;flex-direction:column;gap:6px}.acct-form-group label{font-size:.85rem;font-weight:600;color:var(--text)}.acct-form-group input{padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--surface);color:var(--text)}.acct-form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce726}.acct-form-group input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed}.acct-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.acct-toggle-row:last-of-type{border-bottom:none}.acct-toggle-row strong{display:block;font-size:.95rem}.acct-toggle-row p{margin:2px 0 0;font-size:.85rem;color:var(--text-muted)}.acct-toggle{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}.acct-toggle input{opacity:0;width:0;height:0}.acct-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-strong);border-radius:26px;transition:background .2s ease}.acct-toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s ease}.acct-toggle input:checked+.acct-toggle-slider{background:var(--color-primary)}.acct-toggle input:checked+.acct-toggle-slider:before{transform:translate(20px)}.acct-toggle input:focus-visible+.acct-toggle-slider{box-shadow:0 0 0 3px #6c5ce740}.acct-export-btn{font-size:.9rem}.btn-danger{background:#c0392b;color:#fff;box-shadow:var(--shadow)}.btn-danger:hover:not(:disabled){background:brown;color:#fff;transform:translateY(-2px)}.btn-danger:disabled{background:#e4e6f0;color:#4b5163;cursor:not-allowed;box-shadow:none;transform:none}.acct-divider{border:none;border-top:1px solid var(--border);margin:8px 0 0}.acct-danger-zone{border:1px solid #f0c0bd;background:#fdf4f4;border-radius:var(--radius-sm);padding:20px;display:flex;flex-direction:column;gap:12px}.acct-danger-zone h3{font-size:1.05rem;margin:0;color:var(--text)}.acct-danger-zone p{margin:0;font-size:.88rem;color:var(--text-muted)}@media(max-width:600px){.acct-section{padding:20px}.acct-tab{padding:10px 12px;font-size:.88rem}}.acct-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.acct-section-header h2{font-size:1.25rem;margin:0}.acct-section-link{font-size:.9rem;font-weight:500;color:var(--color-primary);text-decoration:none}.acct-section-link:hover{text-decoration:underline}.acct-error{padding:14px 16px;border-radius:8px;background:#fdf4f4;border:1px solid #f0c0bd;color:#c0392b;font-size:.9rem}.acct-empty-inline{padding:24px 0;text-align:center;color:var(--text-muted)}.acct-empty-inline p{margin:0;font-size:.95rem}.acct-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.acct-history-card{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface-alt)}.acct-history-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.acct-history-status{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:20px}.acct-history-status-completed{background:#e6f7ee;color:#1a8a4a}.acct-history-status-abandoned{background:#f0f0f0;color:var(--text-muted)}.acct-history-date{font-size:.82rem;color:var(--text-muted)}.acct-history-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4}.acct-history-deliverable{font-size:.88rem;color:var(--text-muted);line-height:1.4}.acct-history-snippet{font-size:.9rem;color:var(--text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.metrics-page{max-width:960px;margin:0 auto;padding:32px 20px 64px}.metrics-header{margin-bottom:24px}.metrics-header h1{font-size:1.9rem;margin:0 0 6px}.metrics-header p{margin:0;color:var(--muted, #6b7280)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.metrics-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s ease}.metrics-card:focus-visible{outline:2px solid var(--primary, #6c5ce7);outline-offset:2px}.metrics-card-label{font-size:.85rem;font-weight:600;margin:0;color:var(--text, #111827);text-transform:uppercase;letter-spacing:.03em}.metrics-card-value{font-size:1.7rem;font-weight:700;margin:0;color:var(--text, #111827)}.metrics-card-value-good{color:#15803d}.metrics-card-target{font-size:.8rem;margin:0;color:var(--muted, #6b7280)}.metrics-card-totals{grid-column:1 / -1}.metrics-totals-list{margin:6px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px}.metrics-totals-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border, #e5e7eb);padding-bottom:6px}.metrics-totals-row:last-child{border-bottom:none}.metrics-totals-row dt{font-size:.9rem;color:var(--muted, #6b7280)}.metrics-totals-row dd{margin:0;font-size:.95rem;font-weight:600;color:var(--text, #111827)}.metrics-skeleton{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:14px;padding:40px;color:var(--muted, #6b7280);text-align:center}.metrics-empty,.metrics-error{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:14px;padding:48px 32px;text-align:center;max-width:520px;margin:24px auto 0}.metrics-empty-icon,.metrics-error-icon{font-size:2.4rem;margin-bottom:8px}.metrics-empty h2,.metrics-error h2{font-size:1.3rem;margin:0 0 8px;color:var(--text, #111827)}.metrics-empty p,.metrics-error p{margin:0 0 20px;color:var(--muted, #6b7280)}.metrics-error code{background:var(--border, #e5e7eb);padding:2px 6px;border-radius:4px;font-size:.85em}@media(max-width:600px){.metrics-grid{grid-template-columns:1fr}}.history-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.history-header{margin-bottom:2rem}.history-title{font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.history-subtitle{font-size:.95rem;color:var(--text-muted)}.history-list{display:flex;flex-direction:column;gap:1rem}.history-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-xs);transition:box-shadow .2s ease}.history-card:hover{box-shadow:var(--shadow)}.history-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.history-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .625rem;border-radius:var(--radius-pill)}.history-status-completed{background:#00b8941f;color:var(--success-strong)}.history-status-abandoned{background:#fd7e141f;color:var(--accent-strong)}.history-date{font-size:.8rem;color:var(--text-dim)}.history-goal-text{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.5rem;line-height:1.4}.history-deliverable{font-size:.9rem;color:var(--text-muted);line-height:1.5}.history-artifact{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light);font-size:.85rem;color:var(--text-muted)}.history-artifact-label{font-weight:600;color:var(--text)}.history-artifact-link{color:var(--primary, #6366f1);text-decoration:none;font-weight:600}.history-artifact-link:hover{text-decoration:underline}.history-artifact-text{color:var(--text-muted)}.history-view-capstone-btn{display:inline-block;margin-top:.75rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;color:var(--primary, #6366f1);background:transparent;border:1px solid var(--primary, #6366f1);border-radius:var(--radius-pill);cursor:pointer;transition:all .2s ease}.history-view-capstone-btn:hover{background:var(--primary, #6366f1);color:#fff}.history-empty{text-align:center;padding:3rem 1.5rem;color:var(--text-dim)}.history-loading{text-align:center;padding:2rem;color:var(--text-dim)}.history-error{padding:1.5rem;text-align:center;color:var(--danger);background:#c0392b0f;border-radius:var(--radius);border:1px solid rgba(192,57,43,.2)}.history-revisit-capstone{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--primary, #6366f1);background:transparent;border:1px solid var(--primary, #6366f1);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,color .15s ease}.history-revisit-capstone:hover{background:var(--primary, #6366f1);color:#fff}.capstone-detail-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.capstone-detail-header{margin-bottom:2rem}.capstone-detail-back{display:inline-block;background:transparent;border:none;color:var(--primary, #6366f1);font-size:.9rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:opacity .2s ease}.capstone-detail-back:hover{opacity:.7}.capstone-detail-title{font-size:1.75rem;font-weight:700;color:var(--text)}.capstone-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-xs)}.capstone-detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.capstone-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.capstone-detail-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem}.capstone-detail-goal-text{font-size:1.1rem;font-weight:600;color:var(--text);line-height:1.5}.capstone-detail-text{font-size:.95rem;color:var(--text);line-height:1.6;white-space:pre-wrap}.capstone-detail-link{color:var(--primary, #6366f1);text-decoration:none;font-weight:600;font-size:.95rem}.capstone-detail-link:hover{text-decoration:underline}.capstone-detail-date{font-size:.85rem;color:var(--text-dim)}.capstone-detail-loading{text-align:center;padding:2rem;color:var(--text-dim)}.capstone-detail-error{padding:1.5rem;text-align:center;color:var(--danger);background:#c0392b0f;border-radius:var(--radius);border:1px solid rgba(192,57,43,.2);margin-bottom:1rem}.capstone-detail-artifact-body{display:flex;flex-direction:column;gap:0}.companion-fab{position:fixed;bottom:var(--space-6, 24px);right:var(--space-6, 24px);z-index:9000;display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-5, 20px);border:none;border-radius:var(--radius-pill, 50px);background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-semibold, 600);cursor:pointer;box-shadow:var(--shadow-lg, 0 8px 30px rgba(108, 92, 231, .12));transition:transform .2s ease,box-shadow .2s ease}.companion-fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow, 0 4px 20px rgba(108, 92, 231, .25))}.companion-fab:active{transform:translateY(0)}.companion-fab:focus-visible{outline:3px solid var(--color-primary-light, #a29bfe);outline-offset:2px}.companion-fab__icon{font-size:var(--fs-lg, 1.15rem);line-height:1}.companion-fab__label{white-space:nowrap}@media(max-width:480px){.companion-fab{padding:var(--space-3, 12px)}.companion-fab__label{display:none}}.companion-backdrop{position:fixed;inset:0;z-index:9998;background:#0000004d;animation:companion-fade-in .2s ease}@keyframes companion-fade-in{0%{opacity:0}to{opacity:1}}.companion-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;z-index:9999;display:flex;flex-direction:column;background:var(--surface, #ffffff);box-shadow:var(--shadow-lg, 0 8px 30px rgba(0, 0, 0, .15));animation:companion-slide-in .3s ease}@keyframes companion-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.companion-backdrop,.companion-panel{animation:none}}.companion-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4, 16px) var(--space-5, 20px);border-bottom:1px solid var(--border, #e4e6f0);background:var(--gradient-deep, linear-gradient(135deg, #6c5ce7, #4c3fc7));color:#fff}.companion-panel__back-to-learning{padding:var(--space-1, 4px) var(--space-3, 12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill, 50px);background:#ffffff1a;color:#fff;font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:background .2s ease;white-space:nowrap}.companion-panel__title{margin:0;font-size:var(--fs-lg, 1.15rem);font-weight:var(--fw-semibold, 600)}.companion-panel__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm, 10px);background:#ffffff26;color:#fff;font-size:var(--fs-md, 1rem);cursor:pointer;transition:background .2s ease}.companion-panel__close:hover{background:#ffffff40}.companion-panel__close:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.companion-panel__messages{flex:1;overflow-y:auto;padding:var(--space-4, 16px);display:flex;flex-direction:column;gap:var(--space-3, 12px)}.companion-panel__greeting{color:var(--text-muted, #5f6580);font-size:var(--fs-base, .95rem);text-align:center;margin-top:var(--space-5, 20px)}.companion-message{max-width:80%;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 16px);font-size:var(--fs-base, .95rem);line-height:var(--leading-normal, 1.6);word-wrap:break-word}.companion-message--user{align-self:flex-end;background:var(--gradient-deep, linear-gradient(135deg, #6c5ce7, #4c3fc7));color:#fff;border-bottom-right-radius:var(--space-1, 4px)}.companion-message--companion{align-self:flex-start;background:var(--surface-alt, #f3f4f6);color:var(--text, #1a1d2e);border-bottom-left-radius:var(--space-1, 4px)}.companion-message__text{display:block}.companion-panel__input-area{display:flex;gap:var(--space-2, 8px);padding:var(--space-4, 16px);border-top:1px solid var(--border, #e4e6f0);background:var(--surface, #ffffff)}.companion-panel__input{flex:1;padding:var(--space-3, 12px) var(--space-4, 16px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);font-family:var(--font-sans);font-size:var(--fs-base, .95rem);outline:none;transition:border-color .2s ease}.companion-panel__input:focus{border-color:var(--color-primary, #6c5ce7)}.companion-panel__send{padding:var(--space-3, 12px) var(--space-5, 20px);border:none;border-radius:var(--radius-pill, 50px);background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:opacity .2s ease}.companion-panel__send:disabled{opacity:.5;cursor:not-allowed}.companion-panel__send:focus-visible{outline:2px solid var(--color-primary-light, #a29bfe);outline-offset:2px}.companion-typing{display:flex;gap:4px;align-items:center}.companion-typing__dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted, #5f6580);animation:companion-typing-bounce 1.4s infinite ease-in-out both}.companion-typing__dot:nth-child(1){animation-delay:-.32s}.companion-typing__dot:nth-child(2){animation-delay:-.16s}@keyframes companion-typing-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.companion-error{align-self:stretch;max-width:90%;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-sm, 10px);background:#dc322f1a;border:1px solid rgba(220,50,47,.3);color:#c0392b;font-size:var(--fs-sm, .85rem);line-height:var(--leading-normal, 1.6)}.companion-panel__header-actions{display:flex;align-items:center;gap:var(--space-2, 8px)}.companion-panel__back-to-learning{padding:var(--space-1, 4px) var(--space-3, 12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill, 50px);background:#ffffff1a;color:#fff;font-family:var(--font-sans);font-size:var(--fs-xs, .75rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:background .2s ease;white-space:nowrap}.companion-panel__back-to-learning:hover{background:#fff3}.companion-panel__back-to-learning:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.companion-law3{align-self:stretch;margin:var(--space-2, 8px) 0}.companion-law3--redirect-highlight{padding:var(--space-3, 12px);border-radius:var(--radius, 16px);background:#ffc10714;border:1px solid rgba(255,193,7,.2)}.companion-law3__buttons{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.companion-law3__btn{flex:1;min-width:100px;padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);background:var(--surface, #ffffff);color:var(--text, #1a1d2e);font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:all .2s ease}.companion-law3__btn--accept{background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;border-color:transparent}.companion-law3__btn--accept:hover{opacity:.9}.companion-law3__btn--insist:hover{background:var(--surface-alt, #f3f4f6)}.companion-law3__btn:focus-visible{outline:2px solid var(--color-primary, #6c5ce7);outline-offset:2px}.companion-lesson-offer{align-self:stretch;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 16px);background:var(--surface-alt, #f3f4f6);border:1px solid var(--border, #e4e6f0)}.companion-lesson-offer__title{margin:0 0 var(--space-2, 8px) 0;font-size:var(--fs-base, .95rem);font-weight:var(--fw-medium, 500);color:var(--text, #1a1d2e)}.companion-lesson-offer__description{margin:0 0 var(--space-3, 12px) 0;font-size:var(--fs-sm, .85rem);line-height:var(--leading-normal, 1.5);color:var(--text-muted, #5f6580)}.companion-lesson-offer__buttons{display:flex;gap:var(--space-2, 8px)}.companion-lesson-offer__btn{flex:1;padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);background:var(--surface, #ffffff);color:var(--text, #1a1d2e);font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:all .2s ease}.companion-lesson-offer__btn--accept{background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;border-color:transparent}.companion-lesson-offer__btn--accept:hover{opacity:.9}.companion-lesson-offer__btn--decline:hover{background:var(--surface-alt, #f3f4f6)}.companion-lesson-offer__btn:focus-visible{outline:2px solid var(--color-primary, #6c5ce7);outline-offset:2px}@media(max-width:480px){.companion-panel{width:100vw}}.companion-artifact{width:100%;border:1px solid var(--border, #e4e6f0);border-radius:var(--radius, 16px);background:var(--surface, #ffffff);overflow:hidden}.companion-panel__goal-context{padding:.4rem 0 0;font-size:.82rem;line-height:1.4}.companion-panel__goal-label{font-weight:600;color:var(--text-muted, #888)}.companion-panel__goal-text{color:var(--text, #1a1d2e)}.companion-mode-page{min-height:100vh;background:var(--bg-deep, #0f0e17);display:flex;justify-content:center;padding:var(--space-4, 16px)}.companion-mode-container{width:100%;max-width:800px;min-height:calc(100vh - 80px);display:flex;flex-direction:column;background:var(--surface, #ffffff);border-radius:var(--radius-lg, 20px);box-shadow:var(--shadow-lg, 0 8px 30px rgba(0, 0, 0, .15));overflow:hidden}.companion-mode-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4, 16px) var(--space-5, 20px);border-bottom:1px solid var(--border, #e4e6f0);background:var(--gradient-deep, linear-gradient(135deg, #6c5ce7, #4c3fc7));color:#fff}.companion-mode-header__title{margin:0;font-size:var(--fs-xl, 1.3rem);font-weight:var(--fw-semibold, 600)}.companion-mode__back-btn{padding:var(--space-2, 8px) var(--space-4, 16px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill, 50px);background:#ffffff1a;color:#fff;font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:background .2s ease}.companion-mode__back-btn:hover{background:#fff3}.companion-mode__back-btn:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.companion-mode-messages{flex:1;overflow-y:auto;padding:var(--space-4, 16px);display:flex;flex-direction:column;gap:var(--space-3, 12px)}.companion-mode-greeting{color:var(--text-muted, #5f6580);font-size:var(--fs-base, .95rem);text-align:center;margin-top:var(--space-5, 20px);line-height:var(--leading-normal, 1.6)}.companion-mode__message{max-width:80%;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 16px);font-size:var(--fs-base, .95rem);line-height:var(--leading-normal, 1.6);word-wrap:break-word}.companion-mode__message--user{align-self:flex-end;background:var(--gradient-deep, linear-gradient(135deg, #6c5ce7, #4c3fc7));color:#fff;border-bottom-right-radius:var(--space-1, 4px)}.companion-mode__message--companion{align-self:flex-start;background:var(--surface-alt, #f3f4f6);color:var(--text, #1a1d2e);border-bottom-left-radius:var(--space-1, 4px)}.companion-mode__text{display:block}.companion-mode-typing{display:flex;gap:4px;align-items:center}.companion-mode-typing__dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted, #5f6580);animation:companion-mode-typing-bounce 1.4s infinite ease-in-out both}.companion-mode-typing__dot:nth-child(1){animation-delay:-.32s}.companion-mode-typing__dot:nth-child(2){animation-delay:-.16s}@keyframes companion-mode-typing-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.companion-mode-typing__dot{animation:none}}.companion-mode-error{align-self:stretch;max-width:90%;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-sm, 10px);background:#dc322f1a;border:1px solid rgba(220,50,47,.3);color:#c0392b;font-size:var(--fs-sm, .85rem);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.companion-mode-error__retry{border:none;background:transparent;color:#c0392b;font-size:var(--fs-sm, .85rem);cursor:pointer;text-decoration:underline}.companion-mode__law3.companion-law3--highlight{align-self:stretch;padding:var(--space-3, 12px);border-radius:var(--radius, 16px);background:#6c5ce70f;border-left:3px solid var(--color-primary, #6c5ce7);margin:var(--space-2, 8px) 0}.companion-mode__law3-buttons{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.companion-mode__law3-btn{flex:1;min-width:100px;padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);background:var(--surface, #ffffff);color:var(--text, #1a1d2e);font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:all .2s ease}.companion-mode__law3-btn--accept{background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;border-color:transparent}.companion-mode__law3-btn--accept:hover{opacity:.9}.companion-mode__law3-btn--insist:hover{background:var(--surface-alt, #f3f4f6)}.companion-mode__law3-btn:focus-visible{outline:2px solid var(--color-primary, #6c5ce7);outline-offset:2px}.companion-mode-lesson-offer{align-self:stretch;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 16px);background:var(--surface-alt, #f3f4f6);border:1px solid var(--border, #e4e6f0)}.companion-mode-lesson-offer__title{margin:0 0 var(--space-2, 8px) 0;font-size:var(--fs-base, .95rem);font-weight:var(--fw-medium, 500);color:var(--text, #1a1d2e)}.companion-mode-lesson-offer__buttons{display:flex;gap:var(--space-2, 8px)}.companion-mode-lesson-offer__btn{flex:1;padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);background:var(--surface, #ffffff);color:var(--text, #1a1d2e);font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-medium, 500);cursor:pointer;transition:all .2s ease}.companion-mode-lesson-offer__btn--accept{background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;border-color:transparent}.companion-mode-lesson-offer__btn--accept:hover{opacity:.9}.companion-mode-lesson-offer__btn--decline:hover{background:var(--surface-alt, #f3f4f6)}.companion-mode-lesson-offer__btn:focus-visible{outline:2px solid var(--color-primary, #6c5ce7);outline-offset:2px}.companion-mode-input-area{padding:var(--space-4, 16px);border-top:1px solid var(--border, #e4e6f0);background:var(--surface, #ffffff)}.companion-mode-input-label{display:block;font-size:var(--fs-sm, .85rem);color:var(--text-muted, #5f6580);margin-bottom:var(--space-2, 8px)}.companion-mode-input-row{display:flex;gap:var(--space-2, 8px)}.companion-mode-input{flex:1;padding:var(--space-3, 12px) var(--space-4, 16px);border:1px solid var(--border, #e4e6f0);border-radius:var(--radius-pill, 50px);font-family:var(--font-sans);font-size:var(--fs-base, .95rem);outline:none;transition:border-color .2s ease}.companion-mode-input:focus{border-color:var(--color-primary, #6c5ce7)}.companion-mode-input:focus-visible{outline:2px solid var(--color-primary, #6c5ce7);outline-offset:2px}.companion-mode-input:disabled{opacity:.5;cursor:not-allowed}.companion-mode-send{padding:var(--space-3, 12px) var(--space-5, 20px);border:none;border-radius:var(--radius-pill, 50px);background:var(--gradient-cta, linear-gradient(135deg, #6366f1, #06b6d4));color:#fff;font-family:var(--font-sans);font-size:var(--fs-sm, .85rem);font-weight:var(--fw-semibold, 600);cursor:pointer;transition:opacity .2s ease}.companion-mode-send:disabled{opacity:.5;cursor:not-allowed}.companion-mode-send:focus-visible{outline:2px solid var(--color-primary-light, #a29bfe);outline-offset:2px}@media(max-width:768px){.companion-mode-container{min-height:calc(100vh - 64px);border-radius:0}.companion-mode-page{padding:0}}.companion-mode__artifact.companion-artifact{width:100%;border:1px solid var(--border, #e4e6f0);border-radius:var(--radius, 16px);background:var(--surface, #ffffff);overflow:hidden}.companion-artifact__label{display:inline-block;padding:2px var(--space-2, 8px);margin:var(--space-2, 8px) var(--space-2, 8px) 0;font-size:var(--fs-xs, .7rem);font-weight:var(--fw-semibold, 600);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary, #6c5ce7);background:#6c5ce71a;border-radius:var(--radius-sm, 10px)}.companion-artifact__body{padding:var(--space-2, 8px) var(--space-3, 12px) var(--space-3, 12px)}.companion-artifact__code{margin:var(--space-2, 8px) 0 0;padding:var(--space-3, 12px);background:var(--surface-deep, #1e1e2e);border-radius:var(--radius-sm, 10px);overflow-x:auto}.companion-artifact__code code{font-family:var(--font-mono, "Courier New", monospace);font-size:var(--fs-sm, .85rem);color:#e0e0e8;line-height:1.5;white-space:pre}.companion-artifact__list{list-style:none;margin:var(--space-2, 8px) 0 0;padding:0}.companion-artifact__list-item{padding:var(--space-1, 4px) 0 var(--space-1, 4px) var(--space-4, 16px);font-size:var(--fs-base, .95rem);line-height:var(--leading-normal, 1.6);color:var(--text, #1a1d2e);position:relative}.companion-artifact__list-item:before{content:"▸";position:absolute;left:0;color:var(--color-primary, #6c5ce7)}.companion-artifact__matrix{margin:var(--space-2, 8px) 0 0;display:flex;flex-direction:column;gap:1px;background:var(--border, #e4e6f0);border-radius:var(--radius-sm, 10px);overflow:hidden}.companion-artifact__matrix-row{display:flex;gap:1px;background:var(--border, #e4e6f0)}.companion-artifact__matrix-row:first-child .companion-artifact__matrix-cell{font-weight:var(--fw-semibold, 600);background:var(--surface-alt, #f3f4f6)}.companion-artifact__matrix-cell{flex:1;padding:var(--space-2, 8px);background:var(--surface, #ffffff);font-size:var(--fs-sm, .85rem);line-height:1.4;color:var(--text, #1a1d2e)}.companion-artifact__draft{margin:var(--space-2, 8px) 0 0}.companion-artifact__heading{margin:var(--space-3, 12px) 0 var(--space-1, 4px);font-size:var(--fs-base, .95rem);font-weight:var(--fw-semibold, 600);color:var(--text, #1a1d2e)}.companion-artifact__paragraph{margin:var(--space-1, 4px) 0;font-size:var(--fs-base, .95rem);line-height:var(--leading-normal, 1.6);color:var(--text, #1a1d2e)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;background:var(--bg)}.app-loading p{font-size:.9rem;color:var(--text-muted);font-weight:500}.app-loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:app-spin .7s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}:root{--color-primary: #6c5ce7;--color-primary-dark: #5a4bd1;--color-primary-light: #a29bfe;--color-secondary: #00b4d8;--color-accent: #fd7e14;--color-accent-warm: #e17055;--color-success: #00b894;--color-danger: #c0392b;--color-cta-from: #6366f1;--color-cta-to: #06b6d4;--color-accent-strong: #b45309;--color-success-strong: #047857;--surface: #ffffff;--surface-alt: #f3f4f6;--surface-subtle: #eef0f7;--surface-hover: #f0f1f8;--bg: #f7f8fc;--text: #1a1d2e;--text-muted: #5f6580;--text-dim: #595f6b;--border: #e4e6f0;--border-light: #eef0f7;--border-strong: #d1d5db;--surface-dark-panel: rgba(255, 255, 255, .06);--surface-dark-panel-strong: rgba(255, 255, 255, .1);--surface-dark-sidebar: rgba(255, 255, 255, .04);--surface-dark-option: rgba(255, 255, 255, .05);--border-on-dark: rgba(255, 255, 255, .12);--border-on-dark-soft: rgba(255, 255, 255, .08);--text-on-dark: #ffffff;--text-on-dark-muted: rgba(255, 255, 255, .72);--text-on-dark-dim: rgba(255, 255, 255, .6);--bg-dark-gradient: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--radius-pill: 50px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(108, 92, 231, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(108, 92, 231, .1), 0 2px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 30px rgba(108, 92, 231, .12), 0 4px 12px rgba(0, 0, 0, .06);--shadow-glow: 0 4px 20px rgba(108, 92, 231, .25);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-xs: .75rem;--fs-sm: .85rem;--fs-base: .95rem;--fs-md: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--leading-tight: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.7;--border-width: 1px;--border-width-accent: 4px;--border-style: solid;--gradient: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 50%, #74b9ff 100%);--gradient-warm: linear-gradient(135deg, #6c5ce7 0%, #e17055 100%);--gradient-hero: linear-gradient(160deg, #f7f8fc 0%, #eee5ff 40%, #dfe9ff 100%);--gradient-cta: linear-gradient(135deg, var(--color-cta-from), var(--color-cta-to));--gradient-deep: linear-gradient(135deg, #6c5ce7 0%, #4c3fc7 100%);--capstone-badge-from: #b45309;--capstone-badge-to: #d97706;--capstone-badge-gradient: linear-gradient(135deg, var(--capstone-badge-from), var(--capstone-badge-to));--capstone-accent: #6366f1;--capstone-accent-dark: #4f46e5;--capstone-text-dark: #1e293b;--capstone-text-body: #475569;--capstone-text-muted: #576074;--capstone-text-dim: #646e7b;--capstone-text-strong: #334155;--capstone-surface-tint: #f8fafc;--capstone-border: #e2e8f0;--capstone-border-light: #f1f5f9;--capstone-next-steps-from: #f0f9ff;--capstone-next-steps-to: #e0f2fe;--capstone-next-steps-border: #bae6fd;--capstone-next-steps-accent: #0284c7;--capstone-next-steps-text: #0c4a6e;--capstone-next-steps-gradient: linear-gradient(135deg, var(--capstone-next-steps-from), var(--capstone-next-steps-to));--capstone-error-text: #ef4444;--capstone-error-bg: #fef2f2;--capstone-error-border: #fecaca;--capstone-cta-gradient: linear-gradient(135deg, var(--capstone-accent), var(--capstone-accent-dark));--primary: var(--color-primary);--primary-dark: var(--color-primary-dark);--primary-light: var(--color-primary-light);--secondary: var(--color-secondary);--accent: var(--color-accent);--accent-warm: var(--color-accent-warm);--muted: var(--text-muted);--success: var(--color-success);--bg-white: var(--surface);--bg-card: var(--surface);--bg-card-hover: var(--surface-hover);--bg-subtle: var(--surface-subtle)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column}.app-fullscreen{height:100vh;overflow:hidden}.app-fullscreen .main-content{overflow:hidden}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}button{cursor:pointer;font-family:inherit}.container{max-width:1140px;margin:0 auto;padding:0 24px}.section{padding:80px 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--radius-pill);font-weight:600;font-size:.92rem;border:none;transition:all .25s ease;text-decoration:none;letter-spacing:-.01em}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow),0 2px 8px #6c5ce74d}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg),0 4px 16px #6c5ce759;color:#fff}.btn-secondary{background:var(--bg-white);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--primary-light);color:var(--primary)}.btn-lg{padding:15px 36px;font-size:1rem}.btn-sm{padding:8px 18px;font-size:.82rem}.gradient-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.section-header{text-align:center;margin-bottom:48px}.section-header h2{font-size:2.1rem;font-weight:750;margin-bottom:10px;letter-spacing:-.03em}.section-header p{color:var(--text-muted);font-size:1.05rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float{animation:float 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #6c5ce733}50%{box-shadow:0 0 0 8px #6c5ce700}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:#6c5ce7;color:#fff;padding:10px 18px;border-radius:0 0 10px 10px;font-weight:600;text-decoration:none}.skip-link:focus{left:0}.skeleton{background:linear-gradient(90deg,#eef0f7 25%,#e4e6f0 37%,#eef0f7 63%);background-size:400% 100%;border-radius:8px;animation:skeleton-shimmer 1.4s ease infinite}.skeleton__line{height:18px;width:60%}.skeleton__card{height:120px;width:100%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.skeleton{animation:none;background:#eef0f7}}
