:root{color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#101827;--navy-light:#192538;--red:#d52f38;--red-hover:#b9232d;--muted:#64748b;--border:#e2e8f0;--color-bg:#f5f7fb;--color-surface:#fff;--color-surface-soft:#f4f6fa;--color-surface-hover:#edf1f6;--color-section-alt:#eaf0f7;--color-text:#182235;--color-text-muted:#64748b;--color-border:#e5e7eb;--color-input-border:#d9dfe8;--color-accent:#d52f38;--color-code-bg:#101827;--color-code-text:#e5edf8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1180px,100% - 48px);margin:0 auto}.mode-label{color:#cbd5e1;letter-spacing:.12em;border:1px solid #3a4960;border-radius:8px;padding:9px 12px;font-size:10px}.hero{color:#fff;background:radial-gradient(ellipse at 80% 25%, #23334f 0%, var(--navy) 60%);padding:88px 0 94px}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.eyebrow,.section-kicker{letter-spacing:.14em;font-size:11px;font-weight:750}.eyebrow{color:#d7e1f1;align-items:center;gap:9px;display:flex}.status-dot{background:#34d399;border-radius:50%;width:7px;height:7px}.hero h1{letter-spacing:-.045em;margin:23px 0;font-size:clamp(40px,4.4vw,64px);line-height:1.12}.hero h1 span{color:#ff626b}.hero-copy>p{color:#bac8dc;max-width:490px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:12px 18px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:var(--red-hover)}.button-outline{color:#e2e8f0;border:1px solid #526079}.button-outline:hover{background:#24334a}.hero-meta{color:#90a1ba;flex-wrap:wrap;gap:20px;margin-top:38px;font-size:11px;display:flex}.editor-card{background:#121e30;border:1px solid #40506b;border-radius:15px;overflow:hidden;box-shadow:0 30px 80px #0005}.editor-top{color:#91a2bb;letter-spacing:.12em;border-bottom:1px solid #2b3950;justify-content:space-between;align-items:center;padding:15px 18px;font-size:9px;display:flex}.window-dots{gap:5px;display:flex}.window-dots i{background:#596980;border-radius:50%;width:8px;height:8px}.window-dots i:first-child{background:#fa6a6a}.window-dots i:nth-child(2){background:#f5c65e}.window-dots i:last-child{background:#42ca94}.running{color:#6ee7b7;letter-spacing:0}.editor-tab{border-right:1px solid #2b3950;border-bottom:2px solid var(--red);color:#e2e8f0;width:fit-content;padding:12px 19px;font-size:12px}.editor-tab span{color:#7889a2;margin-left:25px}.code-sample{white-space:pre;color:#d6e2f4;padding:18px 20px 25px;font:13px/1.95 SFMono-Regular,Consolas,monospace;overflow-x:auto}.line-no{color:#52647f;width:34px;display:inline-block}.selector{color:#f9a8d4}.property{color:#93c5fd}.value{color:#fbbf88}.preview-label{color:#e1e8f2;letter-spacing:.12em;background:#202e43;justify-content:space-between;padding:13px 18px;font-size:10px;display:flex}.preview-label span{color:#92a5c0;letter-spacing:0}.preview-area{background:#f0f4fa;justify-content:space-between;gap:12px;padding:29px;display:flex}.preview-area div{background:var(--red);color:#fff;border-radius:10px;place-items:center;width:76px;height:68px;font-weight:800;display:grid}.editor-footer{color:#b1bfd3;background:#202e43;padding:13px 18px;font-size:11px}.modules-section{padding:85px 0 100px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px;display:flex}.section-kicker{color:var(--red)}.section-heading h2,.method-section h2{letter-spacing:-.035em;margin:12px 0;font-size:clamp(27px,3vw,39px)}.section-heading p{color:var(--color-text-muted);margin:0}.module-count{color:#94a3b8;letter-spacing:.12em;white-space:nowrap;font-size:11px}.module-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.module-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:column;min-height:215px;padding:25px;transition:transform .2s,box-shadow .2s;display:flex}.module-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #1e293b12}.module-card.featured{border-color:#f3b6ba;box-shadow:0 0 0 1px #f8d5d7}.module-card-top,.module-card-bottom{justify-content:space-between;align-items:center;display:flex}.module-number{color:#8997aa;letter-spacing:.13em;font-size:10px;font-weight:800}.module-icon{color:var(--red);font-size:29px;line-height:1}.module-card h3{margin:28px 0 8px;font-size:20px}.module-card p{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.6}.module-card-bottom{color:#9aa7b8;margin-top:auto;padding-top:25px}.module-status{font-size:11px}.module-status.active{color:var(--red);font-weight:800}.method-section{background:var(--color-section-alt);padding:80px 0 95px}.steps{grid-template-columns:repeat(5,1fr);gap:16px;margin-top:35px;display:grid}.steps>div{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:12px;padding:22px 16px}.steps span{color:var(--red);margin-bottom:18px;font-size:12px;font-weight:800;display:block}.steps strong{font-size:17px;display:block}.steps p{color:var(--color-text-muted);margin-bottom:0;font-size:12px;line-height:1.6}.site-footer{background:var(--navy);color:#fff}.footer-inner{justify-content:space-between;gap:20px;padding:30px 0;font-size:12px;display:flex}.footer-inner span{color:#9aaac0}@media (width<=960px){.hero-grid{gap:35px}.module-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:44px}}@media (width<=700px){.container{width:min(100% - 32px,1180px)}.header-inner{min-height:72px}.site-header nav,.mode-label{display:none}.hero{padding:55px 0 65px}.hero-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:clamp(35px,9vw,50px)}.hero-copy>p{font-size:14px}.hero-meta{gap:12px}.module-grid{grid-template-columns:1fr}.modules-section{padding:60px 0}.section-heading{align-items:start}.module-count{display:none}.steps{grid-template-columns:1fr}.method-section{padding:60px 0}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.catalog-page{min-height:calc(100vh - 155px);padding:78px 0 100px}.catalog-intro{margin-bottom:42px}.catalog-intro h1{letter-spacing:-.045em;margin:14px 0 16px;font-size:clamp(36px,5vw,58px)}.catalog-intro>p{max-width:680px;color:var(--color-text-muted);line-height:1.8}.catalog-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;margin-top:26px;font-size:12px;display:flex}.catalog-meta span{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;padding:8px 12px}.catalog-content .module-card h2{margin:28px 0 8px;font-size:20px}@media (width<=700px){.catalog-page{padding:50px 0 65px}}.lesson-page{padding:64px 0 100px}.lesson-back{color:#d52f38;margin-bottom:36px;font-weight:600;text-decoration:none;display:inline-block}.lesson-eyebrow{color:#d52f38;letter-spacing:.12em;font-size:12px;font-weight:700}.lesson-intro h1{letter-spacing:-.04em;margin:16px 0;font-size:clamp(34px,5vw,56px)}.lesson-lead{max-width:740px;line-height:1.8}.lesson-meta{flex-wrap:wrap;gap:12px;margin-top:24px;font-size:12px;display:flex}.lesson-meta span{border:1px solid var(--color-border);border-radius:20px;padding:8px 12px}.lesson-content{grid-template-columns:1fr 1fr;gap:32px;margin-top:70px;display:grid}.lesson-theory,.lesson-preview{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;padding:32px}.lesson-content h2{margin:14px 0 20px}.lesson-theory p,.lesson-hint{line-height:1.8}.lesson-code{color:#e5edf8;background:#101827;border-radius:12px;margin-top:26px;padding:24px;line-height:1.7;overflow-x:auto}.flex-demo{border:1px dashed #cbd5e1;border-radius:12px;justify-content:space-between;gap:12px;margin:30px 0;padding:24px;display:flex}.flex-demo>div{color:#fff;background:#d52f38;border-radius:8px;padding:18px 24px;font-weight:700}@media (width<=800px){.lesson-content{grid-template-columns:1fr}.lesson-theory,.lesson-preview{padding:24px}}.lesson-playground-section{margin-top:36px}.flex-playground{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:32px}.flex-playground-header h2{color:var(--color-text);margin:12px 0 8px;font-size:26px}.flex-playground-header p{color:var(--color-text-muted);margin:0;line-height:1.7}.flex-playground-grid{grid-template-columns:250px minmax(0,1fr);gap:28px;margin-top:28px;display:grid}.flex-playground-controls{flex-direction:column;align-items:stretch;gap:12px;display:flex}.flex-playground-controls label{color:var(--color-text);font-size:13px;font-weight:700}.flex-playground-controls select{border:1px solid var(--color-input-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:8px;padding:11px 12px}.flex-playground-controls select:focus-visible,.flex-playground-controls button:focus-visible,.flex-playground-code-header button:focus-visible{outline-offset:3px;outline:2px solid #d52f38}.flex-playground-controls input[type=range]{accent-color:#d52f38;cursor:pointer;width:100%}.flex-playground-controls button{border:1px solid var(--color-input-border);background:var(--color-surface-soft);color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;margin-top:14px;padding:12px}.flex-playground-controls button:hover{background:var(--color-surface-hover)}.flex-playground-workspace{min-width:0}.flex-playground-preview{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:12px;padding:22px}.flex-playground-container{border:1px dashed var(--color-input-border);background:var(--color-surface);border-radius:10px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-height:230px;padding:18px;display:flex}.flex-playground-container>div{color:#fff;background:#d52f38;border-radius:8px;padding:16px 20px;font-weight:700}.flex-playground-code{color:#e5edf8;background:#101827;border-radius:12px;margin-top:18px;overflow:hidden}.flex-playground-code-header{border-bottom:1px solid #303a4c;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;font-size:12px;display:flex}.flex-playground-code-header button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:6px;padding:6px 10px}.flex-playground-code-header button:hover{background:#263449}.flex-playground-code pre{margin:0;padding:20px;font-size:13px;line-height:1.7;overflow-x:auto}.flex-playground-code code{color:inherit}@media (width<=800px){.flex-playground{padding:20px}.flex-playground-grid{grid-template-columns:1fr}.flex-playground-preview,.flex-playground-container,.flex-playground-container>div{padding:12px}}:root[data-theme=dark]{color-scheme:dark;--color-bg:#0c1220;--color-surface:#172238;--color-surface-soft:#1d2b43;--color-surface-hover:#263752;--color-section-alt:#111c2e;--color-text:#f1f5f9;--color-text-muted:#a8b8d0;--color-border:#303a4c;--color-input-border:#475569;--color-accent:#f0525a;--color-code-bg:#080d17;--color-code-text:#e5edf8}.code-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;overflow:hidden}.code-editor-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.code-editor-file{color:var(--color-text);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.code-editor-file-icon{color:#fff;letter-spacing:.04em;background:#e44d26;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:800}.code-editor-status{min-width:0;color:var(--color-text-muted);overflow-wrap:anywhere;align-items:center;gap:5px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.code-editor-saved-icon{color:#15803d;flex:0 0 14px;width:14px;height:14px}:root[data-theme=dark] .code-editor-saved-icon{color:#75dca6}.code-editor-action-icon{flex:0 0 14px}.code-editor-header{flex-wrap:wrap}.code-editor-header-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.code-editor-reset{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-size:11px;font-weight:600;line-height:1.4;transition:background .15s,color .15s;display:inline-flex}.code-editor-reset:disabled{opacity:.5;cursor:not-allowed}.code-editor-reset:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.code-editor-reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.code-editor-reset-feedback{border-left:3px solid var(--color-accent);color:var(--color-text);overflow-wrap:anywhere;margin:8px 12px;padding:8px 12px;font-size:13px;line-height:1.5}.code-editor-surface .cm-editor,.code-editor-surface .cm-editor.cm-focused{outline:none}.code-editor-tabs{align-items:center;gap:5px;min-width:0;display:flex}.code-editor-tab{color:var(--color-text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.code-editor-tab:hover{background:var(--color-surface-hover);color:var(--color-text)}.code-editor-tab.is-active{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.code-editor-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.code-editor-tab-icon{color:#fff;border-radius:5px;padding:4px 6px;font-size:9px;font-weight:800}.code-editor-tab-icon.html{background:#e44d26}.code-editor-tab-icon.css{background:#2563eb}.code-editor-tab-icon.js{color:#fff;background:#b88700}@media (width<=700px){.code-editor-header{flex-wrap:wrap}.code-editor-tabs{width:100%;overflow-x:auto}.code-editor-header-actions{justify-content:flex-end;width:100%}.code-editor-tab{padding:8px;font-size:11px}}.code-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:360px;display:grid}.code-workspace>*{min-width:0}.code-editor-surface{overflow:hidden}.code-preview{border-left:1px solid var(--color-border);background:#fff;flex-direction:column;min-width:0;display:flex}.code-preview-header{color:#475569;letter-spacing:.06em;background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:11px;font-weight:700;display:flex}.code-preview-status{color:#64748b;font-size:10px}.code-preview-frame{background:#fff;border:0;flex:1;width:100%;min-height:320px;display:block}@media (width<=800px){.code-workspace{grid-template-columns:1fr}.code-preview{border-left:0;border-top:1px solid var(--color-border)}.code-preview-frame{min-height:280px}}.code-workspace .code-editor-surface{flex-direction:column;min-height:360px;display:flex}.code-workspace .code-editor-surface .cm-editor{flex:1;min-height:360px}.code-workspace .code-editor-surface .cm-scroller{min-height:100%}.preview-device-toolbar{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:5px;padding:8px 10px;display:flex}.preview-device-toolbar button{color:#64748b;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:600}.preview-device-toolbar button:hover{color:#182235;background:#e9eef5}.preview-device-toolbar button[aria-pressed=true]{color:#182235;background:#fff;border-color:#d9dfe8}.preview-device-toolbar button:focus-visible{outline-offset:2px;outline:2px solid #d52f38}.preview-device-size{color:#64748b;margin-left:auto;font-size:10px;font-weight:700}.preview-viewport{background:#e9eef5;flex:1;min-width:0;min-height:320px;display:flex;overflow:auto hidden}.preview-viewport .code-preview-frame{flex:none;width:100%;min-width:0;min-height:320px}@media (width<=800px){.preview-device-toolbar{gap:3px}.preview-device-toolbar button{padding:6px}}.code-preview-actions{align-items:center;gap:12px;display:flex}.preview-expand-button{color:#182235;font:inherit;letter-spacing:normal;cursor:pointer;background:#fff;border:1px solid #d9dfe8;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700}.preview-expand-button:hover{background:#e9eef5}.preview-expand-button:focus-visible{outline-offset:2px;outline:2px solid #d52f38}.code-workspace.code-workspace-expanded{grid-template-columns:minmax(0,1fr)}.code-workspace-expanded .code-editor-surface{display:none}.code-workspace-expanded .code-preview{border-left:0}.code-workspace-expanded .preview-viewport,.code-workspace-expanded .code-preview-frame{min-height:480px}:root[data-theme=dark] .code-preview{background:#202c43;border-color:#394860}:root[data-theme=dark] .code-preview-header,:root[data-theme=dark] .preview-device-toolbar{color:#dbe5f5;background:#202c43;border-color:#394860}:root[data-theme=dark] .code-preview-status,:root[data-theme=dark] .preview-device-size{color:#9fb0c9}:root[data-theme=dark] .preview-device-toolbar button{color:#c5d2e5}:root[data-theme=dark] .preview-device-toolbar button:hover{color:#fff;background:#33435e}:root[data-theme=dark] .preview-device-toolbar button[aria-pressed=true]{color:#fff;background:#425572;border-color:#5b6e8c}:root[data-theme=dark] .preview-expand-button{color:#fff;background:#33435e;border-color:#4b5c76}:root[data-theme=dark] .preview-expand-button:hover{background:#425572}:root[data-theme=dark] .preview-viewport{background:#182235}:root[data-theme=dark] .code-preview-frame{background:#fff}.challenge-checker{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-top:24px;padding:24px}.challenge-checker-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.challenge-checker-heading h2{margin:0 0 6px;font-size:1.2rem}.challenge-checker-heading p{color:var(--color-text-muted);margin:0}.challenge-check-button{color:#fff;font:inherit;cursor:pointer;background:#d52f38;border:0;border-radius:8px;padding:12px 18px;font-weight:700}.challenge-check-button:hover{background:#b9252e}.challenge-check-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.challenge-check-results{color:var(--color-text);margin-top:20px}.challenge-check-summary{margin-bottom:12px;font-weight:700}.challenge-check-results ul{margin:0;padding-left:22px}.challenge-check-results li{margin:10px 0}.challenge-check-results li p{color:var(--color-text-muted);margin:5px 0 0;font-size:.9rem}.check-passed{color:#16a34a}.check-failed{color:#d52f38}.challenge-check-results ul{margin:0;padding-left:0;list-style:none}.challenge-check-results li{color:var(--color-text);margin:18px 0;padding-left:36px;position:relative}.challenge-check-results li:before{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:700;line-height:1;display:flex;position:absolute;top:1px;left:0}.challenge-check-results li.check-passed:before{content:"✓";color:#22c55e}.challenge-check-results li.check-failed:before{content:"×";color:#f87171}.challenge-check-results li strong{font-weight:500}.challenge-check-results li p{margin-top:8px;line-height:1.5}.challenge-hints{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;margin:24px 0;padding:24px}.challenge-hints-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.challenge-hints-heading h2{color:var(--color-text);margin:0 0 6px;font-size:1.2rem}.challenge-hints-heading p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.6}.challenge-hints-heading [data-hints-progress]{color:var(--color-text-muted);flex-shrink:0;font-size:12px;font-weight:700}.challenge-hints-list{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.challenge-hints-list>li{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:10px;padding:16px}.challenge-hints-list>li[hidden]{display:none}.challenge-hints-list strong{color:var(--color-text);margin-bottom:6px;font-size:13px;display:block}.challenge-hints-list p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.6}.challenge-hints [data-reveal-hint]{border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600}.challenge-hints [data-reveal-hint]:hover:not(:disabled){background:var(--color-surface-hover)}.challenge-hints [data-reveal-hint]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.challenge-hints [data-reveal-hint]:disabled{opacity:.55;cursor:default}@media (width<=700px){.challenge-hints{padding:18px}.challenge-hints-heading{flex-wrap:wrap}}.challenge-progress{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;gap:16px;margin-bottom:24px;padding:20px;display:grid}.challenge-progress-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.challenge-progress-header strong{font-size:1.05rem}.challenge-progress-status{background:var(--color-border);color:var(--color-text);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:700}.challenge-progress-scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;font-weight:600;display:grid}.challenge-progress-track{background:var(--color-border);border-radius:999px;height:10px;overflow:hidden}.challenge-progress-fill{border-radius:inherit;background:#16a34a;width:0;height:100%;transition:width .25s}.challenge-progress-description{color:var(--color-text-muted);margin:0;font-size:.9rem}@media (width<=600px){.challenge-progress{padding:16px}.challenge-progress-scores{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){.challenge-progress-fill{transition:none}}.challenge-catalog-card{border:1px solid var(--color-border);background:var(--color-surface);max-width:720px;color:var(--color-text);border-radius:16px;padding:28px}.challenge-catalog-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.challenge-catalog-top>span:first-child{color:var(--color-accent);letter-spacing:.06em;font-size:.8rem;font-weight:700}[data-catalog-status]{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}[data-catalog-status=in-progress]{color:#b45309;border-color:currentColor}[data-catalog-status=completed]{color:#15803d;border-color:currentColor}.challenge-catalog-card h2{margin:0 0 12px;font-size:1.4rem}.challenge-catalog-card>p{color:var(--color-text-muted);margin:0 0 28px;line-height:1.6}.challenge-catalog-progress{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.9rem;display:flex}.challenge-catalog-progress>span{color:var(--color-text-muted)}.challenge-catalog-track{background:var(--color-border);border-radius:999px;height:9px;overflow:hidden}.challenge-catalog-fill{border-radius:inherit;background:#16a34a;width:0;height:100%;transition:width .25s}.challenge-catalog-link{color:#fff;background:#d52f38;border-radius:8px;align-items:center;margin-top:28px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-flex}.challenge-catalog-link:hover{color:#fff;background:#b9252e}.challenge-catalog-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media (width<=600px){.challenge-catalog-card{padding:20px}.challenge-catalog-card h2{font-size:1.2rem}.challenge-catalog-link{text-align:center;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.challenge-catalog-fill{transition:none}}.challenge-check-button{color:#f3f6fc;font:inherit;cursor:pointer;background:#253044;border:1px solid #9e4b54;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-weight:600;transition:background-color .16s,border-color .16s;display:inline-flex}.challenge-check-button:before{content:"✓";font-size:15px;font-weight:700}.challenge-check-button:hover:not(:disabled){background:#303e56;border-color:#d52f38}.challenge-check-button:focus-visible{outline-offset:3px;outline:2px solid #d52f38}.challenge-check-button:disabled{opacity:.6;cursor:wait}@media (width<=600px){.challenge-check-button{width:100%}}.challenge-progress-status.is-complete{color:#22c55e;background:#092b1b;border:1px solid #22c55e33;border-radius:999px;align-items:center;gap:6px;font-weight:700;display:inline-flex}.challenge-check-list:has(.html-check-icon){gap:16px;margin:0;padding:0;list-style:none;display:grid}.challenge-check-list:has(.html-check-icon)>li{align-items:flex-start;gap:14px;display:flex}.html-check-icon{border:2px solid;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.is-passed>.html-check-icon{color:#22c55e}.is-failed>.html-check-icon{color:#ef4444}.html-check-content{gap:5px;padding-top:3px;display:grid}.html-check-content strong{color:var(--color-text);font-weight:600}.html-check-content p{color:var(--color-text-muted);margin:0;font-size:.9rem}.challenge-check-list:has(.html-check-icon){gap:10px}.challenge-check-list:has(.html-check-icon)>li{min-height:0;margin:0;padding:4px 0}.challenge-check-list:has(.html-check-icon) .html-check-content{gap:4px}.challenge-check-list:has(.html-check-icon) .html-check-content p{margin:0;line-height:1.4}.module-lesson-list{gap:8px;margin:18px 0;display:grid}.module-lesson-link{border:1px solid var(--color-border);color:var(--color-text);border-radius:10px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}.module-lesson-link:hover,.module-lesson-link:focus-visible{background:var(--color-surface);border-color:#d52f38}.module-lesson-number{color:#d52f38;flex:none;font-size:.8rem;font-weight:800}.module-lesson-info{flex:1;gap:4px;min-width:0;display:grid}.module-lesson-info strong{font-size:.9rem}.module-lesson-info small{color:var(--color-text-muted);font-size:.78rem}.css-design-playground{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:20px;padding:24px;display:grid}.css-design-controls{align-content:start;gap:24px;display:grid}.css-design-controls label{color:var(--color-text);grid-template-columns:1fr auto;align-items:center;gap:12px;font-weight:600;display:grid}.css-design-controls output{color:var(--color-text-muted);font-size:.85rem}.css-design-controls input,.css-design-controls select{accent-color:#d52f38;grid-column:1/-1;width:100%}.css-design-controls input[type=range]{cursor:pointer}.css-design-controls select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px;padding:12px}.css-design-demo{border:1px solid var(--color-border);background:#eaf0f8;border-radius:14px;place-items:center;min-height:300px;padding:28px;display:grid}.css-design-card{color:#182235;background:#fff;width:100%;max-width:420px;padding:28px;transition:border-radius .18s;box-shadow:0 12px 32px #1420361a}.css-design-card h3{margin:0 0 12px;line-height:1.2;transition:font-size .18s}.css-design-card p{color:#52627a;margin:0 0 20px;line-height:1.5}.css-design-card button{color:#fff;cursor:pointer;border:0;border-radius:8px;padding:12px 20px;font-weight:700}.css-design-code{border:1px solid var(--color-border);background:#101827;border-radius:12px;grid-column:1/-1;overflow:hidden}.css-design-code-header{color:#fff;border-bottom:1px solid #2b3850;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.css-design-code-header button{color:#fff;cursor:pointer;background:#223149;border:1px solid #42516a;border-radius:8px;padding:8px 12px}.css-design-code pre{color:#c9e4ff;margin:0;padding:20px;font-size:.9rem;line-height:1.7;overflow-x:auto}@media (width<=760px){.css-design-playground{grid-template-columns:1fr;padding:16px}.css-design-demo{min-height:240px;padding:16px}.css-design-code{grid-column:1}}@media (prefers-reduced-motion:reduce){.css-design-card,.css-design-card h3{transition:none}}.box-model-playground{background:#172238;border:1px solid #34415b;border-radius:18px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:20px;padding:24px;display:grid}.box-model-controls{align-content:start;gap:18px;display:grid}.box-model-controls h3{margin:0 0 8px}.box-model-controls label{grid-template-columns:1fr auto;gap:10px;font-weight:600;display:grid}.box-model-controls output{color:#a8c5ee}.box-model-controls input,.box-model-controls select{accent-color:#e02d3c;grid-column:1/-1;width:100%}.box-model-controls select{color:#fff;background:#101827;border:1px solid #34415b;border-radius:8px;padding:10px}.box-model-visual{background:#e9eef6;border-radius:12px;align-content:center;justify-items:center;gap:16px;min-width:0;padding:20px;display:grid;overflow-x:auto}.box-model-margin{color:#26344a;background:#f2c56d;padding:15px}.box-model-border{background:#e58e52;border:4px solid #e58e52}.box-model-padding{background:#9fc9a5;padding:20px}.box-model-content{box-sizing:content-box;background:#d3e5f8;place-items:center;width:200px;min-height:70px;font-weight:800;display:grid}.box-model-layer-label{letter-spacing:.08em;padding:3px 5px;font-size:10px;font-weight:800;display:block}.box-model-measure{color:#26344a;text-align:center;margin:0;font-size:13px}.box-model-code{background:#101827;border:1px solid #34415b;border-radius:12px;grid-column:1/-1;overflow:hidden}.box-model-code-heading{border-bottom:1px solid #34415b;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.box-model-code-heading button{color:#fff;cursor:pointer;background:#223149;border:1px solid #455470;border-radius:8px;padding:8px 12px}.box-model-code pre{color:#c9e4ff;margin:0;padding:20px;line-height:1.7;overflow-x:auto}@media (width<=760px){.box-model-playground{grid-template-columns:1fr;padding:16px}.box-model-code{grid-column:1}}.box-model-border{min-width:0}.box-model-padding{box-sizing:border-box;width:100%}.box-model-content{box-sizing:border-box;width:100%;min-width:0}.box-model-border{background:#9fc9a5;border-style:solid;border-color:#e58e52;min-width:0;display:block}.box-model-border>.box-model-layer-label{margin-bottom:8px}.box-model-content{box-sizing:border-box;width:100%;min-width:0;min-height:70px}.grid-playground{background:#172238;border:1px solid #34415b;border-radius:18px;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:20px;padding:24px;display:grid}.grid-playground-controls{align-content:start;gap:14px;display:grid}.grid-playground-controls h3{margin:0 0 10px}.grid-playground-controls label{justify-content:space-between;align-items:center;gap:10px;font-weight:600;display:flex}.grid-playground-controls output{color:#a8c5ee}.grid-playground-controls select{color:#fff;background:#101827;border:1px solid #34415b;border-radius:8px;width:100%;padding:11px}.grid-playground-controls input[type=range]{accent-color:#e02d3c;cursor:pointer;width:100%}.grid-playground-controls .grid-playground-checkbox{justify-content:flex-start;margin-top:8px;font-size:.9rem}.grid-playground-checkbox input{accent-color:#e02d3c}.grid-playground-controls>button{color:#fff;cursor:pointer;background:#223149;border:1px solid #455470;border-radius:8px;padding:11px 14px}.grid-playground-workspace{align-content:start;gap:16px;min-width:0;display:grid}.grid-playground-preview{background:#e9eef6;border-radius:12px;padding:22px}.grid-playground-container{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:80px;gap:12px;display:grid}.grid-playground-item{color:#fff;background:#d52f38;border-radius:8px;place-items:center;min-width:0;font-size:1.1rem;font-weight:800;display:grid}.grid-playground-code{background:#101827;border:1px solid #34415b;border-radius:12px;overflow:hidden}.grid-playground-code-heading{border-bottom:1px solid #34415b;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.grid-playground-code-heading button{color:#fff;cursor:pointer;background:#223149;border:1px solid #455470;border-radius:8px;padding:8px 12px}.grid-playground-code pre{color:#c9e4ff;margin:0;padding:20px;font-size:.9rem;line-height:1.7;overflow-x:auto}@media (width<=760px){.grid-playground{grid-template-columns:1fr;padding:16px}.grid-playground-preview{padding:12px}}.position-playground{background:#172238;border:1px solid #34415b;border-radius:18px;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:20px;padding:24px;display:grid}.position-playground-controls{align-content:start;gap:14px;display:grid}.position-playground-controls h3{margin:0 0 10px}.position-playground-controls label{justify-content:space-between;gap:10px;font-weight:600;display:flex}.position-playground-controls select{color:#fff;background:#101827;border:1px solid #34415b;border-radius:8px;width:100%;padding:11px}.position-playground-controls input[type=range]{accent-color:#e02d3c;width:100%}.position-playground-controls input:disabled{opacity:.35}.position-playground-controls output{color:#a8c5ee}.position-playground-controls>button,.position-playground-code-heading button{color:#fff;cursor:pointer;background:#223149;border:1px solid #455470;border-radius:8px;padding:11px 14px}.position-playground-explanation{color:#c9d7eb;background:#101827;border:1px solid #34415b;border-radius:10px;min-height:72px;padding:14px;font-size:.9rem;line-height:1.5}.position-playground-workspace{align-content:start;gap:16px;min-width:0;display:grid}.position-playground-preview{color:#182235;background:#e9eef6;border-radius:12px;padding:16px}.position-playground-preview-heading{letter-spacing:.07em;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.7rem;font-weight:800;display:flex}.position-playground-viewport{background:#f7f9fc;border:2px solid #b9c9dc;border-radius:10px;height:300px;position:relative;overflow:hidden}.position-playground-scroll{height:100%;padding:16px;position:relative;overflow-y:auto}.position-playground-flow-item,.position-playground-target,.position-playground-fixed-target{border-radius:8px;place-items:center;min-height:64px;margin-bottom:12px;font-weight:700;display:grid}.position-playground-flow-item{color:#24334b;background:#dbe5f2}.position-playground-target,.position-playground-fixed-target{color:#fff;z-index:2;background:#d52f38;width:130px}.position-playground-target[hidden],.position-playground-fixed-target[hidden]{display:none}.position-playground-fixed-target{margin:0;position:absolute;box-shadow:0 6px 20px #0003}.position-playground-hint{color:#40526c;margin:12px 0 0;font-size:.8rem;line-height:1.5}.position-playground-code{background:#101827;border:1px solid #34415b;border-radius:12px;overflow:hidden}.position-playground-code-heading{border-bottom:1px solid #34415b;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.position-playground-code pre{color:#c9e4ff;margin:0;padding:20px;font-size:.9rem;line-height:1.7;overflow-x:auto}@media (width<=760px){.position-playground{grid-template-columns:1fr;padding:16px}}html{scroll-padding-top:112px}.site-header-slot{height:104px}.site-header{--nav-surface:#243752;--nav-frosted:#182a46b8;--nav-text:#f7faff;--nav-muted:#dce6f5;--nav-border:#ffffff47;--nav-hover:#ffffff1f;--nav-shadow:0 12px 36px #0b193029, inset 0 1px 0 #ffffff1f;z-index:100;color:var(--nav-text);pointer-events:none;padding:0 16px;transition:transform .24s,padding .24s;position:fixed;inset:0 0 auto}:root[data-theme=dark] .site-header{--nav-surface:#121f34;--nav-frosted:#0d192db3;--nav-text:#f1f5f9;--nav-muted:#c7d5eb;--nav-border:#e1edff2e;--nav-hover:#e1edff1a;--nav-shadow:0 14px 40px #0007144d, inset 0 1px 0 #ffffff14}.site-header .header-inner{border:1px solid var(--nav-border);background:var(--nav-surface);width:min(1280px,100%);min-height:88px;box-shadow:var(--nav-shadow);pointer-events:auto;border-radius:0 0 20px 20px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:12px 20px;display:grid}.site-header[data-nav-state=floating]{padding-top:12px}.site-header[data-nav-state=floating] .header-inner{border-radius:20px;min-height:68px;padding-block:8px}.site-header[data-nav-state=floating] .brand-text small{display:none}.site-header[data-nav-state=hidden]{transform:translateY(-120%)}.site-header .brand{align-items:center;gap:10px;width:max-content;min-height:44px;display:flex}.site-header .brand-icon{background:var(--red);color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:17px;font-weight:800;display:grid}.site-header .brand-text{flex-direction:column;gap:4px;display:flex}.site-header .brand-text strong{letter-spacing:.025em;white-space:nowrap;font-size:14px}.site-header .brand-text strong span{color:var(--nav-muted)}.site-header .brand-text small{color:var(--nav-muted);letter-spacing:.16em;white-space:nowrap;font-size:9px}.site-header .desktop-navigation{justify-content:center;align-items:center;gap:4px;display:flex}.site-header nav a{min-height:44px;color:var(--nav-muted);white-space:nowrap;border-radius:10px;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.site-header nav a:hover{color:var(--nav-text);background:var(--nav-hover)}.site-header nav a[aria-current]{color:var(--nav-text);background:var(--nav-hover);box-shadow:inset 0 -2px var(--red)}.site-header .header-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.site-header details{position:relative}.site-header summary{cursor:pointer;user-select:none;list-style:none}.site-header summary::-webkit-details-marker{display:none}.site-header summary,.site-header .google-entry{border:1px solid var(--nav-border);min-width:44px;height:44px;color:var(--nav-text);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:9px;display:flex}.site-header summary:hover,.site-header .google-entry:hover{background:var(--nav-hover)}.site-header .theme-menu>summary{width:44px}.site-header .nav-popover{--nav-text:var(--color-text);--nav-muted:var(--color-text-muted);--nav-border:var(--color-border);--nav-hover:var(--color-surface-hover);border:1px solid var(--nav-border);background:var(--color-surface);max-height:calc(100dvh - 120px);color:var(--color-text);border-radius:16px;padding:10px;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 16px 40px #00081833}.site-header .theme-switcher{flex-direction:column;gap:4px;width:176px;display:flex}.site-header .theme-switcher button{width:100%;min-height:44px;color:var(--color-text);cursor:pointer;text-align:start;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.site-header .theme-switcher button:hover,.site-header .theme-switcher button[aria-pressed=true]{background:var(--nav-hover)}.site-header .theme-switcher button[aria-pressed=true]{box-shadow:inset 3px 0 var(--red)}.site-header .user-menu{width:126px;min-width:0;position:relative}.site-header .google-entry,.site-header .profile-trigger{width:126px;font-size:12px;font-weight:600}.site-header .profile-avatar{color:#f4f7fc;background:#303f5b;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.site-header .profile-panel{overflow-wrap:anywhere;width:min(288px,100vw - 32px);padding:16px}.site-header [data-auth-name]{font-size:14px;display:block}.site-header [data-auth-email],.site-header [data-auth-domain]{color:var(--color-text-muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;display:block}.site-header [data-auth-feedback]{font-size:12px;line-height:1.5}.site-header .profile-panel form{margin:12px 0 0}.site-header .profile-panel button,.site-header .profile-panel a{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);cursor:pointer;border-radius:9px;align-items:center;padding:8px 10px;font-size:13px;display:flex}.site-header .profile-panel button:hover,.site-header .profile-panel a:hover{background:var(--nav-hover)}.site-header .profile-panel button:disabled{opacity:.5;cursor:not-allowed}.site-header [hidden]{display:none!important}.site-header .mobile-menu{display:none}.site-header :is(a,button,summary):focus-visible{outline:2px solid var(--red);outline-offset:3px}.nav-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@supports (backdrop-filter:blur(1px)){.site-header .header-inner{background:linear-gradient(135deg, #ffffff0f, #ffffff03), var(--nav-frosted);backdrop-filter:blur(20px)saturate(160%)}}@media (width<=1100px){.site-header-slot{height:88px}.site-header{padding-inline:8px}.site-header .header-inner{grid-template-columns:auto 1fr;gap:8px;min-height:76px;padding:10px 12px}.site-header .desktop-navigation{display:none}.site-header .mobile-menu{display:block}.site-header .mobile-menu-panel{flex-direction:column;gap:4px;width:min(288px,100vw - 32px);display:flex}.site-header .brand-text small{display:none}.site-header .user-menu,.site-header .google-entry,.site-header .profile-trigger{width:44px}.site-header .profile-caption{display:none}}@media (width<=400px){.site-header .header-inner{padding-inline:8px}.site-header .header-actions{gap:4px}.site-header .brand{gap:7px}.site-header .brand-icon{border-radius:9px;width:32px;height:36px;font-size:13px}.site-header .brand-text strong{flex-direction:column;font-size:10px;display:flex}}@media (prefers-reduced-motion:reduce){.site-header{transition:none!important}.site-header *,.site-header :before,.site-header :after{transition:none!important;animation:none!important}}@media (width<=1100px){.site-header .header-inner{position:relative}.site-header :is(.theme-menu,.profile-menu,.mobile-menu,.user-menu){position:static}.site-header .nav-popover{right:8px}}
