:root{--font:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:"Geist Mono", ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1);--t-fast:.16s;--t:.24s;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--r-sm:4px;--r:6px;--r-lg:10px;--control:32px;--topbar:52px;--statusbar:28px;--viewport:#0e1419;--on-viewport:#e7ecf0;--tip-bg:#1d2731;--tip-ink:#f1f4f7;--bg:#eef1f4;--surface:#fff;--surface-2:#f5f7f9;--surface-3:#e8edf1;--line:#dfe4ea;--line-strong:#c9d2db;--ink:#17212b;--ink-2:#3c4956;--muted:#5f6c79;--faint:#8794a0;--accent:#0f6b52;--accent-hover:#0b5843;--accent-soft:#e2f1eb;--on-accent:#fff;--danger:#b42318;--danger-soft:#fdecea;--warn:#8f5404;--warn-soft:#fcf1df;--ok:#0f6b52;--info:#2c5f8a;--shadow:0 1px 2px #1018200f, 0 6px 20px #1018201f;--shadow-sm:0 1px 2px #10182014;--focus:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:13px;line-height:1.45}:root[data-theme=dark]{--bg:#0b1015;--surface:#141b22;--surface-2:#1a232b;--surface-3:#232d37;--line:#26303a;--line-strong:#35414d;--ink:#e7ecf0;--ink-2:#c3ccd5;--muted:#8e9ba7;--faint:#66737f;--accent:#5cc7a3;--accent-hover:#7ad4b6;--accent-soft:#5cc7a324;--on-accent:#08201a;--danger:#f08a80;--danger-soft:#f08a8024;--warn:#eab35e;--warn-soft:#eab35e24;--ok:#5cc7a3;--info:#8db9de;--tip-bg:#e7ecf0;--tip-ink:#141b22;--shadow:0 1px 2px #0000004d, 0 8px 24px #0006;--shadow-sm:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;margin:0;overflow:hidden}body{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin:0}p{line-height:1.5}a{color:var(--accent)}code,pre,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}code{word-break:break-all;font-size:12px}kbd{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);min-width:20px;height:20px;font:500 11px/1 var(--mono);color:var(--ink-2);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.note{color:var(--muted);margin-top:var(--s2);font-size:12px;line-height:1.5}.note.warn,.warn{color:var(--warn)}.error,.err{color:var(--danger)}.ok{color:var(--ok)}.busy{color:var(--info)}.small{font-size:12px}.empty{color:var(--muted);padding:var(--s2) 0;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox]{cursor:pointer;flex:none;width:15px;height:15px;margin:0}input[type=checkbox]:disabled{cursor:default}select,input[type=search],input[type=text],input[type=number],input:not([type]),textarea{min-height:var(--control);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);width:100%;min-width:0;color:var(--ink);transition:border-color var(--t-fast) var(--ease);padding:5px 9px}select:hover,input[type=search]:hover,textarea:hover{border-color:var(--faint)}textarea{resize:vertical;min-height:72px;line-height:1.45}::placeholder{color:var(--faint)}.btn,.small-btn,.toolbar button,button.primary,.workbench button,.classification-panel button,.work-body button{min-height:var(--control);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled),.small-btn:hover:not(:disabled),.toolbar button:hover:not(:disabled),.workbench button:hover:not(:disabled),.classification-panel button:hover:not(:disabled){background:var(--surface-2);border-color:var(--faint)}.btn:active:not(:disabled),.small-btn:active:not(:disabled),.btn-icon:active:not(:disabled),.toolbar button:active:not(:disabled),.seg-btn:active:not(:disabled),.workbench button:active:not(:disabled){transform:scale(.98)}.btn .ui-icon,.small-btn .ui-icon{width:16px;height:16px}.btn-primary,button.primary,.workbench button.primary,.classification-panel button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover:not(:disabled),button.primary:hover:not(:disabled),.workbench button.primary:hover:not(:disabled),.classification-panel button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.btn-sm,.small-btn{min-height:28px;padding:0 10px;font-size:12px}.btn-xs{width:24px!important;height:24px!important;min-height:24px!important}.btn-xs .ui-icon{width:15px;height:15px}.btn-icon-only{width:var(--control);padding:0}.btn-icon{width:var(--control);height:var(--control);min-height:var(--control);border-radius:var(--r);color:var(--ink-2);transition:background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-icon.active,.btn-icon[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.ui-icon{flex:none;width:18px;height:18px;display:block}button.link,.link{min-height:0;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;text-decoration:underline}button.icon{border-radius:var(--r);width:28px;height:28px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}button.icon:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}button.icon .ui-icon{width:16px;height:16px}.btn-row{flex-wrap:wrap;gap:6px;display:flex}.toolbar{margin:var(--s2) 0;flex-wrap:wrap;gap:6px;display:flex}.seg{border-radius:var(--r);background:var(--surface-3);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:inline-grid}.seg-btn{min-height:28px;color:var(--ink-2);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border:0;border-radius:5px;padding:0 12px;font-size:12.5px;font-weight:500}.seg-btn:hover:not(:disabled):not(.active){color:var(--ink)}.seg-btn.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.seg-row{margin-bottom:var(--s3);gap:6px;display:grid}.seg-row .seg{display:grid}.seg-label{color:var(--muted);font-size:12px;font-weight:500}.chip{white-space:nowrap;background:var(--surface-3);height:20px;color:var(--ink-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.chip-ok,.chip.st-OK{background:var(--accent-soft);color:var(--accent)}.chip-warn,.chip.st-WARNING_QC,.chip.st-REVIEW,.chip.st-REFLY_RECOMMENDED{background:var(--warn-soft);color:var(--warn)}.chip-danger,.chip.st-FAILED_QC,.chip.st-REFLY_REQUIRED{background:var(--danger-soft);color:var(--danger)}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;box-shadow:inset 0 0 0 1px #0000002e}.dot-none{visibility:hidden}.kv,.facts{grid-template-columns:minmax(96px,42%) minmax(0,1fr);gap:6px 12px;margin:0;font-size:12.5px;display:grid}.kv>span,.facts dt{color:var(--muted)}.kv b,.facts dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0;color:var(--ink);margin:0;font-weight:500}.kv small{color:var(--muted);font-size:11.5px;font-weight:400;display:block}.eyebrow{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.est{color:var(--warn);font-weight:500}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:80;pointer-events:none;white-space:nowrap;border-radius:var(--r-sm);background:var(--tip-bg);color:var(--tip-ink);font:500 12px/1.2 var(--font);letter-spacing:0;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .12s var(--ease), transform .12s var(--ease);padding:5px 8px;position:absolute;top:calc(100% + 6px);left:50%;transform:translateY(-2px)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.35s;transform:none}[data-tip-pos=top]:after{top:auto;bottom:calc(100% + 6px)}[data-tip-pos=right]:after{top:50%;left:calc(100% + 8px);transform:translate(-2px)}[data-tip-pos=left]:after{top:50%;left:auto;right:calc(100% + 8px);transform:translate(2px)}[data-tip-pos=right]:hover:after,[data-tip-pos=left]:hover:after,[data-tip-pos=right]:focus-visible:after,[data-tip-pos=left]:focus-visible:after{transform:none}.tb-right [data-tip]:last-of-type:after{left:auto;right:0;translate:0}.skel{vertical-align:middle;background:linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 50%, var(--surface-3) 100%);background-size:200% 100%;border-radius:3px;height:10px;animation:1.4s linear infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.progress{background:var(--surface-3);border-radius:3px;width:180px;height:3px;overflow:hidden}.progress>span{background:var(--accent);width:40%;height:100%;animation:indeterminate 1.3s var(--ease) infinite;border-radius:3px;display:block}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(260%)}}.splash{height:100%;padding:var(--s6);background:var(--bg);place-items:center;display:grid}.splash-card{align-items:center;gap:var(--s3);text-align:center;flex-direction:column;width:min(440px,100%);display:flex}.splash-card[role=alert]{padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.splash-logo{margin-bottom:var(--s2)}.splash h1{font-size:16px;font-weight:600}.splash p{color:var(--muted)}.splash code{width:100%;padding:var(--s2) var(--s3);border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);text-align:left;display:block}.splash .btn{margin-top:var(--s2)}.header-logo{height:auto;display:block}.logo-light,:root[data-theme=light] .logo-dark{display:none}:root[data-theme=light] .logo-light{display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}.skel,.progress>span{animation:none!important}}.workspace{height:100dvh;padding-top:env(safe-area-inset-top);background:var(--bg);flex-direction:column;display:flex}.layout{flex:1;min-height:0;display:flex}.workspace-center{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.stage{background:var(--viewport);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}canvas.gl{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}canvas.gl:active{cursor:grabbing}.topbar{height:var(--topbar);align-items:center;gap:var(--s4);padding:0 var(--s3) 0 var(--s4);background:var(--surface);border-bottom:1px solid var(--line);z-index:20;flex:none;display:flex;position:relative}.tb-left,.tb-center,.tb-right{align-items:center;gap:var(--s2);min-width:0;display:flex}.tb-left{gap:var(--s3);flex:auto}.tb-center{gap:var(--s3);flex:0 auto}.tb-right{flex:auto;justify-content:flex-end;gap:2px}.brand-link{border-radius:var(--r);flex:none;align-items:center;display:flex}.topbar .header-logo{object-fit:contain;width:112px;height:32px}.tb-divider{background:var(--line);flex:none;width:1px;height:24px}.project-switch{flex:none}.project-select{border-color:var(--line);background-color:var(--surface);width:auto;max-width:200px;min-height:32px;padding:0 28px 0 10px;font-size:13.5px;font-weight:600}.run-meta{align-items:center;gap:var(--s2);white-space:nowrap;min-width:0;color:var(--muted);font-size:12px;display:flex}.run-name{color:var(--ink-2);text-overflow:ellipsis;font-weight:500;overflow:hidden}.run-when{font-size:11.5px}.mode-switch .seg-btn{min-width:92px}.mode-nav{align-items:center;gap:2px;display:flex}.mode-nav button{border-radius:var(--r);min-height:32px;color:var(--ink-2);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.mode-nav button .ui-icon{width:16px;height:16px;color:var(--muted)}.mode-nav button:hover{background:var(--surface-2);color:var(--ink)}.mode-nav button:active{transform:scale(.98)}.mode-nav button.active{background:var(--accent-soft);color:var(--accent)}.mode-nav button.active .ui-icon{color:var(--accent)}.result-mode .mode-nav,.result-mode .tool-adv,.result-mode .tool-adv+.tool-sep{display:none}.has-result:not(.result-mode) .mode-nav{padding-left:var(--s3);border-left:1px solid var(--line)}.download-action{margin-left:var(--s2)}.download-action.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent-soft)}.side-toggle[aria-expanded=true]{color:var(--accent)}.side,.inspector{background:var(--surface);min-width:0;color:var(--ink);z-index:5;flex-direction:column;flex:none;display:flex;position:relative}.side{border-right:1px solid var(--line);width:304px}.inspector{border-left:1px solid var(--line);width:344px;min-height:0}.side-collapsed .side{display:none}.side-scroll,.inspector-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;overflow:hidden auto}.panel-head{justify-content:space-between;align-items:center;gap:var(--s2);min-height:48px;padding:var(--s2) var(--s2) var(--s2) var(--s4);border-bottom:1px solid var(--line);flex:none;display:flex}.panel-head-text{flex-direction:column;min-width:0;padding:2px 0;display:flex}.panel-title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.3}.panel-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.panel-sub:empty{display:none}.panel-heading{margin-bottom:var(--s2);justify-content:space-between;align-items:center;display:flex}.panel-heading h2{font-size:13px;font-weight:600}.inspector:not(.hidden){animation:panel-in var(--t) var(--ease)}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.sec{border-bottom:1px solid var(--line)}.sec-head{justify-content:space-between;align-items:center;gap:var(--s2);width:100%;min-height:44px;padding:0 var(--s4);color:var(--ink);text-align:left;transition:background-color var(--t-fast) var(--ease);background:0 0;border:0;font-size:13px;font-weight:600;display:flex}.sec-head:hover{background:var(--surface-2)}.sec-body{padding:0 var(--s4) var(--s4)}.sec.closed>.sec-body{display:none!important}.chev{color:var(--muted);transition:transform var(--t) var(--ease);display:flex;transform:rotate(90deg)}.chev .ui-icon{width:16px;height:16px}.sec.closed>.sec-head .chev{transform:rotate(0)}.sec .sec{margin:var(--s3) calc(-1 * var(--s4)) calc(-1 * var(--s4));border-top:1px solid var(--line);border-bottom:0}.grow-col{flex-direction:column;display:flex}.row-head{margin-bottom:var(--s1);justify-content:flex-end;font-size:12px;display:flex}.inspector .sec[data-sec=info]{border-bottom:0}.inspector .sec[data-sec=info]>.sec-head{display:none}.inspector .sec[data-sec=info]>.sec-body{padding-top:var(--s4);display:block!important}.finding-bar{padding:var(--s2) var(--s2) var(--s2) var(--s4);background:var(--accent-soft);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:2px;display:flex}.finding-bar-text{flex-direction:column;flex:1;min-width:0;display:flex}.finding-bar-pos{color:var(--accent);font-size:12px;font-weight:500}.finding-bar-kind{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.finding-bar .btn-icon{color:var(--accent)}.finding-bar .btn-icon:hover{background:var(--surface)}.info{gap:var(--s3);flex-direction:column;display:flex}.info-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.info-group{padding-top:var(--s3);border-top:1px solid var(--line)}.info-group:first-child{border-top:0;padding-top:0}.info-group.pole.warn{border-left:3px solid var(--warn);padding-left:var(--s2)}.info-block{border-top:1px solid var(--line);padding-top:var(--s2)}.info-block summary,.disclosure>summary{align-items:center;gap:var(--s2);cursor:pointer;min-height:32px;font-size:12.5px;font-weight:600;list-style:none;display:flex}.info-block summary::-webkit-details-marker{display:none}.disclosure>summary::-webkit-details-marker{display:none}.info-block summary:before,.disclosure>summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;transition:transform var(--t) var(--ease);flex:none;margin:0 4px 0 2px;transform:rotate(-45deg)}.info-block[open]>summary:before,.disclosure[open]>summary:before{transform:rotate(45deg)}.info-block .kv{margin:var(--s1) 0 var(--s2)}.summary-meta{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.result-card{gap:var(--s3)}.result-card .facts{font-size:13px}.result-card .facts dd{font-weight:600}.disclosure{border-top:1px solid var(--line);padding-top:var(--s2)}.disclosure>:not(summary){margin-top:var(--s2)}.review-panel{margin-top:var(--s4)}.review-body{gap:var(--s2);flex-direction:column;display:flex}.review-body .note{margin:0}.btn-row-ghost{gap:2px;margin:0 -6px}.layer-name-action{text-align:left;cursor:pointer;font-weight:500;background:0 0!important;border:0!important;min-height:0!important;padding:0!important}.layer-name-action:hover{text-underline-offset:3px;text-decoration:underline}.result-mode .side-scroll>:not(.result-panel),.workspace:not(.result-mode) .result-panel,.result-mode .ov-legend{display:none}.res-block{padding:var(--s4);border-bottom:1px solid var(--line)}.stepper{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);flex-direction:column;display:flex}.stepper-main{align-items:center;gap:var(--s2);display:flex}.stepper-text{flex-direction:column;flex:1;min-width:0;display:flex}.stepper-pos{font-family:var(--font);letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.3}.stepper-kind{color:var(--muted);font-size:12px;line-height:1.35}.stepper-next{gap:4px;padding:0 10px 0 12px}.stepper-next .ui-icon{width:16px;height:16px}.stepper .btn-icon-only{background:var(--surface)}.stepper-break{flex-wrap:wrap;gap:4px;display:flex}.stepper-break:empty{display:none}.stepper-chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:500}.stepper-chip.k-danger:before,.stepper-chip.k-warn:before{content:"";vertical-align:1px;background:var(--danger);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.stepper-chip.k-warn:before{background:var(--warn)}.stepper-chip.k-info:before{content:"";vertical-align:1px;background:var(--faint);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.res-audience{width:100%;margin-bottom:var(--s3);display:grid}.res-audience .seg-btn{min-width:0}.res-legend-note{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:11.5px;display:flex}.res-legend-note>span{align-items:center;gap:6px;display:inline-flex}.customer-card .res-card-headline{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:1.4}.legend-note{margin:6px 0 0;font-size:11.5px;line-height:1.4}.res-funn{gap:var(--s3);margin-top:var(--s4);flex-direction:column;display:flex}.res-group{flex-direction:column;display:flex}.res-group-title{color:var(--muted);margin-bottom:2px;font-size:11.5px;font-weight:600}.res-row{align-items:center;gap:var(--s2);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 24px;min-height:34px;padding:3px 0;display:grid}.res-group .res-row:last-of-type{border-bottom:0}.res-toggle{align-items:center;gap:var(--s2);cursor:pointer;min-width:0;display:flex}.res-title{flex-direction:column;min-width:0;font-size:13px;font-weight:500;line-height:1.3;display:flex}.res-meta{color:var(--muted);font-size:11.5px;font-weight:400}.res-num{color:var(--ink-2);text-align:right;white-space:nowrap;font-size:12.5px;font-weight:500}.res-avvik:not(.is-zero)>.res-num{color:var(--danger);font-weight:600}.res-row.is-zero .res-title>span:first-child{color:var(--muted)}.res-row.is-error .res-num{color:var(--danger)}.res-info{color:var(--faint)}.res-info.active{color:var(--accent);background:var(--accent-soft)}.res-info-spacer{width:24px}.res-note{margin:0 0 var(--s2) 23px;padding:var(--s2) var(--s3);border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.res-legend{flex-wrap:wrap;gap:4px 12px;font-size:11.5px;display:flex}.res-legend span{align-items:center;gap:5px;display:inline-flex}.res-sub{align-items:center;gap:var(--s2);color:var(--ink-2);cursor:pointer;padding:2px 0 6px 23px;font-size:12px;display:flex}.res-sub input{width:13px;height:13px}.res-class-tools{margin-bottom:var(--s3);gap:6px;display:flex}.res-classes{gap:var(--s2);flex-direction:column;display:flex}.res-cgroup{flex-direction:column;display:flex}.res-crow{align-items:center;gap:var(--s2);cursor:pointer;grid-template-columns:15px 10px minmax(0,1fr) auto;min-height:26px;font-size:12.5px;display:grid}.res-cgroup-head{grid-template-columns:15px minmax(0,1fr) auto;font-size:12.5px}.res-cgroup-head b{font-weight:600}.res-class{padding-left:20px}.res-cname{align-items:baseline;gap:6px;min-width:0;display:flex}.res-cname>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.res-code{text-align:right;min-width:18px;color:var(--faint);flex:none;font-size:11px}.gk-tag{font:600 9.5px/14px var(--mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:3px;flex:none;align-self:center;padding:0 4px}.res-count{white-space:nowrap;flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.res-run{color:var(--faint);font-size:10.5px}.res-empty{opacity:.5;cursor:default}.res-empty .res-empty{opacity:1}.res-summary{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.res-summary .note{margin-top:var(--s1)}.layer-summary{padding:var(--s2) var(--s4);background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--line);font-size:12px}.pc-list{max-height:34dvh;margin:0 calc(-1 * var(--s1));padding:0 var(--s1);overflow:auto}.pc-row{align-items:center;gap:2px var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.pc-row:last-child{border-bottom:0}.pc-row.is-off .pc-name{color:var(--muted)}.pc-row.is-error{background:var(--danger-soft)}.pc-main{align-items:center;gap:var(--s2);cursor:pointer;min-width:0;display:flex}.pc-name{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.35}.pc-size{color:var(--muted);font:11.5px var(--mono);white-space:nowrap}.pc-sub{justify-content:space-between;gap:var(--s2);color:var(--muted);grid-column:1/-1;padding-left:23px;font-size:11.5px;display:flex}.pc-status.ok{color:var(--ok)}.pc-status.busy{color:var(--info)}.pc-status.error{color:var(--danger)}.pc-meta{font-family:var(--mono);white-space:nowrap}.pc-invalid{grid-template-columns:1fr}.pc-row.v-row{grid-template-columns:minmax(0,1fr) auto}.v-list{flex-direction:column;display:flex}.risk-group{padding:var(--s2) 0;border-bottom:1px solid var(--line);margin-bottom:var(--s2)}.layer-details{grid-column:1/-1;padding-left:23px;font-size:12px}.layer-details summary{cursor:pointer;color:var(--muted);align-items:center;min-height:24px;display:flex}.layer-details[open]{padding:var(--s2) var(--s2) var(--s2) var(--s3);background:var(--surface-2);border-radius:var(--r);margin-left:23px}.layer-reason{overflow-wrap:anywhere;line-height:1.5}.layer-reason code{color:var(--muted);margin:6px 0;display:block}.vector-filter{margin:var(--s2) 0}.layer-selected{background:var(--accent-soft)!important}.search{margin-bottom:var(--s2)}.side .toolbar{margin:var(--s2) 0}.side .toolbar button{min-height:28px;padding:0 10px;font-size:12px}.slider{align-items:center;gap:var(--s3);margin-top:var(--s3);color:var(--ink-2);grid-template-columns:110px minmax(0,1fr);font-size:12.5px;display:grid}.slider input[type=checkbox]{justify-self:start}.slider input[type=range]{width:100%}.crs-check{margin-top:var(--s2);font-size:12px;line-height:1.45}.tech-kv{grid-template-columns:96px minmax(0,1fr);font-size:11.5px}.tech-kv code{color:var(--ink-2);font-size:11px}.tech pre{max-height:240px;padding:var(--s2);background:var(--surface-2);border-radius:var(--r);font-size:11px;overflow:auto}.sw{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #00000040}.sw-poles{background:#e5e9ee;border-radius:50%}.sw-conductors{background:#facc15;height:4px}.sw-vegetation{background:#22c55e}.sw-qc{background:#f59e0b8c}.sw-refly{background:#f973168c}.sw-cameras{background:#38bdf8;border-radius:50%;width:11px;height:11px}.sw-pole_geometry{background:linear-gradient(90deg,#0000 42%,#94a3b8 42% 58%,#0000 58%)}.sw-corridor{background:#9461d4}.sw-other{background:#a78bfa}form{margin-top:var(--s3);flex-direction:column;gap:6px;display:flex}.workspace-tools{left:var(--s3);top:var(--s3);z-index:9;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.workspace-tools .btn-icon,.workspace-tools .tool{border-radius:var(--r);width:34px;height:34px;min-height:34px;color:var(--ink-2);background:0 0;border:0;padding:0}.workspace-tools .tool.active{background:var(--accent);color:var(--on-accent)}.workspace-tools .btn-icon.active{background:var(--accent-soft);color:var(--accent)}.tool-adv,.tool-seg{flex-direction:column;gap:2px;display:flex}.tool-sep{background:var(--line);width:20px;height:1px;margin:3px 0}.tool{justify-content:center;align-items:center;display:inline-flex}.ov{font-size:12px;position:absolute}.ov-help{left:64px;bottom:var(--s3);z-index:4;gap:var(--s3);pointer-events:none;color:#e7ecf0d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e1419b8;border-radius:999px;padding:5px 10px;font-size:11.5px;display:flex}.ov-help b{color:var(--on-viewport);font-weight:600}:is(.stage:has(.hint-card) .ov-help,.table-open .ov-help){display:none}.ov-legend{top:var(--s3);right:var(--s3);z-index:6;width:236px;max-height:calc(100% - 24px);padding:var(--s3);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow-y:auto}.ov-legend select{margin-bottom:var(--s2)}.table-open .ov-legend{max-height:calc(100% - var(--table-height,240px) - 28px)}.lg-row{align-items:center;gap:var(--s2);cursor:pointer;grid-template-columns:15px 10px minmax(0,1fr) auto;min-height:24px;font-size:12px;display:grid}.lg-row i{border-radius:50%;width:10px;height:10px;display:inline-block}.lg-row small{color:var(--muted);font:11px var(--mono)}.ramp{background:linear-gradient(90deg,#2b3990,#1ca0d6,#60be62,#f5cd3a,#d62f27);border-radius:4px;height:8px}.ramp-lbl{color:var(--muted);font:11px var(--mono);justify-content:space-between;margin-top:4px;display:flex}.overlay-labels span{font-variant-numeric:tabular-nums;font:600 11.5px/1.35 var(--font)!important;padding:1px 6px!important}.measurement-label{z-index:6;border-radius:var(--r-sm);pointer-events:none;color:#f1f4f7;font:500 12px var(--mono);background:#141b22;border:1px solid #eab35e;padding:4px 8px;position:absolute;transform:translate(-50%,-120%)}.hint-card{left:50%;bottom:var(--s5);z-index:12;background:var(--surface);width:min(420px,100% - 32px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:hint-in var(--t) var(--ease);position:absolute;translate:-50%}@keyframes hint-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hint-card header{padding:var(--s3) var(--s2) 0 var(--s4);justify-content:space-between;align-items:center;display:flex}.hint-card h2{font-size:14px;font-weight:600}.hint-card ol{padding:var(--s2) var(--s4) 0;gap:var(--s3);flex-direction:column;margin:0;list-style:none;display:flex}.hint-card li{gap:var(--s3);grid-template-columns:22px minmax(0,1fr);display:grid}.hint-num{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);font:600 11.5px var(--mono);border-radius:50%;place-items:center;display:grid}.hint-card li b{font-size:13px;font-weight:600}.hint-card li p{color:var(--ink-2);margin-top:1px;font-size:12.5px}.hint-keys{margin:var(--s3) var(--s4) 0;font-size:12px}.hint-keys summary{cursor:pointer;color:var(--muted)}.hint-keys dl{gap:6px var(--s3);margin:var(--s2) 0 0;grid-template-columns:auto 1fr;align-items:center;display:grid}.hint-keys dd{color:var(--ink-2);margin:0}.hint-card footer{justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s4) var(--s4);display:flex}.statusbar{align-items:center;gap:var(--s4);min-height:var(--statusbar);padding:0 var(--s3);background:var(--surface);border-top:1px solid var(--line);color:var(--muted);flex:none;display:flex;overflow:hidden}.statusbar .ov{white-space:nowrap;background:0 0;border:0;min-width:0;padding:0;font-size:11.5px;position:static;transform:none}.statusbar .ov-stats{align-items:center;gap:var(--s3);flex:1;display:flex;overflow:hidden}.statusbar .ov-stats>span{text-overflow:ellipsis;overflow:hidden}.statusbar .ov-stats b{color:var(--ink);font-weight:500}.statusbar .st{align-items:center;gap:5px;display:inline-flex}.statusbar .st:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.statusbar .st.ok{color:var(--muted)}.statusbar .st.ok:before{background:var(--ok)}.statusbar .ov-coord{color:var(--ink-2);white-space:pre;font-size:11.5px}.statusbar .ov-attr a{color:var(--muted);font-size:11px;text-decoration:none}.statusbar .ov-attr a:hover{text-decoration:underline}.workbench{color:var(--ink);position:static}.work-body{gap:var(--s3);padding:var(--s4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid;overflow-x:hidden}.work-body label{color:var(--ink-2);gap:6px;font-size:12px;font-weight:600;display:grid}.work-body label:has(input[type=checkbox]){align-items:center;gap:var(--s2);font-weight:500;display:flex}.workbench button{white-space:normal;text-align:center}.workbench .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.workbench .toolbar button{overflow-wrap:anywhere;min-width:0}.workbench .tool{justify-content:flex-start;gap:var(--s2);width:auto}.workbench .tool:after{content:attr(aria-label)}.workbench .tool.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.workbench .note{margin:0}.work-status{padding:var(--s3) var(--s4);color:var(--ink-2);background:var(--surface-2);border-top:1px solid var(--line);overflow-wrap:anywhere;font-size:12.5px;line-height:1.5}.work-status:empty{display:none}.delivery-preview{padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);overflow-wrap:anywhere;flex-direction:column;gap:4px;font-size:12.5px;line-height:1.5;display:flex}.delivery-preview b{font-size:13px}.delivery-preview .note{margin:0}.download-files{gap:var(--s2);flex-direction:column;max-height:240px;display:flex;overflow:auto}.download-files a{color:var(--accent);overflow-wrap:anywhere}.classification-panel{gap:var(--s3);min-width:0;display:grid}.classification-panel label{gap:6px;min-width:0;display:grid}.classification-panel button{white-space:normal;line-height:1.35}.classification-panel .toolbar,.classification-panel .class-presets{flex-wrap:wrap;gap:6px;display:flex}.classification-panel .selection-summary{padding:var(--s3);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--r) var(--r) 0;overflow-wrap:anywhere}.classification-panel .correction-history{padding:var(--s2) 0;border-bottom:1px solid var(--line)}.profile-window{z-index:10;background:var(--surface);height:44%;min-height:180px;max-height:calc(100% - 48px);color:var(--ink);border-top:1px solid var(--line-strong);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;inset:auto 0 0}.profile-resize{cursor:ns-resize;z-index:1;touch-action:none;height:8px;position:absolute;inset:-4px 0 auto}.profile-resize:after{content:"";background:var(--line-strong);border-radius:2px;width:36px;height:3px;margin-left:-18px;position:absolute;top:2px;left:50%}.profile-head{padding:6px var(--s2) 6px var(--s3);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:6px 10px;display:flex}.profile-title{font-size:13px}.profile-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.profile-field{color:var(--ink-2);align-items:center;gap:5px;font-size:12px;display:inline-flex}.profile-field input{width:64px;min-height:28px}.profile-field select{width:auto;min-height:28px}.profile-actions{flex-wrap:wrap;gap:4px;margin-left:auto;display:inline-flex}.profile-window button:not(.seg-btn){border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);min-height:28px;color:var(--ink);padding:0 10px}.profile-window button:not(.seg-btn):hover:not(:disabled){background:var(--surface-2)}.profile-window button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.profile-window button.primary:hover:not(:disabled){background:var(--accent-hover)}.profile-window .seg-btn.hidden{display:none}.profile-content{flex:1;min-height:0;display:flex}.profile-plot{background:var(--viewport);flex:1;min-width:0;min-height:120px;position:relative}.profile-canvas{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.profile-canvas.panning{cursor:grabbing}.profile-canvas[data-tool=measure],.profile-canvas[data-tool=select]{cursor:crosshair}.profile-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.profile-classify{width:230px;padding:var(--s2) var(--s3);border-left:1px solid var(--line);flex-direction:column;flex:none;gap:6px;display:flex;overflow:auto}.profile-classify label{gap:4px;font-size:12px;display:grid}.profile-classify details label{margin-top:4px}.profile-presets{flex-wrap:wrap;gap:4px;display:flex}.profile-status{gap:var(--s3);min-height:24px;padding:2px var(--s3);border-top:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.profile-readout{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-progress{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.profile-progress.warn{color:var(--warn)}.profile-window .note{margin:0;padding:2px 0;font-size:11.5px}@media (max-width:760px){.profile-window{height:72%}.profile-head{padding:4px var(--s2);gap:4px 6px}.profile-meta{display:none}.profile-actions{margin-left:0}.profile-content{flex-direction:column}.profile-classify{border-left:0;border-top:1px solid var(--line);width:auto;max-height:30%}.profile-status{flex-direction:column;align-items:stretch}}.project-gallery{padding:var(--s4)}.image-gallery{gap:var(--s2);flex-direction:column;display:flex}.image-frame{border-radius:var(--r);background:var(--viewport);touch-action:none;height:230px;position:relative;overflow:hidden}.image-frame img{object-fit:contain;cursor:grab;width:100%;height:100%}.image-strip{gap:6px;display:flex;overflow:auto}.image-strip button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);width:56px;height:48px;color:var(--ink);flex:none;padding:0;overflow:hidden}.image-strip button.active{border:2px solid var(--accent)}.image-strip img{object-fit:cover;width:100%;height:100%}.image-gallery:fullscreen{background:var(--surface);color:var(--ink);padding:var(--s5);overflow:auto}.image-gallery:fullscreen .image-frame{height:75dvh}.image-metadata{font:11.5px/1.5 var(--mono);color:var(--ink-2);overflow-wrap:anywhere}.thumb{background:var(--viewport);border-radius:var(--r);justify-content:center;align-items:center;min-height:80px;display:flex;overflow:hidden}.thumb img{width:100%;height:auto;display:block}.object-table{left:var(--s3);right:var(--s3);bottom:var(--s3);z-index:8;background:var(--surface);height:240px;max-height:60%;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;overflow:hidden}.table-toolbar{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);flex:none;font-size:12px;display:flex}.table-toolbar input{flex:1;min-width:0}.table-toolbar>span{color:var(--muted);margin-right:auto}.table-scroll{flex:1;min-height:0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:6px var(--s3);text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}td{font-variant-numeric:tabular-nums}th{background:var(--surface-2);z-index:1;position:sticky;top:0}th button{color:var(--ink-2);background:0 0;border:0;min-height:0;padding:0;font-weight:600}tr:hover td{background:var(--surface-2)}tr.selected td{background:var(--accent-soft)}.table-resizer{cursor:row-resize;touch-action:none;border-bottom:1px solid var(--line);flex:none;height:8px}.table-resizer:hover,.table-resizer:focus-visible{background:var(--accent-soft)}.panel-resizer{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0}.panel-resizer.left{right:-3px}.panel-resizer.right{left:-3px}.panel-resizer:hover,.panel-resizer:focus-visible{background:var(--accent-soft)}.drawer-backdrop,.restore-ui{display:none}.ui-hidden .topbar,.ui-hidden .side,.ui-hidden .inspector,.ui-hidden .workspace-tools,.ui-hidden .statusbar,.ui-hidden .drawer-backdrop,.ui-hidden .ov-legend,.ui-hidden .object-table,.ui-hidden .ov-help{display:none!important}.ui-hidden .restore-ui{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:40;box-shadow:var(--shadow);display:inline-flex;position:absolute}@media (max-width:1360px){.run-when{display:none}.mode-switch .seg-btn{min-width:0}}@media (max-width:1200px){.run-meta .run-name{display:none}.mode-nav button{padding:0 8px}.side{width:284px}.inspector{width:320px}}@media (max-width:1100px){.mode-nav button span,.mode-nav button{font-size:12.5px}.mode-nav button .ui-icon,.tb-divider{display:none}.topbar{gap:var(--s3)}}@media (max-width:900px){:root{--control:40px}.topbar{height:auto;min-height:var(--topbar);padding:6px max(10px, env(safe-area-inset-left));flex-wrap:wrap;row-gap:6px}.tb-left{flex:auto;order:1}.tb-right{flex:none;order:2}.tb-center{flex:100%;order:3;justify-content:space-between;overflow-x:auto}.run-meta,.object-list-action,.hide-ui-action{display:none}.project-select{max-width:150px}.download-action span{display:none}.download-action{width:var(--control);padding:0}.side,.inspector{z-index:30;max-width:88vw;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;width:min(340px,88vw)!important}.layout{position:relative}.side{left:0}.inspector{right:0}.panel-resizer{display:none}.workspace:not(.side-collapsed) .drawer-backdrop,.workspace.info-open .drawer-backdrop{z-index:20;background:#0006;border:0;display:block;position:absolute;inset:0}.layout>.drawer-backdrop{position:absolute}.workspace-tools{top:var(--s2);left:var(--s2)}.workspace-tools .btn-icon,.workspace-tools .tool{width:40px;height:40px}.ov-help,.statusbar .ov-coord{display:none}.ov-legend{width:200px;max-height:45%}.sec-head{min-height:48px}.res-row{min-height:44px}.object-table{left:var(--s1);right:var(--s1);bottom:var(--s1)}.table-toolbar{flex-wrap:wrap}.hint-card{bottom:var(--s3)}}.workspace-center{container:center/inline-size}@container center (width<=640px){.statusbar .ov-coord,.ov-help{display:none}}@container center (width<=460px){.statusbar .ov-attr{display:none}}.side .toolbar button.primary{background:var(--surface);color:var(--accent);border-color:var(--line-strong)}.side .toolbar button.primary:hover:not(:disabled){background:var(--accent-soft)}.batch-box>button{width:100%}.workbench .toolbar button{overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto;text-align:left;justify-content:flex-start;padding:6px 10px;font-size:12.5px}.workbench .tool .ui-icon{width:16px;height:16px}@media (max-width:900px){.topbar .header-logo{width:92px;height:28px}.tb-left{gap:var(--s2);flex:1 1 0;min-width:0}.tb-right{flex:none}.tb-right .theme-toggle{display:none}.project-select{max-width:132px}}.workbench .toolbar{grid-template-columns:minmax(0,1fr)}.stepper-main{gap:var(--s2);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"text text""prev next";display:grid}.stepper-main>.btn-icon-only{grid-area:prev}.stepper-main>.stepper-text{align-items:baseline;gap:var(--s2);flex-flow:wrap;grid-area:text}.stepper-main>.stepper-next{grid-area:next;justify-content:center}.uncertain-toggle{padding:4px 0 8px}.fall-filter{gap:var(--s2);margin:var(--s2) 0 var(--s3);display:grid}.fall-filter-field{gap:4px;display:grid}.fall-filter-field label{color:var(--ink-2);font-size:12px}.fall-filter-row{align-items:center;gap:var(--s3);grid-template-columns:72px minmax(0,1fr);display:grid}.fall-filter .note{margin:0}.review-top-btn{border-radius:var(--r);min-height:32px;color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.review-top-btn .ui-icon{width:16px;height:16px;color:var(--muted)}.review-top-btn:hover{background:var(--surface-2);color:var(--ink)}.review-top-btn:active{transform:scale(.98)}.review-top-btn.active{background:var(--accent-soft);color:var(--accent)}.review-top-btn.active .ui-icon{color:var(--accent)}.review-top-btn kbd,.review-bar kbd,.review-dialog kbd{font-family:var(--mono);border-radius:var(--r-sm);border:1px solid var(--line-strong);color:var(--muted);background:var(--surface);padding:2px 4px;font-size:10.5px;line-height:1}.review-bar{z-index:32;background:var(--surface);width:min(1080px,100% - 24px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:review-in var(--t) var(--ease);position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@keyframes review-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.review-progress{background:var(--surface-3);border-radius:var(--r-lg) var(--r-lg) 0 0;height:3px;overflow:hidden}.review-progress-fill{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--t) var(--ease);display:block;transform:scaleX(0)}.review-main{align-items:center;gap:var(--s4);min-height:58px;padding:6px var(--s3) 6px var(--s4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.review-where{flex-direction:column;min-width:92px;display:flex}.review-pos{font-size:15px;font-weight:600}.review-source-name{color:var(--muted);white-space:nowrap;font-size:11.5px}.review-item{flex-direction:column;gap:1px;min-width:0;display:flex}.review-item-head{align-items:center;gap:var(--s2);min-width:0;display:flex}.review-type{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.review-facts{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.review-current{border-radius:999px;flex:none;padding:1px 7px;font-size:11.5px;font-weight:600}.review-current:empty{display:none}.review-current.v-riktig{background:var(--accent-soft);color:var(--accent)}.review-current.v-feil{background:var(--danger-soft);color:var(--danger)}.review-current.v-usikker{background:var(--warn-soft);color:var(--warn)}.review-current.v-hoppet_over{background:var(--surface-3);color:var(--muted)}.review-actions{align-items:center;gap:6px;display:flex}.review-btn{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.review-btn .ui-icon{width:16px;height:16px}.review-btn:active{transform:scale(.97)}.review-right{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.review-right kbd{color:var(--on-accent);background:0 0;border-color:#ffffff73}.review-right:hover{background:var(--accent-hover)}.review-wrong{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.review-wrong:hover{background:var(--danger-soft)}.review-unsure{color:var(--warn)}.review-unsure:hover{background:var(--warn-soft)}.review-skip{color:var(--ink-2);font-weight:500}.review-skip:hover{background:var(--surface-2)}.review-sep{background:var(--line);width:1px;height:24px;margin:0 2px}.review-comment{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);width:150px;min-height:32px;color:var(--ink);padding:0 8px;font-size:12px}.review-comment:focus{background:var(--surface)}.review-status{padding:0 var(--s4) 6px;color:var(--muted);min-height:0;font-size:11px;display:block}.review-status:empty{display:none}.review-picker{z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:240px;max-height:min(420px,52vh);box-shadow:var(--shadow);animation:review-pop var(--t-fast) var(--ease);padding:6px;position:absolute;bottom:calc(100% + 8px);right:340px;overflow-y:auto}@keyframes review-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.review-picker-head{color:var(--muted);padding:4px 8px 6px;font-size:11.5px;font-weight:600}.review-pick{border-radius:var(--r);width:100%;min-height:34px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.review-pick:hover,.review-pick:focus-visible{background:var(--surface-2)}.review-pick-plain{color:var(--muted)}.review-pick-other{align-items:center;gap:8px;padding:4px 8px;display:flex}.review-other{width:110px}.review-dialog{z-index:45;padding:var(--s4);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.review-backdrop{animation:review-fade var(--t) var(--ease);background:#080c1080;position:absolute;inset:0}@keyframes review-fade{0%{opacity:0}to{opacity:1}}.review-dialog-card{gap:var(--s3);width:min(720px,100%);max-height:100%;padding:var(--s4);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:review-pop var(--t) var(--ease);flex-direction:column;display:flex;position:relative;overflow:auto}.review-dialog-head{align-items:center;gap:var(--s2);display:flex}.review-dialog-head>b{margin-right:auto;font-size:15px}.review-resume{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r);background:var(--accent-soft);display:flex}.review-resume>div{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.review-sources{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-source{padding:var(--s3);text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease);flex-direction:column;align-items:flex-start;gap:4px;display:flex}.review-source b{font-size:13px}.review-source>span{color:var(--muted);font-size:12px;line-height:1.4}.review-source:hover{border-color:var(--line-strong)}.review-source.active{border-color:var(--accent);background:var(--accent-soft)}.review-inline{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;color:var(--ink-2)!important;display:flex!important}.review-input{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);min-height:30px;color:var(--ink);padding:0 8px;font-size:12.5px}.review-inline input[type=number]{width:100px}.review-file{color:var(--muted);font-size:11.5px}.review-dialog-foot{align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.review-dialog-foot .note{margin:0 auto 0 0}.review-label{align-items:center;gap:6px;margin-right:auto;font-size:12.5px;display:flex}.review-label input{text-transform:uppercase;width:90px}.review-table{border-collapse:collapse;width:100%;font-size:12.5px}.review-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:11.5px;font-weight:600}.review-table td{border-bottom:1px solid var(--line);padding:6px 8px}.review-errors{flex-direction:column;gap:3px;margin:6px 0 0;padding-left:18px;font-size:12.5px;display:flex}.review-cmd{white-space:pre-wrap;word-break:break-all;padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);margin:0;font-size:12px}.review-banner{z-index:31;align-items:center;gap:var(--s2);border-radius:var(--r-lg);background:linear-gradient(var(--warn-soft), var(--warn-soft)), var(--surface);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 24px);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:review-pop var(--t) var(--ease);margin:0 auto;padding:6px 6px 6px 12px;font-size:12.5px;font-weight:500;display:flex;position:absolute;top:12px;left:12px;right:12px}.review-banner .ui-icon{flex:none;width:16px;height:16px}.review-banner-text{min-width:0}@media (max-width:900px){.review-main{grid-template-columns:1fr;gap:6px;padding:6px 10px}.review-where{flex-direction:row;align-items:baseline;gap:8px}.review-actions{flex-wrap:wrap}.review-btn{min-height:36px;padding:0 10px}.review-comment{flex:1;width:auto}.review-picker{right:8px}.review-sources{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.review-bar,.review-dialog-card,.review-picker,.review-banner,.review-backdrop{animation:none}}.tc-workspace{grid-template-rows:var(--topbar) minmax(0,1fr) var(--statusbar);background:var(--bg);height:100dvh;color:var(--ink);font:13px/1.45 var(--font);-webkit-font-smoothing:antialiased;display:grid}.tc-header{align-items:center;gap:var(--s3);padding:0 var(--s4);background:var(--surface);border-bottom:1px solid var(--line);min-width:0;display:flex}.tc-header h1{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:14px;font-weight:600}.tc-header .tc-actions{gap:var(--s2);align-items:center;min-width:0;margin-left:auto;display:flex}.tc-body{grid-template-columns:248px minmax(320px,1fr) 320px;min-height:0;display:grid}.tc-left,.tc-right{padding:var(--s4);background:var(--surface);scrollbar-width:thin;overflow:auto}.tc-left{border-right:1px solid var(--line)}.tc-right{border-left:1px solid var(--line)}.tc-left>strong,.tc-right>strong{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600;display:block}.tc-right>strong{font:600 15px/1.3 var(--font);letter-spacing:-.01em;text-transform:none;color:var(--ink)}.tc-center{background:var(--viewport);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.tc-imagebar{padding:var(--s2) var(--s3);gap:var(--s2);background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;display:flex}.tc-imagebar .tc-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:500 12px var(--mono);color:var(--ink-2);flex:1;overflow:hidden}.tc-stage{min-height:0;position:relative}.tc-filmstrip{gap:var(--s2);padding:var(--s2);background:var(--surface);border-top:1px solid var(--line);scrollbar-width:thin;min-height:96px;max-height:114px;display:flex;overflow:auto}.tc-thumb{text-align:left;flex:0 0 108px;gap:4px;min-width:0;font:500 10px var(--mono)!important;padding:4px!important;display:grid!important}.tc-thumb img{object-fit:cover;border-radius:var(--r-sm);background:var(--surface-3);width:100%;height:58px}.tc-thumb span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tc-workspace button,.tc-workspace input,.tc-workspace select,.tc-workspace textarea,.tc-workspace a.tc-button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:0 var(--s3);min-height:var(--control);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tc-workspace textarea{padding:var(--s2) var(--s3)}.tc-workspace button,.tc-workspace a.tc-button{cursor:pointer;align-items:center;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.tc-workspace button:hover,.tc-workspace a.tc-button:hover{background:var(--surface-2);border-color:var(--accent)}.tc-workspace button:active{transform:translateY(1px)scale(.98)}.tc-workspace button:disabled{opacity:.45;cursor:default}.tc-workspace button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tc-workspace button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tc-workspace button.primary:hover{background:var(--accent-hover)}.tc-workspace :focus-visible{box-shadow:var(--focus);outline:none}.tc-field{gap:var(--s2);margin:var(--s3) 0;display:grid}.tc-field>span{color:var(--ink-2);font-size:12px;font-weight:600}.tc-field textarea{resize:vertical;min-height:76px;padding-top:var(--s2)}.tc-muted{color:var(--muted);margin:var(--s2) 0;font-size:12px}.tc-poles{gap:var(--s1);margin:var(--s3) 0;display:grid}.tc-pole{text-align:left;gap:2px;height:auto;padding:var(--s2) var(--s3)!important;background:0 0!important;border-color:#0000!important;display:grid!important}.tc-pole:hover{background:var(--surface-2)!important}.tc-pole.active{background:var(--accent-soft)!important;border-color:var(--accent)!important}.tc-pole small{font:500 11px var(--mono);color:var(--muted)}.tc-section{border-top:1px solid var(--line);margin-top:var(--s4);padding-top:var(--s4)}.tc-section h2{margin:0 0 var(--s2);color:var(--ink);font-size:12px;font-weight:600}.tc-finding{border-top:1px solid var(--line);padding:var(--s3) 0}.tc-finding p{margin:var(--s1) 0 var(--s2);white-space:pre-wrap;color:var(--ink-2)}.tc-row{gap:var(--s2);flex-wrap:wrap;display:flex}.tc-footer{padding:0 var(--s4);gap:var(--s4);background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font:500 11px var(--mono);white-space:nowrap;align-items:center;display:flex;overflow:hidden}.tc-error{color:var(--danger);white-space:pre-wrap;margin-left:auto}.tc-error:empty{display:none}.tc-empty{max-width:480px;color:var(--muted);padding:32px}.tc-listinfo{margin:var(--s3) 0}.tc-filter{width:100%}.tc-workspace dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(500px,90vw);box-shadow:var(--shadow)}.tc-workspace dialog::backdrop{background:#0b101599}.tc-workspace .tc-editor{height:100%}.tc-workspace .tc-editor-toolbar{flex-wrap:wrap}.tc-workspace .tc-editor-toolbar button{padding:5px 7px;font-size:11px}@media (max-width:1050px){.tc-body{grid-template-columns:200px minmax(240px,1fr) 272px}.tc-header .tc-muted{display:none}}@media (max-width:760px){.tc-workspace{flex-direction:column;height:100dvh;display:flex;overflow:auto}.tc-header,.tc-body,.tc-footer{flex-shrink:0}.tc-header{padding:var(--s2) var(--s3);height:auto;min-height:var(--topbar);flex-wrap:wrap}.tc-header .tc-actions{flex-wrap:wrap;margin-left:0}.tc-body{flex-direction:column;flex:1 0 auto;display:flex}.tc-left{border-right:0;border-bottom:1px solid var(--line);flex-shrink:0;max-height:220px}.tc-center{flex-shrink:0;height:65dvh;min-height:420px}.tc-right{border-left:0;border-top:1px solid var(--line);overflow:visible}.tc-poles{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-footer{height:auto;min-height:var(--statusbar);white-space:normal;padding:var(--s2) var(--s3);flex-wrap:wrap;position:static}}@media (prefers-reduced-motion:reduce){.tc-workspace *{transition:none!important}}.tc-editor{min-width:0;height:100%;min-height:0;color:var(--on-viewport);background:var(--viewport);border:1px solid #ffffff1a;border-radius:0;grid-template-rows:auto minmax(180px,1fr) auto;font-family:inherit;display:grid;overflow:hidden}.tc-editor-toolbar{background:#161f27;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.tc-editor button{color:#c4cdd5;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 9px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;transition:background .15s,transform .15s;display:inline-flex}.tc-editor button:hover{color:#fff;background:#ffffff14}.tc-editor button:active{transform:scale(.98)}.tc-editor button[aria-pressed=true]{color:#5cc7a3;background:#5cc7a329;border-color:#3c8a72}.tc-editor button:disabled{opacity:.4;cursor:default}.tc-editor button:focus-visible,.tc-editor input:focus-visible,.tc-editor-stage:focus-visible,.tc-editor-overlay g:focus-visible{outline-offset:-2px;outline:2px solid #5cc7a3}.tc-editor button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.tc-editor-text{color:#f1f4f7;width:calc(100% - 16px);font:inherit;background:#1a232b;border:1px solid #3a4a57;border-radius:5px;margin:8px;padding:9px 10px}.tc-editor [hidden]{display:none!important}.tc-editor-stage{touch-action:none;background:var(--viewport);min-height:180px;position:relative;overflow:hidden}.tc-editor-stage img{-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:0 0;max-width:none;position:absolute;top:0;left:0}.tc-editor-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tc-editor-mark{pointer-events:visiblePainted;cursor:pointer}.tc-editor-overlay g:not(.is-draft){filter:drop-shadow(0 1px 2px var(--viewport))}.tc-editor-overlay g.is-draft *{pointer-events:none}.tc-editor-message{text-align:center;color:#bcc7d0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;line-height:1.5;display:flex;position:absolute;inset:0}.tc-editor-message button{color:#5cc7a3;border-color:#3c8a72}.tc-editor-stage.is-loading .tc-editor-message:before{content:"";background:#2b3a46;border-radius:4px;width:min(240px,60%);height:8px;animation:1.4s ease-in-out infinite tc-editor-load}.tc-editor-footer{background:#161f27;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 10px;display:flex}.tc-editor-hint{color:#a3b1bd;font-size:12px;line-height:1.4}.tc-editor-zoom{flex-shrink:0;gap:3px;display:flex}.tc-editor:fullscreen{border:0;border-radius:0;width:100%;height:100%}@keyframes tc-editor-load{50%{opacity:.35}}@media (max-width:700px){.tc-editor-toolbar{gap:2px;padding:5px}.tc-editor button{min-height:44px;padding:7px}.tc-editor-toolbar button span{font-size:11px}.tc-editor-footer{flex-direction:column;align-items:flex-start}.tc-editor-zoom{align-self:flex-end}.tc-editor-hint{font-size:11px}}@media (prefers-reduced-motion:reduce){.tc-editor *{transition:none!important;animation:none!important}}
