@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;--bg: #07090d;--surface: #0e1218;--surface-2: #141a22;--surface-3: #1b222d;--surface-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .13);--text: #e8edf3;--text-2: #a4aebb;--text-3: #6f7a87;--accent: #52c7ff;--accent-hover: #7ad4ff;--accent-soft: rgba(82, 199, 255, .12);--on-accent: #03121b;--success: #3fd09a;--warning: #f5b85c;--danger: #ff8a7a;--building: #ffb561;--tree: #86f0a2;--polygon: #b69cff;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--font: "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "DM Mono", ui-monospace, "SFMono-Regular", monospace;--shadow-popover: 0 16px 40px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .35);--ease: cubic-bezier(.2, .8, .2, 1);--glass: rgba(14, 18, 24, .86);--glass-strong: rgba(14, 18, 24, .92);--glass-soft: rgba(14, 18, 24, .7);--scrim: rgba(5, 7, 10, .85);--viewer-bg: #05070a;--nav-glass: rgba(7, 9, 13, .72);--hero-glow: rgba(82, 199, 255, .09);--preview-bg: radial-gradient(circle at 50% 40%, #111a24, #07090d 75%);--border-hover: rgba(255, 255, 255, .2);--on-success: #04120c}:root[data-theme=light]{color-scheme:light;--bg: #f3f5f8;--surface: #ffffff;--surface-2: #eef1f5;--surface-3: #e2e7ed;--surface-hover: rgba(15, 23, 42, .05);--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .16);--border-hover: rgba(15, 23, 42, .28);--text: #111827;--text-2: #4b5563;--text-3: #7b8594;--accent: #0a7fc2;--accent-hover: #086aa3;--accent-soft: rgba(10, 127, 194, .1);--on-accent: #ffffff;--success: #12966a;--warning: #b7791f;--danger: #cf4a3a;--building: #d97a1f;--tree: #2d9a52;--polygon: #6d4fd0;--shadow-popover: 0 16px 40px rgba(15, 23, 42, .14), 0 2px 8px rgba(15, 23, 42, .08);--glass: rgba(255, 255, 255, .88);--glass-strong: rgba(255, 255, 255, .95);--glass-soft: rgba(255, 255, 255, .78);--scrim: rgba(255, 255, 255, .9);--viewer-bg: #dde3ea;--nav-glass: rgba(243, 245, 248, .8);--hero-glow: rgba(10, 127, 194, .08);--preview-bg: radial-gradient(circle at 50% 40%, #eef2f6, #d6dde5 75%);--on-success: #ffffff}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f3f5f8;--surface: #ffffff;--surface-2: #eef1f5;--surface-3: #e2e7ed;--surface-hover: rgba(15, 23, 42, .05);--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .16);--border-hover: rgba(15, 23, 42, .28);--text: #111827;--text-2: #4b5563;--text-3: #7b8594;--accent: #0a7fc2;--accent-hover: #086aa3;--accent-soft: rgba(10, 127, 194, .1);--on-accent: #ffffff;--success: #12966a;--warning: #b7791f;--danger: #cf4a3a;--building: #d97a1f;--tree: #2d9a52;--polygon: #6d4fd0;--shadow-popover: 0 16px 40px rgba(15, 23, 42, .14), 0 2px 8px rgba(15, 23, 42, .08);--glass: rgba(255, 255, 255, .88);--glass-strong: rgba(255, 255, 255, .95);--glass-soft: rgba(255, 255, 255, .78);--scrim: rgba(255, 255, 255, .9);--viewer-bg: #dde3ea;--nav-glass: rgba(243, 245, 248, .8);--hero-glow: rgba(10, 127, 194, .08);--preview-bg: radial-gradient(circle at 50% 40%, #eef2f6, #d6dde5 75%);--on-success: #ffffff}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.icon{width:16px;height:16px;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-hover)}.btn:disabled{color:var(--text-3);cursor:not-allowed}.btn-primary{border-color:transparent;background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){border-color:transparent;background:var(--accent-hover)}.btn-lg{min-height:44px;padding:0 20px;font-size:14px;border-radius:var(--radius)}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn[aria-pressed=true],.icon-btn.is-active{background:var(--accent-soft);color:var(--accent)}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:14px;font-weight:700;letter-spacing:.01em;text-decoration:none}.logo-mark{width:26px;height:26px;color:var(--accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.lp{min-height:100vh;background:radial-gradient(60rem 36rem at 78% -10%,var(--hero-glow),transparent 70%),var(--bg)}.lp-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:14px 24px;background:var(--nav-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lp-nav-links{display:flex;gap:4px;margin-left:auto}.lp-nav-links a{padding:6px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-size:13px;font-weight:500;text-decoration:none}.lp-nav-links a:hover{background:var(--surface-hover);color:var(--text)}.lp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:48px;max-width:1200px;margin:0 auto;padding:56px 24px 72px}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:5px 12px 5px 10px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-size:12px;font-weight:600}.lp-eyebrow .icon{width:14px;height:14px;color:var(--success)}.lp-hero h1{margin:0;font-size:clamp(38px,5vw,60px);font-weight:700;line-height:1.04;letter-spacing:-.035em}.lp-lead{max-width:34rem;margin:20px 0 0;color:var(--text-2);font-size:17px;line-height:1.65}.lp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.lp-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;list-style:none;color:var(--text-3);font-size:13px}.lp-facts li:before{content:"";display:inline-block;width:5px;height:5px;margin:0 8px 2px 0;border-radius:50%;background:var(--accent)}.lp-preview{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--preview-bg)}.lp-preview canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s var(--ease)}.lp-preview.is-ready canvas{opacity:1}.lp-preview-badge{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--glass-soft);color:var(--text-2);font-size:12px;pointer-events:none}.lp-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.lp-section{max-width:1200px;margin:0 auto;padding:72px 24px;scroll-margin-top:64px}.lp-section h2{margin:0;font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.02em}.lp-section-lead{margin:10px 0 0;color:var(--text-2);font-size:16px}.lp-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}.lp-feature{padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.lp-feature-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.lp-feature-icon .icon{width:20px;height:20px}.lp-feature h3,.lp-steps h3{margin:16px 0 6px;font-size:16px;font-weight:600}.lp-feature p,.lp-steps p{margin:0;color:var(--text-2);line-height:1.6}.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:36px 0 0;padding:0;list-style:none}.lp-steps li{padding:24px;border-top:2px solid var(--border-strong)}.lp-step-number{color:var(--accent);font-family:var(--mono);font-size:14px}.lp-privacy{display:flex;align-items:center;gap:24px;padding:32px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(63,208,154,.08),transparent 60%),var(--surface)}.lp-privacy p{max-width:40rem;margin:8px 0 0;color:var(--text-2);font-size:15px}.lp-privacy .btn{margin-left:auto}.lp-privacy-icon{display:inline-grid;flex:none;place-items:center;width:52px;height:52px;border-radius:14px;background:#3fd09a1f;color:var(--success)}.lp-privacy-icon .icon{width:26px;height:26px}.lp-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;max-width:1200px;margin:0 auto;padding:32px 24px 48px;border-top:1px solid var(--border);color:var(--text-3);font-size:13px}@media(max-width:900px){.lp-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:32px}.lp-features,.lp-steps{grid-template-columns:minmax(0,1fr)}.lp-privacy{flex-direction:column;align-items:flex-start}.lp-privacy .btn{margin-left:0}}@media(max-width:600px){.lp-nav-links{display:none}.lp-nav .btn{margin-left:auto}.lp-section{padding:48px 20px}.lp-hero{padding-left:20px;padding-right:20px}}.bench{min-height:100vh;background:var(--bg)}.bench-top{display:flex;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:14px 24px}.bench-top .logo{margin-right:auto}.bench-main{display:grid;gap:20px;max-width:1100px;margin:0 auto;padding:24px 24px 64px}.bench-eyebrow{margin:0;color:var(--accent);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.bench-main h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.1}.bench-lede{max-width:72ch;margin:0;color:var(--text-2)}.bench-panel,.bench-results{display:grid;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.bench-facts{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0}.bench-facts dt{color:var(--text-3);font-size:12px}.bench-facts dd{margin:0;font-family:var(--mono);font-size:13px}.bench-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.bench-controls label{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px}.bench-controls select{padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2)}.bench-stage{margin:0;color:var(--accent);font-family:var(--mono);font-size:12px}.bench-table-wrap{overflow-x:auto}.bench-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px}.bench-table th,.bench-table td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.bench-table th{color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.bench-table .num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bench-foot{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 20px}.bench-foot p{flex:1 1 320px;margin:0;color:var(--text-3);font-size:12px}.lp-footer a{color:inherit}.ws{display:grid;grid-template-rows:48px minmax(0,1fr) 28px;height:100vh;height:100dvh;overflow:hidden}.ws-top{display:flex;align-items:center;gap:14px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface)}.ws-top .logo-mark{width:22px;height:22px}.ws-file{display:flex;align-items:center;gap:10px;min-width:0;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--text-3)}.ws-file strong{overflow:hidden;max-width:22ch;color:var(--text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ws-file .icon{width:14px;height:14px;color:var(--text-3)}.ws-top-actions{display:flex;gap:8px;margin-left:auto}.ws-body{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:0}.ws-body.is-collapsed{grid-template-columns:minmax(0,1fr)}.ws-panel{width:320px;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--border);background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.side-section{display:grid;gap:10px;padding:16px}.side-section+.side-section{padding-top:4px}.side-actions{display:grid;gap:8px}.side-scan{gap:4px;border-bottom:1px solid var(--border)}.side-scan-name{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.side-scan-facts{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--text-3);font-family:var(--mono);font-size:11px}.side-pipeline{margin:0;color:var(--accent);font-family:var(--mono);font-size:11px}.display-menu{display:grid;gap:4px;padding:4px 6px}.menu-popover:has(>.display-menu){width:300px;max-height:min(80vh,560px);overflow-x:hidden}.link-btn{position:relative;justify-self:start;padding:0;border:0;background:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}.field{padding:14px 0;border-top:1px solid var(--border)}.field-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--text-2);font-size:12px;font-weight:600}.field-head strong{color:var(--text);font-family:var(--mono);font-size:12px;font-weight:500}.field input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--surface-2)}.segmented button{padding:7px 4px;border:0;border-radius:4px;background:transparent;color:var(--text-2);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.is-active{background:var(--accent-soft);color:var(--accent)}.segmented button:disabled{color:var(--text-3);cursor:not-allowed;opacity:.5}.toggle-list{display:grid;gap:2px}.toggle{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:13px;text-align:left;cursor:pointer}.toggle:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.toggle:disabled{color:var(--text-3);cursor:not-allowed;opacity:.55}.toggle-box{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--border-strong);border-radius:4px;color:var(--on-accent)}.toggle[aria-pressed=true] .toggle-box{border-color:transparent;background:var(--accent)}.toggle[aria-pressed=true]{color:var(--text)}.toggle-box .icon{width:12px;height:12px}.toggle-label{flex:1}.toggle-swatch{width:8px;height:8px;border-radius:50%}.progress{height:3px;margin-top:8px;overflow:hidden;border-radius:2px;background:var(--surface-3)}.progress i{display:block;height:100%;background:var(--accent);transition:width .2s var(--ease)}.note{margin:10px 0 0;color:var(--text-3);font-size:12px;line-height:1.5}.note a{color:inherit;text-decoration:underline}.note-error{color:var(--danger)}.note-warning{color:var(--warning)}.stat-list,.ws-inspector dl{display:grid;gap:2px;margin:0}.stat-list div,.ws-inspector dl div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:12px}.stat-list dt,.ws-inspector dt{color:var(--text-3)}.stat-list dd,.ws-inspector dd{margin:0;overflow:hidden;color:var(--text);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap}.result{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.result.is-running{border-color:var(--accent)}.result header{display:flex;align-items:center;gap:8px}.result h3{margin:0;font-size:13px;font-weight:700}.result-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--text-2)}.result-icon .icon{width:13px;height:13px}.result.is-done .result-icon{background:var(--success);color:var(--on-success)}.result-value{margin-left:auto;color:var(--text);font-family:var(--mono);font-size:12px}.result-run{width:26px;height:26px}.result-value+.result-run{margin-left:0}.result h3+.result-run{margin-left:auto}.result-stage{margin:0;color:var(--text-2);font-size:12px}.result .note{margin:0}.result .tally{margin-top:0}.tally{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.tally div{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.tally strong{display:block;font-family:var(--mono);font-size:20px;font-weight:500}.tally span{display:flex;align-items:center;gap:6px;margin-top:2px;color:var(--text-3);font-size:11px}.tally i{width:7px;height:7px;border-radius:50%}.ws-view{position:relative;min-width:0;background:var(--viewer-bg)}.ws-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;outline:none}.ws-view.is-dropping:after{content:"";position:absolute;inset:10px;border:2px dashed var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft);pointer-events:none}.ws-drop-hint,.ws-tools,.ws-colour,.ws-legend,.ws-inspector,.ws-loading,.ws-empty{position:absolute;z-index:2}.ws-tools{top:12px;left:50%;display:flex;align-items:center;gap:2px;padding:3px;transform:translate(-50%);border:1px solid var(--border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ws-tools-divider{width:1px;height:18px;margin:0 4px;background:var(--border-strong)}.ws-colour{top:12px;left:12px}.ws-colour .btn{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ws-legend{bottom:12px;left:12px;display:flex;flex-wrap:wrap;gap:4px 14px;max-width:60%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px}.ws-legend span{display:flex;align-items:center;gap:7px;color:var(--text-2)}.ws-legend .ws-legend-title{flex-basis:100%;gap:10px;color:var(--text);font-weight:600}.ws-legend-line{display:flex;align-items:center;gap:7px;padding:2px 4px;margin:-2px -4px;border:0;border-radius:4px;background:none;color:var(--text-2);font:inherit;cursor:pointer}.ws-legend-line:hover{background:var(--surface-3)}.ws-legend-line[aria-pressed=false]{opacity:.4;text-decoration:line-through}.ws-legend-lines{max-width:min(640px,70%)}.ws-legend i{width:9px;height:9px;border-radius:2px}.ws-legend small{color:var(--text-3);font-family:var(--mono);font-size:11px}.ws-legend-ramp{display:grid;gap:4px;width:190px}.ws-ramp{height:8px;border-radius:4px;background:linear-gradient(90deg,#33245f,#6b57b3 6%,#a2764a 6% 12%,#216b80 12%,#4da85c,#ebd14d 70%,#ed6b3d)}.ws-ramp-ends{display:flex;justify-content:space-between}.ws-inspector{top:12px;right:12px;width:260px;padding:12px 14px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-popover)}.ws-inspector header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ws-inspector h2{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ws-inspector-headline{margin:0 0 6px;font-family:var(--mono);font-size:22px}.ws-inspector-object{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.ws-inspector-object p{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:12px;font-weight:600}.ws-inspector-object i{width:8px;height:8px;border-radius:50%}.ws-inspector-hint{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:10px 0 0;color:var(--text-3);font-size:11px}.ws-pick-dot{width:9px;height:9px;border:2px solid currentColor;border-radius:50%}.ws-pick-from{color:var(--accent)}.ws-pick-to{margin-left:6px;color:var(--building)}.ws-measure-label{position:absolute;z-index:1;top:0;left:0;padding:3px 7px;border-radius:var(--radius-sm);background:var(--scrim);font-family:var(--mono);font-size:11px;pointer-events:none;white-space:nowrap}.ws-loading,.ws-empty{top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.ws-loading{width:280px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--glass-strong)}.ws-loading p{display:grid;gap:2px;margin:0 0 4px;font-size:13px;font-weight:600}.ws-loading span{color:var(--text-3);font-family:var(--mono);font-size:11px;font-weight:400}.ws-empty{width:min(420px,calc(100% - 48px));padding:28px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--glass-soft)}.ws-empty-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.ws-empty-icon .icon{width:22px;height:22px}.ws-empty h2{margin:14px 0 6px;font-size:18px;font-weight:700}.ws-empty p{margin:0 auto;max-width:34ch;color:var(--text-2)}.ws-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 12px}.ws-empty small{color:var(--text-3);font-size:12px}.ws-drop-hint{top:20px;left:50%;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600}.ws-status{display:flex;align-items:center;gap:12px;padding:0 12px;border-top:1px solid var(--border);background:var(--surface);color:var(--text-3);font-size:12px}.ws-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3)}.ws-dot-ready{background:var(--success)}.ws-dot-busy{background:var(--accent)}.ws-dot-error{background:var(--danger)}.ws-status-message{color:var(--text-2)}.menu{position:relative}.menu-popover{position:absolute;top:calc(100% + 6px);z-index:20;width:264px;max-height:min(70vh,460px);overflow-y:auto;padding:6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-3);box-shadow:var(--shadow-popover)}.menu-end{right:0}.menu-start{left:0}.menu-title{margin:8px 8px 4px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:disabled{cursor:not-allowed;opacity:.5}.menu-item span{display:grid;gap:2px}.menu-item strong{font-size:13px;font-weight:600}.menu-item small{color:var(--text-3);font-size:11px}.menu-footnote{margin:6px 8px 4px;color:var(--text-3);font-size:11px;line-height:1.45}.side-checkpoints{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0;color:var(--text-3);font-size:12px}.side-actions-row{grid-template-columns:1fr 1fr}.dialog-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px 16px;background:#03060a8c}.dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(880px,100%);max-height:min(92vh,900px);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-popover)}.dialog-head,.dialog-foot{display:flex;align-items:center;gap:12px;padding:16px 20px}.dialog-head{border-bottom:1px solid var(--border)}.dialog-head div{flex:1;min-width:0}.dialog-head h2{margin:0;font-size:17px}.dialog-head p{margin:2px 0 0;overflow:hidden;color:var(--text-3);font-family:var(--mono);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dialog-foot{justify-content:flex-end;border-top:1px solid var(--border)}.dialog-body{display:grid;gap:20px;overflow-y:auto;padding:18px 20px}.dialog-body h3{margin:0 0 8px;font-size:13px;font-weight:700}.quality-grade{padding:4px 10px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:500}.report-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.report-grid figure{margin:0}.report-grid img{display:block;width:100%;image-rendering:pixelated;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.report-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--text-3);font-size:11px}.report-legend i{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px;vertical-align:-1px}.report-figures{display:grid;gap:6px;align-content:start}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;font-variant-numeric:tabular-nums}.report-table th{color:var(--text-3);font-weight:600}@media(max-width:720px){.report-grid{grid-template-columns:1fr}}.report-verdict th{color:var(--text);white-space:nowrap}.check{display:inline-block;min-width:74px;padding:2px 8px;border-radius:3px;color:#fff;font-size:11px;font-weight:700;text-align:center}.check-pass{background:var(--success);color:var(--on-success)}.check-fail{background:var(--danger)}.check-review{background:var(--warning);color:#1c1300}.check-skipped{background:var(--surface-3);color:var(--text-2)}.ws.is-bare .ws-top,.ws.is-bare .ws-panel,.ws.is-bare .ws-status{display:none}.ws.is-bare{grid-template-rows:minmax(0,1fr)}.ws.is-bare .ws-body{grid-template-columns:minmax(0,1fr)}@media(max-width:860px){.ws-body,.ws-body.is-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.ws-view{grid-row:1}.ws-panel{grid-row:2;width:auto;max-height:46vh;border-right:0;border-top:1px solid var(--border-strong)}.ws-inspector{inset:auto 8px 8px;width:auto}.ws-legend{max-width:calc(100% - 16px)}.ws-file span,.ws-top-name{display:none}.ws-top,.ws-top-actions{gap:8px}}.menu-popover.menu-wide{width:min(420px,calc(100vw - 32px));max-height:min(78vh,620px);padding:14px 16px}.sample-about{color:var(--text-2);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.sample-about p{margin:6px 0 0}.sample-about .sample-about-lead{margin:0}.sample-about-lead strong{color:var(--text);font-size:13px}.sample-about h4{margin:12px 0 4px;color:var(--text);font-size:12px}.sample-about ul{margin:4px 0 0;padding-left:18px}.sample-about li+li{margin-top:3px}.sample-about .stat-list{margin-top:10px}.sample-about .stat-list div{display:grid;gap:1px}.sample-about .stat-list dd{font-family:inherit;white-space:normal}.sample-about a,.ws-attribution a{color:inherit;text-decoration:underline}.ws-attribution{position:absolute;right:12px;bottom:8px;z-index:2;max-width:45%;margin:0;padding:2px 8px;border-radius:var(--radius-sm);background:var(--glass);color:var(--text-3);font-size:11px;text-align:right}.ws-measure-labels{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.ws-measure-label b{margin-right:6px;color:var(--accent)}.ws-rulers{display:grid;gap:2px;max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.ws-rulers li{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;font-size:12px}.ws-rulers li>b{color:var(--accent);font-family:var(--mono)}.ws-rulers li span{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0}.ws-rulers strong,.ws-rulers small{white-space:nowrap}.ws-rulers strong{font-family:var(--mono)}.ws-rulers small,.ws-rulers-pending{color:var(--text-3);font-family:var(--mono);font-size:11px}.ws-rulers .icon-btn{width:24px;height:24px}.ws-area-label{border:1px solid #ffd54a}.ws-area-total{margin-top:6px;font-size:16px}.ws-merge{justify-self:start;margin-top:8px}.ws-tools .icon-btn:disabled{color:var(--text-3);cursor:default;opacity:.45}.ws-tools .icon-btn:disabled:hover{background:transparent}.ws-inspector-wide{width:300px;max-height:calc(100% - 24px);overflow-y:auto;scrollbar-width:thin}.ws-inspector-section{margin:12px 0 4px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-2);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ws-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0;font-size:12px}.ws-field>span:first-child{color:var(--text-3);white-space:nowrap}.ws-field select{min-width:0;max-width:180px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:12px}.ws-field output{font-family:var(--mono)}.ws-number{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);color:var(--text-3)}.ws-number input{width:92px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:12px;text-align:right}.ws-number input:focus,.ws-field select:focus{border-color:var(--accent);outline:none}.ws-inspector .ws-keys{gap:1px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.ws-inspector .ws-keys div{justify-content:flex-start;gap:8px;padding:2px 0}.ws-inspector .ws-keys dt{display:flex;flex:none;gap:3px;min-width:74px}.ws-inspector .ws-keys dd{color:var(--text-3);font-family:inherit;font-size:11px;white-space:normal}.ws-inspector kbd{padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);color:var(--text-2);font-family:var(--mono);font-size:10px;line-height:16px}.ws-polygons li{grid-template-columns:1fr auto;border-radius:var(--radius-sm)}.ws-polygons li.is-selected{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--polygon)}.ws-row-select{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;padding:3px 0 3px 4px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ws-row-select b{color:var(--polygon);font-family:var(--mono)}.ws-polygon-label{border:1px solid var(--polygon)}.ws-polygon-label.is-selected{box-shadow:0 0 0 1px var(--polygon)}.ws-polygon-label b{color:var(--polygon)}.ws-polygon-label span{color:var(--text-2)}.ws-preview-label{border:1px dashed var(--border-hover);color:var(--text)}.ws-preview-label:empty{display:none}.ws-entry-label{border:1px solid #ffd61a;font-size:12px}.ws-entry-label strong{color:#ffd61a}.ws-entry-label small{margin-left:8px;color:var(--text-3);font-size:10px}.ws-caret{display:inline-block;width:1px;height:12px;margin:0 1px -2px;background:currentColor;animation:ws-blink 1s steps(1) infinite}@keyframes ws-blink{50%{opacity:0}}@media(max-width:860px){.ws-inspector-wide{width:auto;max-height:50%}}.ws-lod{position:absolute;z-index:2;top:52px;left:12px;width:280px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px}.ws-lod header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.ws-lod h2{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ws-lod header span,.ws-lod p{color:var(--text-3);font-size:11px}.ws-lod table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ws-lod th{padding:2px 0;color:var(--text-3);font-weight:600;text-align:right}.ws-lod td{padding:3px 0;font-family:var(--mono);text-align:right}.ws-lod th:first-child,.ws-lod td:first-child{text-align:left}.ws-lod td i{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:2px;vertical-align:-1px}.ws-lod td b{color:var(--accent)}.ws-lod tr.is-idle{opacity:.4}.ws-lod p{margin:6px 0 0}
