.bench{--bn-bone: #f6f3ed;--bn-night: #131110;--bn-ink: #131110;--bn-sub: rgba(19, 17, 16, .74);--bn-mut: rgba(19, 17, 16, .52);--bn-faint: rgba(19, 17, 16, .36);--bn-line: rgba(19, 17, 16, .16);--bn-line-strong: rgba(19, 17, 16, .3);--bn-acc: #9c3a0e;--bn-serif: "Fraunces", Georgia, serif;--bn-sans: "Geist", system-ui, sans-serif;--bn-mono: "Geist Mono", ui-monospace, monospace;--bn-ease: cubic-bezier(.16, 1, .3, 1);--app-bg: #fbfaf7;--app-surface: #ffffff;--app-ink: #1a1815;--app-sub: rgba(26, 24, 21, .68);--app-mut: rgba(26, 24, 21, .45);--app-line: rgba(26, 24, 21, .12);--app-line-strong: rgba(26, 24, 21, .24);--app-accent: #9c3a0e;--app-accent-ink: #f6f3ed;--app-ok: #2e6b3f;position:fixed;inset:0;z-index:var(--z-modal, 1100);display:flex;flex-direction:column;font-family:var(--bn-sans);color:var(--bn-ink)}.bench-scrim{position:absolute;inset:0;background:#0a0908b8;opacity:0;transition:opacity .25s var(--bn-ease)}.bench-stage{position:relative;margin:auto;width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100dvh - 48px));background:var(--bn-bone);display:flex;flex-direction:column;box-shadow:0 32px 96px #0000008c,0 1px #000000a6;opacity:0;transform:translateY(16px);transition:opacity .28s var(--bn-ease),transform .28s var(--bn-ease)}.bench.is-open .bench-scrim{opacity:1}.bench.is-open .bench-stage{opacity:1;transform:translateY(0)}.bench-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--bn-line-strong);flex:none}.bench-mn{font-family:var(--bn-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--bn-mut);line-height:1.7}.bench-mn b{color:var(--bn-ink);font-weight:600}.bench-mn .acc{color:var(--bn-acc)}.bench-controls{display:flex;gap:8px;flex:none}.bench-btn{font-family:var(--bn-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bn-sub);background:var(--bn-bone);border:1px solid var(--bn-line);padding:6px 10px;cursor:pointer}.bench-btn:hover{color:var(--bn-ink);border-color:var(--bn-line-strong)}.bench-btn:focus-visible{outline:2px solid var(--bn-acc);outline-offset:1px}.bench-well{flex:1;min-height:0;padding:22px;display:flex;background:radial-gradient(90% 70% at 50% 30%,rgba(19,17,16,.045),transparent 70%)}.bench-well>*{flex:1;min-width:0}.bench-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-top:1px solid var(--bn-line-strong);flex:none}.bench-cta{font-family:var(--bn-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--bn-bone);background:var(--bn-ink);padding:10px 14px;text-decoration:none;white-space:nowrap}.bench-cta:focus-visible{outline:2px solid var(--bn-acc);outline-offset:2px}.bench-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.bench .app-frame{background:var(--app-bg);border:1px solid var(--bn-line-strong);display:flex;flex-direction:column;font-family:var(--bn-sans);color:var(--app-ink);font-size:13.5px;line-height:1.55;overflow:hidden}.bench .app-titlebar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--app-line);background:var(--app-surface);flex:none}.bench .app-titlebar .dots{display:flex;gap:5px}.bench .app-titlebar .dots i{width:8px;height:8px;border-radius:50%;background:var(--app-line-strong);display:block}.bench .app-titlebar .name{font-family:var(--bn-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--app-mut)}.bench .app-main{flex:1;min-height:0;display:flex}.bench .app-main [data-lenis-prevent]{overscroll-behavior:contain}.bench .app-surface{background:var(--app-surface);border:1px solid var(--app-line)}.bench .app-btn{font-family:var(--bn-sans);font-size:12.5px;font-weight:560;letter-spacing:.01em;color:var(--app-ink);background:var(--app-surface);border:1px solid var(--app-line-strong);padding:8px 14px;cursor:pointer}.bench .app-btn.primary{background:var(--app-ink);color:var(--app-accent-ink);border-color:var(--app-ink)}.bench .app-btn:disabled{opacity:.45;cursor:not-allowed}.bench .app-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.bench .app-k{font-family:var(--bn-mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--app-mut)}.bench .app-badge{display:inline-block;font-family:var(--bn-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--app-line-strong);padding:1px 6px;color:var(--app-sub)}.bench .app-badge.acc{color:var(--app-accent);border-color:var(--app-accent)}.bench .app-badge.ok{color:var(--app-ok);border-color:var(--app-ok)}.bench .app-stream{white-space:pre-wrap}.bench .app-stream.is-live:after{content:"";display:inline-block;width:7px;height:1em;vertical-align:text-bottom;background:var(--app-accent);margin-left:1px;animation:bench-caret .9s steps(1) infinite}@keyframes bench-caret{50%{opacity:0}}.bench .app-stage-row{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--app-line)}.bench .app-stage-row .st{flex:none;width:84px}.bench .app-stage-row[data-st=idle]{opacity:.45}.bench .app-stage-row[data-st=run] .st{color:var(--app-accent)}.bench .app-stage-row[data-st=done] .st{color:var(--app-ok)}@media(prefers-reduced-motion:reduce){.bench-scrim,.bench-stage{transition:none}.bench .app-stream.is-live:after{animation:none}}.bench.is-reduced .bench-scrim,.bench.is-reduced .bench-stage{transition:none}.bench.is-reduced .app-stream.is-live:after{animation:none}.bench.is-reduced *,.bench.is-reduced *:before,.bench.is-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(max-width:767px){.bench-stage{width:100vw;height:100dvh}.bench-well{padding:12px}.bench-head,.bench-foot{padding:10px 14px}.bench-mn .opt{display:none}.bench-head{flex-direction:column;align-items:flex-start;gap:8px}.bench-head .bench-mn{white-space:nowrap}.bench-controls{width:100%}.bench-controls .bench-btn{flex:1;padding:6px 4px;text-align:center}.bench-foot{flex-direction:column;align-items:stretch;gap:10px}.bench-cta{text-align:center}}
