@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--bg:#fff;--chrome:#f8fafc;--canvas-bg:#eef2f6;--border:#cbd5e1;--border-strong:#94a3b8;--text:#1c2d4f;--muted:#64748b;--accent:#2563eb;--hover:#f1f5f9;--danger:#dc2626;--navy:#1c2d4f;--navy-dark:#16243f;--navy-hover:#27395c;--navy-text:#cbd5e1;--highlight:#e8722a;--radius:3px;--radius-sm:2px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}button,input,textarea,select{font-family:inherit}.app{flex-direction:column;height:100vh;display:flex}.app-bar{z-index:50;background:var(--navy);color:#fff;flex-shrink:0;align-items:center;gap:12px;height:38px;padding:0 12px;display:flex;position:relative}.brand{align-items:baseline;gap:6px;display:flex}.brand-mark{letter-spacing:.1em;font-size:12px;font-weight:700}.brand-product{color:var(--navy-text);font-size:12px}.app-bar-spacer{flex:1}.app-bar-button{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--navy-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-bar-button:hover,.app-bar-button.active{background:var(--navy-hover);color:#fff}.app-bar-tools{align-items:center;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ui-toolbar-button,.app-bar-tool{border-radius:var(--radius-sm);width:32px;height:30px;color:var(--navy-text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12px;display:inline-flex}.ui-toolbar-button:hover,.app-bar-tool:hover{background:var(--navy-hover);color:#fff}.ui-toolbar-button.active,.app-bar-tool.active{background:var(--accent);border-color:var(--accent);color:#fff}.app-bar-toggle{border-radius:var(--radius-sm);width:28px;height:26px;color:var(--navy-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-bar-toggle:hover{background:var(--navy-hover);color:#fff}.app-bar-toggle.active{color:#fff}.app-bar-toggle.perf-active{color:#fff;position:relative}.app-bar-toggle.perf-active:after{content:"";background:var(--highlight);width:6px;height:6px;box-shadow:0 0 0 1px var(--navy);border-radius:50%;position:absolute;top:2px;right:2px}.app-bar-gap{width:14px}.ui-toolgroup{border-radius:var(--radius);background:var(--navy-dark);align-items:center;gap:1px;padding:2px;display:flex}.ui-toolgroup .ui-toolbar-button{width:30px;height:26px}.ui-toolgroup-divider{background:var(--navy-hover);width:1px;height:16px;margin:0 3px}.ui-toolbar-button.open,.app-bar-toggle.open{background:var(--navy-hover);color:#fff}.ui-toolbar-button.active.open{background:var(--accent);border-color:var(--accent);color:#fff}.ui-toolbar-button:disabled{opacity:.35;cursor:default}.ui-toolbar-button:disabled:hover{color:var(--navy-text);background:0 0}.case-header{background:var(--bg);border-bottom:1px solid var(--border-strong);flex-shrink:0;align-items:center;gap:18px;height:42px;padding:0 12px;display:flex;overflow-x:auto}.case-id{white-space:nowrap;font-size:14px;font-weight:600}.case-field{white-space:nowrap;flex-direction:column;gap:1px;display:flex}.case-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:9px}.case-field-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.fps-readout{flex-shrink:0;align-items:baseline;gap:5px;margin-left:auto;padding-left:12px;display:flex}.fps-readout-dot{border-radius:50%;flex-shrink:0;align-self:center;width:7px;height:7px}.fps-readout-value{text-align:right;font-variant-numeric:tabular-nums;min-width:24px;font-size:13px;font-weight:600}.fps-readout-unit{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.fps-readout.smooth .fps-readout-dot{background:#16a34a}.fps-readout.smooth .fps-readout-value{color:var(--text)}.fps-readout.fair .fps-readout-dot{background:#b45309}.fps-readout.fair .fps-readout-value{color:#b45309}.fps-readout.poor .fps-readout-dot{background:var(--danger)}.fps-readout.poor .fps-readout-value{color:var(--danger)}.app-body{z-index:0;flex:1;min-height:0;display:flex;position:relative}.workspace{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-body{flex:1;min-height:0;display:flex}.viewport-grid{flex:1;min-width:0;min-height:0;display:grid;position:relative}.viewport-grid.count-1{grid-template-rows:1fr;grid-template-columns:1fr}.viewport-grid.count-2{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.viewport-grid.count-3{grid-template-rows:1fr;grid-template-columns:1fr 1fr 1fr}.viewport-grid.count-4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.viewport{background:var(--canvas-bg);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.viewport:after{content:"";pointer-events:none;z-index:15;box-shadow:inset 0 0 0 1px var(--border);position:absolute;inset:0}.viewport.focused:after{box-shadow:inset 0 0 0 2px var(--viewport-color)}.viewport-canvas{flex:1;min-height:0;position:relative;overflow:hidden}.pathology-viewer{width:100%;height:100%}.side-panel{background:var(--chrome);border-left:1px solid var(--border-strong);flex-shrink:0;width:280px;overflow-y:auto}.panel-group+.panel-group{border-top:1px solid var(--border)}.panel-heading{z-index:1;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--chrome);box-shadow:inset 0 -1px 0 var(--border);align-items:center;gap:6px;margin:0;padding:9px 12px 8px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.panel-heading-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel-count{border:1px solid var(--border);background:var(--bg);letter-spacing:0;font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.panel-count.empty{color:var(--border-strong);background:0 0;border-color:#0000}.panel-body{padding:10px 12px 12px}.panel-empty{color:var(--muted);background:var(--bg);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);margin:0;padding:9px 10px;font-size:12px;line-height:1.45}.panel-placeholder{margin:12px}.entity-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.entity-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;align-items:center;gap:7px;padding:5px 4px 5px 7px;display:flex}.entity-list li:hover{background:var(--hover);border-color:var(--border-strong)}.entity-type{color:var(--entity-color,var(--muted));flex-shrink:0}.entity-list li.selected{border-color:var(--entity-color,var(--accent));background:color-mix(in srgb, var(--entity-color,var(--accent)) 9%, var(--bg));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--entity-color,var(--accent)) 30%, transparent)}.entity-list li .ui-icon-button{opacity:0}.entity-list li:hover .ui-icon-button,.entity-list li.selected .ui-icon-button,.entity-list li .ui-icon-button:focus-visible{opacity:1}.entity-list li .ui-icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.swatch{border-radius:var(--radius-sm);flex-shrink:0;width:10px;height:10px}.entity-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.entity-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.analysis-actions{align-items:stretch;gap:6px;margin-bottom:10px;display:flex}.analysis-run{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:500}.analysis-run:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000);border-color:color-mix(in srgb, var(--accent) 88%, #000)}.analysis-run:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.analysis-run:disabled{opacity:.6;cursor:default}.analysis-clear{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--danger);cursor:pointer;padding:0 8px;font-family:inherit;font-size:11px}.analysis-clear:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.analysis-clear:disabled{opacity:.45;cursor:default}.analysis-clear:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.analysis-toggles{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--border);flex-direction:column;gap:1px;margin-bottom:10px;display:flex;overflow:hidden}.analysis-toggle{color:var(--text);background:var(--bg);cursor:pointer;align-items:center;gap:7px;padding:5px 7px;font-size:12px;display:flex}.analysis-toggle:hover{background:var(--hover)}.analysis-toggle input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:13px;height:13px;margin:0}.analysis-legend{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.analysis-legend-item{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:2px 6px 2px 5px;font-size:11px;display:flex}.analysis-legend-item .swatch{border-radius:50%;width:8px;height:8px}.analysis-stat{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:11px}.analysis-region-count{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);border-left:3px solid #16a34a;padding:7px 9px;font-size:12px;line-height:1.45}.analysis-region-count strong{color:#16a34a;font-variant-numeric:tabular-nums;font-size:15px}.analysis-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.analysis-region-hint,.analysis-error{color:var(--muted);font-size:11px;line-height:1.4}.analysis-error{color:var(--danger);margin-bottom:6px}.color-correction{flex-direction:column;gap:5px;display:flex}.color-correction-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.color-correction-row input[type=range]{width:140px}.color-correction-reset{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;align-self:flex-start;padding:3px 7px;font-family:inherit;font-size:11px}.color-correction-reset:hover{background:var(--hover)}.perf-row{justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.perf-row-label{color:var(--muted);flex-shrink:0;width:50px;font-size:11px}.perf-buttons{flex:1}.perf-mode-row{margin-bottom:4px}.perf-mode-note{color:var(--muted);margin:0 0 9px 56px;font-size:10px;line-height:1.35}.perf-mode-note.warning{color:#b45309}.perf-summary{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.perf-summary .ui-icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.perf-busy{color:#b45309;margin-top:6px;font-size:11px}.canvas-menu{z-index:200;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border-strong);width:208px;color:var(--text);padding:5px;box-shadow:0 6px 20px #0f172a33}.canvas-menu-input{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--bg);width:100%;color:var(--text);outline:none;margin-bottom:3px;padding:5px 7px;font-family:inherit;font-size:12px;display:block}.canvas-menu-input::placeholder{color:var(--muted)}.canvas-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:5px 7px;font-family:inherit;font-size:12px;display:flex}.canvas-menu-item:hover{background:var(--hover)}.canvas-menu-item.danger{color:var(--danger)}.canvas-menu-item.danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.canvas-menu-rule{background:var(--border);height:1px;margin:4px 0}.canvas-menu-check{color:var(--text);cursor:pointer;align-items:center;gap:7px;padding:4px 7px;font-size:12px;display:flex}.canvas-menu-check:hover{background:var(--hover);border-radius:var(--radius-sm)}.canvas-menu-check input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:13px;height:13px;margin:0}.slide-panel{z-index:25;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fffffff5;width:190px;padding:7px;position:absolute;top:8px;left:8px;box-shadow:0 1px 8px #0f172a24}.slide-panel-head{align-items:center;gap:6px;display:flex}.slide-panel-swatch{border-radius:2px;flex-shrink:0;width:9px;height:9px}.slide-panel-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.slide-panel-meta{align-items:center;gap:4px;margin-top:4px;display:flex}.slide-panel-badge{border-radius:var(--radius-sm);background:var(--hover);border:1px solid var(--border);color:var(--muted);padding:1px 4px;font-size:9px}.slide-panel-mpp{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:9px}.slide-panel-map{margin-top:6px;display:block}.slide-panel-rotation{margin-top:7px}.slide-panel-rotation-head{color:var(--muted);align-items:center;gap:6px;margin-bottom:3px;font-size:10px;display:flex}.slide-panel-rotation-head strong{color:var(--text);font-variant-numeric:tabular-nums}.slide-panel-rotation-reset{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;margin-left:auto;padding:1px 5px;font-family:inherit;font-size:10px}.slide-panel-rotation-reset:hover{background:var(--hover)}.slide-panel-rotation input[type=range]{width:100%;display:block}.view-controls{z-index:25;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fffffff5;width:208px;padding:7px;position:absolute;bottom:8px;right:8px;box-shadow:0 1px 8px #0f172a24}.view-controls-readout{justify-content:space-between;align-items:center;gap:8px;display:flex}.view-controls-mag{font-variant-numeric:tabular-nums;white-space:nowrap}.view-controls-mag-current{font-size:14px;font-weight:600}.view-controls-mag-max{color:var(--muted);font-size:10px}.view-controls-steps{margin-top:7px}.view-controls-fit{color:var(--muted);flex:0 0 34px!important}.view-controls-fit:hover{color:var(--text)}.report-panel{border:1px solid var(--border-strong);border-radius:var(--radius);min-width:360px;min-height:360px;color:var(--text);background:#fffffffb;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 36px #0f172a38}.report-panel.floating{z-index:90;resize:both;max-width:calc(100vw - 16px);max-height:calc(100vh - 54px);position:fixed}.report-panel.minimized{resize:none;min-width:280px;min-height:0}.report-head{border-bottom:1px solid var(--border);background:var(--chrome);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;min-height:38px;padding:0 7px 0 11px;display:flex}.report-panel.floating .report-head{cursor:move;touch-action:none}.report-title-wrap{align-items:center;gap:7px;min-width:0;display:flex}.report-title{white-space:nowrap;font-size:12px;font-weight:650}.report-save-state{color:var(--muted);white-space:nowrap;font-size:10px}.report-window-actions{align-items:center;gap:1px;margin-left:auto;display:flex}.report-window-actions button{border-radius:var(--radius-sm);width:25px;height:25px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.report-window-actions button:hover{border-color:var(--border);background:var(--hover);color:var(--text)}.report-window-actions button:last-child:hover{color:var(--danger)}.report-window-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.report-case-strip{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:16px;min-height:42px;padding:6px 11px;display:flex;overflow-x:auto}.report-case-strip strong{white-space:nowrap;font-size:11px;font-weight:650}.report-case-strip>span:not(.report-demo-note){color:var(--muted);white-space:nowrap;font-size:11px}.report-case-strip>span:not(.report-demo-note):before{content:"·";color:var(--border-strong);margin-right:16px}.report-demo-note{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:9px}.report-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.report-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px;font-size:9px;font-weight:650}.report-primary label>span{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:650}.report-panel label{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.report-panel label>span{display:block}.report-panel label b{color:var(--danger);font-weight:500}.report-panel textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;outline:none;min-height:54px;padding:7px 8px;font-size:12px;line-height:1.4}.report-panel textarea::placeholder{color:#94a3b8}.report-panel textarea:hover{border-color:var(--border-strong)}.report-panel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent)}.report-primary textarea{min-height:132px;font-size:13px}.report-optional{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.report-narrative{flex-direction:column;gap:9px;display:flex}.report-footer{border-top:1px solid var(--border);background:var(--chrome);flex-shrink:0;align-items:center;min-height:42px;padding:6px 9px 6px 12px;display:flex}.report-done{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;cursor:pointer;margin-left:auto;padding:5px 12px;font-size:11px;font-weight:600}.report-done:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.report-done:disabled{display:none}.report-window-page{background:var(--canvas-bg);width:100%;height:100%;padding:10px}.report-panel.standalone{width:100%;height:100%;box-shadow:none;border-radius:0}@media (width<=640px),(height<=620px){.report-panel.floating{resize:none;max-width:none;max-height:none;width:auto!important;height:auto!important;inset:42px 6px 6px!important}.report-panel.floating.minimized{width:min(320px,100vw - 12px)!important;inset:42px 6px auto auto!important}.report-demo-note{display:none}}.shortcuts-help{z-index:24;border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text);font:inherit;cursor:pointer;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;display:inline-flex;position:absolute;bottom:9px;left:9px;box-shadow:0 2px 7px #0f172a2b}.shortcuts-help:hover,.shortcuts-help.active{border-color:var(--accent);background:var(--accent);color:#fff}.shortcuts-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shortcuts-panel{z-index:80;border-top:1px solid var(--border-strong);height:230px;color:var(--text);background:#fffffffb;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #0f172a29}.shortcuts-head{border-bottom:1px solid var(--border);align-items:center;min-height:38px;padding:0 10px 0 14px;display:flex}.shortcuts-title{font-size:12px;font-weight:650}.shortcuts-progress{background:var(--hover);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:8px;padding:2px 6px;font-size:9px}.shortcuts-close{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.shortcuts-close:hover{border-color:var(--border);background:var(--hover);color:var(--text)}.shortcuts-tabs{border-bottom:1px solid var(--border);gap:4px;min-height:34px;padding:4px 10px 0;display:flex}.shortcuts-tabs button{min-width:72px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 10px 5px;font-size:11px;position:relative}.shortcuts-tabs button:hover,.shortcuts-tabs button.current{color:var(--text)}.shortcuts-tabs button.current:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.shortcuts-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:4px 24px;padding:11px 18px 14px;display:grid;overflow:auto}.shortcut-row{border-radius:var(--radius-sm);min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:2px 5px;display:flex}.shortcut-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.shortcut-keys{flex-shrink:0;align-items:center;gap:3px;display:flex}.shortcut-keys kbd{border:1px solid var(--border);border-bottom-color:var(--border-strong);background:var(--chrome);min-width:23px;height:22px;box-shadow:0 1px 0 var(--border);color:var(--text);text-align:center;border-radius:3px;padding:3px 6px;font-family:inherit;font-size:10px;line-height:14px}.shortcut-row.used{background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--accent)}.shortcut-row.used .shortcut-label{font-weight:600}.shortcut-row.used kbd{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 9%, #fff);color:var(--accent)}.shortcuts-close:focus-visible,.shortcuts-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=800px){.shortcuts-panel{height:min(330px,48vh)}.shortcuts-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=460px){.shortcuts-grid{grid-template-columns:minmax(230px,1fr)}}.viewport-close{z-index:16;border:1px solid var(--border-strong);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:none;position:absolute;top:8px;right:8px}.viewport:hover .viewport-close,.viewport-close:focus-visible{display:flex}.viewport-close:hover{background:var(--hover);border-color:var(--border-strong);color:var(--text)}.slide-tray{background:var(--chrome);border-top:1px solid var(--border-strong);flex-shrink:0;align-items:stretch;gap:14px;height:132px;padding:5px 10px 7px;display:flex;overflow-x:auto}.slide-tray-block{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.slide-tray-block-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-bottom:1px;font-size:9px;line-height:1}.slide-tray-block-items{flex:1;gap:5px;min-height:0;display:flex}.slide-tray-item{border:1px solid var(--border);background:var(--bg);flex-shrink:0;position:relative;overflow:hidden}.slide-tray-item:hover{border-color:var(--border-strong)}.slide-tray-item.open{border-color:var(--slide-color);box-shadow:inset 0 0 0 2px var(--slide-color)}.slide-tray-item.active{border-color:var(--slide-color,var(--accent));box-shadow:inset 0 0 0 3px var(--slide-color,var(--accent)), 0 0 0 2px color-mix(in srgb, var(--slide-color,var(--accent)) 45%, transparent)}.slide-tray-pick{cursor:pointer;background:0 0;border:none;width:148px;height:100%;padding:0;display:block;position:relative;overflow:hidden}.slide-tray-pick img{object-fit:cover;background:var(--canvas-bg);width:100%;height:100%;display:block}.slide-tray-mag,.slide-tray-stain{color:var(--text);background:#ffffffe6;padding:2px 4px;font-size:10px;line-height:1;position:absolute}.slide-tray-mag{top:0;left:0}.slide-tray-stain{bottom:0;right:0}.slide-tray-add{z-index:1;border:1px solid var(--border-strong);width:22px;height:22px;color:var(--text);cursor:pointer;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:none;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0f172a3d}.slide-tray-item:hover .slide-tray-add,.slide-tray-add:focus-visible{display:flex}.slide-tray-add:hover:not(:disabled){background:var(--hover);border-color:var(--muted);color:var(--text)}.slide-tray-add:disabled{opacity:.4;cursor:default}.ui-toolgroup{align-items:center;gap:2px;display:flex}.ui-toolbar-button:focus-visible,.app-bar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-tooltip{z-index:200;border-radius:var(--radius-sm);background:var(--navy);color:#fff;flex-direction:column;gap:2px;max-width:240px;padding:5px 8px;font-size:11px;line-height:1.35;display:flex;box-shadow:0 3px 12px #0f172a47}.ui-tooltip-label{font-weight:500}.ui-tooltip-hint{color:var(--navy-text)}.ui-tooltip-arrow{fill:var(--navy)}.ui-popover{z-index:200;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border-strong);width:236px;color:var(--text);padding:10px;box-shadow:0 6px 20px #0f172a33}.ui-popover.wide{width:276px}.ui-popover-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:600}.ui-popover-arrow{fill:var(--bg);stroke:var(--border-strong)}.ui-stack{flex-direction:column;gap:9px;display:flex}.ui-slider{display:block}.ui-slider-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.ui-slider-label{color:var(--muted);font-size:11px}.ui-slider-meta{align-items:center;gap:4px;display:flex}.ui-slider-value{text-align:right;min-width:30px;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.ui-slider-root{-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;width:100%;height:14px;display:flex;position:relative}.ui-slider-track{background:var(--border);border-radius:2px;flex:1;height:3px;position:relative}.ui-slider-range{background:var(--accent);border-radius:2px;height:100%;display:block;position:absolute}.ui-slider-thumb{background:var(--bg);border:2px solid var(--accent);cursor:grab;border-radius:50%;width:12px;height:12px;display:block}.ui-slider-thumb:active{cursor:grabbing}.ui-slider-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);display:flex;overflow:hidden}.ui-segmented button{border:none;border-left:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;padding:4px 0;font-family:inherit;font-size:11px;display:flex}.ui-segmented button:first-child{border-left:none}.ui-segmented button:hover:not(:disabled){background:var(--hover)}.ui-segmented button:disabled{opacity:.45;cursor:default}.ui-segmented button.current{background:var(--accent);border-left-color:var(--accent);color:#fff}.ui-segmented button.current+button{border-left-color:var(--accent)}.ui-icon-button{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-button.compact{width:18px;height:18px}.ui-icon-button:hover:not(:disabled){background:var(--hover);border-color:var(--border);color:var(--text)}.ui-icon-button:disabled{opacity:.4;cursor:default}.ui-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
