:root{--bg:#f4f3f0;--panel:#fff;--text:#1d1c21;--muted:#6b6975;--line:#d9d7d2;--accent:#3b6e8f;--checker-a:#e8e6e1;--checker-b:#d6d3cc;--sev-warn:#b7791f;--sev-error:#c53030;--ok:#2f855a;--swatch-border:#0000002e;--hover:#0000000d;--fs-s:12px;--fs-m:13px;--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Hiragino Sans,Noto Sans JP,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial;--bg:#1b1a1f;--panel:#25242b;--text:#ecebf0;--muted:#9c9aa6;--line:#3a3842;--accent:#7fb2d4;--checker-a:#2c2b32;--checker-b:#34333b;--sev-warn:#e0a84a;--sev-error:#f07171;--ok:#68d391;--swatch-border:#ffffff47;--hover:#ffffff0f}}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{background:var(--bg);color:var(--text);margin:0}.app{display:grid;grid-template-rows:auto minmax(0,1fr);padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);height:100vh}@supports (height: 100dvh){.app{height:100dvh}}.app-header{display:flex;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items: center;gap:10px;padding:6px 12px}.app-header .brand{letter-spacing:.02em;margin-right:8px;font-weight:700}.app-header .spacer{flex:1}.header-link{color:var(--accent);font-size:var(--fs-m);text-decoration:none}@media (hover:hover){.header-link:hover{text-decoration:underline}}.pane-toggle[aria-expanded=false]{color:var(--muted)}.layout{--left-w:240px;--right-w:clamp(280px,28vw,320px);position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.layout.left-dock.left-open{grid-template-columns:var(--left-w)minmax(0,1fr)}.layout.right-dock.right-open{grid-template-columns:minmax(0,1fr)var(--right-w)}.layout.left-dock.left-open.right-dock.right-open{grid-template-columns:var(--left-w)minmax(0,1fr)var(--right-w)}.pane{overflow:auto;overscroll-behavior:contain;background:var(--panel);padding:12px}.pane-left{border-right:1px solid var(--line)}.pane-right{border-left:1px solid var(--line);padding:0}.drawer-backdrop{position:absolute;z-index:29;background:#0000004d;border:none;padding:0;inset:0}.layout.left-drawer .pane-left{position:absolute;z-index:30;width:min(300px,85%);top:0;bottom:0;left:0;box-shadow:4px 0 24px #00000040}.pane-right.drawer{position:absolute;z-index:20;width:min(360px,100% - 48px);top:0;bottom:0;right:0;box-shadow:-4px 0 24px #00000040}.drawer-head{position:sticky;z-index:1;display:flex;border-bottom:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-s);justify-content:space-between;align-items: center;gap:8px;padding:4px 8px 4px 12px;font-weight:600;top:0}.pane h2{font-size:var(--fs-s);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-weight:600}.sample-list{list-style:none;margin:0 0 16px;padding:0}.sample-list button{display:block;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;width:100%;padding:6px 8px}.sample-list button[aria-current=true]{background:var(--accent);color:var(--panel)}.stage{display:grid;grid-template-rows:auto minmax(0,1fr)auto;min-width:0;min-height:0}.toolbar,.stage-body,.status-bar{touch-action:pan-x pan-y}.stage-main{position:relative;display:grid;grid-template-rows:minmax(0,1fr);min-height:0}.stage-body{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:16px}.toolbar{display:flex;border-bottom:1px solid var(--line);background:var(--panel);font-size:var(--fs-s);flex-wrap:wrap;align-items: center;gap:6px 14px;padding:6px 16px}.tool{display:flex;color:var(--muted);align-items: center;gap:6px}.tool select,.tool input[type=range]{font:inherit;color:var(--text)}.tool select{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:2px 4px}.section{border-bottom:1px solid var(--line)}.section>summary{display:flex;font-size:var(--fs-s);color:var(--muted);letter-spacing:.04em;cursor:pointer;user-select:none;list-style:none;align-items: center;gap:8px;padding:8px 12px;font-weight:600}.section>summary::-webkit-details-marker{display:none}.section>summary:before{content:"▸";display:inline-block;width:10px;transition:transform .15s}.section[open]>summary:before{transform:rotate(90deg)}@media (hover:hover){.section>summary:hover{color:var(--text)}}.section-note{letter-spacing:0;margin-left:auto;font-weight:400}.section-body{padding:0 12px 12px}.field-label{display:flex;align-items: center;gap:2px}.field-label label{flex:1}.field-label .value{color:var(--text);font-variant-numeric:tabular-nums}button.icon.mini{font-size:var(--fs-m);color:var(--muted);padding:0 3px}@media (hover:hover){button.icon.mini:hover{color:var(--accent)}}.field-help{background:var(--bg);color:var(--muted);font-size:var(--fs-s);border-radius:4px;margin:0;padding:6px 8px;line-height:1.5}.range-row{display:flex;align-items: center;gap:6px}.range-row input[type=range]{flex:1;min-width:0}input.number{font:inherit;font-size:var(--fs-s);background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:4px;width:64px;padding:2px 4px}button.link{color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer;background:0 0;border:none;padding:0}.views{display:grid;align-items: start;gap:16px}.view{margin:0}.view figcaption{color:var(--muted);font-size:var(--fs-s);margin-bottom:4px}.checker{background-color:var(--checker-a);background-image:linear-gradient(45deg,var(--checker-b)25%,transparent 25%),linear-gradient(-45deg,var(--checker-b)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker-b)75%),linear-gradient(-45deg,transparent 75%,var(--checker-b)75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.pixelated{image-rendering:pixelated;display:block}.field{display:grid;gap:4px;margin-bottom:12px}.field label{color:var(--muted);font-size:var(--fs-s)}.empty{color:var(--muted)}.dim{color:var(--muted);font-size:var(--fs-s)}.pane h3{font-size:var(--fs-s);margin:8px 0 4px;font-weight:600}.pane h2+.field,.pane .field+h2{margin-top:12px}.field select{font:inherit;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:4px;padding:4px}.actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.actions button{white-space:nowrap;font:inherit;font-size:var(--fs-s);border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;border-radius:4px;padding:3px 8px}.diagnostics{list-style:none;font-size:var(--fs-s);margin:0 0 12px;padding:0}.diagnostics li{border-bottom:1px solid var(--line);padding:4px 0}.sev{font-weight:600}.sev-warn .sev{color:var(--sev-warn)}.sev-error,.sev-error .sev{color:var(--sev-error)}.timings{font-size:var(--fs-s);border-collapse:collapse}.timings th{text-align:left;color:var(--muted);padding-right:12px;font-weight:400}.metrics{font-size:var(--fs-s);border-collapse:collapse;width:100%;margin-bottom:12px}.metrics th,.metrics td{border-bottom:1px solid var(--line);padding:3px 4px}.metrics tbody th{text-align:left;color:var(--muted);font-weight:400}.metrics td{text-align:right;font-variant-numeric:tabular-nums}.viewport{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--bg);cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;user-select:none;border-radius:4px}.viewport.clickable{cursor:crosshair}.viewport.panning{cursor:grabbing}.viewport:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.empty-viewport{cursor:default}.sheet{position:absolute;will-change:transform;top:0;left:0}.source-image{display:block;width:100%;height:100%}.overlay{position:absolute;pointer-events:none;inset:0}.overlay.source{opacity:.35;width:100%;height:100%}.overlay.grid{background-image:linear-gradient(90deg,#7f7f7f59 1px,#0000 1px),linear-gradient(#7f7f7f59 1px,#0000 1px)}.overlay.diag{border:2px dashed var(--sev-warn);border-radius:2px;inset:auto}.overlay.diag.sev-error{border-color:var(--sev-error)}.overlay.diag.sev-info{border-color:var(--accent)}.toggle{display:flex;font-size:var(--fs-s);align-items: center;gap:6px;margin-bottom:6px}.toolbar .toggle{margin:0}.flip-bar{display:flex;flex-wrap:wrap;align-items: center;gap:6px;margin-bottom:12px}.flip-bar button{font:inherit;font-size:var(--fs-s);border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;border-radius:4px;padding:3px 8px}.flip-bar button[aria-pressed=true]{background:var(--accent);color:var(--panel)}.candidates{list-style:none;font-size:var(--fs-s);margin:0 0 12px;padding:0}.candidates li{border-bottom:1px solid var(--line)}.candidate{display:flex;color:inherit;font:inherit;text-align:left;cursor:default;background:0 0;border:none;flex-wrap:wrap;gap:6px;width:100%;padding:3px 4px}.candidate:focus-visible{background:var(--hover)}@media (hover:hover){.candidate:hover{background:var(--hover)}}.candidates li.chosen{font-weight:600}.candidates .cost{font-variant-numeric:tabular-nums;min-width:3.5em}.candidates .runs{color:var(--muted);font-family:ui-monospace,monospace}.badge{background:var(--accent);color:var(--panel);border-radius:3px;padding:0 4px}.heatmap-wrap{display:flex;align-items: center;gap:8px;margin-top:4px}.palettes{list-style:none;margin:0 0 12px;padding:0}.palettes button{display:block;border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;font-size:var(--fs-s);text-align:left;cursor:pointer;border-radius:4px;width:100%;margin-bottom:4px;padding:5px 6px}.palettes button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.palette-label{display:block;margin-bottom:3px}.swatches{display:flex;flex-wrap:wrap;gap:1px}.swatch{border:1px solid var(--swatch-border);width:10px;height:10px}.swatch.inline{display:inline-block;vertical-align:middle}.view.stale .sheet{opacity:.55;transition:opacity .2s}.view figcaption .badge{margin-left:6px}.method-progress{display:flex;align-items: center;gap:6px;margin-bottom:4px}.method-progress progress{accent-color:var(--accent);width:96px;height:6px}.method-error{font-size:var(--fs-s);color:var(--sev-error);margin:0 0 4px}button.icon{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:16px;line-height:1}.alert{display:flex;border:1px solid var(--line);background:var(--panel);font-size:var(--fs-m);border-radius:6px;align-items: center;gap:8px;margin-bottom:12px;padding:8px 10px}.alert>span:not(.spinner){flex:1}.alert-error{border-color:var(--sev-error);color:var(--sev-error)}.alert button:not(.icon){font:inherit;font-size:var(--fs-s);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:4px;padding:3px 10px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);animation:.8s linear infinite spin;border-radius:50%;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.toasts{position:fixed;z-index:50;display:grid;gap:8px;max-width:min(420px,100vw - 32px);bottom:16px;right:16px}.toast{display:flex;border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel);font-size:var(--fs-m);border-radius:6px;align-items: center;gap:8px;padding:8px 10px;box-shadow:0 4px 16px #0000002e}.toast>span{flex:1}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--sev-error)}.toast button:not(.icon){font:inherit;font-size:var(--fs-s);border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;border-radius:4px;padding:2px 8px}.drop-overlay{position:fixed;z-index:60;display:grid;background:color-mix(in srgb,var(--bg)70%,transparent);border:3px dashed var(--accent);pointer-events:none;place-items: center;inset:0}.drop-overlay p{background:var(--panel);border-radius:8px;padding:16px 24px;font-size:18px;font-weight:600}.empty-stage{border:2px dashed var(--line);text-align:center;border-radius:10px;max-width:520px;margin:48px auto;padding:24px}.empty-title{font-size:16px;font-weight:600}button.primary{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--panel);cursor:pointer;border-radius:4px;padding:6px 14px}.sample-list li.with-remove{display:flex;align-items: center}.sample-list li.with-remove>button:first-child{flex:1;min-width:0}.sample-list .remove{color:var(--muted);width:auto}.sev-warn{color:var(--sev-warn)}.zoom-tool button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:4px;min-width:26px;padding:2px 6px}.zoom-tool button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.zoom-value{text-align:center;color:var(--text);font-variant-numeric:tabular-nums;min-width:5.5em}fieldset.tool{border:none;min-inline-size:0;margin:0;padding:0}.sr-only{position:absolute;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.status-bar{display:flex;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);background:var(--panel);font-size:var(--fs-s);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items: center;gap:4px 16px;height:calc(4.5em + 10px);padding:5px 16px}.status-xy,.status-item.current{font-weight:600}.overlay.crosshair{outline:1px solid #fff;inset:auto;box-shadow:0 0 0 2px #000000b3}.overlay.crosshair.pinned{outline-color:#ffd54a}.overlay.crosshair-line{background:#ffd54abf;box-shadow:0 0 0 1px #00000059}.overlay.crosshair-line.h{height:1px;inset:auto 0}.overlay.crosshair-line.v{width:1px;inset:0 auto}.status-pin{color:#1d1c21;font-size:var(--fs-s);background:#ffd54a;border-radius:4px;padding:0 6px}.header-button{font-size:var(--fs-m);text-decoration:none}@media (hover:hover){.header-button:hover{text-decoration:underline}}.methods-tool{display:flex;flex-wrap:wrap;align-items: center;gap:4px 8px}.toolbar .toggle,.methods-tool .toggle{white-space:nowrap}.methods-tool legend{float:left;color:var(--muted);margin-right:2px}.menu{position:relative;display:inline-block;font-size:var(--fs-s)}.menu>summary{list-style:none;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 8px}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{border-color:var(--accent)}.menu-items{position:absolute;z-index:40;display:grid;border:1px solid var(--line);background:var(--panel);border-radius:6px;min-width:200px;padding:4px;top:calc(100% + 4px);left:0;box-shadow:0 6px 20px #0000002e}.menu.right .menu-items{left:auto;right:0}.menu-items button{color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 8px}.menu-items button:focus-visible{background:var(--bg)}.menu-items a:focus-visible{background:var(--bg)}@media (hover:hover){.menu-items button:hover,.menu-items a:hover{background:var(--bg)}}.menu-items a{color:inherit;text-decoration:none;white-space:nowrap;border-radius:4px;padding:5px 8px}.menu-group{color:var(--muted);font-size:var(--fs-s);padding:6px 8px 2px}.menu-check{display:inline-block;width:1.2em}.menu-items button:disabled{color:var(--muted);cursor:default}.shortcut-help{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;max-width:460px;box-shadow:0 12px 40px #0000004d}.shortcut-help::backdrop{background:#00000059}.dialog-title{margin:0 0 12px;font-size:16px}.shortcut-help table{border-collapse:collapse;font-size:var(--fs-m);width:100%;margin-bottom:12px}.shortcut-key{text-align:left;width:7em;padding:4px 8px 4px 0;font-weight:400}kbd{display:inline-block;border:1px solid var(--line);background:var(--bg);font-family:inherit;font-size:var(--fs-s);border-bottom-width:2px;border-radius:4px;padding:1px 6px}@media (hover:hover){.sample-list button:hover:not([aria-current=true]),.actions button:hover,.flip-bar button:hover:not([aria-pressed=true]),.zoom-tool button:hover,.menu>summary:hover,.palettes button:hover{background:var(--hover)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section>summary:focus-visible{outline-offset:-2px}.inspector-head{display:flex;align-items: flex-start;gap:6px}.inspector-head p{flex:1;margin-top:0}.hint-list{list-style:none;font-size:var(--fs-s);margin:0 0 6px;padding:0}.hint-list li{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:6px;padding:2px 0}.hint-key{font-family:ui-monospace,monospace}.hint-list .dim{flex:1}.caption-hint{margin-left:6px}.diag-jump{font-size:var(--fs-s);margin-left:6px}.timing-summary{font-size:var(--fs-s);cursor:pointer;padding:3px 0}details.timing .timings{margin:0 0 6px 12px}.metrics td.best{color:var(--ok);font-weight:700}.metric-name{color:inherit;text-decoration:none;text-align:left}.metric-help td{text-align:left;color:var(--muted);background:var(--bg)}.status-diag{flex-basis:100%}.sample-list li.with-menu{display:flex;align-items: center;gap:2px}.sample-list li.with-menu>button:first-child{flex:1;min-width:0}.sample-meta{display:block;color:var(--muted);font-size:var(--fs-s)}.sample-list button[aria-current=true] .sample-meta{color:inherit;opacity:.8}.sample-list .menu>summary{background:0 0;border-color:#0000}html{touch-action:manipulation}@supports (-webkit-touch-callout: none){input,select,textarea{font-size:max(16px,1em)}}:root[data-ui=large]{--fs-s:14px;--fs-m:15px}:root[data-ui=large] button:not(.link),:root[data-ui=large] select,:root[data-ui=large] input.number,:root[data-ui=large] .menu>summary,:root[data-ui=large] .menu-items a,:root[data-ui=large] .section>summary{min-height:44px}:root[data-ui=large] .menu>summary,:root[data-ui=large] .menu-items a{display:flex;align-items: center}:root[data-ui=large] button.icon,:root[data-ui=large] .zoom-tool button{min-width:44px}:root[data-ui=large] .toggle{min-height:44px;margin-bottom:0}:root[data-ui=large] input[type=checkbox]{width:20px;height:20px}:root[data-ui=large] input[type=range]{height:36px}:root[data-ui=large] input.number{width:76px}:root[data-ui=large] .header-link,:root[data-ui=large] .header-button{padding:12px 4px}:root[data-ui=large] .sample-list button{overflow-wrap:anywhere;white-space:normal}.toggle-row{display:flex;align-items: center;gap:2px}.toggle-field .field-help{margin-bottom:6px}.toolbar .toggle-field{display:contents}.toolbar .toggle-field .field-help{flex-basis:100%}.menu-description{display:block;color:var(--muted);font-size:var(--fs-s);white-space:normal;max-width:280px}.dialog-subtitle{color:var(--muted);font-size:var(--fs-s);margin:12px 0 4px;font-weight:600}.shortcut-key.touch-key{width:9.5em}
