:root{--anim-mul: 1}:root,:root[data-theme=dark]{--bg-canvas:#0A1520;--bg-0:#0C1929;--bg-1:#11202F;--bg-2:#17293D;--bg-3:#1F3651;--border-1:#1A3A55;--border-2:#274665;--fg-1:#E8EDF5;--fg-2:#8FA8C2;--fg-3:#8798ab;--fg-4:#384759;--accent:#7EC8FF;--accent-h:#5BB4F5;--accent-d:#3F94D9;--accent-soft:rgba(126,200,255,.1);--grip-size:5;--grip-size-hover:6.5;--grip-fill:#7EC8FF;--grip-stroke:#0A1520;--grip-hover:#FFFFFF;--grip-stroke-width:1.5;--grip-halo-pad:4;--grip-halo-alpha:.35;--danger:#FF7A7A;--danger-soft:rgba(255,122,122,.08);--danger-border-soft:rgba(255,122,122,.3);--warn:#FFC66D;--markup-ink:#b39dff;--warn-soft:rgba(255,198,109,.1);--warn-soft-bg:rgba(255,198,109,.06);--warn-border-soft:rgba(255,198,109,.3);--good:#7ED99D;--good-soft:rgba(126,217,157,.1);--good-border-soft:rgba(126,217,157,.3);--diff-removed-bg:rgba(255,90,90,.85);--diff-added-bg:rgba(95,210,110,.9);--backdrop-modal:rgba(0,0,0,.55);--backdrop-cmdk:rgba(0,0,0,.45);--font-ui:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",system-ui,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Menlo,"Roboto Mono",ui-monospace,Consolas,monospace;--ui-scale: 1;--ui-dens: 1;--fs-2xs: calc(11px * var(--ui-scale));--fs-xs: calc(12px * var(--ui-scale));--fs-sm: calc(13px * var(--ui-scale));--fs-md: calc(14px * var(--ui-scale));--fs-lg: calc(16px * var(--ui-scale));--fs-xl: calc(18px * var(--ui-scale));--fs-2xl: calc(20px * var(--ui-scale));--fs-3xl: calc(26px * var(--ui-scale));--t-11: var(--fs-sm);--t-12: var(--fs-md);--t-13: var(--fs-lg);--t-16: var(--fs-2xl);--w-1:400;--w-2:500;--w-3:600;--lh-tight:1.2;--lh-base:1.45;--s-unit: calc(4px * var(--ui-scale) * var(--ui-dens));--s-0:0;--s-1: var(--s-unit);--s-2: calc(var(--s-unit) * 2);--s-3: calc(var(--s-unit) * 3);--s-4: calc(var(--s-unit) * 4);--s-5: calc(var(--s-unit) * 6);--s-6: calc(var(--s-unit) * 8);--s-7: calc(var(--s-unit) * 12);--s-05: calc(var(--s-unit) * .5);--s-15: calc(var(--s-unit) * 1.5);--s-25: calc(var(--s-unit) * 2.5);--s-35: calc(var(--s-unit) * 3.5);--ctl-h-sm: calc(22px * var(--ui-scale) * var(--ui-dens));--ctl-h: calc(30px * var(--ui-scale) * var(--ui-dens));--ctl-h-lg: calc(36px * var(--ui-scale) * var(--ui-dens));--ctl-px: calc(10px * var(--ui-scale) * var(--ui-dens));--ctl-py: calc(5px * var(--ui-scale) * var(--ui-dens));--ico-xs: calc(12px * var(--ui-scale));--ico-sm: calc(16px * var(--ui-scale));--ico-md: calc(20px * var(--ui-scale));--ico-lg: calc(24px * var(--ui-scale));--hit-min: calc(24px * var(--ui-scale));--r-0:0;--r-1: calc(3px * var(--ui-scale));--r-2: calc(5px * var(--ui-scale));--r-3: calc(7px * var(--ui-scale));--r-pill:999px;--focus-w: calc(2px * var(--ui-scale));--shadow-1:0 1px 0 rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.2);--shadow-2:0 4px 14px rgba(0,0,0,.5);--shadow-pop:0 12px 32px rgba(0,0,0,.6);--t-instant: calc(60ms * var(--anim-mul));--t-fast: calc(.12s * var(--anim-mul));--t-base: calc(.2s * var(--anim-mul));--t-slow: calc(.36s * var(--anim-mul));--t-spin: calc(.9s * var(--anim-mul));--ease-out:cubic-bezier(.2,0,0,1);--ease-in:cubic-bezier(.4,0,1,1);--focus-ring:0 0 0 var(--focus-w) var(--bg-0), 0 0 0 calc(var(--focus-w) * 2) var(--accent-d)}:root[data-ui-density=compact]{--ui-dens: .8}:root[data-ui-density=normal]{--ui-dens: 1}:root[data-ui-density=comfortable]{--ui-dens: 1.3}:root[data-theme=light]{--bg-canvas:#F4F6FA;--bg-0:#FAFBFD;--bg-1:#FFFFFF;--bg-2:#f1f5f9;--bg-3:#E2E8F2;--border-1:#D5DBE5;--border-2:#B8C2D1;--fg-1:#12181c;--fg-2:#41546B;--fg-3:#5b6a80;--fg-4:#A9B2C0;--accent:#355670;--accent-h:#2b4a61;--accent-d:#22394b;--accent-soft:rgba(42,122,184,.1);--grip-fill:#355670;--grip-stroke:#FFFFFF;--grip-hover:#12181c;--danger:#cf2c39;--danger-soft:rgba(217,64,76,.08);--danger-border-soft:rgba(217,64,76,.28);--warn:#B17A1F;--markup-ink:#6b3fd4;--warn-soft:rgba(177,122,31,.1);--warn-soft-bg:rgba(177,122,31,.06);--warn-border-soft:rgba(177,122,31,.28);--good:#2D8859;--good-soft:rgba(45,136,89,.1);--good-border-soft:rgba(45,136,89,.28);--diff-removed-bg:rgba(204,40,54,.85);--diff-added-bg:rgba(45,136,89,.9);--backdrop-modal:rgba(15,27,42,.35);--backdrop-cmdk:rgba(15,27,42,.28);--shadow-1:0 1px 0 rgba(15,27,42,.06), 0 1px 2px rgba(15,27,42,.08);--shadow-2:0 4px 14px rgba(15,27,42,.12);--shadow-pop:0 12px 32px rgba(15,27,42,.18);--focus-ring:0 0 0 2px var(--bg-1), 0 0 0 4px var(--accent-d)}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg-canvas:#F4F6FA;--bg-0:#FAFBFD;--bg-1:#FFFFFF;--bg-2:#f1f5f9;--bg-3:#E2E8F2;--border-1:#D5DBE5;--border-2:#B8C2D1;--fg-1:#12181c;--fg-2:#41546B;--fg-3:#5b6a80;--fg-4:#A9B2C0;--accent:#355670;--accent-h:#2b4a61;--accent-d:#22394b;--accent-soft:rgba(42,122,184,.1);--grip-fill:#355670;--grip-stroke:#FFFFFF;--grip-hover:#12181c;--danger:#cf2c39;--danger-soft:rgba(217,64,76,.08);--danger-border-soft:rgba(217,64,76,.28);--warn:#B17A1F;--markup-ink:#6b3fd4;--warn-soft:rgba(177,122,31,.1);--warn-soft-bg:rgba(177,122,31,.06);--warn-border-soft:rgba(177,122,31,.28);--good:#2D8859;--good-soft:rgba(45,136,89,.1);--good-border-soft:rgba(45,136,89,.28);--diff-removed-bg:rgba(204,40,54,.85);--diff-added-bg:rgba(45,136,89,.9);--backdrop-modal:rgba(15,27,42,.35);--backdrop-cmdk:rgba(15,27,42,.28);--shadow-1:0 1px 0 rgba(15,27,42,.06), 0 1px 2px rgba(15,27,42,.08);--shadow-2:0 4px 14px rgba(15,27,42,.12);--shadow-pop:0 12px 32px rgba(15,27,42,.18);--focus-ring:0 0 0 2px var(--bg-1), 0 0 0 4px var(--accent-d)}}@media (prefers-reduced-motion: reduce){:root:not(.force-motion-on) *,:root:not(.force-motion-on) *:before,:root:not(.force-motion-on) *:after{transition-duration:0ms!important;animation-duration:0ms!important;scroll-behavior:auto!important}}:root.force-motion-off *,:root.force-motion-off *:before,:root.force-motion-off *:after{transition-duration:0ms!important;animation-duration:0ms!important;scroll-behavior:auto!important}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);font-size:var(--fs-sm);line-height:var(--lh-base);background:var(--bg-canvas);color:var(--fg-1);display:flex;flex-direction:column;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-1)}#toolbar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--bg-1);border-bottom:1px solid var(--border-1);flex-shrink:0;font-size:var(--t-13)}.wordmark{font-weight:var(--w-3);letter-spacing:.14em;color:var(--accent);font-family:var(--font-mono);font-size:var(--t-11);padding-right:var(--s-2)}.toolgroup{display:inline-flex;align-items:center;gap:var(--s-1)}#fileInput{color:var(--fg-2);font-size:var(--t-12);cursor:pointer;font-family:var(--font-ui);max-width:calc(130px * var(--ui-scale))}.tbtn{display:inline-flex;align-items:center;gap:var(--s-1);padding:var(--ctl-py) var(--ctl-px);min-height:var(--ctl-h);background:transparent;border:1px solid var(--border-1);color:var(--fg-1);cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--w-2);border-radius:var(--r-2);line-height:1;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.tbtn:hover{background:var(--bg-2);border-color:var(--border-2)}.tbtn:disabled{opacity:.45;cursor:default}.tbtn:disabled:hover{background:transparent;border-color:var(--border-1)}.tbtn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-d)}.tbtn .ico{width:var(--ico-sm);height:var(--ico-sm);display:inline-block;flex-shrink:0}.tbtn span{line-height:1}.tbtn .ico-glyph{width:var(--ico-sm);display:inline-block;flex-shrink:0;text-align:center}.tbtn.icon-only{padding:var(--s-1);width:var(--ctl-h);justify-content:center}.theme-btn{margin-left:var(--s-1)}.pin-row{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-1) 0;padding:var(--s-05) var(--s-05);font-size:var(--t-11);border-radius:var(--r-1);transition:background var(--t-fast) var(--ease-out)}.pin-row:hover{background:var(--bg-2)}.pin-row:hover .row-btn-danger{opacity:1}.pin-row .pin-name{color:var(--warn);font-weight:var(--w-3);font-family:var(--font-mono);min-width:var(--ctl-h-sm);flex-shrink:0}.pin-row .pin-coords{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-xs);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-row .row-btn-danger{opacity:.25;transition:opacity var(--t-fast)}.pin-row.lbl-hidden .pin-name,.pin-row.lbl-hidden .pin-coords{opacity:.42;text-decoration:line-through}.lbl-layer-group{margin:var(--s-1) 0 var(--s-2)}.lbl-layer-body>.lbl-group,.lbl-layer-body>.pin-row{margin-left:var(--s-2)}.lbl-layer-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-05) var(--s-05);border-bottom:1px solid var(--border-1)}.lbl-layer-head .pin-name{flex:1;min-width:0;color:var(--fg-2);font-size:var(--t-11);font-weight:var(--w-3);letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbl-layer-group.lbl-hidden .lbl-layer-head .pin-name{opacity:.42;text-decoration:line-through}.lbl-group{margin:var(--s-1) 0}.lbl-group-header{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-05) var(--s-05);font-size:var(--t-11);border-radius:var(--r-1);transition:background var(--t-fast) var(--ease-out)}.lbl-group-header:hover{background:var(--bg-2)}.lbl-group-header.lbl-hidden .pin-name{opacity:.42;text-decoration:line-through}.lbl-group-header .pin-name{color:var(--warn);font-weight:var(--w-3);font-family:var(--font-mono);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbl-expand{background:transparent;border:none;cursor:pointer;color:var(--fg-3);width:var(--ico-sm);font-size:var(--t-11);line-height:1;padding:0}.lbl-expand:hover{color:var(--fg-1)}.pin-row.pin-row-sub{padding-left:calc(22px * var(--ui-scale) * var(--ui-dens));margin:0}#hint{font-size:var(--t-11);color:var(--fg-3);margin-left:auto;font-family:var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:calc(360px * var(--ui-scale))}@media (max-width: 1500px){#hint{display:none}}#main{display:flex;flex:1;overflow:hidden}#canvas-area{display:flex;flex-direction:column;flex:1;overflow:hidden;min-width:0}#canvas{flex:1;min-height:0;min-width:0;display:block;cursor:grab;width:100%}#canvas.dragging{cursor:grabbing}#statusbar{flex-shrink:0;height:var(--ctl-h);background:var(--bg-1);border-top:1px solid var(--border-1);display:flex;align-items:center;padding:0 var(--s-3);gap:var(--s-3);font-size:var(--t-11);color:var(--fg-2);font-family:var(--font-mono)}#status-coords{font-family:var(--font-mono);min-width:calc(260px * var(--ui-scale))}#status-coords b{color:var(--accent);font-weight:var(--w-3)}#status-selection{color:var(--accent);font-weight:var(--w-2);font-family:var(--font-ui)}#status-selection:empty{display:none}#status-spacer{flex:1}#statusbar select{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-mono);font-size:var(--t-11);padding:var(--s-05) var(--s-1);border-radius:var(--r-1)}#statusbar label{color:var(--fg-3);font-family:var(--font-ui)}.statusbar-btn{display:inline-flex;align-items:center;gap:var(--s-1);padding:var(--s-05) var(--s-25) var(--s-05) var(--s-2);margin-right:var(--s-2);border:1px solid var(--warn);border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);font-family:var(--font-ui);font-size:var(--t-11);font-weight:var(--w-2);line-height:1.4;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.statusbar-btn .ico{width:var(--ico-sm);height:var(--ico-sm);flex-shrink:0}.statusbar-btn:hover{background:var(--warn);color:var(--bg-0);border-color:var(--warn)}.statusbar-btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.report-card{max-width:calc(480px * var(--ui-scale))}.report-card .style-grid{grid-template-columns:100px 1fr}.report-card .style-grid input[type=text]{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-ui);font-size:var(--t-12);padding:var(--s-1) var(--s-2);border-radius:var(--r-1)}.report-card textarea{flex:1;font:var(--w-2) var(--t-12) var(--font-mono);background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-15) var(--s-2);resize:vertical;min-height:calc(96px * var(--ui-scale))}#statusbar select.flash{animation:src-flash 1.4s var(--t-fast, ease) 1;outline:2px solid var(--accent)}#source-banner{position:absolute;left:14px;top:14px;background:var(--accent);color:var(--bg-canvas);font-family:var(--font-ui);font-size:var(--fs-md);padding:var(--s-15) var(--s-25);border-radius:var(--r-1);box-shadow:var(--elev-1);z-index:5;transition:opacity .35s ease}#source-banner.hidden{display:none}#source-banner.fade-out{opacity:0}#source-banner a{color:inherit;text-decoration:underline;margin-left:var(--s-2)}#source-banner .banner-x{background:none;border:0;color:inherit;cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-md);line-height:1;margin-left:var(--s-2);padding:0 var(--s-1)}@keyframes src-flash{0%{background:var(--accent);color:var(--bg-canvas)}to{background:var(--bg-2);color:var(--fg-1)}}#sidebar{width:calc(300px * var(--ui-scale));min-width:calc(220px * var(--ui-scale));max-width:calc(600px * var(--ui-scale));background:var(--bg-1);border-left:1px solid var(--border-1);padding:var(--s-3);overflow-y:auto;flex-shrink:0;font-size:var(--t-11);position:relative}.sidebar-resize{position:absolute;left:-3px;top:0;bottom:0;width:calc(6px * var(--ui-scale));cursor:ew-resize;z-index:10}.sidebar-resize:hover,.sidebar-resize.dragging{background:var(--accent-soft);box-shadow:inset 1px 0 0 var(--accent-d)}.s-section{margin-bottom:var(--s-4)}.s-section h4{font-size:var(--t-11);color:var(--fg-2);text-transform:uppercase;letter-spacing:.14em;font-weight:var(--w-3);margin-bottom:var(--s-2);border-bottom:1px solid var(--border-1);padding-bottom:var(--s-1);display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-ui);cursor:default}.s-section h4>button:first-of-type,.s-section h4>.tbtn-mini:first-of-type{margin-left:auto}.s-section h4 .s-count{display:inline-block;margin-left:var(--s-1);padding:0 var(--s-1);border-radius:var(--r-pill);background:var(--bg-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--w-2);line-height:1.5;min-width:var(--ico-xs);text-align:center;vertical-align:1px}.s-section h4 .s-count.empty{display:none}.s-section[data-section-id] h4{cursor:pointer}.s-section[data-section-id] h4:hover{color:var(--fg-1)}.section-chevron{display:inline-flex;align-items:center;justify-content:center;width:var(--ico-sm);height:var(--ico-sm);font-size:var(--fs-sm);color:var(--fg-3);line-height:1;flex-shrink:0;transition:transform var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.s-section[data-section-id]:hover .section-chevron{color:var(--fg-1)}.s-section.collapsed .section-chevron{transform:rotate(-90deg)}.s-section.collapsed>h4{margin-bottom:0;border-bottom:0;padding-bottom:0;opacity:.7}.s-section.collapsed>:not(h4){display:none}.tbtn-mini{padding:0 var(--s-2);background:transparent;border:1px solid var(--border-1);color:var(--fg-2);cursor:pointer;font-family:var(--font-ui);font-size:var(--fs-2xs);line-height:var(--lh-tight);border-radius:var(--r-1);text-transform:none;letter-spacing:0;transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.tbtn-mini:hover{color:var(--fg-1);border-color:var(--border-2)}.layer-row{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-1) 0;padding:var(--s-05) var(--s-1);user-select:none;border-radius:var(--r-1);transition:background var(--t-fast) var(--ease-out)}.layer-row:hover{background:var(--accent-soft)}.layer-row:hover .layer-actions{opacity:1}.layer-row .lbl{cursor:grab}.layer-row .lbl:active{cursor:grabbing}.layer-row-dragging{opacity:.4;background:var(--accent-soft)}.layer-row input[type=checkbox]{accent-color:var(--accent);width:var(--ico-sm);height:var(--ico-sm);cursor:pointer;flex-shrink:0}.layer-row.dim .sw{opacity:.25}.layer-row.dim .lbl{color:var(--fg-3)}.layer-row.dim .layer-op{opacity:.35}.layer-op{-webkit-appearance:none;appearance:none;width:calc(36px * var(--ui-scale));height:calc(4px * var(--ui-scale));background:var(--bg-3);border-radius:var(--r-1);outline:none;cursor:pointer;flex-shrink:0;margin:0;padding:0;transition:background var(--t-fast) var(--ease-out)}.layer-op:hover{background:var(--border-2)}.layer-op::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:calc(10px * var(--ui-scale));height:calc(10px * var(--ui-scale));border-radius:50%;background:var(--accent);border:1px solid var(--bg-1);cursor:pointer}.layer-op::-moz-range-thumb{width:calc(10px * var(--ui-scale));height:calc(10px * var(--ui-scale));border-radius:50%;background:var(--accent);border:1px solid var(--bg-1);cursor:pointer}.layer-row.active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.layer-row.active .lbl{color:var(--accent)}.layer-row.selected,.pin-row.selected,.measure-row.selected,.lbl-group.selected>.lbl-group-header{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent),0 0 0 1px var(--accent-d)}.layer-row.selected.active{box-shadow:inset 3px 0 0 var(--accent),0 0 0 1px var(--accent-d)}.tbtn-mini.danger{color:var(--danger);border-color:var(--danger-soft)}.tbtn-mini.danger:hover{color:var(--fg-1);background:var(--danger-soft);border-color:var(--danger)}.tbtn-mini.hidden{display:none!important}.sw{width:var(--ico-sm);height:var(--ico-sm);border-radius:var(--r-1);flex-shrink:0;border:1px solid rgba(127,127,127,.18);cursor:pointer}.lbl{color:var(--fg-1);font-size:var(--t-11);font-weight:var(--w-2);flex:1;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--s-05) var(--s-05);border-radius:var(--r-1);font-family:var(--font-ui)}.lbl.editing{background:var(--bg-2);outline:1px solid var(--accent);white-space:nowrap;overflow:visible}.empty-hint{color:var(--fg-3);font-size:var(--t-11);font-style:italic;padding:var(--s-1) var(--s-05);line-height:1.5;font-family:var(--font-ui)}.empty-hint .empty-hint-link{display:inline;font:inherit;font-style:normal;font-weight:var(--w-3);color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:var(--r-2);padding:0 var(--s-1);margin:0 var(--s-05);cursor:pointer;line-height:inherit;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.empty-hint .empty-hint-link:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.empty-hint .empty-hint-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.layer-count{color:var(--fg-3);font-size:var(--fs-2xs);font-family:var(--font-mono);min-width:var(--ico-md);text-align:right;flex-shrink:0}.layer-actions{display:flex;gap:0;opacity:.25;transition:opacity var(--t-fast) var(--ease-out);flex-shrink:0}.row-btn{background:transparent;border:none;color:var(--fg-2);font-size:var(--fs-sm);cursor:pointer;padding:var(--s-05) var(--s-1);line-height:1;font-family:var(--font-ui);border-radius:var(--r-1);transition:color var(--t-fast) var(--ease-out)}.row-btn:hover{color:var(--accent)}.row-btn:disabled{color:var(--fg-4);cursor:default}.row-btn-danger:hover{color:var(--danger)}.stat-row{display:flex;justify-content:space-between;color:var(--fg-3);margin:var(--s-05) 0;font-family:var(--font-ui)}.stat-val{color:var(--fg-1);font-family:var(--font-mono)}#invalid-panel{font-size:var(--fs-2xs);font-family:var(--font-ui)}.badge{display:inline-block;padding:var(--s-05) var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-2xs);margin:var(--s-05) var(--s-05);font-family:var(--font-mono)}.badge-ok{background:var(--good-soft);color:var(--good);border:1px solid var(--good-border-soft)}.badge-err{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border-soft)}.inv-group{margin:var(--s-1) 0}.inv-label{color:var(--fg-2);margin-bottom:var(--s-05);font-family:var(--font-ui)}.inv-detail{color:var(--fg-3);font-size:var(--fs-2xs);margin-top:var(--s-05);font-family:var(--font-ui)}#tooltip{position:fixed;background:var(--bg-2);border:1px solid var(--border-1);color:var(--fg-1);padding:var(--s-15) var(--s-3);border-radius:var(--r-2);font-size:var(--t-11);pointer-events:none;display:none;z-index:200;line-height:1.7;max-width:calc(240px * var(--ui-scale));box-shadow:var(--shadow-2);font-family:var(--font-ui)}#tooltip b{color:var(--accent);font-weight:var(--w-2)}.modal{position:fixed;inset:0;background:var(--backdrop-modal);display:flex;align-items:center;justify-content:center;z-index:1000}.modal.hidden{display:none}.modal-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-3);padding:var(--s-4) calc(var(--s-4) + var(--s-05));min-width:calc(320px * var(--ui-scale));max-width:calc(480px * var(--ui-scale));color:var(--fg-1);box-shadow:var(--shadow-2)}.modal-card h3{color:var(--accent);font-size:var(--t-12);margin-bottom:var(--s-2);text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--border-1);padding-bottom:var(--s-1);font-weight:var(--w-3);font-family:var(--font-ui)}.modal-card p{font-size:var(--t-12);margin:var(--s-2) 0 var(--s-3);color:var(--fg-2);line-height:var(--lh-base);font-family:var(--font-ui)}.modal-opt{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-1) 0;font-size:var(--t-12);cursor:pointer;padding:var(--s-1) var(--s-05);border-radius:var(--r-1);font-family:var(--font-ui)}.modal-opt:hover{background:var(--accent-soft)}.modal-opt input[type=radio]{accent-color:var(--accent);flex-shrink:0}.modal-opt input[type=radio]:disabled~*{color:var(--fg-4)}.modal-opt select{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-ui);font-size:var(--t-12);padding:var(--s-05) var(--s-1);border-radius:var(--r-1);margin-left:var(--s-1)}.modal-opt .muted{color:var(--fg-3);font-size:var(--t-11);margin-left:var(--s-1)}.modal-opt input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.modal-opt.paste-remember{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--border-1);color:var(--fg-2);font-size:var(--t-11)}.modal-actions{display:flex;gap:var(--s-2);align-items:center;justify-content:flex-end;margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--border-1)}.same-name-card{max-width:calc(520px * var(--ui-scale));min-width:calc(380px * var(--ui-scale))}.same-name-rows{display:flex;flex-direction:column;gap:var(--s-1);max-height:calc(320px * var(--ui-scale));overflow-y:auto;margin:var(--s-2) 0;padding:var(--s-1) 0;border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1)}.same-name-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-1) var(--s-05);font-family:var(--font-ui);font-size:var(--t-12)}.same-name-row-name{font-family:var(--font-mono);color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.same-name-seg{flex:0 0 auto}.same-name-remember{margin-top:var(--s-1);font-size:var(--t-11);color:var(--fg-3)}.same-name-remember input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.save-format-list{display:flex;flex-direction:column;gap:var(--s-2);margin:var(--s-3) 0}.save-format-btn{display:flex;align-items:baseline;gap:var(--s-3);text-align:left;padding:var(--s-3) var(--s-4);background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-2);color:var(--fg-1);cursor:pointer;font-family:var(--font-ui);transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.save-format-btn:hover{background:var(--accent-soft);border-color:var(--accent-d)}.save-format-name{font-family:var(--font-mono);font-size:var(--t-13);font-weight:var(--w-3);color:var(--accent);min-width:4.5em}.save-format-desc{color:var(--fg-2);font-size:var(--t-12)}.tbtn-primary{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.tbtn-primary:hover{background:var(--accent-h);border-color:var(--accent-h)}.style-grid{display:grid;grid-template-columns:90px 1fr;gap:var(--s-2) var(--s-3);align-items:center;font-size:var(--t-12);font-family:var(--font-ui)}.style-grid label{color:var(--fg-2)}.style-grid .row{display:flex;align-items:center;gap:var(--s-2)}.style-grid input[type=color]{width:calc(var(--ctl-h-sm) * 1.4);height:var(--ctl-h-sm);border:1px solid var(--border-1);background:transparent;cursor:pointer;padding:0;border-radius:var(--r-1)}.style-grid input[type=range]{flex:1;accent-color:var(--accent)}.style-grid input[type=number],.style-grid select{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-mono);font-size:var(--t-12);padding:var(--s-05) var(--s-1);border-radius:var(--r-1);width:calc(80px * var(--ui-scale))}.alpha-val{color:var(--fg-2);font-size:var(--t-11);min-width:calc(32px * var(--ui-scale));text-align:right;font-family:var(--font-mono)}.ctx-menu{position:fixed;background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-2);padding:var(--s-1) 0;z-index:2000;font-size:var(--t-12);min-width:calc(200px * var(--ui-scale));box-shadow:var(--shadow-2);font-family:var(--font-ui)}.ctx-menu.hidden{display:none}.ctx-item{padding:var(--s-1) var(--s-3);cursor:pointer;color:var(--fg-1);white-space:nowrap;display:flex;justify-content:space-between;gap:var(--s-4);transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.ctx-item:hover{background:var(--accent-soft);color:var(--accent)}.ctx-item:focus,.ctx-item:focus-visible{outline:none;background:var(--accent-soft);color:var(--accent)}.ctx-item.disabled{color:var(--fg-4);cursor:default}.ctx-item.disabled:hover{background:transparent;color:var(--fg-4)}.ctx-item .ctx-kbd{color:var(--fg-3);font-size:var(--fs-2xs);font-family:var(--font-mono)}.ctx-sep{height:1px;background:var(--border-1);margin:var(--s-1) 0}#wkt-inspector{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-1);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-1) var(--s-2);max-height:calc(160px * var(--ui-scale));overflow:auto;white-space:pre-wrap;word-break:break-all;line-height:var(--lh-base)}#wkt-inspector .meta{color:var(--fg-2);font-size:var(--fs-2xs);margin-bottom:var(--s-1);font-family:var(--font-ui);letter-spacing:.04em}#wkt-inspector .empty-hint{font-family:var(--font-ui)}#wkt-inspector:has(>.empty-hint:only-child){background:transparent;border:0;padding:0;max-height:none}#layer-filter{width:100%;background:var(--bg-1);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-1) var(--s-2);font-family:var(--font-ui);font-size:var(--fs-sm);margin-bottom:var(--s-1);box-sizing:border-box}#layer-filter:focus{outline:none;border-color:var(--accent)}.diff-dot{display:inline-block;width:calc(8px * var(--ui-scale));height:calc(8px * var(--ui-scale));border-radius:50%;margin-right:var(--s-15);vertical-align:middle}.diff-swatch{display:inline-block;width:calc(10px * var(--ui-scale));height:calc(10px * var(--ui-scale));border-radius:var(--r-1);margin-right:var(--s-15);vertical-align:-1px;border:1px solid rgba(0,0,0,.25)}.diff-removed{background:var(--diff-removed-bg)}.diff-added{background:var(--diff-added-bg)}.diff-swatch.diff-removed{background:repeating-linear-gradient(135deg,#ff5a5ad9 0 2px,#ff5a5a33 2px 4px)}.diff-legend-row{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--fg-3)}.diff-legend-row .diff-swatch{margin-right:var(--s-05)}#compare-status .diff-summary{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-1)}.diff-mode-pill{display:inline-flex;align-items:center;padding:var(--s-05) var(--s-2);border-radius:var(--r-pill);border:1px solid var(--border-1);font-size:var(--fs-xs);color:var(--fg-2);background:var(--bg-1)}.diff-mode-pill b{font-weight:var(--w-3);margin-left:var(--s-1);color:var(--fg-1)}.diff-summary.on .diff-mode-pill{border-color:var(--good);background:var(--good-soft);color:var(--good)}.diff-summary.on .diff-mode-pill b{color:var(--good)}.diff-identical{font-size:var(--fs-xs);color:var(--good);font-style:italic}.tbtn-mini.primary{color:var(--accent);border-color:var(--accent-d);background:var(--accent-soft)}.tbtn-mini.primary:hover{color:var(--accent-h);border-color:var(--accent)}.tbtn-mini.active{color:var(--good);border-color:var(--good);background:var(--good-soft)}.tbtn-mini.active:hover{background:var(--good-soft);color:var(--fg-1)}.tbtn-mini:disabled{opacity:.45;cursor:not-allowed}.inv-fix-btn{font:inherit;cursor:pointer;border:0;padding:var(--s-05) var(--s-15)}#wkt-inspector .feat-stats{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-1) var(--s-15);margin:0 0 var(--s-15);font-family:var(--font-ui)}#wkt-inspector .feat-stats .stat-row{display:flex;justify-content:space-between;font-size:var(--fs-xs);padding:var(--s-05) 0}#wkt-inspector .feat-stats .stat-row .stat-val,#wkt-inspector .wkt-text{font-family:var(--font-mono);color:var(--fg-1)}.snap-toggle{display:inline-flex;align-items:center;gap:var(--s-1);color:var(--fg-1);font-size:var(--t-12);font-weight:var(--w-2);cursor:pointer;padding:var(--s-1) var(--s-2);user-select:none;font-family:var(--font-ui);border:1px solid var(--border-1);border-radius:var(--r-2);transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.snap-toggle:hover{background:var(--bg-2);border-color:var(--border-2)}.snap-toggle input{accent-color:var(--accent);width:var(--ico-xs);height:var(--ico-xs)}.snap-toggle .ico{width:var(--ico-sm);height:var(--ico-sm);color:var(--fg-2)}.snap-toggle:has(input:checked){color:var(--accent);border-color:var(--accent-d);background:var(--accent-soft)}.snap-toggle:has(input:checked) .ico{color:var(--accent)}.toolgroup-sep{width:1px;align-self:stretch;background:var(--border-1);margin:var(--s-05) var(--s-1)}#paste-sink{position:fixed;top:-100px;left:-100px;width:1px;height:1px;opacity:0;border:0;padding:0;margin:0;pointer-events:none}.muted{color:var(--fg-3)}.hidden,[hidden]{display:none!important}.kbd{display:inline-block;padding:var(--s-05) var(--s-15);border:1px solid var(--border-1);border-bottom-width:2px;border-radius:var(--r-1);background:var(--bg-2);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--fg-2);line-height:1.2}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:var(--r-2);padding:var(--s-1) var(--s-25);font-family:var(--font-ui);font-size:var(--t-11);font-weight:var(--w-1);line-height:1.4;white-space:nowrap;max-width:calc(240px * var(--ui-scale));pointer-events:none;box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-out) .35s,visibility 0s linear 0s;z-index:500}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:.35s}[data-tip-up]:after,.s-section [data-tip]:after{top:auto;bottom:calc(100% + 6px)}[data-tip-end]:after{left:auto;right:0;transform:none}.pill{display:inline-flex;align-items:center;gap:var(--s-1);padding:var(--s-05) var(--s-2);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--w-2);border:1px solid currentColor;line-height:1.4}.pill-accent{color:var(--accent);background:var(--accent-soft)}.pill-muted{color:var(--fg-3);background:var(--bg-2);border-color:var(--border-1)}.pill-good{color:var(--good);background:var(--good-soft)}.pill-warn{color:var(--warn);background:var(--warn-soft)}.pill-danger{color:var(--danger);background:var(--danger-soft)}.layer-badges{display:inline-flex;gap:var(--s-1);flex-shrink:0}.layer-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--fg-3);padding:0 var(--s-1);border-radius:var(--r-1);background:var(--bg-2);border:1px solid var(--border-1);line-height:1.6;letter-spacing:0;white-space:nowrap}.layer-badge.is-active{color:var(--accent);border-color:var(--accent-d);background:var(--accent-soft)}.measure-row{display:flex;align-items:center;gap:var(--s-2);margin:var(--s-1) 0;padding:var(--s-05) var(--s-1);font-size:var(--t-11);border-radius:var(--r-1);transition:background var(--t-fast) var(--ease-out)}.measure-row:hover{background:var(--bg-2)}.measure-row:hover .row-btn-danger{opacity:1}.measure-row .measure-label{color:var(--accent);font-weight:var(--w-3);font-family:var(--font-mono);min-width:var(--ctl-h-sm);flex-shrink:0}.measure-row .measure-dist{color:var(--fg-1);font-family:var(--font-mono)}.measure-row .measure-angle{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-2xs);flex:1;text-align:right}.measure-row .row-btn-danger{opacity:.25;transition:opacity var(--t-fast)}.feat-actions{position:absolute;display:inline-flex;align-items:center;gap:var(--s-05);padding:var(--s-1);background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-pill);box-shadow:var(--shadow-pop);z-index:240;pointer-events:auto;left:var(--fa-x, 0);top:var(--fa-y, 0);transform:translate(-50%,calc(-100% - var(--fa-gap, 14px)));transition:opacity var(--t-fast) var(--ease-out)}.feat-actions.hidden{display:none}.feat-actions.below{transform:translate(-50%,var(--fa-gap, 14px))}.feat-actions .fa-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ctl-h);height:var(--ctl-h);padding:0;background:transparent;border:0;border-radius:var(--r-pill);color:var(--fg-2);cursor:pointer;transition:background var(--t-instant),color var(--t-instant)}.feat-actions .fa-btn:hover{background:var(--bg-2);color:var(--fg-1)}.feat-actions .fa-btn:disabled{opacity:.35;cursor:default}.feat-actions .fa-btn:disabled:hover{background:transparent;color:var(--fg-2)}.feat-actions .fa-btn .ico{width:var(--ico-sm);height:var(--ico-sm)}.feat-actions .fa-danger:hover{background:var(--danger-soft);color:var(--danger)}.feat-actions .fa-sep{display:inline-block;width:1px;height:var(--ico-sm);background:var(--border-1);margin:0 var(--s-05)}.feature-card{position:fixed;background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-2);padding:var(--s-15) var(--s-2);font-family:var(--font-ui);font-size:var(--t-11);color:var(--fg-1);pointer-events:none;box-shadow:var(--shadow-2);z-index:250;max-width:calc(280px * var(--ui-scale));line-height:1.45}.feature-card .fc-type{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--accent);border:1px solid var(--accent-d);background:var(--accent-soft);padding:0 var(--s-1);border-radius:var(--r-1);margin-right:var(--s-1);letter-spacing:.06em}.feature-card .fc-layer{color:var(--fg-2);font-size:var(--t-11)}.feature-card .fc-meta{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-2xs);margin-top:var(--s-05)}.feature-card .fc-meta b{color:var(--fg-1);font-weight:var(--w-2)}.feature-card .fc-room{color:var(--fg-2);font-family:var(--font-ui);font-size:var(--t-11);margin-top:var(--s-1);padding-top:var(--s-1);border-top:1px dashed var(--border-1);line-height:1.45}.feature-card .fc-room b{color:var(--fg-1);font-weight:var(--w-2)}.feature-card .fc-room .fc-meta-id{color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-2xs);margin-left:var(--s-1)}.properties-card{min-width:calc(380px * var(--ui-scale));max-width:calc(560px * var(--ui-scale))}.properties-body{max-height:60vh;overflow:auto;margin:var(--s-2) 0;font-family:var(--font-ui);font-size:var(--t-12)}.properties-body .prop-row{display:grid;grid-template-columns:minmax(120px,28%) 1fr;gap:var(--s-2);padding:var(--s-1) 0;border-bottom:1px dashed var(--border-1);align-items:start}.properties-body .prop-row:last-child{border-bottom:0}.properties-body .prop-key{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-sm);word-break:break-all}.properties-body .prop-val{color:var(--fg-1);font-family:var(--font-mono);font-size:var(--fs-sm);word-break:break-word;white-space:pre-wrap}.properties-body .prop-val pre{margin:0;padding:var(--s-1) var(--s-2);background:var(--bg-0);border:1px solid var(--border-1);border-radius:var(--r-1);font-size:var(--fs-xs);overflow-x:auto}.properties-body .prop-null{color:var(--fg-3);font-style:italic}.popover{position:fixed;background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-3);padding:var(--s-2);min-width:calc(200px * var(--ui-scale));box-shadow:var(--shadow-pop);z-index:2500}.popover h5{font-family:var(--font-ui);font-size:var(--t-11);color:var(--fg-2);text-transform:uppercase;letter-spacing:.12em;font-weight:var(--w-3);padding-bottom:var(--s-1);border-bottom:1px solid var(--border-1);margin-bottom:var(--s-2)}.snap-opt{display:grid;grid-template-columns:16px auto 1fr;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-1);border-radius:var(--r-1);font-size:var(--t-12);font-family:var(--font-ui);cursor:pointer;color:var(--fg-1)}.snap-opt:hover{background:var(--accent-soft)}.snap-opt input{accent-color:var(--accent)}.snap-opt span{font-weight:var(--w-2)}.snap-opt i{font-style:normal;color:var(--fg-3);font-size:var(--t-11);text-align:right}.cmdk{position:fixed;inset:0;background:var(--backdrop-cmdk);display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;z-index:3000}.cmdk-card{width:min(520px,92vw);background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-3);box-shadow:var(--shadow-pop);overflow:hidden}#cmdk-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-1);color:var(--fg-1);padding:var(--s-3) var(--s-4);font-family:var(--font-ui);font-size:var(--t-13);outline:none}#cmdk-input::placeholder{color:var(--fg-3)}.cmdk-list{max-height:50vh;overflow-y:auto;padding:var(--s-1) 0}.cmdk-item{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-4);cursor:pointer;color:var(--fg-1);font-size:var(--t-12);font-family:var(--font-ui);transition:background var(--t-fast) var(--ease-out)}.cmdk-item.is-active,.cmdk-item:hover{background:var(--accent-soft);color:var(--accent)}.cmdk-item .ci-group{color:var(--fg-3);font-size:var(--t-11);font-family:var(--font-mono);letter-spacing:.04em}.cmdk-item.is-empty{color:var(--fg-3);font-style:italic;cursor:default}.cmdk-footer{padding:var(--s-2) var(--s-4);border-top:1px solid var(--border-1);font-size:var(--t-11);color:var(--fg-3);display:flex;gap:var(--s-3);align-items:center}.snap-cursor{position:fixed;pointer-events:none;z-index:100;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-d);border-radius:var(--r-1);padding:var(--s-05) var(--s-1);letter-spacing:.04em;transform:translate(12px,-22px)}.settings-card{width:min(720px,94vw);max-width:calc(720px * var(--ui-scale));height:min(560px,90vh);padding:0;display:flex;flex-direction:column;overflow:hidden}.settings-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-1)}.settings-head h3{margin:0;padding:0;border-bottom:0;color:var(--accent);font-size:var(--t-12);text-transform:uppercase;letter-spacing:.14em;font-weight:var(--w-3);font-family:var(--font-ui);flex:1}.modal-close{background:transparent;border:1px solid transparent;color:var(--fg-3);font-size:var(--fs-xl);cursor:pointer;width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--r-1);display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-2);color:var(--fg-1);border-color:var(--border-1)}.settings-shell{display:grid;grid-template-columns:200px 1fr;flex:1;min-height:0}.settings-rail{border-right:1px solid var(--border-1);background:var(--bg-0);display:flex;flex-direction:column;min-height:0}.settings-search-wrap{position:relative;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-1)}.settings-search-wrap input{width:100%;background:var(--bg-2);border:1px solid var(--border-1);color:var(--fg-1);font-family:var(--font-ui);font-size:var(--t-12);padding:var(--s-1) calc(30px * var(--ui-scale) * var(--ui-dens)) var(--s-1) var(--s-2);border-radius:var(--r-1);outline:none}.settings-search-wrap input:focus{border-color:var(--accent-d);box-shadow:var(--focus-ring)}.kbd-ghost{position:absolute;right:calc(var(--s-3) + 6px);top:50%;transform:translateY(-50%);color:var(--fg-3);font-size:var(--t-11);pointer-events:none}.kbd{font-family:var(--font-mono);font-size:var(--t-11);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-05) var(--s-1);color:var(--fg-2)}.settings-rail nav{flex:1;overflow-y:auto;padding:var(--s-1) var(--s-2);display:flex;flex-direction:column;gap:var(--s-05)}.settings-section-btn{display:flex;align-items:center;gap:var(--s-2);width:100%;border:1px solid transparent;background:transparent;color:var(--fg-2);text-align:left;padding:var(--s-15) var(--s-2);border-radius:var(--r-1);font:var(--w-2) var(--t-12) var(--font-ui);cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.settings-section-btn .ssb-icon{color:var(--fg-3);font-size:var(--fs-md);width:var(--ico-sm);text-align:center}.settings-section-btn:hover{background:var(--bg-2);color:var(--fg-1)}.settings-section-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-d);font-weight:var(--w-3)}.settings-section-btn.active .ssb-icon{color:var(--accent)}.settings-section-btn.dim{opacity:.35}.settings-pane{display:flex;flex-direction:column;min-height:0}.settings-pane-head{padding:var(--s-3) var(--s-4) var(--s-2);border-bottom:1px solid var(--border-1)}.settings-pane-head h4{margin:0;font:var(--w-3) var(--t-13) var(--font-ui);color:var(--fg-1)}.settings-pane-sub{color:var(--fg-3);font-size:var(--t-11);display:block;margin-top:var(--s-05)}.settings-pane-body{flex:1;overflow-y:auto;padding:var(--s-3) var(--s-4)}.pane-section-caption{font:var(--w-3) var(--t-11) var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin:var(--s-3) 0 var(--s-1);border-bottom:1px dashed var(--border-1);padding-bottom:var(--s-05)}.pane-section-caption:first-child{margin-top:0}.pane-group{margin:var(--s-3) 0 var(--s-1);padding-bottom:var(--s-05);border-bottom:1px dashed var(--border-1)}.pane-group:first-child{margin-top:0}.pane-group-label{font:var(--w-3) var(--t-11) var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2)}.pane-group-sub{font-size:var(--t-11);color:var(--fg-3);margin-top:var(--s-05)}.field-row{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2) 0;border-bottom:1px solid var(--border-1)}.field-row:last-child{border-bottom:0}.field-head{display:flex;align-items:baseline;gap:var(--s-2)}.field-label{font:var(--w-2) var(--t-12) var(--font-ui);color:var(--fg-1)}.field-non-default .field-label{color:var(--accent)}.field-helper{font-size:var(--t-11);color:var(--fg-3);line-height:var(--lh-base);font-family:var(--font-ui)}.field-ctrl-line{display:flex;align-items:center;gap:var(--s-2);padding-top:var(--s-05)}.field-control{display:flex;align-items:center;gap:var(--s-2);flex:1}.field-control input[type=range]{flex:1;accent-color:var(--accent);min-width:0}.field-control input[type=number]{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-mono);font-size:var(--t-12);padding:var(--s-05) var(--s-15);border-radius:var(--r-1);width:calc(96px * var(--ui-scale))}.field-control select{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-ui);font-size:var(--t-12);padding:var(--s-05) var(--s-15);border-radius:var(--r-1);min-width:calc(140px * var(--ui-scale))}.field-value{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-2);min-width:calc(64px * var(--ui-scale));text-align:right;white-space:nowrap}.field-non-default .field-value{color:var(--accent)}.field-reset{background:transparent;border:1px solid transparent;color:var(--fg-3);font-size:var(--fs-lg);cursor:pointer;width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--r-1);display:inline-flex;align-items:center;justify-content:center;visibility:hidden}.field-reset:hover{background:var(--bg-2);border-color:var(--border-1);color:var(--accent)}.field-non-default .field-reset{visibility:visible}.field-flash{animation:field-flash-anim calc(.9s * var(--anim-mul, 1)) ease-out}@keyframes field-flash-anim{0%{background:var(--accent-soft)}to{background:transparent}}.segmented{display:inline-flex;border:1px solid var(--border-1);border-radius:var(--r-1);overflow:hidden;font:var(--w-2) var(--t-12) var(--font-ui)}.seg-btn{background:var(--bg-2);color:var(--fg-2);border:0;padding:var(--s-1) var(--s-25);cursor:pointer;border-right:1px solid var(--border-1)}.seg-btn:last-child{border-right:0}.seg-btn:hover{background:var(--bg-3);color:var(--fg-1)}.seg-btn.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--w-3)}.switch{position:relative;display:inline-block;width:calc(34px * var(--ui-scale));height:calc(18px * var(--ui-scale));flex-shrink:0}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-slider{position:absolute;inset:0;background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-pill);cursor:pointer;transition:background var(--t-fast) var(--ease-out)}.switch-slider:after{content:"";position:absolute;left:1px;top:1px;width:var(--ico-sm);height:var(--ico-sm);border-radius:50%;background:var(--fg-2);transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.switch input:checked+.switch-slider{background:var(--accent);border-color:var(--accent-d)}.switch input:checked+.switch-slider:after{transform:translate(16px);background:var(--bg-0)}.switch input:focus-visible+.switch-slider{box-shadow:var(--focus-ring)}.preview-tile{margin:var(--s-2) 0 var(--s-1);padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-2);background:var(--bg-0);display:flex;justify-content:center}.preview-canvas{width:calc(220px * var(--ui-scale));height:calc(60px * var(--ui-scale));background:var(--bg-1);border-radius:var(--r-1)}.pane-static{font-size:var(--t-12);color:var(--fg-2);font-family:var(--font-ui)}.shortcut-table{width:100%;border-collapse:collapse}.shortcut-table td{padding:var(--s-1) var(--s-15);font-size:var(--t-12)}.shortcut-table td:first-child{width:calc(110px * var(--ui-scale))}.settings-foot{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-top:1px solid var(--border-1);background:var(--bg-0)}.settings-changed-summary{font:var(--w-2) var(--t-11) var(--font-ui);color:var(--fg-3);cursor:default}.settings-changed-summary.has-changes{color:var(--accent);cursor:pointer}.settings-changed-summary.has-changes:hover{text-decoration:underline}.zoom-pill{position:absolute;right:14px;bottom:36px;background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-1) var(--s-2);font:var(--w-3) 11px/1 var(--font-mono);color:var(--fg-1);cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:var(--s-1);z-index:4;transition:border-color var(--t-fast) var(--ease-out)}.zoom-pill:hover{border-color:var(--border-2)}.zoom-pill.hidden{display:none}.zoom-chev{color:var(--fg-3);font-size:var(--fs-2xs);padding:0 var(--s-05)}.zoom-chev:hover{color:var(--accent)}.popover-zoom{min-width:calc(160px * var(--ui-scale));padding:var(--s-2)}.popover-zoom .zoom-preset{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--r-1);color:var(--fg-1);font:var(--w-2) var(--t-12) var(--font-ui);padding:var(--s-1) var(--s-2);cursor:pointer}.popover-zoom .zoom-preset:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-d)}.zoom-custom{display:flex;gap:var(--s-1);margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border-1)}.zoom-custom input{flex:1;background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);font-family:var(--font-mono);font-size:var(--t-12);padding:var(--s-1) var(--s-15);border-radius:var(--r-1)}.zoom-custom button{background:var(--accent);color:var(--bg-0);border:1px solid var(--accent);font-family:var(--font-ui);font-size:var(--t-12);padding:var(--s-1) var(--s-25);border-radius:var(--r-1);cursor:pointer}.zoom-custom button:hover{background:var(--accent-h)}.s-section.hidden{display:none}.badge-muted{display:inline-block;font-family:var(--font-mono);font-size:var(--t-11);background:var(--bg-2);color:var(--fg-3);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-05) var(--s-15)}.toast-stack{position:fixed;top:56px;right:16px;display:flex;flex-direction:column;gap:var(--s-15);z-index:4000;pointer-events:none;max-width:min(420px,calc(100vw - 32px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s-2);background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-2);padding:var(--s-2) var(--s-25);font:var(--w-2) var(--t-12) var(--font-ui);color:var(--fg-1);box-shadow:var(--shadow-pop, 0 4px 14px rgba(0,0,0,.3));animation:toast-in calc(.22s * var(--anim-mul, 1)) var(--ease-out, ease-out)}.toast-info{border-left:3px solid var(--accent)}.toast-warn{border-left:3px solid var(--warn);color:var(--fg-1)}.toast-error{border-left:3px solid var(--danger);color:var(--fg-1)}.toast-text{flex:1;line-height:var(--lh-base);white-space:pre-wrap}.toast-link{margin-left:var(--s-15);color:inherit;text-decoration:underline}.report-files-row{gap:var(--s-2);align-items:center}.report-files{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-1);width:100%}.report-files:empty{display:none}.report-files li{display:inline-flex;align-items:center;gap:var(--s-1);padding:var(--s-05) var(--s-15);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);font:var(--w-1) var(--fs-2xs)/1 var(--font-mono);color:var(--fg-2)}.report-files .f-size{color:var(--fg-3)}.report-files .f-drop{background:none;border:0;padding:0 0 0 var(--s-05);color:var(--fg-4);cursor:pointer;font:inherit;line-height:1}.report-files .f-drop:hover{color:var(--danger)}.report-card.dropping{outline:2px dashed var(--accent);outline-offset:-4px}.toast-x{background:transparent;border:0;color:var(--fg-3);font-size:var(--fs-md);cursor:pointer;padding:0 var(--s-1);line-height:1}.toast-x:hover{color:var(--fg-1)}.toast-action{background:transparent;border:1px solid var(--border-2);border-radius:var(--r-1);color:var(--fg-1);font:inherit;cursor:pointer;padding:var(--s-05) var(--s-15);margin-left:var(--s-1);white-space:nowrap}.toast-action:hover{border-color:var(--accent);color:var(--accent)}.toast-leaving{animation:toast-out calc(.18s * var(--anim-mul, 1)) var(--ease-out, ease-in) forwards}@keyframes toast-in{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{to{transform:translateY(-6px);opacity:0}}.stats-hint{margin-top:var(--s-2);padding:var(--s-15) var(--s-2);border:1px dashed var(--warn);background:var(--warn-soft-bg);border-radius:var(--r-1);font-size:var(--t-11);color:var(--fg-2);line-height:var(--lh-base);font-family:var(--font-ui)}.stats-hint a{color:var(--accent);cursor:pointer;text-decoration:none}.stats-hint a:hover{text-decoration:underline}#mode-breadcrumb{height:var(--ctl-h);flex-shrink:0;display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);background:var(--bg-1);border-bottom:1px solid var(--border-1);font-family:var(--font-ui);font-size:var(--t-12);color:var(--fg-2)}#mode-breadcrumb.hidden{display:none}#mode-breadcrumb .mb-tool{color:var(--accent);font-weight:var(--w-3)}#mode-breadcrumb .mb-sep{color:var(--fg-3)}#mode-breadcrumb .mb-hint{color:var(--fg-2)}#mode-breadcrumb .mb-esc{margin-left:auto;color:var(--fg-3)}#mode-breadcrumb .mb-esc kbd{font-family:var(--font-mono);font-size:var(--t-11);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-05) var(--s-1);color:var(--fg-2)}#toolbar-secondary,#toolbar-edit-secondary{flex-shrink:0;display:flex;align-items:center;gap:var(--s-1);padding:var(--s-15) var(--s-3);background:var(--bg-1);border-bottom:1px solid var(--border-1);font-size:var(--t-13)}#toolbar-secondary.hidden,#toolbar-edit-secondary.hidden{display:none}.toolbar-secondary-label{font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase;padding-right:var(--s-2);border-right:1px solid var(--border-1);margin-right:var(--s-2)}#drawDisclosureBtn[aria-expanded=true],#editDisclosureBtn[aria-expanded=true]{background:var(--bg-2);border-color:var(--border-2);color:var(--accent)}#canvas-area{position:relative}#empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;font-family:var(--font-ui);color:var(--fg-2);z-index:5;max-width:calc(480px * var(--ui-scale));padding:var(--s-5) var(--s-4);background:radial-gradient(ellipse at 50% 35%,var(--accent-soft) 0%,transparent 65%);border-radius:var(--r-3)}#empty-state .chip,#empty-state button{pointer-events:auto}#empty-state.hidden{display:none}#empty-state h2{font-size:var(--fs-3xl);font-weight:var(--w-3);color:var(--fg-1);margin:0 0 var(--s-2) 0;letter-spacing:-.01em}#empty-state .empty-sub{font-size:var(--t-13);color:var(--fg-3);margin:0 0 var(--s-5) 0;line-height:var(--lh-base)}#empty-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;margin-bottom:var(--s-4)}#empty-chips .chip{background:var(--bg-1);border:1px solid var(--border-2);color:var(--fg-1);padding:var(--s-2) var(--s-35);border-radius:var(--r-pill);font-family:var(--font-ui);font-size:var(--t-13);font-weight:var(--w-2);cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}#empty-chips .chip:hover{background:var(--accent-soft);border-color:var(--accent-d);color:var(--accent);transform:translateY(-1px)}#empty-chips .chip:active{transform:translateY(0)}#empty-chips .chip.chip-strong{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}#empty-chips .chip.chip-strong:hover{background:var(--accent-h);border-color:var(--accent-h);color:var(--bg-0)}.empty-kbd-hint{font-size:var(--t-12);color:var(--fg-3);margin:0}.empty-kbd-hint kbd{font-family:var(--font-mono);font-size:var(--t-11);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-05) var(--s-15);color:var(--fg-2)}table.feat-props{width:100%;border-collapse:collapse;margin:var(--s-2) 0;font-family:var(--font-mono);font-size:var(--t-11);table-layout:fixed}table.feat-props th,table.feat-props td{text-align:left;vertical-align:top;padding:var(--s-1) var(--s-15);border-bottom:1px solid var(--border-1);word-break:break-word;overflow-wrap:anywhere}table.feat-props th{color:var(--fg-3);font-weight:var(--w-2);width:35%}table.feat-props td{color:var(--fg-1)}table.feat-props tr:last-child th,table.feat-props tr:last-child td{border-bottom:none}#drop-overlay{position:fixed;inset:12px;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);border:2px dashed var(--accent);border-radius:var(--r-3);font-family:var(--font-ui);font-size:var(--t-16);font-weight:var(--w-3);color:var(--accent);pointer-events:none;letter-spacing:.01em;backdrop-filter:blur(2px)}#compare-section.compare-drop-armed{position:relative;background:var(--accent-soft);border-radius:var(--r-2);outline:2px dashed var(--accent);outline-offset:-2px;transition:background var(--t-fast) var(--ease-out)}#compare-section.compare-drop-armed:after{content:"Drop to load as comparison";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:var(--t-13);font-weight:var(--w-3);color:var(--accent);letter-spacing:.01em;background:var(--accent-soft);border-radius:var(--r-2);pointer-events:none}.auth-screen{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--s-unit) * 4.5);background:var(--bg-canvas);color:var(--fg-1);font:var(--t-13) var(--font-ui)}.auth-spinner{width:calc(32px * var(--ui-scale));height:calc(32px * var(--ui-scale));border:3px solid var(--border-1);border-top-color:var(--accent);border-radius:50%;animation:auth-spin .8s linear infinite}.auth-msg{color:var(--fg-2);letter-spacing:.01em}.auth-screen.auth-error .auth-spinner{display:none}.auth-screen.auth-error .auth-msg{color:var(--danger);max-width:32ch;text-align:center}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.auth-spinner{animation:none}}#report-screenshot-row{align-items:flex-start;gap:var(--s-2);flex-wrap:wrap}#report-screenshot-thumb{width:calc(120px * var(--ui-scale));height:calc(68px * var(--ui-scale));border-radius:var(--r-1);border:1px solid var(--border-1);background:var(--bg-2);overflow:hidden;display:none;cursor:pointer;flex-shrink:0}#report-screenshot-thumb img{width:100%;height:100%;object-fit:cover;display:block}#report-screenshot-thumb.has-image{display:block}#annotator-overlay{position:fixed;inset:0;z-index:10000;background:#000;display:flex;flex-direction:column}#annotator-overlay.hidden{display:none}#annotator-toolbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--bg-1);border-bottom:1px solid var(--border-1);flex-shrink:0;flex-wrap:wrap}#annotator-tools{display:flex;gap:var(--s-1)}.ann-tool{padding:var(--s-1) var(--s-25);border-radius:var(--r-1);border:1px solid var(--border-1);background:var(--bg-2);color:var(--fg-1);font:var(--w-2) var(--t-12) var(--font-ui);cursor:pointer;transition:background var(--t-fast)}.ann-tool:hover{background:var(--bg-3)}.ann-tool.active{background:var(--accent);color:var(--bg-canvas);border-color:var(--accent)}#annotator-colors{display:flex;gap:var(--s-15);align-items:center}.ann-color{width:var(--ico-md);height:var(--ico-md);border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--t-fast)}.ann-color:hover{transform:scale(1.2)}.ann-color.active{border-color:var(--fg-1);transform:scale(1.15)}#annotator-canvas-wrap{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;cursor:crosshair}#annotator-canvas{display:block;max-width:100%;max-height:100%;touch-action:none;background-size:100% 100%;background-repeat:no-repeat}#canvas3d{position:absolute;inset:0;width:100%;height:100%;z-index:10}#canvas3d.hidden{display:none}#view3dBtn.active{background:var(--accent);color:#fff}.v3d-layer-list{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-1) 0}.v3d-layer-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-15);border-radius:var(--r-1);cursor:pointer;font-size:var(--fs-sm);color:var(--fg-2)}.v3d-layer-row:hover{background:var(--bg-2)}.v3d-layer-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.ui-scale-control{display:flex;flex-direction:column;gap:var(--s-2)}.ui-scale-row{display:flex;align-items:center;gap:var(--s-3)}.ui-scale-label{min-width:calc(64px * var(--ui-scale));font-size:var(--fs-sm);color:var(--fg-2);font-family:var(--font-ui)}.ui-seg{display:inline-flex;border:1px solid var(--border-1);border-radius:var(--r-2);overflow:hidden}.ui-seg-btn{appearance:none;border:0;border-right:1px solid var(--border-1);background:transparent;color:var(--fg-2);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--w-2);padding:var(--ctl-py) var(--ctl-px);min-height:var(--ctl-h);cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.ui-seg-btn:last-child{border-right:0}.ui-seg-btn:hover{background:var(--bg-2);color:var(--fg-1)}.ui-seg-btn.active,.ui-seg-btn[aria-checked=true]{background:var(--accent-soft);color:var(--accent)}.ui-stepper{display:inline-flex;align-items:center;gap:var(--s-2)}.ui-scale-range{accent-color:var(--accent);width:calc(160px * var(--ui-scale));height:var(--ico-xs)}.ui-scale-out{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);color:var(--fg-1);min-width:calc(44px * var(--ui-scale));text-align:right}.ui-scale-hint{margin:0;font-family:var(--font-ui);font-size:var(--fs-2xs);color:var(--fg-3);line-height:var(--lh-base)}#toolbar{flex-wrap:nowrap}#toolbar>*{flex-shrink:0}.toolgroup{position:relative}.toolgroup-cap{display:none;position:absolute;top:calc(-1 * var(--s-25));left:0;font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);pointer-events:none}:root[data-ui-density=comfortable] .toolgroup-cap{display:block}:root[data-ui-density=comfortable] #toolbar{padding-top:var(--s-4)}:root[data-ui-density=normal] .toolgroup .tbtn:not([data-lead]):not(.active)>span:not(.tbtn-glyph):not(.ico-glyph){display:none}:root[data-ui-density=compact] .toolgroup .tbtn:not(.active)>span:not(.tbtn-glyph):not(.ico-glyph){display:none}:root[data-ui-density=compact] .toolgroup .tbtn{padding-inline:var(--s-15)}#toolbar.is-tight .toolgroup .tbtn:not(.active)>span:not(.tbtn-glyph):not(.ico-glyph){display:none}#toolbar.is-tight .toolgroup .tbtn{padding-inline:var(--s-15)}#toolbar.is-tight .toolgroup-cap{display:none}.toolgroup[data-group=annotate] .tbtn.active{background:color-mix(in srgb,var(--markup-ink) 14%,transparent);color:var(--markup-ink);border-color:var(--markup-ink)}.toolgroup.is-overflowed,#toolbar-overflow{display:none}#toolbar.has-overflow #toolbar-overflow{display:inline-flex}#toolbar-overflow-pop{position:absolute;z-index:60;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2);background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-2);box-shadow:var(--shadow-2)}#toolbar-overflow-pop.hidden{display:none}#toolbar-overflow-pop .toolgroup{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--s-1);padding-top:var(--s-3)}#toolbar-overflow-pop .toolgroup-cap{display:block;position:absolute;top:var(--s-05);left:0}#toolbar-overflow-count{margin-left:var(--s-05);font-family:var(--font-mono);font-size:var(--t-11);color:var(--fg-3)}#toolbar-overflow-pop .tbtn>span:not([hidden]){display:inline!important}.tbtn-glyph{font-size:var(--fs-lg);line-height:1}.gv-sections{display:flex;flex-direction:column;min-height:0}.gv-sections-bar{display:flex;justify-content:flex-end;padding:var(--s-05) var(--s-1)}.gv-sections-gear{background:none;border:0;cursor:pointer;padding:var(--s-05) var(--s-15);color:var(--fg-3);border-radius:var(--r-1);font-size:var(--fs-xs);line-height:1}.gv-sections-gear:hover,.gv-sections-gear.is-on{color:var(--fg-1);background:var(--bg-3)}.gv-sections-gear:focus-visible{box-shadow:var(--focus-ring);outline:none}.gv-sections-settings{display:flex;flex-direction:column;gap:var(--s-05);padding:var(--s-15) var(--s-2);margin:0 var(--s-1) var(--s-1);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-2)}.gv-sections-row{display:flex;align-items:center;gap:var(--s-15);font-size:var(--fs-xs);color:var(--fg-2)}.gv-sections-row input{margin:0}.gv-sections-note{margin-left:auto;color:var(--fg-3);font-size:var(--fs-2xs)}.gv-section{display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--border-1)}.gv-section:first-of-type{border-top:0}.gv-section-bar{display:flex;align-items:stretch}.gv-section-head{display:flex;align-items:center;gap:var(--s-15);flex:1 1 auto;min-width:0;background:none;border:0;cursor:pointer;text-align:left;padding:var(--s-1) var(--s-15);color:var(--fg-2);font-size:var(--fs-xs);font-weight:var(--w-3)}.gv-section-head:hover{color:var(--fg-1);background:var(--bg-2)}.gv-section-head:focus-visible{box-shadow:var(--focus-ring);outline:none}.gv-section-chev{color:var(--fg-3);font-size:var(--fs-2xs)}.gv-section-title{flex:1 1 auto}.gv-section-x{background:none;border:0;cursor:pointer;color:var(--fg-4);padding:0 var(--s-15);border-radius:var(--r-1);font-size:var(--fs-sm);line-height:1}.gv-section-x:focus-visible{box-shadow:var(--focus-ring);outline:none}.gv-section-x:hover{color:var(--fg-1);background:var(--bg-3)}.gv-section-body{min-height:0;overflow:auto;padding:0 var(--s-15) var(--s-15)}.gv-section.is-collapsed .gv-section-body{display:none}.tsel{min-height:var(--ctl-h);padding:var(--ctl-py) var(--ctl-px);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);color:var(--fg-1);font-family:var(--font-ui);font-size:var(--fs-xs);cursor:pointer;flex-shrink:0}.tsel:hover{border-color:var(--border-2)}.tsel:focus-visible{box-shadow:var(--focus-ring);outline:none}.tsel-label{font-family:var(--font-ui);font-size:var(--fs-2xs);color:var(--fg-3)}.lbl-layer-chip{padding:0 var(--s-1);border-radius:var(--r-1);background:var(--bg-2)}.lbl-styled-dot{color:var(--accent);font-size:var(--fs-2xs)}.lbl-group-meta{display:grid;gap:var(--s-1);margin-bottom:var(--s-2);padding:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-1);background:var(--bg-1)}.link-btn{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.layer-row.flash-row{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-3)}.modal-card-wide{max-width:720px;width:90vw}.modal-input{width:100%;box-sizing:border-box;font:400 var(--fs-sm) var(--font-ui);color:var(--fg-1);background:var(--bg-0);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-1) var(--s-2)}.modal-input:focus{outline:none;border-color:var(--accent)}.ex-list{max-height:52vh;overflow-y:auto;margin:var(--s-2) 0;border:1px solid var(--border-1);border-radius:var(--r-2);background:var(--bg-1);padding:var(--s-2)}.ex-group+.ex-group{margin-top:var(--s-3)}.ex-group h5{margin:0 0 var(--s-1);font:600 var(--fs-2xs) var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.ex-items{display:flex;flex-wrap:wrap;gap:var(--s-1)}.ex-item{font:400 var(--fs-xs) var(--font-mono);color:var(--fg-1);background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--r-1);padding:var(--s-05) var(--s-1);cursor:pointer}.ex-item:hover{border-color:var(--accent);color:var(--accent)}.v3d-loading{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:var(--s-2);background:color-mix(in srgb,var(--bg-0) 82%,transparent);color:var(--fg-2);font-family:var(--font-ui);font-size:var(--fs-sm);pointer-events:none}.v3d-loading-spinner{width:var(--ico-sm);height:var(--ico-sm);border:2px solid var(--border-1);border-top-color:var(--accent);border-radius:50%;animation:v3d-spin var(--t-spin) linear infinite}@keyframes v3d-spin{to{transform:rotate(360deg)}}
