.cv-root{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--ge-color-bg);color:var(--ge-color-text);font-size:var(--ge-font-size-sm)}.cv-bar{display:flex;align-items:center;gap:var(--ge-space-2);min-height:var(--ge-pane-head-h);padding:0 var(--ge-space-3);border-bottom:1px solid var(--ge-color-border);background:var(--ge-color-surface);overflow-x:auto}.cv-title{font-weight:var(--ge-weight-semibold);white-space:nowrap;max-width:28ch;overflow:hidden;text-overflow:ellipsis}.cv-tools{display:flex;align-items:center;gap:var(--ge-space-1);flex-wrap:nowrap}.cv-sep{width:1px;align-self:stretch;margin:var(--ge-space-2) var(--ge-space-1);background:var(--ge-color-border)}.cv-tools .is-on{background:var(--ge-color-brand-soft);border-color:var(--ge-color-brand);color:var(--ge-color-brand)}.cv-body{flex:1;display:flex;min-height:0}.cv-side{width:var(--ge-panel-side-w);display:flex;flex-direction:column;gap:var(--ge-space-2);padding:var(--ge-space-2);border-right:1px solid var(--ge-color-border);background:var(--ge-color-surface);min-height:0}.cv-side-body{flex:1;overflow:auto;min-height:0}.cv-stage{position:relative;flex:1;min-width:0;overflow:hidden}.cv-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.cv-labels{position:absolute;inset:0;pointer-events:none}.cv-measure-label{padding:0 var(--ge-space-1);border-radius:var(--ge-radius-sm);background:var(--ge-color-surface);border:1px solid var(--ge-color-border-strong);font-size:var(--ge-font-size-xs);font-variant-numeric:var(--ge-numeric);pointer-events:auto}.cv-float{position:absolute;top:var(--ge-space-3);right:var(--ge-space-3);width:280px;display:flex;flex-direction:column;gap:var(--ge-space-2);padding:var(--ge-space-3);background:var(--ge-color-surface);border:1px solid var(--ge-color-border);border-radius:var(--ge-radius-md);box-shadow:var(--ge-shadow-md)}.cv-float-head{font-size:var(--ge-font-size-xs);letter-spacing:var(--ge-tracking-label);color:var(--ge-color-text-mute)}.cv-row{display:flex;align-items:center;gap:var(--ge-space-2)}.cv-range{flex:1;accent-color:var(--ge-color-brand)}.cv-note,.cv-label{color:var(--ge-color-text-mute);font-size:var(--ge-font-size-xs)}.cv-status{position:absolute;left:var(--ge-space-3);bottom:var(--ge-space-3);color:var(--ge-color-text-mute);font-size:var(--ge-font-size-xs);pointer-events:none}.cv-view-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ge-space-2);padding:var(--ge-space-1) 0}.cv-drop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.cv-drop.is-over{background:var(--ge-color-brand-soft);outline:2px dashed var(--ge-color-brand);outline-offset:-12px}.cv-drop>*{pointer-events:auto;max-width:420px}@media (max-width:760px){.cv-side{display:none}.cv-float{left:var(--ge-space-3);width:auto}}.cv-drop[hidden],.cv-float[hidden]{display:none}.cv-eye{display:inline-flex;flex:none;width:12px;height:12px;margin-right:var(--ge-space-2);border:1px solid var(--ge-color-control-border);border-radius:var(--ge-radius-sm);background:var(--ge-color-brand);box-shadow:inset 0 0 0 2px var(--ge-color-surface);cursor:pointer;vertical-align:middle}.cv-eye.is-off{background:var(--ge-color-surface)}.cv-eye.is-inherited{background:var(--ge-color-border-strong)}.cv-eye:focus-visible{outline:2px solid var(--ge-color-ring);outline-offset:1px}
