:root{--code-indigo:#1b2353;--code-night:#0b0e22;--code-saffron:#e78936;--code-green:#2f9e66;--code-gold:#f6c453;--cm-bg:#fffdf9;--cm-ink:#1f2440;--cm-gutter:#f3ede4;--cm-gutter-ink:#8d8a84;--cm-active:#f6efe4;--cm-sel:#f9d9b8;--cm-match:#fde9c9;--cm-caret:#e78936;--cm-kw:#3b3fb6;--cm-str:#1f7a4f;--cm-num:#b4520f;--cm-comment:#8b8a85;--cm-tag:#b23a48;--cm-attr:#8a5a00;--cm-fn:#1d5fa8;--cm-punct:#5d6177;--cm-err:#c0262d;--cm-err-bg:#fde3e1;--cv-box:#fff;--cv-stroke:#273469;--cv-ink:#1f2440;--cv-soft:#f3ede4}:root[data-theme=dark]{--cm-bg:#12152b;--cm-ink:#e9e7f5;--cm-gutter:#171b36;--cm-gutter-ink:#6f7499;--cm-active:#1b2042;--cm-sel:#3a3466;--cm-match:#353a66;--cm-caret:#f6c453;--cm-kw:#a9b4ff;--cm-str:#8fdcae;--cm-num:#f7b27a;--cm-comment:#7d82a8;--cm-tag:#ff9aa4;--cm-attr:#f6c453;--cm-fn:#8cc8ff;--cm-punct:#a5a9c8;--cm-err:#ff9b9c;--cm-err-bg:#4a1f2a;--cv-box:#1f2442;--cv-stroke:#b9c5ff;--cv-ink:#eceaf7;--cv-soft:#2a2f52}.code-motion{color:#d6d9ee;background:#ffffff0f;border:1px solid #ffffff29;border-radius:22px;min-height:210px;padding:16px 16px 14px;font:13px/1.7 Space Mono,ui-monospace,monospace;position:relative;overflow:hidden}.code-motion .cm-dots{gap:6px;margin-bottom:10px;display:flex}.code-motion .cm-dots i{background:#e78936;border-radius:50%;width:10px;height:10px}.code-motion .cm-dots i:nth-child(2){background:#f6c453}.code-motion .cm-dots i:nth-child(3){background:#2f9e66}.code-motion .cm-line{white-space:nowrap;width:0;animation:1s steps(30,end) forwards cm-type;overflow:hidden}.code-motion .cm-line:nth-of-type(2){animation-delay:.9s}.code-motion .cm-line:nth-of-type(3){animation-delay:1.8s}.code-motion .cm-line:nth-of-type(4){animation-delay:2.7s}.code-motion .cm-line:nth-of-type(5){animation-delay:3.6s}.code-motion .k{color:#a9b4ff}.code-motion .s{color:#8fdcae}.code-motion .n{color:#f6c453}.code-motion .c{color:#7d82a8}.code-motion .cm-out{color:#b6f0cf;opacity:0;background:#2f9e662e;border-radius:10px;margin-top:10px;padding:8px 10px;animation:.5s 4.6s forwards cm-fade}.code-motion .cm-blocks{gap:4px;display:grid;position:absolute;top:14px;right:14px}.code-motion .cm-blocks span{border-radius:4px;height:14px;animation:3.2s ease-in-out infinite cm-snap;display:block}.code-motion .cm-blocks span:first-child{background:#4153b0;width:64px}.code-motion .cm-blocks span:nth-child(2){background:#2f9e66;width:52px;margin-left:10px;animation-delay:.3s}.code-motion .cm-blocks span:nth-child(3){background:#e78936;width:44px;margin-left:10px;animation-delay:.6s}@keyframes cm-type{to{width:100%}}@keyframes cm-fade{to{opacity:1}}@keyframes cm-snap{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}.code-section{margin:36px auto}.code-section>h2{margin:0 0 6px;font-size:clamp(26px,3.4vw,36px)}.code-section>p.lead{max-width:70ch;margin:0 0 18px}.code-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;display:grid}.code-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;flex-direction:column;gap:10px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;text-decoration:none!important}.code-card:before{content:"";background:var(--accent-c,var(--code-saffron));height:5px;position:absolute;inset:0 0 auto}.code-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px #1b235373}.code-card .cc-icon{font-size:34px;line-height:1}.code-card h3{margin:0;font-size:22px}.code-card h3 small{color:var(--muted);font-size:14px;font-weight:500;display:block}.code-card p{margin:0}.cc-meta{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cc-meta li{background:var(--soft);color:var(--ink);border-radius:99px;padding:3px 9px;font-size:12.5px}.cc-go{color:var(--brand);margin-top:auto;font-weight:700}.cc-progress{background:var(--soft);border-radius:99px;height:6px;overflow:hidden}.cc-progress i{background:var(--code-green);border-radius:99px;height:100%;transition:width .4s;display:block}.code-path{counter-reset:path;grid-template-columns:1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}.code-path li{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 16px 16px 62px;position:relative}.code-path li:before{counter-increment:path;content:counter(path);color:#121735;background:var(--code-gold);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid;position:absolute;top:16px;left:16px}.code-path li strong{color:var(--ink);display:block}.code-path li span{color:var(--muted);font-size:14px}@media (width>=900px){.code-path{grid-template-columns:repeat(4,1fr)}.code-path li{padding:62px 16px 16px}.code-path li:not(:last-child):after{content:"";border-top:3px dotted var(--code-saffron);width:18px;position:absolute;top:32px;right:-16px}}.code-faq details{border-bottom:1px solid var(--line);padding:2px 0}.code-faq summary{color:var(--ink);font-weight:600}.code-faq details p{margin:0 0 14px}.code-two{gap:24px;display:grid}@media (width>=900px){.code-two{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}.code-aside{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}.code-aside h2,.code-aside h3{margin-top:0}.code-unit{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin:0 0 18px;overflow:hidden}.code-unit>h3{background:var(--soft);justify-content:space-between;gap:10px;margin:0;padding:14px 18px;font-size:18px;display:flex}.code-unit>h3 small{color:var(--muted);font-size:13px;font-weight:500}.code-unit ol{margin:0;padding:6px;list-style:none}.code-unit li a{color:var(--ink);border-radius:12px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:grid}.code-unit li a:hover{background:var(--soft)}.code-unit .lk{background:var(--soft);border:2px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.code-unit li.is-done .lk{background:var(--code-green);border-color:var(--code-green);color:#fff}.code-unit li.is-partial .lk{border-color:var(--code-saffron)}.code-unit .lt small{color:var(--muted);font-size:13px;display:block}.code-unit .lm{color:var(--muted);white-space:nowrap;font-size:12px}.code-dash{background:var(--surface);border:1px solid var(--line);border-radius:20px;gap:12px;padding:18px;display:grid}.code-dash h2{margin:0;font-size:20px}.code-dash-stats{flex-wrap:wrap;gap:8px;display:flex}.code-dash-stats span{background:var(--soft);border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600}.code-badges{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.code-badges li{border:1px solid var(--line);border-radius:99px;padding:4px 10px;font-size:13px}.code-badges li.is-off{opacity:.45;filter:grayscale()}.code-cont{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.code-cert{border:2px dashed var(--code-gold);background:var(--surface);border-radius:20px;padding:20px}.code-cert h2{margin-top:0}.code-seo{max-width:78ch}.code-seo h2{font-size:22px}.cp-btn,a.cp-btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:15px;font-weight:600;display:inline-flex;text-decoration:none!important}.cp-btn:hover{background:var(--soft)}.cp-btn:disabled{opacity:.5;cursor:not-allowed}.cp-primary,a.cp-primary,.cp-run{background:var(--code-saffron);border-color:var(--code-saffron);color:#121735}.cp-primary:hover,.cp-run:hover:not(:disabled){background:#f0994a}.cp-ghost{background:0 0}.cp-mini{border-radius:8px;min-height:30px;padding:2px 10px;font-size:13px}.code-lesson-head{padding:18px 0 8px}.code-lesson-head .crumbs{color:var(--muted);font-size:13px}.code-lesson-head h1{margin:6px 0 4px;font-size:clamp(26px,4vw,40px)}.cp{max-width:1500px;margin:0 auto 28px;padding:0 16px;position:relative}.cp-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.cp-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.cp-steps button{border-radius:99px;min-width:36px;min-height:36px;padding:0 10px;font-size:14px;font-weight:700}.cp-steps button[aria-current=step]{background:var(--code-indigo);border-color:var(--code-indigo);color:#fff}:root[data-theme=dark] .cp-steps button[aria-current=step]{color:#121735;background:#b9c5ff}.cp-steps button.is-done:not([aria-current=step]){background:var(--code-green);border-color:var(--code-green);color:#fff}.cp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cp-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cp-chip{color:#7a3d06;background:#fff4e6;border-radius:99px;padding:5px 10px;font-size:13px;font-weight:700}.cp-chip-soft{background:var(--soft);color:var(--ink)}:root[data-theme=dark] .cp-chip:not(.cp-chip-soft){color:#f7c28f;background:#3b2a17}.cp-lang{border-radius:99px;min-height:36px;padding:0 12px;font-weight:700}.cp-tabs{background:var(--soft);z-index:5;border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid;position:sticky;top:0}.cp-tabs button{background:0 0;border:0;border-radius:10px;min-height:42px;font-weight:700;position:relative}.cp-tabs button[aria-selected=true]{background:var(--surface);box-shadow:0 1px 4px #0000001f}.cp-dot{background:var(--error);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:10px}.cp-dot.is-passed{background:var(--code-green)}.cp-grid{gap:14px;margin-top:10px;display:grid}.cp[data-tab=learn] .cp-code,.cp[data-tab=learn] .cp-out,.cp[data-tab=code] .cp-learn,.cp[data-tab=code] .cp-out,.cp[data-tab=result] .cp-learn,.cp[data-tab=result] .cp-code{display:none}.cp-is-read .cp-learn{display:block!important}.cp-learn,.cp-code,.cp-out{min-width:0}.cp-learn{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}.cp-learn h2{margin:0 0 10px;font-size:24px}.cp-kicker{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:0;font:11px/1.6 Space Mono,monospace;display:flex}.cp-final{color:#7a3d06;background:#fff1cf;border-radius:99px;padding:1px 8px}.cp-prose{font-size:16.5px}.cp-prose p,.cp-prose li{color:var(--ink)}.cp-prose code,.cp-hint code,.code-seo code{background:var(--soft);border:1px solid var(--line);word-break:break-word;border-radius:6px;padding:1px 5px;font:.88em Space Mono,ui-monospace,monospace}.cp-visual{background:var(--cv-soft);border-radius:16px;margin:4px 0 12px;padding:8px}.cp-example{border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.cp-example figcaption{background:var(--soft);justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;font-weight:700;display:flex}.cp-example pre,.cp-solution,.bl-code pre{background:var(--cm-bg);color:var(--cm-ink);white-space:pre;margin:0;padding:12px 14px;font:14px/1.6 Space Mono,ui-monospace,monospace;overflow-x:auto}.cp-note{border-top:1px solid var(--line);margin:0;padding:8px 12px;font-size:14px}.cp-challenge{background:linear-gradient(135deg,#e789361a,#f6c4531f);border:1px solid #e7893659;border-radius:16px;margin-top:18px;padding:16px}.cp-challenge h3{margin:0 0 6px;font-size:18px}.cp-xp{background:var(--code-gold);color:#121735;vertical-align:middle;border-radius:99px;padding:2px 8px;font-size:12px}.cp-hints{gap:8px;margin-top:10px;display:grid}.cp-hint{background:var(--surface);border-left:4px solid var(--code-gold);border-radius:12px;grid-template-columns:auto 1fr;gap:8px;padding:10px 12px;animation:.3s ease-out cp-in;display:grid}.cp-hint p{color:var(--ink);margin:0}.cp-hint-actions{flex-wrap:wrap;gap:8px;display:flex}.cp-small{color:var(--muted);margin:0;font-size:13px}.cp-solved{color:var(--success);margin:12px 0 0;font-weight:700}.cp-learn-next{justify-content:flex-end;margin-top:16px;display:flex}.cp-code{border:1px solid var(--line);background:var(--cm-bg);border-radius:18px;flex-direction:column;min-height:380px;display:flex;overflow:hidden}.cp-bar{background:var(--cm-gutter);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px;display:flex}.cp-file{color:var(--cm-ink);margin-right:auto;padding-left:6px;font:13px Space Mono,monospace}.cp-kbd{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font:11px Space Mono,monospace}.ce-wrap{--cm-size:16px;flex:1;min-height:320px;display:flex}.ce-host{flex:1;min-width:0}.ce-host .cm-editor{height:100%;min-height:320px}.ce-fallback{background:var(--cm-bg);width:100%;min-height:320px;color:var(--cm-ink);tab-size:2;border:0;border-radius:0;flex:1;font:16px/1.6 Space Mono,monospace}.cp-out{align-content:start;gap:12px;display:grid}.cp-out>div{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.cp-panel-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--soft);padding:8px 12px;font-size:12px;font-weight:700}.cp-frame{background:#fff;border:0;width:100%;height:340px;display:block}.cp-logs{max-height:220px;padding:8px 12px;font:13.5px/1.55 Space Mono,ui-monospace,monospace;overflow:auto}.cp-log{border-bottom:1px dashed var(--line);white-space:pre-wrap;word-break:break-word;color:var(--ink);padding:2px 0}.cp-log.is-warn{color:#9a5b00}.cp-log.is-error{color:var(--error)}.cp-muted{color:var(--muted);margin:6px 0;font-size:14px}.cp-checks{padding-bottom:8px}.cp-checks>p{padding:0 12px}.cp-tests{gap:4px;margin:0;padding:6px 8px;list-style:none;display:grid}.cp-tests li{color:var(--ink);border-radius:10px;grid-template-columns:22px 1fr;gap:6px;padding:6px;font-size:15px;display:grid}.cp-tests li>span{color:var(--muted);font-weight:800}.cp-tests li.is-pass>span{color:var(--code-green)}.cp-tests li.is-fail{background:color-mix(in srgb, var(--error) 9%, transparent)}.cp-tests li.is-fail>span{color:var(--error)}.cp-tests small{color:var(--muted);word-break:break-word;font-size:12.5px;display:block}.cp-pass{color:var(--success);font-weight:700}.cp-error{border-left:4px solid var(--error);background:color-mix(in srgb, var(--error) 8%, var(--surface));border-radius:12px;margin:8px;padding:10px 12px}.cp-error p{color:var(--ink);margin:4px 0}.cp-error code{color:var(--muted);font-size:12px}.cp-loading{min-height:200px;color:var(--muted);place-items:center;display:grid}.cp-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.cp-foot .cp-small{text-align:center;order:3;width:100%}.cp-celebrate{z-index:60;background:#0b0e2273;place-items:center;padding:16px;animation:.2s cp-in;display:grid;position:fixed;inset:0}.cp-cel-card{z-index:1;text-align:center;background:var(--surface);border-radius:24px;width:min(420px,100%);padding:24px 20px 18px;animation:.45s cubic-bezier(.2,1.4,.4,1) cp-pop;position:relative;box-shadow:0 30px 80px -20px #00000080}.cp-cel-card h3{margin:4px 0;font-size:30px}.cp-cel-card p{color:var(--ink)}.cp-cel-burst{font-size:48px;animation:.8s ease-out cp-spin}.cp-cel-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.cp-badge{background:var(--soft);border-radius:12px;padding:6px 10px;font-weight:700}.cp-stars{letter-spacing:6px;margin:0;font-size:40px}.cp-stars span{color:var(--line);display:inline-block}.cp-stars span.is-on{color:#f6b830;animation:.5s both cp-pop}.cp-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cp-confetti i{border-radius:2px;width:9px;height:14px;animation:1.6s ease-in forwards cp-fall;position:absolute;top:-12px}@keyframes cp-fall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:.6;transform:translateY(105vh)rotate(720deg)}}@keyframes cp-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes cp-in{0%{opacity:0;transform:translateY(4px)}}@keyframes cp-spin{to{transform:rotate(360deg)}}@media (width>=760px){.cp-tabs{display:none}.cp[data-tab] .cp-learn,.cp[data-tab] .cp-code,.cp[data-tab] .cp-out{display:revert}.cp[data-tab] .cp-code{display:flex}.cp[data-tab] .cp-out{display:grid}.cp-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"learn code""learn out";align-items:start}.cp-learn{grid-area:learn;max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:auto}.cp-code{grid-area:code}.cp-out{grid-area:out}.cp-is-read .cp-grid{grid-template-columns:minmax(0,760px);grid-template-areas:"learn";justify-content:center}.cp-is-read .cp-learn{max-height:none;position:static}.cp-foot .cp-small{order:0;width:auto}}@media (width>=1180px){.cp-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.2fr) minmax(300px,.95fr);grid-template-areas:"learn code out"}.cp-code{height:calc(100vh - 24px);max-height:820px;position:sticky;top:12px}.cp-out{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:auto}.cp-frame{height:380px}.cp-is-blocks .cp-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,2fr);grid-template-areas:"learn code"}}@media (width>=760px) and (width<=1179px){.cp-is-blocks .cp-grid{grid-template-columns:1fr;grid-template-areas:"learn""code"}.cp-is-blocks .cp-learn{max-height:none;position:static}}.cp-blocks{background:var(--surface);border:1px solid var(--line);border-radius:18px;min-height:0;padding:10px}.bl{gap:10px;display:grid}.bl-stage-wrap{gap:8px;display:grid}.bl-stage{background:#e9e3d8;border-radius:14px;width:100%;max-height:46vh;display:block}:root[data-theme=dark] .bl-stage{background:#1a1f3d}.bl-road{fill:#d9d3c7}.bl-lane{stroke:#f4efe6;stroke-width:2px;stroke-linecap:round}.bl-win{fill:#ffffffbf}.bl-sea{fill:#7fb7d8}.bl-park{fill:#a8d5a0}.bl-home{fill:#fff1cf;stroke:#e78936;stroke-width:2.5px}:root[data-theme=dark] .bl-road{fill:#2c3355}:root[data-theme=dark] .bl-lane{stroke:#424a75}:root[data-theme=dark] .bl-win{fill:#f6c4538c}:root[data-theme=dark] .bl-home{fill:#4a3a1c}.bl-robot-pos,.bl-robot{transition:transform .22s ease-in-out}.bl-robot.is-bump{animation:.35s bl-bump}.bl-body{fill:#e78936;stroke:#1b2353;stroke-width:2px}.bl-nose{fill:#1b2353}.bl-eye,.bl-cap{fill:#fff;stroke:#1b2353;stroke-width:1.5px}.bl-carry{fill:var(--ink)}@keyframes bl-bump{25%{translate:-3px}75%{translate:3px}}.bl-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bl-speed{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.bl-speed input{width:80px;min-height:0;accent-color:var(--code-saffron);padding:0}.bl-count{color:var(--muted);margin-left:auto;font-size:13px;font-weight:700}.bl-count.is-best{color:var(--success)}.bl-best-stars{color:#f6b830}.bl-msg{min-height:1.4em;color:var(--ink);margin:0;font-weight:600}.bl-msg.is-win{color:var(--success)}.bl-msg.is-fail{color:var(--error)}.bl-work{position:relative}.bl-blockly{border:1px solid var(--line);border-radius:14px;height:380px;overflow:hidden}.bl-loading{position:absolute;inset:0}.bl-code{border:1px solid var(--line);border-radius:12px;padding:0 12px}.bl-code summary{font-weight:700}.bl-code pre{border-radius:0 0 12px 12px;margin:0 -12px}@media (width>=1000px){.bl{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"stage work""code work";align-items:start}.bl-stage-wrap{grid-area:stage}.bl-work{grid-area:work}.bl-code{grid-area:code}.bl-blockly{height:min(620px,100vh - 60px)}.bl-stage{max-height:420px}}.cv{width:100%;max-height:180px;display:block}.cv-box,.cv-input,.cv-chip,.cv-label,.cv-container{fill:var(--cv-box);stroke:var(--cv-stroke);stroke-width:2px}.cv-t{fill:var(--cv-ink);font:600 14px DM Sans,system-ui,sans-serif}.cv-mono{font-family:Space Mono,ui-monospace,monospace;font-size:13px}.cv-small{font-size:11px;font-weight:500}.cv-big{font-size:22px}.cv-bold{font-weight:800}.cv-on{fill:#121735}.cv-label{fill:#fff1cf}.cv-chip-out,.cv-yes,.cv-content{fill:#dff3e7}.cv-no,.cv-tag{fill:#fde7d2}.cv-q,.cv-seq,.cv-machine{fill:#e4e7fb}.cv-btn{fill:#e78936;stroke:none}.cv-item{fill:#e78936}.cv-tiffin{fill:#f6e2b8}.cv-type-0{fill:#e4e7fb}.cv-type-1{fill:#dff3e7}.cv-type-2{fill:#fde7d2}:root[data-theme=dark] :is(.cv-label,.cv-chip-out,.cv-yes,.cv-content,.cv-no,.cv-tag,.cv-q,.cv-seq,.cv-machine,.cv-tiffin,.cv-type-0,.cv-type-1,.cv-type-2){fill:#2a3160}.cv-line,.cv-arrow,.cv-ring,.cv-axis{fill:none;stroke:var(--cv-stroke);stroke-width:2.5px;stroke-linecap:round}.cv-ring{stroke-dasharray:6 8;opacity:.6}.cv-dash{stroke-dasharray:5 6;animation:1.2s linear infinite cv-dash}.cv-dot{fill:#e78936}.cv-margin{fill:#fde7d2;stroke:#e78936;stroke-dasharray:5 4}.cv-border{fill:#1b2353}.cv-padding{fill:#dff3e7}.cv-content-box{fill:#e4e7fb}:root[data-theme=dark] .cv-margin{fill:#3b2a17}:root[data-theme=dark] .cv-border{fill:#b9c5ff}:root[data-theme=dark] .cv-padding{fill:#20483a}:root[data-theme=dark] .cv-content-box{fill:#2a3160}.cv-caret{fill:var(--cv-stroke);animation:1s step-end infinite cv-blink}.cv-ripple{fill:none;stroke:#e78936;stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite cv-ripple}.cv-sun{fill:#f6c453}.cv-hill{fill:#2f9e66}.cv-basket{fill:#1b2353;animation:2.4s ease-in-out infinite cv-basket}:root[data-theme=dark] .cv-basket{fill:#b9c5ff}.cv-spin{transform-origin:160px 80px;animation:2.4s linear infinite cv-spin}.cv-pulse,.cv-press{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite cv-pulse}.cv-press{animation-name:cv-press}.cv-slide{animation:.6s ease-out both cv-slide}.cv-pop{transform-box:fill-box;transform-origin:50%;animation:.5s ease-out both cv-popin}.cv-drop{animation:2.4s ease-in-out infinite cv-drop}.cv-run-seq{animation:3.2s ease-in-out infinite cv-seq}.cv-fork{animation:2.6s ease-in-out infinite cv-fork}.cv-in{animation:2.6s ease-in-out infinite cv-in}.cv-out{animation:2.6s ease-in-out infinite cv-out}.cv-gear{transform-box:fill-box;transform-origin:50%;animation:3s linear infinite cv-spin}.cv-breathe{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite cv-breathe}.cv-flex-0{animation:3s ease-in-out infinite alternate cv-flex0}.cv-flex-2{animation:3s ease-in-out infinite alternate cv-flex2}.cv-fall{animation:2.4s linear infinite cv-fall}.cv-drawn{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out both cv-popin}@keyframes cv-spin{to{transform:rotate(360deg)}}@keyframes cv-pulse{50%{transform:scale(1.05)}}@keyframes cv-press{0%,60%,to{transform:scale(1)}70%{transform:scale(.92)}}@keyframes cv-ripple{0%,60%{opacity:0;transform:scale(.6)}70%{opacity:.9}to{opacity:0;transform:scale(2.2)}}@keyframes cv-slide{0%{opacity:0;transform:translate(-14px)}}@keyframes cv-popin{0%{opacity:0;transform:scale(.4)}}@keyframes cv-drop{0%,20%{transform:translateY(0)}55%,80%{opacity:1;transform:translateY(66px)}to{opacity:0;transform:translateY(66px)}}@keyframes cv-seq{0%,10%{transform:translate(0)}30%{transform:translate(76px)}55%{transform:translate(152px)}80%,to{transform:translate(228px)}}@keyframes cv-fork{0%,20%{transform:translate(0)}50%,70%{transform:translate(-90px,38px)}to{opacity:0;transform:translate(-90px,38px)}}@keyframes cv-in{0%{opacity:1;transform:translate(0)}40%,to{opacity:0;transform:translate(70px)}}@keyframes cv-out{0%,45%{opacity:0;transform:translate(-60px)}80%,to{opacity:1;transform:translate(0)}}@keyframes cv-breathe{50%{transform:scale(.94)}}@keyframes cv-flex0{to{transform:translate(-8px)}}@keyframes cv-flex2{to{transform:translate(8px)}}@keyframes cv-blink{50%{opacity:0}}@keyframes cv-dash{to{stroke-dashoffset:-22px}}@keyframes cv-fall{0%{transform:translateY(-10px)}to{transform:translateY(150px)}}@keyframes cv-basket{50%{transform:translate(60px)}}.code-cert .cs-studio{align-items:start;gap:22px;display:grid}.code-cert .cs-controls,.code-cert .cs-field{gap:8px;display:grid}.code-cert .cs-field>span{font-weight:600}.code-cert .cs-field input{box-sizing:border-box;width:100%;font-size:17px}.code-cert .cs-bad{color:var(--error)}.code-cert .cs-variant,.code-cert .cs-actions{flex-wrap:wrap;gap:8px;display:flex}.code-cert .cs-swatch[aria-pressed=true],.code-cert .primary{border-color:var(--brand);font-weight:700}.code-cert .primary{background:var(--code-saffron);border-color:var(--code-saffron);color:#121735}.code-cert .cs-id code{background:var(--soft);border-radius:6px;padding:2px 8px;font:15px Space Mono,monospace}.code-cert .cs-linkedin{color:#fff;background:#0a66c2;border-radius:12px;align-items:center;min-height:44px;padding:10px 16px;font-weight:600;display:inline-flex}.code-cert .cs-linkedin.is-disabled{opacity:.5;pointer-events:none}.code-cert .cs-small{margin:0;font-size:13px}.code-cert .cs-preview{margin:0}.code-cert .cs-preview canvas{background:#fbf6ea;border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 24px 48px -24px #0007}.code-cert .cs-preview figcaption{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}@media (width>=900px){.code-cert .cs-studio{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}}.code-verify{gap:14px;max-width:720px;display:grid}.code-verify .cs-result{border:2px solid var(--code-green);border-radius:16px;padding:16px}.code-verify .cs-result.is-invalid{border-color:var(--error)}.code-verify form{gap:10px;display:grid}.code-verify label{gap:4px;font-weight:600;display:grid}@media (width<=700px){.shell.code-section,.code-section{padding:0 16px}}@media (prefers-reduced-motion:reduce){.cv *,.cv,.code-motion *,.cp-confetti i,.cp-cel-card,.cp-cel-burst,.cp-stars span,.bl-robot,.bl-robot-pos,.code-card{transition:none!important;animation:none!important}.code-motion .cm-line{width:auto}.code-motion .cm-out{opacity:1}.cp-confetti{display:none}}.cv-term{fill:#141833}.cv-tt{fill:#b8f5c9;font:13px Space Mono,monospace}.cv-node{fill:var(--code-saffron);stroke:var(--cv-stroke);stroke-width:2px}.cv-node-alt{fill:#5b6fd8;stroke:var(--cv-stroke);stroke-width:2px}.cv-q-dot{fill:var(--cv-ink)}.cv-fit{stroke:var(--code-green);stroke-width:3px;fill:none;stroke-dasharray:300;animation:2.4s ease-out infinite alternate cv-draw}@keyframes cv-draw{0%{stroke-dashoffset:300px}to{stroke-dashoffset:0}}.cp-stdin{border-top:1px solid var(--line);background:var(--cm-gutter);color:var(--cm-ink);gap:4px;padding:8px 10px 10px;font-size:13px;font-weight:700;display:grid}.cp-stdin small{color:var(--muted);font-weight:400}.cp-stdin textarea{background:var(--cm-bg);color:var(--cm-ink);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:6px 8px;font:14px/1.5 Space Mono,monospace}.cp-stage{color:var(--muted);align-items:center;gap:8px;margin:6px 0;font-size:13.5px;display:flex}.cp-spin{border:2px solid var(--line);border-top-color:var(--code-saffron);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite cp-spin}.sq-schema ul{flex-wrap:wrap;gap:6px;margin:0;padding:6px;list-style:none;display:flex}.sq-schema li{max-width:100%}.sq-table{border-radius:99px;min-height:34px;padding:0 12px;font-size:14px}.sq-table small{color:var(--muted);margin-left:6px}.sq-cols{flex-wrap:wrap;gap:4px;padding:6px 2px;display:flex}.sq-cols code{background:var(--soft);border-radius:6px;padding:2px 6px;font-size:12.5px}.sq-cols code small{color:var(--muted)}.sq-pad,.sh-pad{padding:4px 12px}.sq-grid-wrap{padding:6px 8px 2px}.sq-scroll{border:1px solid var(--line);border-radius:10px;max-height:340px;overflow:auto}.sq-grid{border-collapse:collapse;width:100%;font:13.5px/1.4 Space Mono,ui-monospace,monospace}.sq-grid th,.sq-grid td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:5px 10px}.sq-grid th{background:var(--soft);font-weight:700;position:sticky;top:0}.sq-grid td.is-num{text-align:right}.sq-grid tbody tr:nth-child(2n){background:color-mix(in srgb, var(--soft) 45%, transparent)}.sq-null{color:var(--muted)}.sq-cap{color:var(--muted);margin:4px 2px;font-size:12.5px}.sh-term{color:#e6e8f5;cursor:text;background:#0f1226;flex-direction:column;flex:1;min-height:340px;font:14px/1.55 Space Mono,ui-monospace,monospace;display:flex}.sh-lines{flex:1;max-height:520px;padding:10px 12px 4px;overflow:auto}.sh-l{white-space:pre-wrap;word-break:break-word}.sh-l.is-cmd{color:#8fdcae}.sh-l.is-err{color:#ff9b9c}.sh-tip{color:#a5a9c8;margin:0 0 8px;font-size:13px}.sh-input{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px 10px;display:flex}.sh-prompt{color:#f6c453;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.sh-input input{color:#fff;min-width:140px;font:inherit;caret-color:#f6c453;background:0 0;border:0;border-bottom:1px dashed #4a5080;border-radius:0;outline:none;flex:1;padding:2px 0}.sh-keys{flex-wrap:wrap;gap:6px;padding:0 10px 10px;display:flex}.sh-keys .cp-mini{color:#e6e8f5;background:#1d2244;border-color:#353a66}.sh-tree{margin:0;padding:6px 4px 8px;font:13.5px/1.7 Space Mono,monospace;list-style:none}.sh-tree li.is-cwd{background:color-mix(in srgb, var(--code-saffron) 14%, transparent);border-radius:6px}.sh-tree em{color:var(--muted);font-size:12px;font-style:normal}.sh-st{text-align:center;color:#fff;border-radius:4px;min-width:18px;margin-left:6px;padding:0 4px;font-size:11px;font-weight:700;display:inline-block}.sh-st.is-untracked{background:#6f6e6a}.sh-st.is-modified{background:#b4520f}.sh-st.is-staged{background:#23794e}.sh-st.is-conflict{background:#c0262d}.sh-graph{padding:4px 6px 8px;overflow-x:auto}.sh-graph svg{max-width:none;display:block}.sh-lane{fill:var(--muted);font:11px Space Mono,monospace}.sh-edge{fill:none;stroke-width:3px;stroke:var(--code-saffron)}.sh-node circle{fill:var(--code-saffron);stroke:var(--surface);stroke-width:2.5px}.sh-edge.lane-1{stroke:#5b6fd8}.lane-1 circle{fill:#5b6fd8}.sh-edge.lane-2{stroke:var(--code-green)}.lane-2 circle{fill:var(--code-green)}.sh-edge.lane-3,.sh-edge.lane-4,.sh-edge.lane-5{stroke:#b23a48}.lane-3 circle,.lane-4 circle,.lane-5 circle{fill:#b23a48}.sh-node.is-head circle{stroke:var(--ink);stroke-width:3px}.sh-msg,.sh-label{text-anchor:middle;fill:var(--ink);font:10.5px Space Mono,monospace}.sh-label{fill:var(--muted);font-weight:700}.sh-label.is-current{fill:var(--code-saffron)}.ml-w{border:1px solid var(--line);background:var(--soft);border-radius:16px;margin:14px 0;padding:12px}.ml-w figcaption{margin-bottom:8px;font-weight:700}.ml-badge{color:#fff;background:#7b4fd6;border-radius:99px;margin-right:4px;padding:2px 8px;font:700 11px Space Mono,monospace}.ml-svg{background:var(--surface);touch-action:none;user-select:none;border-radius:12px;width:100%;height:auto;display:block}.ml-strip{touch-action:auto}.ml-axis{stroke:var(--muted);stroke-width:1.5px;fill:none}.ml-ax{fill:var(--muted);font:11px Space Mono,monospace}.ml-bg0{fill:#f6c453;opacity:.25}.ml-bg1{fill:#7ccf5a;opacity:.25}.ml-p0{fill:#e78936;stroke:var(--surface);stroke-width:1.5px}.ml-p1{fill:#4f9e2d;stroke:var(--surface);stroke-width:1.5px}.ml-link{stroke:var(--ink);stroke-dasharray:3 3;opacity:.55}.ml-q circle{fill:var(--ink)}.ml-q text{fill:var(--surface);pointer-events:none;font-size:14px;font-weight:700}.ml-line,.ml-curve{stroke:#5b6fd8;stroke-width:3px;fill:none}.ml-res{stroke:#c0262d;stroke-width:1.5px;opacity:.6}.ml-thr{stroke:#c0262d;stroke-width:2.5px}.ml-handle{fill:#5b6fd8;stroke:#fff;stroke-width:3px;cursor:ns-resize}.ml-handle:focus-visible{stroke:var(--code-saffron);outline:none}.ml-ctl{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:14px;display:flex}.ml-ctl label{align-items:center;gap:6px;display:flex}.ml-ctl input[type=range]{width:120px}.cp-mini.is-on{background:var(--code-indigo);color:#fff}.ml-out{background:var(--surface);border-radius:8px;padding:3px 8px;font:700 13.5px Space Mono,monospace}.ml-out.is-good{color:var(--code-green)}.ml-note{color:var(--muted);margin:8px 0 0;font-size:13px}.ml-field{gap:4px;font-size:13px;display:grid}.ml-field textarea,.ml-word{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 8px;font:13.5px/1.5 Space Mono,monospace}.ml-word{width:120px}.ml-bars{gap:6px;margin-top:10px;display:grid}.ml-bars>div{grid-template-columns:minmax(90px,.6fr) 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.ml-bars i{border-radius:6px;min-width:2px;height:12px;transition:width .25s;display:block}.ml-bar0{background:var(--code-saffron)}.ml-bar1{background:#4f9e2d}.ml-gen{margin:10px 0 0;font:700 15px Space Mono,monospace}.ml-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13.5px}.ml-table th,.ml-table td{border-bottom:1px solid var(--line);text-align:right;padding:5px 6px}.ml-table th[scope=row]{text-align:left}@media (prefers-reduced-motion:reduce){.cp-spin,.cv-fit,.ml-bars i{transition:none;animation:none}}.code-track{margin:22px 0 10px;font-size:18px}.code-path li strong a{color:inherit}.sh-path{text-transform:none;letter-spacing:0}.sh-guide{stroke:var(--line);stroke-dasharray:2 4}
