.wf-bench{max-width:1120px;margin:0 auto;padding:28px 16px 64px}.wf-bench .bench-head h1{font-size:clamp(1.75rem,4vw,var(--t-3xl));line-height:1.15;letter-spacing:-.01em;margin:4px 0 8px}.wf-bench .bench-lede{color:var(--ink-2);max-width:70ch;margin:0 0 20px}.wf-bench .wb-eyebrow{margin:0;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.wf-bench .wb-small{font-size:var(--t-xs);color:var(--ink-3)}.wf-bench button{font:inherit;font-size:var(--t-sm);min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);cursor:pointer}.wf-bench button:hover{border-color:var(--ink-3)}.wf-bench button:focus-visible,.wf-bench select:focus-visible,.wf-bench input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wf-bench .wb-primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.wf-bench .wb-primary:hover{background:var(--green-hover)}.wf-bench .bench-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.wf-bench .bench-controls select{font:inherit;font-size:var(--t-sm);min-height:36px;padding:4px 8px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink)}.wf-bench .bench-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.wf-bench .bench-steps button{display:grid;gap:2px;align-content:start;text-align:left;padding:8px 12px;border-radius:var(--r-md);border-color:var(--line)}.wf-bench .bench-steps button[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:var(--green-soft)}.wf-bench .bench-step-title{font-weight:700;line-height:1.25}.wf-bench .bench-step-phase{font-size:var(--t-xs);color:var(--ink-3)}.wf-bench .bench-board{position:relative;width:100%;aspect-ratio:5 / 3;overflow:hidden;container-type:inline-size;border-radius:14px;background-color:var(--board);box-shadow:inset 0 0 0 1px var(--line)}.wf-bench .bench-board:before{content:"";position:absolute;inset:2.8cqw;pointer-events:none;background-image:radial-gradient(circle,var(--board-dot) .09cqw,transparent .14cqw);background-size:2.4cqw 2.4cqw;background-position:center}.wf-bench .bench-in{position:absolute;inset:0}.wf-bench .bench-in>*{position:absolute;inset:0}.wf-bench .wb-stage .stage-layers{height:auto;aspect-ratio:5 / 3}.wf-bench .wb-caption{margin:14px 2px 4px;min-height:2.9em;font-size:var(--t-lg);line-height:1.45;color:var(--ink-3)}.wf-bench .wb-lint{margin-top:12px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper-sunk);font-size:var(--t-sm)}.wf-bench .wb-lint summary{cursor:pointer;font-weight:700}.wf-bench .wb-lint ul{margin:8px 0 0;padding-left:18px}.wf-bench .bench-package{margin:0 0 28px}.wf-bench .bench-package h2{margin:0 0 8px;font-size:var(--t-lg)}.wf-bench .bench-lessons{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-raised)}.wf-bench .bench-lessons li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:10px 14px;border-top:1px solid var(--line)}.wf-bench .bench-lessons li:first-child{border-top:0}.wf-bench .bench-lesson-name{font-weight:600}.wf-bench .bench-tools{display:flex;gap:14px;font-size:var(--t-sm)}.wf-bench .bench-tools a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.wf-bench.wf-film{max-width:1440px;margin:0 auto;padding:20px 20px 48px;background:var(--page, #fff);color:var(--ink)}.wf-bench .film-head h1{font-family:var(--font-display, serif);font-size:1.5rem;margin:0 0 4px}.wf-bench .film-head p{margin:0 0 16px;color:var(--ink-2)}.wf-bench .film-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:0 0 28px;padding:16px;background:var(--page, #fff)}.wf-bench .film-cell{margin:0}.wf-bench .film-cell figcaption{display:grid;gap:2px;margin-top:6px;font-family:var(--font-ui, sans-serif);font-size:13px;line-height:1.35;color:var(--ink-2)}.wf-bench .film-cell figcaption b{color:var(--ink)}.wf-bench .film-label{font-weight:600;color:var(--ink-3)}.wf-bench .film-say{color:var(--ink)}@media(max-width:560px){.wf-bench .wb-caption{font-size:var(--t-md)}.wf-bench .bench-lessons li{grid-template-columns:1fr;gap:4px}}@media(max-width:700px){.wf-bench.wf-film{padding:8px}.wf-bench .film-sheet{grid-template-columns:minmax(0,1fr);gap:14px;padding:4px}}
