/* ComfyUniversity. Readers' surfaces follow the theme through skin.css tokens; labs and graphs are lit instruments that stay dark in both themes through .cu-film. */
body.on-learn main>.top{gap:6px;margin-bottom:clamp(14px,1.6vw,22px)}
body.on-learn main>.top h1{font-size:clamp(32px,6.5vw,118px);font-stretch:125%;font-weight:900;letter-spacing:-.045em;line-height:.86;overflow-wrap:anywhere}
body.on-learn main>.top .sub{margin-top:clamp(6px,.7vw,10px);font:800 clamp(19px,2.5vw,38px)/1.02 var(--display);font-stretch:112%;letter-spacing:-.02em;color:var(--sb-ink,var(--a1))}
body.on-learn.cu-deep main>.top{margin-bottom:10px}body.on-learn.cu-deep main>.top h1{font-size:clamp(20px,2vw,28px);line-height:1;letter-spacing:-.02em}body.on-learn.cu-deep main>.top .sub{display:none}
:root[data-theme=light] body.on-learn .top .pill{background:var(--panel)}
@media (min-width:1240px){body.on-learn main>.top{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:end}body.on-learn main>.top>div{grid-area:1/1/2/5}body.on-learn main>.top>.grow{display:none}}
.cu{--ink:var(--sb-ink,var(--a1));--gold:#f5c518;--warn:#ff8a80;--good:#27e07f;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;display:flex;flex-direction:column;min-width:0;padding-bottom:72px}
:root[data-theme=light] .cu{--warn:#b3261e;--good:#0b7a41}
.cu p{margin:0}.cu h2,.cu h3,.cu h4{margin:0}.cu ul,.cu ol{margin:0;padding:0;list-style:none}.cu figure{margin:0}.cu img,.cu video,.cu canvas{display:block;max-width:100%}
.cu :focus-visible{outline:2px solid var(--ink);outline-offset:2px}.cu h2:focus{outline:none}
.cu-film{--ink:var(--gold);--warn:#ff8a80;--good:#27e07f;--text:#f6f6f1;--mut:#9aa39a;--panel:#101311;--panel2:#171b18;--line:rgba(255,255,255,.085);--line2:rgba(255,255,255,.16);background:#0b0e0c;color:#f6f6f1;border-radius:6px}
.cu-view{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,38px);min-width:0}
.cu-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cu-kick{font:700 15px/1.1 var(--display);font-stretch:75%;letter-spacing:.01em;color:var(--ink)}
.cu-err{color:var(--warn);font-size:14px}.cu-a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cu-loading{min-height:50vh;display:grid;place-items:center}.cu-loading b{font:800 clamp(20px,3vw,36px)/1 var(--display);text-transform:uppercase;color:var(--mut)}
.cu-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1.5px solid var(--line2);border-radius:5px;font:700 15px/1.1 var(--display);color:var(--text);text-align:center;transition:background .12s,border-color .12s}
.cu-btn:hover{border-color:var(--ink)}.cu-btn.primary{background:var(--gold);border-color:var(--gold);color:#141006}.cu-btn.primary:hover{background:#ffd53a}.cu-btn[disabled]{opacity:.6;cursor:wait}.cu-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cu-ghost{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--line2);border-radius:5px;font-size:13px;font-weight:600;color:var(--text)}.cu-ghost:hover{border-color:var(--ink)}.cu-ghost:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cu-linkbtn{all:unset;cursor:pointer;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cu-pill{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:600;line-height:1.25;background:var(--panel2);border:1px solid var(--line2);color:var(--mut);white-space:nowrap}.cu-pill.ink{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 55%,transparent)}.cu-pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent);background:transparent}.cu-pill.plain{background:transparent}
.cu-tick{color:var(--good);font-weight:900;font-size:17px;line-height:1}
.cu-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line2);border-radius:5px;overflow:hidden;max-width:100%}.cu-seg button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 11px;min-height:36px;font-size:12.5px;font-weight:600;color:var(--mut);border-right:1px solid var(--line2)}.cu-seg button:last-child{border-right:0}.cu-seg button:hover{color:var(--text)}.cu-seg button[aria-pressed=true]{background:var(--gold);color:#141006}.cu-seg button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
/* hero */
.cu-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);background:radial-gradient(120% 90% at 8% -10%,#23220f 0%,#0f120d 46%,#0b0e0c 100%)}
.cu-hero-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(12px,1.5vw,20px);padding:clamp(20px,3vw,44px);justify-content:center}
.cu-hero-h{font:900 clamp(28px,3.7vw,62px)/.96 var(--display);font-stretch:118%;letter-spacing:-.035em;text-transform:uppercase;color:#fff}
.cu-hero-sub{font-size:clamp(15px,1.25vw,18px);line-height:1.5;color:#c5cbc2;max-width:56ch}
.cu-cta{display:flex;flex-wrap:wrap;gap:8px}.cu-cta .cu-btn{color:#f6f6f1;max-width:100%;white-space:normal}.cu-cta .cu-btn.primary{color:#141006}
.cu-stats{display:flex;flex-wrap:wrap;gap:6px clamp(18px,2.2vw,34px);padding-top:6px}.cu-stats li{display:flex;flex-direction:column;gap:2px}.cu-stats b{font:900 clamp(30px,3.2vw,50px)/.92 var(--display);font-stretch:112%;letter-spacing:-.03em;color:var(--gold);font-variant-numeric:tabular-nums}.cu-stats span{font-size:12.5px;color:#9aa39a}
.cu-prog-line{font-size:13.5px;color:#c5cbc2}.cu-prog-line b{color:var(--gold)}
.cu-hero-art{order:2;position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:3px;background:#000;min-height:0;contain:size}.cu-hero-art img{width:100%;height:100%;object-fit:cover;min-height:0}
/* tracks */
.cu-band{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 22px;margin-bottom:clamp(12px,1.4vw,18px)}.cu-band h2{font:900 clamp(30px,4.2vw,64px)/.95 var(--display);font-stretch:118%;letter-spacing:-.035em;text-transform:uppercase;color:var(--text)}.cu-band p{font-size:14px;color:var(--mut);max-width:60ch}
.cu-tracks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:4px}
.cu-track{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;height:100%;box-sizing:border-box;min-height:230px;padding:clamp(14px,1.4vw,20px);background:#0b0e0c;color:#f6f6f1;text-decoration:none;border-radius:4px;isolation:isolate;transition:box-shadow .14s}
.cu-track:hover{box-shadow:inset 0 0 0 2px var(--gold)}.cu-track:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.cu-track-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:.32;transition:opacity .2s}.cu-track:hover .cu-track-art{opacity:.5}
.cu-track::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,14,12,.55),rgba(11,14,12,.9))}
.cu-track-n{font:900 clamp(38px,3.8vw,58px)/.86 var(--display);font-stretch:112%;letter-spacing:-.04em;color:var(--gold)}
.cu-track-t{font:800 clamp(20px,1.8vw,27px)/1.02 var(--display);font-stretch:110%;letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.cu-track-b{font-size:14px;line-height:1.42;color:#d5d9d2;flex:1}.cu-track-f{display:flex;gap:12px;font-size:12.5px;font-weight:600;color:#c5cbc2}
.cu-bar{display:block;height:4px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}.cu-bar i{display:block;height:100%;background:var(--gold)}.cu-bar.big{height:6px;margin-top:6px}
/* how we know */
.cu-know{padding:clamp(16px,2vw,28px);border:1px solid var(--line);border-radius:6px;background:var(--panel);display:flex;flex-direction:column;gap:14px}.cu-know h2{font:900 clamp(23px,2.7vw,40px)/1 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:-.025em;color:var(--text)}.cu-know ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(12px,1.6vw,24px)}.cu-know li{display:flex;flex-direction:column;gap:5px}.cu-know b{font:900 clamp(30px,3vw,46px)/.9 var(--display);font-stretch:112%;color:var(--ink);font-variant-numeric:tabular-nums}.cu-know p{font-size:13.5px;line-height:1.45;color:var(--mut)}.cu-know code{font:12px var(--mono)}
/* lists */
.cu-crumb{display:flex;flex-wrap:wrap;gap:6px 9px;align-items:center;font-size:13px;color:var(--mut)}.cu-crumb a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;padding:6px 0}.cu-crumb-at{margin-left:auto;font-variant-numeric:tabular-nums}
.cu-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cu-search{flex:1 1 280px;min-width:0}.cu-search input{box-sizing:border-box;width:100%;height:48px;background:var(--panel);border:1.5px solid var(--line2);border-radius:6px;padding:0 14px;color:var(--text);font:600 16px var(--display)}.cu-search input:focus{border-color:var(--a1);outline:none;box-shadow:inset 0 -3px 0 var(--a1)}.cu-n{font-size:13px;color:var(--mut)}
.cu-list{display:flex;flex-direction:column;gap:3px}
.cu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:13px 15px;background:var(--panel);border-left:3px solid var(--line2);color:var(--text);text-decoration:none;transition:background .1s,border-color .1s}.cu-list.num .cu-row{grid-template-columns:44px minmax(0,1fr) auto}
.cu-row:hover{background:var(--panel2);border-left-color:var(--a1)}.cu-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.cu-row.done{border-left-color:var(--good)}
.cu-row-n{font:900 clamp(24px,2.2vw,34px)/1 var(--display);font-stretch:112%;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.cu-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.cu-row-main b{font:800 clamp(16px,1.3vw,19px)/1.15 var(--display);font-stretch:106%;letter-spacing:-.012em}.cu-row-main span{font-size:13.5px;line-height:1.4;color:var(--mut)}
.cu-row-meta{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center;max-width:240px}
.cu-track-head{position:relative;overflow:hidden;padding:clamp(20px,3vw,44px);isolation:isolate;display:block}.cu-track-head-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:.3}.cu-track-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,14,12,.92),rgba(11,14,12,.5))}.cu-track-head h2{font:900 clamp(38px,6.4vw,104px)/.9 var(--display);font-stretch:120%;letter-spacing:-.04em;text-transform:uppercase;color:#fff;margin:6px 0 10px}.cu-track-lead{font-size:clamp(16px,1.5vw,21px);line-height:1.35;max-width:58ch;color:#e6e8e2}.cu-track-sum{margin-top:10px!important;font-size:13px;color:#b9bfb7}
.cu-next{display:flex;flex-direction:column;gap:3px;padding:clamp(16px,2vw,26px);background:var(--gold);color:#141006;text-decoration:none;border-radius:5px}.cu-next span{font-size:13px;font-weight:600}.cu-next b{font:900 clamp(22px,3vw,42px)/1 var(--display);font-stretch:115%;letter-spacing:-.025em;text-transform:uppercase}.cu-next:hover{background:#ffd53a}.cu-next:focus-visible{outline:3px solid var(--text);outline-offset:2px}
/* lesson */
.cu-lesson{gap:clamp(22px,2.8vw,42px)}
.cu-lesson-head{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px)}
.cu-lesson-title{font:900 clamp(38px,6.6vw,108px)/.9 var(--display);font-stretch:120%;letter-spacing:-.04em;text-transform:uppercase;color:var(--text);overflow-wrap:anywhere;hyphens:auto}
.cu-lesson-title.long{font-size:clamp(32px,4.7vw,78px);line-height:.94}
.cu-objective{font:600 clamp(18px,1.9vw,27px)/1.25 var(--display);letter-spacing:-.012em;color:var(--text);max-width:40em}
.cu-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.cu-pre{font-size:13px;color:var(--mut);margin-left:6px}
.cu-draft{padding:12px 14px;border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--panel));font-size:14px;line-height:1.45;max-width:70ch}
.cu-rack{position:sticky;top:0;z-index:6;background:var(--bg);padding:6px 0;margin:-6px 0}.cu-rack ol{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}.cu-rack ol::-webkit-scrollbar{display:none}.cu-rack li{flex:none}.cu-rack a{display:block;padding:9px 12px;min-height:20px;border-top:3px solid var(--line2);background:var(--panel);color:var(--mut);font:700 13px/1.15 var(--display);text-decoration:none;white-space:nowrap}.cu-rack a:hover{color:var(--text);border-top-color:var(--a1)}.cu-rack a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.cu-sec{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px);scroll-margin-top:60px;min-width:0}.cu-sec>h2{font:900 clamp(26px,3.4vw,52px)/.98 var(--display);font-stretch:116%;letter-spacing:-.03em;text-transform:uppercase;color:var(--text)}
.cu-prose{display:flex;flex-direction:column;gap:13px;font-size:clamp(16px,1.1vw,17.5px);line-height:1.6;min-width:0}.cu-prose>p,.cu-prose>ul,.cu-prose>ol,.cu-prose>blockquote,.cu-prose>h3,.cu-prose>h4{max-width:70ch}.cu-prose.small{font-size:14px}
.cu-prose ul{list-style:disc;padding-left:22px}.cu-prose ol{list-style:decimal;padding-left:24px}.cu-prose li{margin:5px 0}.cu-prose h3{font:800 clamp(18px,1.5vw,22px)/1.15 var(--display);font-stretch:108%;letter-spacing:-.01em;color:var(--text);margin-top:10px}.cu-prose h4{font:700 16px/1.2 var(--display);color:var(--text)}
.cu-prose strong{font-weight:700;color:var(--text)}.cu-prose code,.cu-lab code,.cu-play-note code,.cu-why code,.cu-check code{font:.88em var(--mono);overflow-wrap:anywhere;background:var(--panel2);padding:1px 4px;border-radius:3px}.cu-prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.cu-prose a:hover{text-decoration-thickness:2px}.cu-prose blockquote{margin:0;padding:10px 14px;border-left:3px solid var(--a1);background:var(--panel);font-size:.96em}.cu-prose hr{width:100%;border:0;border-top:1px solid var(--line)}
.cu-code{margin:0;padding:12px 14px;background:#0b0e0c;color:#e4e7e0;border:1px solid var(--line);border-radius:5px;font:13px/1.5 var(--mono);overflow-x:auto;white-space:pre;max-width:100%;box-sizing:border-box}.cu-code code{font:inherit;background:none;padding:0;color:inherit}.cu-code.out{border-left:3px solid var(--gold)}.cu-code:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.cu-table{overflow-x:auto;max-width:100%}.cu-table table{border-collapse:collapse;font-size:14px;min-width:100%}.cu-table th,.cu-table td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cu-table th{font:700 13px var(--display);color:var(--mut)}
.cu-fig{display:flex;flex-direction:column;gap:6px;max-width:640px}.cu-fig img,.cu-fig video{width:100%;height:auto;border-radius:4px;background:#000}.cu-fig audio{width:100%}.cu-fig figcaption,.cu-wipe figcaption{font-size:13px;line-height:1.4;color:var(--mut)}
.cu-wide{min-width:0}
.cu-wipe{display:flex;flex-direction:column;gap:6px;max-width:640px}.cu-wipe-stage{position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px;background:#000;--pos:50%}.cu-wipe-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cu-wipe-stage img.a{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.cu-wipe-stage>i{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.4);pointer-events:none}.cu-wipe-stage>span{position:absolute;top:8px;padding:3px 8px;border-radius:3px;background:rgba(0,0,0,.78);color:#fff;font:700 13px/1.2 var(--display);pointer-events:none;max-width:44%}.cu-wipe-stage>span.l{left:8px}.cu-wipe-stage>span.r{right:8px}.cu-wipe-stage input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.cu-wipe-stage:focus-within{outline:2px solid var(--ink);outline-offset:2px}
/* quiz */
.cu-quiz{display:flex;flex-direction:column;gap:12px}.cu-quiz-score{font-size:14px;color:var(--mut)}.cu-quiz-score b{font:900 clamp(26px,2.6vw,40px)/1 var(--display);color:var(--ink);margin-right:3px}
.cu-q{margin:0;padding:clamp(12px,1.4vw,18px);border:1px solid var(--line);border-radius:6px;background:var(--panel);display:flex;flex-direction:column;gap:9px;min-width:0}.cu-q.ok{border-left:4px solid var(--good)}.cu-q.no{border-left:4px solid var(--warn)}.cu-q legend{float:left;width:100%;padding:0;font:700 clamp(16px,1.25vw,18px)/1.28 var(--display);letter-spacing:-.008em;margin-bottom:8px;color:var(--text)}.cu-opts{clear:both;display:flex;flex-direction:column;gap:5px}
.cu-opt{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;min-height:44px;border:1px solid var(--line2);border-radius:5px;font-size:15px;line-height:1.35;color:var(--text);display:block}.cu-opt:hover{border-color:var(--ink);background:var(--panel2)}.cu-opt:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.cu-opt.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.cu-opt.no{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 11%,transparent)}
.cu-why{font-size:14px;line-height:1.45;color:var(--text);clear:both}.cu-why.no{color:var(--warn)}
/* lab */
.cu-lab{display:flex;flex-direction:column;gap:11px;font-size:15px;line-height:1.5}.cu-lab>p{max-width:70ch}.cu-lab h3{font:800 15px/1.2 var(--display);text-transform:uppercase;letter-spacing:0;color:var(--mut);margin-top:4px}.cu-lab-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cu-lab-verdict{font-weight:600;font-size:14px}.cu-lab-verdict.ok{color:var(--good)}.cu-lab-verdict.no{color:var(--warn)}
.cu-printed summary{cursor:pointer;font-size:14px;font-weight:600;padding:8px 0;color:var(--ink)}
/* graph */
.cu-graph{display:flex;flex-direction:column;gap:10px;padding:clamp(12px,1.5vw,20px);min-width:0}.cu-graph-top{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:flex-start}.cu-graph h3{font:800 clamp(18px,1.7vw,24px)/1.1 var(--display);font-stretch:108%;letter-spacing:-.015em;text-transform:uppercase;color:#fff}.cu-graph-top p{font-size:14px;color:#b9bfb7;margin-top:3px;max-width:60ch}.cu-graph-tags{display:flex;flex-wrap:wrap;gap:4px}
.cu-graph-scroll{overflow:auto;max-height:560px;background:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/18px 18px,#090b0a;border-radius:4px}.cu-graph-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.cu-graph-canvas{position:relative}.cu-graph-canvas svg{position:absolute;inset:0;pointer-events:none}
.cu-node{all:unset;box-sizing:border-box;position:absolute;display:flex;flex-direction:column;gap:1px;padding:7px 9px;background:#191e1a;border:1px solid rgba(255,255,255,.2);border-radius:5px;cursor:pointer;overflow:hidden;color:#cfd4cc}.cu-node b{font:700 12.5px/1.2 var(--display);color:#fff;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-node i{font:10.5px/1.3 var(--mono);color:#8ea08f;font-style:normal}.cu-node em{font:10.5px/1.3 var(--mono);font-style:normal;color:#8f958d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-node em u{text-decoration:none;color:#e9e6c9}
.cu-node:hover{border-color:var(--gold)}.cu-node.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#23261a}.cu-node.out{border-top:3px solid var(--gold)}.cu-node:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.cu-graph-detail{min-height:42px;font-size:14px}.cu-graph-hint{color:#9aa39a;font-size:13px}.cu-node-d h4{font:800 15px/1.2 var(--display);color:var(--gold);margin-bottom:3px}.cu-node-note{line-height:1.45;margin-bottom:6px!important;max-width:68ch}.cu-node-d dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 12px;margin:0;font-size:12.5px}.cu-node-d dt{font-family:var(--mono);color:#9aa39a}.cu-node-d dd{margin:0;overflow-wrap:anywhere;color:#e4e7e0}.cu-node-out{margin-top:5px!important;font-size:12.5px;color:#9aa39a}
.cu-needs{font-size:13.5px;line-height:1.4;padding:9px 12px;border-left:3px solid var(--line2);color:#d5d9d2}.cu-needs.warn{border-left-color:var(--warn)}.cu-needs b{font-weight:700}.cu-needs ul{margin-top:3px}
.cu-graph-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cu-graph-acts .cu-ghost{color:#f6f6f1}.cu-graph-acts p{font-size:12.5px;color:#9aa39a;flex:1 1 220px}.cu-graph-acts code{font:.92em var(--mono)}
/* plays */
.cu-play{display:flex;flex-direction:column;gap:clamp(11px,1.2vw,16px);padding:clamp(13px,1.7vw,24px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);min-width:0}.cu-play.passed{box-shadow:inset 0 0 0 1px rgba(39,224,127,.45)}.cu-play p{margin:0}.cu-play h3{font:900 clamp(21px,2.3vw,34px)/1 var(--display);font-stretch:112%;letter-spacing:-.025em;text-transform:uppercase;color:#fff;margin:4px 0 6px}.cu-task{font-size:clamp(14.5px,1.1vw,16px);line-height:1.42;color:#e4e7e0;max-width:64ch}.cu-task b{color:var(--gold)}
.cu-play-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:13.5px;color:#b9bfb7;border-top:1px solid rgba(255,255,255,.1);padding-top:9px}.cu-pass{color:#27e07f;font-weight:800}.cu-wait{color:#9aa39a}
.cu-play-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr);gap:clamp(12px,1.6vw,22px);align-items:start}.cu-ctls{display:flex;flex-direction:column;gap:11px;min-width:0}.cu-ctlrow{display:flex;flex-wrap:wrap;gap:11px clamp(14px,1.6vw,24px);align-items:flex-end}.cu-ctlrow .cu-ctl{flex:1 1 170px}.cu-ctl{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px;color:#b9bfb7}.cu-ctl>span{font-weight:600}.cu-ctl b{color:#fff;font-variant-numeric:tabular-nums}.cu-ctl.wide{width:100%;flex-basis:100%}.cu-ctl input[type=range]{width:100%;height:28px;accent-color:var(--gold);margin:0}
.cu-text,.cu-json{box-sizing:border-box;width:100%;background:#171b18!important;color:#f6f6f1!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:5px;padding:9px 10px;font:14px var(--mono)}.cu-json{font-size:12.5px;line-height:1.45;resize:vertical}.cu-text:focus,.cu-json:focus{border-color:var(--gold)!important;outline:none}
.cu-chips{display:flex;flex-wrap:wrap;gap:4px}.cu-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:5px 8px;min-height:30px;border:1px solid rgba(255,255,255,.2);border-radius:4px;font:12px var(--mono);color:#b9bfb7}.cu-chip[aria-pressed=true]{background:var(--gold);color:#141006;border-color:var(--gold)}.cu-chip:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.cu-chart{width:100%;height:auto;background:#090b0a;border-radius:4px;display:block}.cu-chart.world{max-height:440px}
.cu-legend{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#b9bfb7;margin:7px 0!important}.cu-legend li{display:flex;gap:7px;align-items:center}.cu-legend i{flex:none;width:11px;height:11px;border-radius:2px}
.cu-read{display:flex;flex-wrap:wrap;gap:7px clamp(14px,1.6vw,24px);margin:6px 0 0}.cu-read>div{display:flex;flex-direction:column;gap:1px;min-width:0}.cu-read dt{font-size:12px;color:#9aa39a}.cu-read dd{margin:0;font:800 clamp(15px,1.25vw,18px)/1.15 var(--display);color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cu-read .good dd{color:#27e07f}.cu-read .bad dd{color:#ff8a80}
.cu-play-note{font-size:13px;line-height:1.45;color:#a9b0a7;max-width:74ch}
.cu-canvas{display:flex;flex-direction:column;gap:5px;min-width:0}.cu-canvas canvas{width:100%;max-width:420px;height:auto;background:#000;border-radius:4px;image-rendering:auto}.cu-canvas.big canvas{image-rendering:pixelated;max-width:432px}.cu-canvas.wide canvas{max-width:100%}.cu-canvas figcaption{font-size:12.5px;color:#9aa39a;line-height:1.35}.cu-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cu-steps{display:flex;gap:2px;flex-wrap:wrap}.cu-steps li{flex:1 1 12px;min-width:10px;height:44px;background:rgba(255,255,255,.08);border-radius:2px}.cu-steps li.on{background:var(--gold)}
.cu-tokens{display:flex;flex-wrap:wrap;gap:3px}.cu-tokens li{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:4px;background:rgba(255,255,255,.07);font-size:14px;min-width:0}.cu-tokens li.up{background:color-mix(in srgb,#f5c518 calc(var(--w)*65%),rgba(255,255,255,.07))}.cu-tokens li.down{background:color-mix(in srgb,#5a9bf0 calc(var(--w)*65%),rgba(255,255,255,.07))}.cu-tokens span{overflow-wrap:anywhere}.cu-tokens b{font:800 12.5px var(--mono);color:#fff}
.cu-shape code{font:800 clamp(18px,2.2vw,30px) var(--mono);color:var(--gold);overflow-wrap:anywhere}
.cu-attn{display:flex;flex-direction:column;gap:4px}.cu-attn li{display:grid;grid-template-columns:90px minmax(0,1fr) 44px;gap:8px;align-items:center;font-size:14px}.cu-attn i{height:14px;background:linear-gradient(90deg,var(--gold) calc(var(--w)*100%),rgba(255,255,255,.08) 0);border-radius:2px}.cu-attn b{text-align:right;font-variant-numeric:tabular-nums}
.cu-strip{display:flex;flex-wrap:wrap;gap:5px}.cu-chipnode{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 11px;min-height:40px;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:#191e1a}.cu-chipnode b{font:700 13px var(--display);color:#e4e7e0}.cu-chipnode small{display:block;font-size:11px;color:#9aa39a}.cu-chipnode.hit small{color:#3d3208}.cu-chipnode.picked{border-color:#7fb6ff;box-shadow:inset 0 0 0 1px #7fb6ff}.cu-chipnode.hit{background:var(--gold)}.cu-chipnode.hit b{color:#141006}.cu-chipnode:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.cu-q-line{font-size:15px;line-height:1.42;color:#e4e7e0;max-width:70ch}
.cu-errs{display:flex;flex-direction:column;gap:6px;min-width:0}.cu-errline{padding:8px 10px;border-left:3px solid #ff8a80;background:rgba(255,138,128,.08);font-size:13.5px;line-height:1.35}.cu-errline code{font:700 12.5px var(--mono);color:#ff8a80}.cu-errline small{color:#9aa39a;font-size:12px}
.cu-wire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cu-wire h4{font:800 13px var(--display);color:#9aa39a;margin-bottom:6px}.cu-wire ul{display:flex;flex-direction:column;gap:3px}.cu-port{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:1px;width:100%;padding:7px 10px;min-height:40px;border-left:4px solid var(--c);background:#171b18;border-radius:3px;font-size:12px;color:#b9bfb7}.cu-port b{font:700 13.5px var(--mono);color:#fff}.cu-port:hover{background:#21261f}.cu-port.on{box-shadow:inset 0 0 0 2px var(--gold)}.cu-port.done{opacity:.68}.cu-port:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.cu-vram{display:flex;height:42px;gap:2px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden}.cu-vram i{display:grid;place-items:center;min-width:1px;font-style:normal}.cu-vram b{font:800 13px var(--display);color:#141006}.cu-vram .w{background:#f5c518}.cu-vram .t{background:#5a9bf0}.cu-vram .l{background:#e8703f}.cu-vram .r{background:#888}.cu-vram .f{background:rgba(39,224,127,.25)}
.cu-risk{display:flex;flex-direction:column;gap:1px;counter-reset:l}.cu-riskl{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:6px 9px;min-height:30px;background:#111412;overflow-x:auto}.cu-riskl code{font:12.5px/1.4 var(--mono);color:#e4e7e0;white-space:pre}.cu-riskl:hover{background:#1d221c}.cu-riskl.hit{background:rgba(39,224,127,.16);box-shadow:inset 3px 0 0 #27e07f}.cu-riskl.miss{background:rgba(255,138,128,.12);box-shadow:inset 3px 0 0 #ff8a80}.cu-riskl:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.cu-risk .cu-why{padding:5px 9px 7px;font-size:13px;background:#111412;color:#e4e7e0}.cu-risk .cu-why.no{color:#ffcdc7}
.cu-checks{display:flex;flex-direction:column;gap:5px}.cu-check{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:14px;line-height:1.42;padding:7px 0;border-bottom:1px solid var(--line)}.cu-check p{flex:1 1 280px;min-width:0}
.cu-lesson-foot{display:flex;flex-direction:column;gap:12px}.cu-done{display:flex;flex-wrap:wrap;gap:5px}
.cu-ref{white-space:nowrap}
@media (max-width:900px){.cu-hero{grid-template-columns:1fr}.cu-hero-art{grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;order:-1;contain:none;overflow:hidden;aspect-ratio:5/1}.cu-hero-art img:nth-child(n+6){display:none}.cu-play-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.cu-row,.cu-list.num .cu-row{grid-template-columns:minmax(0,1fr)}.cu-list.num .cu-row{grid-template-columns:34px minmax(0,1fr)}.cu-list.num .cu-row-meta{grid-column:2}.cu-row-meta{justify-content:flex-start;max-width:none}.cu-wire{grid-template-columns:minmax(0,1fr)}.cu-two{grid-template-columns:minmax(0,1fr)}.cu-crumb-at{margin-left:0}.cu-attn li{grid-template-columns:70px minmax(0,1fr) 40px}}
@media (prefers-reduced-motion:no-preference){.cu-track-art{transition:opacity .25s}}
@media (prefers-reduced-motion:reduce){.cu *,.cu *::before,.cu *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* QA P: labs fitgap to chunks */
.cu-play .cu-seg{align-self:flex-start}
.cu-steps li.two{background:#5a9bf0}
.cu-chart.low{max-height:180px}
.cu-risk>li>.cu-ctl.wide{padding-top:10px}
@media (max-width:560px){.cu-riskl code{white-space:pre-wrap;overflow-wrap:anywhere}}
/* QA R: console to install */
pre.cu-play-note{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.cu-amdahl-key{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:#b9bfb7}.cu-amdahl-key li{display:flex;gap:6px;align-items:center}.cu-amdahl-key i{flex:none;width:11px;height:11px;border-radius:2px}
pre.cu-play-note code{display:block;padding:8px 10px}
.cu-seg-stack{display:flex;flex-direction:column}.cu-seg-stack button{border-right:0;border-bottom:1px solid var(--line2)}.cu-seg-stack button:last-child{border-bottom:0}
@media (max-width:560px){body.on-learn main>.top h1{font-size:clamp(22px,7vw,32px)}.cu-play .cu-seg button{flex:1 1 auto;text-align:center;border-bottom:1px solid var(--line2);margin-bottom:-1px}.cu-play .cu-seg-long,.cu-play .cu-seg-stack{display:flex;flex-direction:column;align-self:stretch}.cu-play .cu-seg-long button,.cu-play .cu-seg-stack button{flex:none;text-align:left;border-right:0;margin-bottom:0}.cu-play .cu-seg-long button:last-child,.cu-play .cu-seg-stack button:last-child{border-bottom:0}}
@media (max-width:560px){.cu-wire>div:nth-child(2){order:-1}}
.cu-play{scroll-margin-top:60px}.cu-errline code{padding:0;background:none}
/* QA S: agentgate to clipfloor */
.cu-policy-row{align-items:center}.cu-policy-row .cu-ctl{flex:0 0 auto}.cu-policy-row .cu-play-note{flex:1 1 240px;min-width:0}
.cu-chart-cap{max-width:640px}
.cu-seeds-again{align-self:flex-start}
.cu-checklist-row{display:grid;grid-template-columns:minmax(0,220px) auto auto;justify-content:start;align-items:center;gap:6px 18px;font-size:14px;color:#e4e7e0}.cu-checklist-row>span:not(:first-child){display:inline-flex;align-items:center;gap:6px}
@media (max-width:560px){.cu-checklist-row{grid-template-columns:auto auto}.cu-checklist-row>span:first-child{grid-column:1/-1}}
