:root{--color-bg:#fafafa;--color-bg-alt:#fff;--color-bg-elevated:#fff;--color-bg-code:#f4f4f5;--color-surface:#f4f4f5;--color-border:#e4e4e7;--color-border-light:#f4f4f5;--color-text:#18181b;--color-text-secondary:#52525b;--color-text-tertiary:#a1a1aa;--color-text-inverse:#fafafa;--color-grade:#dec0b6;--color-accent:#6366f1;--color-accent-hover:#4f46e5;--color-accent-soft:#eef2ff;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 30px #00000014;--shadow-xl:0 20px 50px #0000001a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--max-width:1200px;--max-width-prose:720px;--header-height:64px}[data-theme=dark]{--color-bg:#09090b;--color-bg-alt:#18181b;--color-bg-elevated:#27272a;--color-bg-code:#1e1e2e;--color-surface:#18181b;--color-border:#27272a;--color-border-light:#1e1e2e;--color-text:#fafafa;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-inverse:#18181b;--color-grade:#7e4e47;--color-accent:#818cf8;--color-accent-hover:#6366f1;--color-accent-soft:#6366f126;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #00000059;--shadow-xl:0 20px 50px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);transition:background var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out);line-height:1.6}h1{font-family:Bricolage Grotesque,sans-serif}a{color:var(--color-accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}.prose-container{max-width:var(--max-width-prose);margin:0 auto}.header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);transition:background var(--duration-normal) var(--ease-out);background:#fafafacc;position:sticky;top:0}[data-theme=dark] .header{background:#09090bcc}.header-inner{height:100%;max-width:var(--max-width);padding:0 var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-logo{font-weight:700;font-size:var(--text-lg);color:var(--color-text);align-items:center;gap:var(--space-2);display:flex}.header-logo:hover{color:var(--color-accent)}.header-nav{align-items:center;gap:var(--space-1);display:flex}.header-nav a,.header-nav button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);font-weight:500}.header-nav a:hover,.header-nav button:hover{color:var(--color-text);background:var(--color-surface)}.header-nav a.active{color:var(--color-accent);background:var(--color-accent-soft)}.mobile-nav-toggle{padding:var(--space-2);flex-direction:column;gap:5px;display:none}.mobile-nav-toggle span{background:var(--color-text);width:20px;height:2px;transition:all var(--duration-fast) var(--ease-out)}@media (max-width:768px){.mobile-nav-toggle{display:flex}.header-nav{top:var(--header-height);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:var(--space-4);opacity:0;pointer-events:none;transition:all var(--duration-normal) var(--ease-out);flex-direction:column;position:fixed;left:0;right:0;transform:translateY(-100%)}.header-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.header-nav a,.header-nav button{width:100%;padding:var(--space-3) var(--space-4);text-align:left}}.theme-toggle{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--color-surface);color:var(--color-text)}.theme-toggle svg{width:18px;height:18px}.footer{border-top:1px solid var(--color-border);padding:var(--space-12) 0;margin-top:var(--space-24)}.footer-inner{max-width:var(--max-width);padding:0 var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.footer-text{font-size:var(--text-sm);color:var(--color-text-tertiary)}.footer-links{gap:var(--space-4);display:flex}.footer-links a{font-size:var(--text-sm);color:var(--color-text-tertiary)}.footer-links a:hover{color:var(--color-accent)}.hero{padding:var(--space-24) 0 var(--space-16);text-align:left;align-items:center;gap:var(--space-12);grid-template-columns:1.2fr 1fr;display:grid}@media (max-width:900px){.hero{text-align:left;gap:var(--space-16);grid-template-columns:1fr}}.hero-content{max-width:650px}.hero-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-6);font-weight:600;display:inline-flex}.hero h1{letter-spacing:-.03em;margin-bottom:var(--space-4);background:linear-gradient(135deg, var(--color-text) 0%, var(--color-text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;line-height:1.1}.hero p{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;margin:0 0 var(--space-8) 0;line-height:1.7}.hero-collage{aspect-ratio:1;width:100%;max-width:450px;margin:0 auto;position:relative}.hero-img-wrapper{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:6px solid var(--color-bg);background:var(--color-surface);transition:transform var(--duration-normal) var(--ease-out), z-index 0s;position:absolute;overflow:hidden}.hero-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-out)}.img-1{aspect-ratio:4/5;z-index:2;width:55%;bottom:0%;left:0;transform:rotate(-3deg)}.img-2{aspect-ratio:3/4;z-index:1;width:60%;top:0;right:0;transform:rotate(4deg)}.img-3{aspect-ratio:1;z-index:3;width:50%;bottom:5%;right:10%;transform:rotate(-2deg)}.hero-img-wrapper:hover{z-index:10;transform:scale(1.05)rotate(0)}.hero-img-wrapper:hover img{transform:scale(1.05)}.hero-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out);font-weight:600;display:inline-flex}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 1px 2px #6366f14d}.btn-primary:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-elevated);border-color:var(--color-text-tertiary);transform:translateY(-1px)}.section{margin-bottom:var(--space-20)}.section-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.section-header h2{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700}.section-header a{font-size:var(--text-sm);font-weight:500}.card-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}@media (max-width:768px){.card-grid{grid-template-columns:1fr}}.post-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--duration-normal) var(--ease-out);overflow:hidden}.post-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.post-card-image{aspect-ratio:16/9;background:var(--color-surface);overflow:hidden}.post-card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out)}.post-card:hover .post-card-image img{transform:scale(1.03)}.post-card-body{padding:var(--space-5)}.post-card-meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.post-card-tag{padding:var(--space-1) var(--space-2);background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-sm);font-weight:500;font-size:var(--text-xs)}.post-card-body h3{font-size:var(--text-lg);margin-bottom:var(--space-2);letter-spacing:-.01em;color:var(--color-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.post-card-body p{font-size:var(--text-sm);color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.course-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.course-card-image{aspect-ratio:2;background:linear-gradient(135deg, var(--color-accent) 0%, #a78bfa 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.course-card-image img{object-fit:cover;width:100%;height:100%}.course-card-lesson-count{top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--radius-full);font-size:var(--text-xs);background:#0009;font-weight:600;position:absolute}.course-card-body{padding:var(--space-5)}.course-card-body h3{font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--color-text);font-weight:600}.course-card-body p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.tag-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:var(--space-1) var(--space-3);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);transition:all var(--duration-fast) var(--ease-out);border:1px solid var(--color-border);align-items:center;font-weight:500;display:inline-flex}.tag:hover{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.article-header{padding:var(--space-16) 0 var(--space-8);text-align:center}.article-header h1{letter-spacing:-.03em;margin-bottom:var(--space-4);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.15}.article-meta{justify-content:center;align-items:center;gap:var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.article-meta .dot{background:var(--color-text-tertiary);border-radius:50%;width:3px;height:3px}.prose{max-width:var(--max-width-prose);font-size:var(--text-base);color:var(--color-text);margin:0 auto;line-height:1.8}.prose h2{font-size:var(--text-2xl);margin:var(--space-12) 0 var(--space-4);letter-spacing:-.02em;font-weight:700}.prose h3{font-size:var(--text-xl);margin:var(--space-8) 0 var(--space-3);font-weight:600}.prose h4{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2);font-weight:600}.prose p{margin-bottom:var(--space-4)}.prose strong{font-weight:600}.prose ul,.prose ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.prose li{margin-bottom:var(--space-2)}.prose li::marker{color:var(--color-accent)}.prose blockquote{border-left:3px solid var(--color-accent);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0;background:var(--color-accent-soft);border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--color-text-secondary);font-style:italic}.prose img{border-radius:var(--radius-lg);margin:var(--space-8) 0;box-shadow:var(--shadow-md)}.prose hr{background:var(--color-border);height:1px;margin:var(--space-12) 0;border:none}.prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--color-accent-hover)}.prose table{border-collapse:collapse;width:100%;margin:var(--space-6) 0;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);text-align:left}.prose th{background:var(--color-surface);font-weight:600}.prose code{font-family:var(--font-mono);background:var(--color-bg-code);border-radius:var(--radius-sm);color:var(--color-accent);padding:.15em .35em;font-size:.9em}.prose pre{background:var(--color-bg-code);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-6) 0;position:relative;overflow-x:auto}.prose pre code{color:var(--color-text);font-size:var(--text-sm);background:0 0;padding:0;line-height:1.7}[data-theme=dark] .prose pre{background:#1e1e2e}.code-block-wrapper{margin:var(--space-6) 0;position:relative}.code-block-header{padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);border-bottom:none;justify-content:space-between;align-items:center;display:flex}.code-block-header+pre{border-radius:0 0 var(--radius-lg) var(--radius-lg);margin-top:0}.copy-btn{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-tertiary);transition:all var(--duration-fast) var(--ease-out)}.copy-btn:hover{background:var(--color-bg-elevated);color:var(--color-text)}.callout{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin:var(--space-6) 0;gap:var(--space-3);font-size:var(--text-sm);line-height:1.6;display:flex}.callout-icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.callout-tip{color:var(--color-text);background:#22c55e14;border:1px solid #22c55e33}.callout-warning{color:var(--color-text);background:#f59e0b14;border:1px solid #f59e0b33}.callout-info{color:var(--color-text);background:#3b82f614;border:1px solid #3b82f633}.callout-error{color:var(--color-text);background:#ef444414;border:1px solid #ef444433}.checklist{margin:var(--space-4) 0;padding-left:0;list-style:none}.checklist-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);display:flex}.checklist-item:last-child{border-bottom:none}.checklist-checkbox{border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;width:20px;height:20px;transition:all var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.checklist-checkbox.checked{background:var(--color-accent);border-color:var(--color-accent)}.checklist-item.checked .checklist-text{color:var(--color-text-tertiary);text-decoration:line-through}.youtube-embed{width:100%;margin:var(--space-8) 0;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding-bottom:56.25%;position:relative;overflow:hidden}.youtube-embed iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.download-card{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-4) 0;transition:all var(--duration-fast) var(--ease-out);display:flex}.download-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.download-card-icon{background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.download-card-info{flex:1}.download-card-info h4{font-size:var(--text-sm);margin-bottom:2px;font-weight:600}.download-card-info p{font-size:var(--text-xs);color:var(--color-text-tertiary)}.lesson-nav{gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.lesson-nav-item{padding:var(--space-4) var(--space-5);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-out)}.lesson-nav-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.lesson-nav-item.next{text-align:right;grid-column:2}.lesson-nav-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1);font-weight:500}.lesson-nav-title{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.course-layout{gap:var(--space-8);max-width:var(--max-width);padding:var(--space-8) var(--space-6);grid-template-columns:280px 1fr;margin:0 auto;display:grid}@media (max-width:900px){.course-layout{grid-template-columns:1fr}}.course-sidebar{top:calc(var(--header-height) + var(--space-6));align-self:start;position:sticky}.course-sidebar-inner{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5)}.course-sidebar h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-4);font-weight:700}.sidebar-lesson-list{padding:0;list-style:none}.sidebar-lesson-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);margin-bottom:var(--space-1);display:block}.sidebar-lesson-item:hover{background:var(--color-surface);color:var(--color-text)}.sidebar-lesson-item.active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:500}.sidebar-lesson-number{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-right:var(--space-2);font-weight:500}.search-input-wrapper{position:relative}.search-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text);transition:all var(--duration-fast) var(--ease-out)}.search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.search-input::placeholder{color:var(--color-text-tertiary)}.search-icon{left:var(--space-3);color:var(--color-text-tertiary);width:18px;height:18px;position:absolute;top:50%;transform:translateY(-50%)}.newsletter{background:linear-gradient(135deg, var(--color-accent) 0%, #a78bfa 100%);border-radius:var(--radius-2xl);padding:var(--space-12);text-align:center;color:#fff;margin:var(--space-16) 0}.newsletter h2{font-size:var(--text-2xl);margin-bottom:var(--space-3);font-weight:700}.newsletter p{font-size:var(--text-sm);opacity:.9;margin-bottom:var(--space-6);max-width:480px;margin-left:auto;margin-right:auto}.newsletter-form{gap:var(--space-3);max-width:420px;margin:0 auto;display:flex}.newsletter-form input{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:#fff;font-size:var(--text-sm);font-family:var(--font-sans);background:#ffffff26;border:1px solid #ffffff4d;flex:1}.newsletter-form input::placeholder{color:#ffffffb3}.newsletter-form input:focus{background:#ffffff40;border-color:#fff;outline:none}.newsletter-form button{padding:var(--space-3) var(--space-5);color:var(--color-accent);border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;background:#fff}.newsletter-form button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}@media (max-width:500px){.newsletter-form{flex-direction:column}.newsletter{padding:var(--space-8)}}.admin-layout{min-height:calc(100vh - var(--header-height));grid-template-columns:240px 1fr;display:grid}@media (max-width:768px){.admin-layout{grid-template-columns:1fr}}.admin-sidebar{background:var(--color-bg-alt);border-right:1px solid var(--color-border);padding:var(--space-6) var(--space-4)}.admin-sidebar-nav{gap:var(--space-1);flex-direction:column;display:flex}.admin-sidebar-nav a{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.admin-sidebar-nav a:hover,.admin-sidebar-nav a.active{background:var(--color-accent-soft);color:var(--color-accent)}.admin-content{padding:var(--space-8)}.admin-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.admin-header h1{font-size:var(--text-2xl);font-weight:700}.login-container{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:400px;padding:var(--space-10);box-shadow:var(--shadow-lg)}.login-card h1{font-size:var(--text-2xl);text-align:center;margin-bottom:var(--space-2);font-weight:700}.login-card p{text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-8)}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:500;display:block}.form-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text);transition:all var(--duration-fast) var(--ease-out)}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.form-textarea{resize:vertical;min-height:200px;font-family:var(--font-mono);line-height:1.6}.editor-layout{gap:var(--space-4);height:calc(100vh - var(--header-height) - var(--space-16));grid-template-columns:1fr 1fr;display:grid}@media (max-width:900px){.editor-layout{grid-template-columns:1fr}}.editor-pane{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.editor-pane-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);background:var(--color-surface);font-weight:600}.editor-pane-body{padding:var(--space-4);flex:1;overflow-y:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.data-table tr:hover td{background:var(--color-surface)}.status-badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;font-weight:600;display:inline-flex}.status-published{color:var(--color-success);background:#22c55e1a}.status-draft{color:var(--color-warning);background:#f59e0b1a}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border-light) 50%, var(--color-surface) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:var(--space-16) var(--space-8);color:var(--color-text-tertiary)}.empty-state h3{font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:600}.empty-state p{font-size:var(--text-sm);margin-bottom:var(--space-6)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.feedback-toggle{bottom:var(--space-6);right:var(--space-6);z-index:50;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:var(--color-text);font-weight:600;font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out);display:flex;position:fixed}.feedback-toggle:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.feedback-widget{bottom:var(--space-6);right:var(--space-6);z-index:50;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:320px;box-shadow:var(--shadow-xl);animation:slideUp .3s var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.feedback-header h3{font-size:var(--text-sm);margin:0;font-weight:600}.feedback-header button{color:var(--color-text-tertiary);padding:var(--space-1);display:flex}.feedback-header button:hover{color:var(--color-text)}.feedback-body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.feedback-group{gap:var(--space-2);flex-direction:column;display:flex}.feedback-group label{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.feedback-scale{justify-content:space-between;display:flex}.scale-btn{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:flex}.scale-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.scale-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.scale-labels{font-size:calc(var(--text-xs) - 1px);color:var(--color-text-tertiary);margin-top:calc(var(--space-1) * -1);justify-content:space-between;display:flex}.feedback-group textarea{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:var(--text-sm);resize:vertical}.feedback-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft);outline:none}.feedback-submit{justify-content:center;width:100%}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-success{padding:var(--space-8) var(--space-4);align-items:center;gap:var(--space-3);text-align:center;color:var(--color-success);flex-direction:column;display:flex}.feedback-success p{color:var(--color-text);font-weight:500;font-size:var(--text-sm);margin:0}@media (max-width:768px){.feedback-toggle{bottom:var(--space-4);right:var(--space-4)}.feedback-widget{bottom:var(--space-4);right:var(--space-4);left:var(--space-4);width:auto}}
