@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--h:161;--s:94%;--color-primary:hsl(var(--h), var(--s), 30%);--color-primary-light:hsl(var(--h), var(--s), 45%);--color-primary-dark:hsl(var(--h), var(--s), 20%);--color-primary-glow:hsla(var(--h), var(--s), 45%, .15);--color-accent:#00ff80;--color-accent-soft:#8cf2c8;--color-bg:#090b0b;--color-surface-base:#121616d9;--color-surface-bright:#1c2222f2;--color-surface-glass:#0e1111a6;--color-text:#f3f7f5;--color-text-muted:#9dafa9;--color-text-dim:#677e77;--color-border:hsla(var(--h), var(--s), 40%, .12);--color-border-bright:hsla(var(--h), var(--s), 50%, .25);--radius-full:9999px;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--space-unit:4px;--space-xs:calc(var(--space-unit) * 1);--space-sm:calc(var(--space-unit) * 2);--space-md:calc(var(--space-unit) * 4);--space-lg:calc(var(--space-unit) * 6);--space-xl:calc(var(--space-unit) * 10);--shadow-sm:0 4px 12px -2px #0006;--shadow-md:0 12px 32px -8px #0009;--shadow-lg:0 24px 64px -12px #000c;--shadow-glow:0 0 20px -2px hsla(var(--h), var(--s), 40%, .2);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:Inter,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";background:radial-gradient(circle at 0% 0%, hsla(var(--h), var(--s), 20%, .15) 0%, transparent 50%), radial-gradient(circle at 100% 100%, hsla(var(--h), var(--s), 10%, .1) 0%, transparent 50%);pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-bright);border-radius:var(--radius-full);border:3px solid var(--color-bg)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}h1,h2,h3,h4,.font-heading{letter-spacing:-.02em;color:var(--color-text);font-family:Outfit,sans-serif;font-weight:700;line-height:1.2}p,span,li,a{letter-spacing:0;font-weight:400}a{color:var(--color-primary-light);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}button,.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;padding:12px 24px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:var(--shadow-sm), var(--shadow-glow)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md), 0 0 25px -2px hsla(var(--h), var(--s), 45%, .3);filter:brightness(1.1);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-surface-bright);border:1px solid var(--color-border-bright);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:hsla(var(--h), var(--s), 30%, .1);border-color:var(--color-primary-light);color:var(--color-primary-light)}.btn-ghost{color:var(--color-text-muted);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:hsla(var(--h), var(--s), 40%, .1);color:var(--color-text)}button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.form-group{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-group label{color:var(--color-primary-light);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;font-weight:600}input,select,textarea{background:var(--color-surface-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);transition:all var(--transition-base);padding:14px 18px;font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary-light);background:var(--color-surface-base);box-shadow:0 0 0 4px var(--color-primary-glow);outline:none}input::placeholder{color:var(--color-text-dim)}.glass{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.section-glass{background:var(--color-surface-base);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md)}.text-gradient{background:linear-gradient(135deg, var(--color-text), var(--color-primary-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shimmer-bg{background:linear-gradient(90deg,#fff0 0%,#ffffff0d 50%,#fff0 100%) 0 0/200% 100%;animation:3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.app-container{max-width:1100px;padding:var(--space-xl) var(--space-lg);min-height:100vh;margin:0 auto}.navbar{padding:var(--space-md) var(--space-xl);margin-bottom:var(--space-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-full);top:var(--space-md);z-index:100;background:#090b0bcc;justify-content:space-between;align-items:center;display:flex;position:sticky}.nav-brand{color:var(--color-text);text-transform:lowercase;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.nav-brand span{color:var(--color-primary-light)}.nav-actions{gap:var(--space-md);display:flex}.hero{text-align:center;margin-bottom:var(--space-xl);animation:fadeInUp var(--transition-slow) var(--ease-out-expo) forwards}.hero h1{margin-bottom:var(--space-sm);font-size:clamp(2.5rem,6vw,4rem)}.hero p{color:var(--color-text-muted);max-width:600px;margin:0 auto;font-size:1.15rem}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr}}.form-card{max-width:100%}.form-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.roadmap-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;display:flex}.week-card{margin-bottom:var(--space-lg);transition:all var(--transition-base);position:relative;overflow:visible}.week-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.week-card:before{content:"";width:2px;height:calc(100% + var(--space-lg));background:var(--color-border);z-index:-1;position:absolute;top:50%;left:-20px}.week-card:last-child:before{display:none}.week-badge{top:-12px;left:var(--space-xl);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.1em;padding:4px 14px;font-size:.75rem;font-weight:700;position:absolute;box-shadow:0 4px 10px #0006}.week-grid{gap:var(--space-xl);margin-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.week-grid{grid-template-columns:1fr}}.content-section h4{color:var(--color-text-dim);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.9rem;display:flex}.content-list{list-style:none}.content-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);align-items:flex-start;gap:var(--space-sm);font-size:.95rem;display:flex}.content-list li:last-child{border-bottom:none}.custom-checkbox{border:2px solid var(--color-border-bright);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);background:var(--color-surface-glass);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.custom-checkbox.checked{background:var(--color-primary-light);border-color:var(--color-primary-light);animation:bounce .3s var(--ease-out-expo)}.custom-checkbox.checked:after{content:"✓";color:#fff;font-size:14px;font-weight:900}.content-list li.completed span{color:var(--color-text-dim);text-decoration:line-through}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.ai-box{margin-top:var(--space-xl);padding:var(--space-lg);background:hsla(var(--h), var(--s), 20%, .08);border:1px solid hsla(var(--h), var(--s), 50%, .1);border-radius:var(--radius-lg)}.ai-box header{text-transform:uppercase;color:var(--color-primary-light);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-family:Outfit;font-size:.8rem;font-weight:700;display:flex}.toast-container{bottom:var(--space-xl);right:var(--space-xl);z-index:2000;position:fixed}.toast{background:var(--color-surface-bright);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary-light);animation:slideIn .5s var(--ease-out-expo);padding:16px 28px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.spinner{border:3px solid hsla(var(--h), var(--s), 50%, .1);border-top-color:var(--color-primary-light);border-radius:var(--radius-full);width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
