@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--font-display:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--theme-accent:#0071e3;--theme-accent-bright:#2997ff;--theme-accent-secondary:#60a5fa;--theme-accent-glow:#0071e373;--theme-accent-soft:#0071e326;--theme-gradient:linear-gradient(135deg, #0071e3 0%, #326ce5 50%, #2997ff 100%);--theme-accent-dot:#2997ff;--apple-blue:#0071e3;--apple-blue-hover:#0077ed;--apple-blue-light:#2997ff;--apple-cyan:#06b6d4;--apple-emerald:#30d158;--apple-emerald-dark:#10b981;--apple-yellow:#ffd60a;--apple-red:#ff453a;--apple-purple:#bf4800;--k8s-blue:#326ce5;--ckad-green:#10b981;--ai-purple:#8b5cf6;--apple-radius-pill:9999px;--apple-radius-card:22px;--apple-radius-bento:26px}:root,[data-theme=dark]{--bg-primary:#000;--bg-secondary:#0a0d16;--bg-surface:#121214;--bg-card:#161618d9;--bg-card-elevated:#1c1c1ef2;--bg-pill:#ffffff14;--text-headline:#f5f5f7;--text-body:#d2d2d7;--text-subhead:#a1a1a6;--text-muted:#86868b;--text-dim:#6e6e73;--border-surface:#ffffff1f;--border-subtle:#ffffff14;--border-glow:var(--theme-accent-glow);--shadow-card:0 20px 50px -10px #000000d9;--shadow-bento:0 25px 60px -15px #000000e6;--shadow-elevated:0 30px 80px #000000f2;--contrast-card-bg:#fff;--contrast-card-text:#1d1d1f;--contrast-card-muted:#6e6e73}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-surface:#fff;--bg-card:#ffffffe0;--bg-card-elevated:#fffffff5;--bg-pill:#0000000f;--text-headline:#1d1d1f;--text-body:#333336;--text-subhead:#515154;--text-muted:#86868b;--text-dim:#a1a1a6;--border-surface:#00000017;--border-subtle:#0000000f;--border-glow:var(--theme-accent-glow);--shadow-card:0 10px 30px -5px #00000014;--shadow-bento:0 20px 50px -10px #0000001a;--shadow-elevated:0 25px 60px #0000001f;--contrast-card-bg:#000;--contrast-card-text:#f5f5f7;--contrast-card-muted:#a1a1a6}*,:before,:after{box-sizing:border-box;max-width:100%;margin:0;padding:0;transition:background-color .25s,border-color .25s}html,body{max-width:100vw;position:relative;overflow-x:hidden}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-headline);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-primary);min-height:100vh;line-height:1.6}pre,code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}[data-theme=dark] body{background-image:radial-gradient(ellipse 90% 60% at 50% -10%, var(--theme-accent-soft), transparent 75%), radial-gradient(ellipse 60% 40% at 85% 35%, #8b5cf614, transparent 60%), radial-gradient(ellipse 60% 35% at 15% 70%, #10b9810f, transparent 55%);background-attachment:fixed}[data-theme=light] body{background-image:radial-gradient(ellipse 90% 60% at 50% -10%, var(--theme-accent-soft), transparent 75%), radial-gradient(ellipse 60% 40% at 85% 35%, #8b5cf60a, transparent 60%), radial-gradient(ellipse 60% 35% at 15% 70%, #10b9810a, transparent 55%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-headline);font-weight:700;line-height:1.12}p{color:var(--text-muted);line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-surface);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=768px){.container-custom{padding-left:18px;padding-right:18px}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.flex-1{flex:1}.shrink-0{flex-shrink:0}.gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.gap-2\.5{gap:10px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.hide-mobile{display:flex!important}.show-mobile-only{display:none!important}@media (width<=992px){.hide-mobile{display:none!important}.show-mobile-only{display:flex!important}}.grid-1{grid-template-columns:1fr;gap:24px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}@media (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:16px}.container-custom{padding-left:16px!important;padding-right:16px!important}}@media (width<=480px){.apple-bento{border-radius:18px!important;padding:16px!important}}[data-theme=dark] .gradient-text-apple{background:linear-gradient(#fff 0%,#f5f5f7 40%,#86868b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=light] .gradient-text-apple{background:linear-gradient(#1d1d1f 0%,#333336 40%,#6e6e73 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.gradient-text-blue{background:var(--theme-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.apple-bento{background:var(--bg-card);-webkit-backdrop-filter:blur(28px);border:1px solid var(--border-surface);border-radius:var(--apple-radius-bento);box-shadow:var(--shadow-bento);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.apple-bento:hover{border-color:var(--theme-accent-glow);transform:translateY(-2px)}.apple-glass{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-surface);border-radius:var(--apple-radius-card);transition:all .25s}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-surface);border-radius:20px;transition:all .25s}.glass-panel:hover{border-color:var(--theme-accent-glow)}.glass-pill{background:var(--bg-pill);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-surface);border-radius:9999px}.apple-white-card{background:var(--contrast-card-bg);color:var(--contrast-card-text);border-radius:var(--apple-radius-bento);border:1px solid #fff3;transition:all .3s;box-shadow:0 20px 45px #0000002e}.apple-white-card h3,.apple-white-card h4{color:var(--contrast-card-text)!important}.apple-white-card p{color:var(--contrast-card-muted)!important}.apple-btn-primary,.btn-primary{background:var(--theme-accent);box-shadow:0 4px 18px var(--theme-accent-glow), inset 0 1px 0 #ffffff59;cursor:pointer;white-space:nowrap;border:1px solid #ffffff40;border-radius:9999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 26px;font-size:.94rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;color:#fff!important}.apple-btn-primary:hover,.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 26px var(--theme-accent-glow), inset 0 1px 0 #ffffff73;transform:scale(1.02)}.apple-btn-primary:active,.btn-primary:active{transform:scale(.98)}.apple-btn-secondary,.btn-secondary{background:var(--bg-pill);color:var(--text-headline);border:1px solid var(--border-surface);-webkit-backdrop-filter:blur(14px);cursor:pointer;white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-size:.94rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.apple-btn-secondary:hover,.btn-secondary:hover{background:var(--border-surface);border-color:var(--text-muted);transform:scale(1.02)}.apple-btn-secondary:active,.btn-secondary:active{transform:scale(.98)}.apple-link{color:var(--theme-accent-bright);cursor:pointer;align-items:center;gap:4px;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.apple-link:hover{gap:8px;text-decoration:underline}.btn-ghost{color:var(--text-subhead);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:8px 14px;font-size:.88rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-ghost:hover{color:var(--text-headline);background:var(--bg-pill)}.input-field{background:var(--bg-surface);border:1px solid var(--border-surface);width:100%;color:var(--text-headline);border-radius:12px;padding:12px 16px;font-size:.92rem;transition:all .2s}.input-field:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px var(--theme-accent-soft);outline:none}.modal-backdrop{-webkit-backdrop-filter:blur(22px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-dialog{background:var(--bg-surface);border:1px solid var(--border-surface);width:100%;max-width:660px;box-shadow:var(--shadow-elevated), 0 0 70px var(--theme-accent-glow);border-radius:24px;flex-direction:column;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-card);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-card);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.container-custom{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.learn-container{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.learn-card{background:var(--bg-card);border:1px solid var(--border-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);border-radius:20px;padding:24px;transition:all .25s cubic-bezier(.16,1,.3,1)}.learn-card:hover{border-color:var(--border-surface);box-shadow:var(--shadow-bento)}.learn-task-item{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:16px;padding:16px 20px;transition:all .2s}.learn-task-item:hover{border-color:var(--border-surface);background:#ffffff0f}.learn-task-item.completed{background:#30d1580f;border-color:#30d15840}.learn-pill-badge{letter-spacing:.02em;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.learn-code-block{border:1px solid var(--border-subtle);font-family:var(--font-mono);color:#38bdf8;white-space:pre-wrap;word-break:break-word;background:#000;border-radius:12px;padding:12px 16px;font-size:.82rem;overflow-x:auto}.ai-drawer-overlay{-webkit-backdrop-filter:blur(4px);z-index:999;background:#0009;animation:.2s ease-out forwards fadeIn;position:fixed;inset:0}.ai-drawer{border-left:1px solid var(--border-surface);z-index:1000;background:#090d16;flex-direction:column;width:440px;max-width:95vw;animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-12px 0 40px #000000b3}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=640px){.modal-backdrop{justify-content:center;align-items:center;padding:12px}.modal-dialog{border-radius:20px;width:100%;max-height:90vh}.modal-header{padding:14px 18px}.modal-body{padding:18px}.modal-footer{flex-direction:column-reverse;gap:10px;padding:14px 18px}.modal-footer button,.modal-footer .apple-btn-primary,.modal-footer .apple-btn-secondary{justify-content:center;width:100%!important}}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.94)}}@keyframes floatSlow{0%{transform:translate(0,0)scale(1)}50%{transform:translate(20px,-20px)scale(1.05)}to{transform:translate(-15px,15px)scale(.96)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}@media print{body{color:#000!important;background:#fff!important}header,footer,.btn-primary,.btn-secondary,.btn-ghost,.modal-backdrop{display:none!important}.printable-curriculum{width:100%!important;box-shadow:none!important;display:block!important;transform:none!important}}
