:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #0ea5e9;--accent-secondary: #38bdf8;--accent-hover: #0284c7;--success: #22c55e;--border-color: #334155;--code-bg: #020617;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--transition-fast: .15s ease;--transition-normal: .3s ease}:root.light{--bg-primary: #ffffff;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--accent-primary: #0284c7;--accent-secondary: #0ea5e9;--accent-hover: #0369a1;--success: #16a34a;--border-color: #e2e8f0;--code-bg: #1e293b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.sidebar{width:300px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;flex-shrink:0;transition:transform var(--transition-normal)}.main-content{flex:1;overflow-y:auto;padding:var(--spacing-xl);background-color:var(--bg-primary);position:relative}.content-container{max-width:800px;margin:0 auto;padding-bottom:100px}.mobile-header{display:none;align-items:center;justify-content:space-between;padding:var(--spacing-md);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:40;margin:calc(var(--spacing-xl) * -1) calc(var(--spacing-xl) * -1) var(--spacing-xl) calc(var(--spacing-xl) * -1)}.mobile-title{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.menu-btn,.theme-btn{color:var(--text-primary);padding:var(--spacing-xs);border-radius:4px;display:flex;align-items:center;justify-content:center}.menu-btn:hover,.theme-btn:hover{background-color:var(--bg-tertiary)}.desktop-theme-toggle{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:768px){.sidebar{position:fixed;z-index:50;transform:translate(-100%);box-shadow:2px 0 10px #0000004d}.sidebar.open{transform:translate(0)}.main-content{padding:var(--spacing-md)}.content-container{padding-bottom:80px}.mobile-header{display:flex;margin:calc(var(--spacing-md) * -1) calc(var(--spacing-md) * -1) var(--spacing-md) calc(var(--spacing-md) * -1)}.desktop-theme-toggle{display:none}.sidebar-overlay{display:block}}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.sidebar-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.chapter-list{flex:1;overflow-y:auto;padding:var(--spacing-md)}.chapter-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);border-radius:6px;color:var(--text-secondary);font-size:.9rem;transition:all var(--transition-fast)}.chapter-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.chapter-item.active{background-color:#0ea5e926;color:var(--accent-primary);font-weight:500}.chapter-item.completed .icon{color:var(--accent-primary)}.chapter-header{margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-lg)}.chapter-title{font-size:2.5rem;font-weight:800;margin-bottom:var(--spacing-sm);background:linear-gradient(to right,var(--text-primary),var(--accent-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chapter-meta{color:var(--text-secondary);font-size:.9rem}.prose{color:var(--text-primary);font-size:1.1rem}.prose h2{font-size:1.75rem;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}.prose h3{font-size:1.4rem;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--text-primary)}.prose p{margin-bottom:var(--spacing-lg);color:var(--text-secondary)}.prose ul,.prose ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl);color:var(--text-secondary)}.prose li{margin-bottom:var(--spacing-sm)}.prose strong{color:var(--text-primary)}.code-block-wrapper{margin:var(--spacing-lg) 0;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background-color:var(--code-bg)}.code-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.copy-btn{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary);transition:color var(--transition-fast)}.copy-btn:hover{color:var(--text-primary)}.chapter-nav{display:flex;justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.nav-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;transition:all var(--transition-fast)}.nav-btn:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.nav-btn.disabled{opacity:.5;cursor:not-allowed;transform:none}.home-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.hero{text-align:center;padding:4rem 0;margin-bottom:2rem}.hero h1{font-size:3.5rem;font-weight:800;margin-bottom:1rem;line-height:1.2}.hero p{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.tutorials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.tutorial-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);transition:all var(--transition-normal);display:flex;flex-direction:column;text-decoration:none;color:inherit}.tutorial-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -10px #0000004d;border-color:var(--accent-primary)}.card-header{padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;background:var(--bg-tertiary)}.icon-wrapper{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center}.card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.card-body h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.card-body p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5;flex:1}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.chapter-count{display:flex;align-items:center;gap:.5rem}.start-link{display:flex;align-items:center;gap:.5rem;color:var(--accent-primary);font-weight:600}.like-btn{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);padding:.5rem .75rem;border-radius:20px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.like-btn:hover{background:var(--bg-tertiary);transform:scale(1.05)}.navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50}.navbar-container{max-width:1200px;margin:0 auto;padding:.75rem var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:var(--text-primary)}.navbar-desktop{display:flex;align-items:center;gap:2rem}.nav-link{color:var(--text-secondary);font-weight:500;transition:color var(--transition-fast)}.nav-link:hover{color:var(--accent-primary)}.theme-toggle-btn{color:var(--text-primary);padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.theme-toggle-btn:hover{background-color:var(--bg-tertiary)}.navbar-mobile-toggle{display:none;align-items:center;gap:.5rem}.menu-toggle-btn{color:var(--text-primary);padding:.5rem}.navbar-mobile-menu{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:1rem;display:flex;flex-direction:column;gap:1rem}.mobile-nav-link{color:var(--text-primary);font-weight:500;padding:.5rem 0}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:3rem 0 1rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3{color:var(--text-primary);margin-bottom:.5rem}.footer-section h4{color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.footer-section ul{list-style:none;padding:0}.footer-section li{margin-bottom:.5rem}.footer-section a{color:var(--text-secondary);transition:color var(--transition-fast)}.footer-section a:hover{color:var(--accent-primary)}.footer-bottom{text-align:center;color:var(--text-secondary);font-size:.9rem;padding-top:1rem;border-top:1px solid var(--border-color)}.progress-bar-container{width:100%;height:4px;background-color:var(--bg-tertiary);position:sticky;top:60px;z-index:49}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--success));transition:width .3s ease}.mobile-only{display:none}@media(max-width:768px){.navbar-desktop{display:none}.navbar-mobile-toggle{display:flex}.mobile-only{display:block}}.animated-text{display:inline-block;cursor:pointer;white-space:nowrap}.animated-char{display:inline-block;transition:color .3s ease}.animated-text:hover .animated-char{animation:wave .6s cubic-bezier(.25,.46,.45,.94) both}@keyframes wave{0%{transform:translateY(0)}50%{transform:translateY(-15px);color:var(--accent-primary);text-shadow:0 5px 15px rgba(14,165,233,.3)}to{transform:translateY(0)}}.glitter-wrapper{position:absolute;top:50%;right:-10px;transform:translateY(-50%);pointer-events:none;width:0;height:0}.animated-text{position:relative}.glitter-particle{position:absolute;font-size:1.5rem;opacity:0;line-height:1}.animated-text:hover .p1{animation:sparkle .8s ease-out forwards .8s;top:-20px;left:0}.animated-text:hover .p2{animation:sparkle .8s ease-out forwards 1s;top:0;left:15px;font-size:1rem}.animated-text:hover .p3{animation:sparkle .8s ease-out forwards 1.2s;top:15px;left:5px;font-size:1.2rem}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.text-accent{color:var(--accent-primary)}.text-success{color:var(--success)}.bg-glass{background:#1e293bb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.flex-center{display:flex;align-items:center;justify-content:center}.hidden{display:none}
