.ed-prose span.cm-hl{cursor:pointer;border-radius:var(--radius-compact)}.ed-prose span.cm-hl:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ed-pagination-projection span.cm-hl:not([data-comment-resolved=true]){cursor:pointer;background:color-mix(in srgb,var(--accent-subtle) 65%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--accent-subtle-strong) 65%,transparent);border-radius:var(--radius-compact);transition:background var(--motion-fast),box-shadow var(--motion-fast)}.ed-pagination-projection span.cm-hl:not([data-comment-resolved=true]):is(:hover,:focus){background:var(--accent-subtle-strong);box-shadow:0 1px 0 var(--accent)}.ed-pagination-projection span.cm-hl[data-comment-group-member=true],.ed-pagination-projection span.cm-hl[data-comment-group-member=true]:is(:hover,:focus){cursor:inherit;background:transparent;box-shadow:none;border-radius:0}.ed-pagination-projection span.cm-hl:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 1px var(--bg-surface),0 0 0 3px var(--accent)}.ed-prose span.cm-hl:has(.cm-hl-resolved){cursor:text;border-radius:0}.ed-prose span.cm-hl:has(.cm-hl-resolved):focus,.ed-prose span.cm-hl:has(.cm-hl-resolved):focus-visible{outline:none}.cm-hl-paint{position:relative;background:color-mix(in srgb,var(--accent-subtle) 65%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--accent-subtle-strong) 65%,transparent);border-radius:0;transition:background var(--motion-fast),box-shadow var(--motion-fast)}.ed-prose span.cm-hl:focus .cm-hl-paint,.ed-prose span.cm-hl:hover .cm-hl-paint{background:var(--accent-subtle-strong);box-shadow:0 1px 0 var(--accent)}.cm-hl-paint--start{border-top-left-radius:3px;border-bottom-left-radius:3px}.cm-hl-paint--end{border-top-right-radius:3px;border-bottom-right-radius:3px}.ed-prose .cm-hl-resolved,.ed-prose span.cm-hl .cm-hl-resolved{background:transparent;box-shadow:none;cursor:text}.cm-hl-paint--active{background:var(--accent-subtle-strong);box-shadow:0 1px 0 var(--accent)}.cm-hl-paint--touch-start{box-shadow:inset 1px 0 var(--accent),0 1px 0 color-mix(in srgb,var(--accent-subtle-strong) 50%,transparent)}.cm-hl-paint--touch-end{box-shadow:inset -1px 0 var(--accent),0 1px 0 color-mix(in srgb,var(--accent-subtle-strong) 50%,transparent)}.cm-hl-paint--touch-start.cm-hl-paint--touch-end{box-shadow:inset 1px 0 var(--accent),inset -1px 0 var(--accent),0 1px 0 color-mix(in srgb,var(--accent-subtle-strong) 50%,transparent)}.cm-hl-paint--overlap:not(.cm-hl-paint--active){background:color-mix(in srgb,var(--accent) 20%,var(--accent-subtle));text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-decoration-thickness:1px;text-underline-offset:2px}.cm-hl-badge-anchor{position:relative;display:inline}.cm-hl-badge{position:absolute;bottom:1.05em;left:1px;display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:700;line-height:1;white-space:nowrap;background:var(--accent);color:var(--accent-fg,#fff);box-shadow:var(--shadow-sm);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0;visibility:hidden;transition:opacity var(--motion-fast),visibility var(--motion-fast)}.cm-hl-paint--active .cm-hl-badge,.ed-prose span.cm-hl:is(:hover,:focus) .cm-hl-badge{opacity:1;visibility:visible}.cm-hl--flash{animation:cm-hl-flash 1.6s ease}@keyframes cm-hl-flash{0%,55%{background:var(--accent-subtle-strong);box-shadow:0 0 0 3px var(--accent-subtle-strong)}to{background:transparent;box-shadow:none}}.icp{position:fixed;z-index:var(--z-panel);width:320px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.icp:focus{outline:none}.icp-head{display:flex;align-items:center;gap:8px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.icp-title{font-size:var(--type-helper);font-weight:700;color:var(--text-primary);flex:1}.icp-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);padding:4px;border-radius:var(--radius-sm);cursor:pointer}.icp-close:hover{background:var(--bg-raised);color:var(--text-primary)}.icp-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icp-quote{margin:var(--space-2) var(--space-3) 0}.icp-scroll{max-height:40vh;overflow-y:auto;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.icp-comment{padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.icp-comment:last-child{border-bottom:none;padding-bottom:0}.icp-actions{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.icp .cr-reply-input,.icp-actions{border-top:1px solid var(--border)}.icp .cr-reply-input,.icp-add-btn{background:var(--bg-surface)}.icp-add-btn{position:fixed;z-index:var(--z-panel);display:inline-flex;align-items:center;gap:6px;font-size:var(--type-control);font-weight:600;font-family:inherit;padding:5px 10px;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);box-shadow:var(--shadow-lg);cursor:pointer;white-space:nowrap}.icp-add-btn:hover{color:var(--accent);border-color:var(--accent)}.icp-add-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (pointer:coarse){.icp-add-btn,.icp-close{min-width:44px;min-height:44px}}.icp--composer{width:300px}.icp--composer .cr-reply-input{border-top:none}.ed-prose span.cm-hl.cm-hl--glow{background:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);border-radius:var(--radius-compact)}@media (prefers-reduced-motion:reduce){.cm-hl-paint,.ed-preview__body span.cm-hl{transition:none}.ed-prose span.cm-hl.cm-hl--flash{animation:none}}.editor-ai-connect{width:36px;min-width:36px;height:36px;padding:8px}.editor-ai-provider-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);font-size:var(--type-helper);font-weight:650}.editor-ai-connect:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.presence-panel-popover{width:min(300px,calc(100vw - 24px));padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg,12px);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-lg)}.presence-panel__title{margin:0 0 12px;font-size:var(--text-base);font-weight:700;line-height:1.3}.presence-panel__people{display:grid;gap:10px}.presence-person{display:flex;align-items:center;gap:10px;min-width:0}.presence-person__avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;border:2px solid var(--bg-surface);border-radius:var(--radius-full,999px);color:var(--text-on-accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700}.presence-person__copy{display:grid;min-width:0}.presence-person__name{overflow:hidden;color:var(--text-primary);font-size:var(--text-sm);font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.presence-panel__help,.presence-person__status{color:var(--text-secondary);font-size:var(--text-2xs);line-height:1.35}.presence-panel__divider{height:1px;margin:14px 0 10px;background:var(--border)}.presence-cursor-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:32px;padding:0;border:0;background:transparent;color:var(--text-primary);font-size:var(--text-xs);font-weight:600;text-align:left;cursor:pointer}.presence-cursor-toggle__track{position:relative;flex:0 0 auto;width:30px;height:18px;border-radius:var(--radius-full,999px);background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--border);transition:background var(--motion-fast)}@media (pointer:coarse){.presence-cursor-toggle{min-height:44px}}.presence-cursor-toggle__thumb{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:var(--radius-full,999px);background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:transform var(--motion-fast)}.presence-cursor-toggle[aria-checked=true] .presence-cursor-toggle__track{background:var(--accent);box-shadow:none}.presence-cursor-toggle[aria-checked=true] .presence-cursor-toggle__thumb{transform:translateX(12px)}.presence-cursor-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.presence-panel__help{margin:2px 0 0}@media (prefers-reduced-motion:reduce){.presence-cursor-toggle__thumb,.presence-cursor-toggle__track{transition:none}}.presence-live{display:flex;flex:0 0 auto;min-width:0}.presence-live,.presence-trigger{position:relative;align-items:center}.presence-trigger{display:inline-flex;padding:0;border:0;border-radius:var(--radius-full,999px);background:transparent;color:inherit;cursor:pointer}.presence-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.presence-count-badge{position:absolute;right:-5px;bottom:-4px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full,999px);background:var(--accent);color:var(--text-on-accent);font-size:var(--text-2xs);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;border:2px solid var(--bg-surface);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}html[data-collaborator-cursors=hidden] :is(.collaboration-cursor__caret,.ed-cursor-gapbar,.ed-cursor-label,.ed-cursor-merged,.ed-md-presence__row,.ed-doc-location,.ed-block-presence__block,.sheet-remote-cursor,.sheet-remote-cursor-tag){display:none!important}html[data-collaborator-cursors=hidden] .collaboration-cursor__selection{background-color:transparent!important}html[data-collaborator-cursors=hidden] .ed-cursor-shape{background-color:transparent!important;outline:none!important;box-shadow:none!important}html[data-collaborator-cursors=hidden] .ed-cursor-shape :is(.ed-img,.ed-img__img,.ed-embed-node,.ed-embed__frame,.ed-rawhtml){outline:none!important;box-shadow:none!important}@media (max-width:480px){.presence-count-badge{min-width:14px;height:14px;font-size:var(--text-2xs);right:-4px;bottom:-3px}}.ed-reconnect{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-4);font-size:var(--type-control);line-height:1.4;font-weight:500;border-bottom:1px solid var(--border)}.ed-reconnect-icon{flex:0 0 auto;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ed-reconnect-text{min-width:0}.ed-reconnect-offline{color:var(--danger,#e5484d);background:color-mix(in srgb,var(--danger,#e5484d) 10%,var(--bg-surface))}.ed-reconnect-connecting{color:var(--warning,#d97706);background:color-mix(in srgb,var(--warning,#d97706) 12%,var(--bg-surface))}.ed-reconnect-review{color:var(--accent,#7c3aed);background:color-mix(in srgb,var(--accent,#7c3aed) 10%,var(--bg-surface))}.ed-reconnect-merging{color:var(--success,#16a34a);background:color-mix(in srgb,var(--success,#16a34a) 10%,var(--bg-surface))}.ed-reconnect-expired{color:var(--danger,#e5484d);background:color-mix(in srgb,var(--danger,#e5484d) 10%,var(--bg-surface))}.ed-reconnect-role-downgraded{color:var(--warning,#d97706);background:color-mix(in srgb,var(--warning,#d97706) 12%,var(--bg-surface))}.ed-reconnect-removed{color:var(--danger,#e5484d);background:color-mix(in srgb,var(--danger,#e5484d) 10%,var(--bg-surface));font-weight:600}.ed-reconnect-stale{color:var(--accent,#7c3aed);background:color-mix(in srgb,var(--accent,#7c3aed) 10%,var(--bg-surface))}.ed-reconnect-action{margin-left:auto;flex:0 0 auto;font-size:var(--text-xs);font-weight:700;color:var(--text-on-accent,#fff);background:var(--accent,#7c3aed);border:0;padding:3px 12px;border-radius:var(--radius-sm,6px);cursor:pointer}.ed-reconnect-action:hover{opacity:.92}.ed-reconnect-spin{animation:ed-reconnect-rotate .9s linear infinite}@keyframes ed-reconnect-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ed-reconnect-spin{animation:none}}.ri-root{position:fixed;height:var(--app-vh,100dvh);z-index:var(--z-panel,100)}.ri-backdrop,.ri-root{inset:0;pointer-events:none}.ri-backdrop{position:absolute;background:var(--scrim);opacity:0;transition:opacity var(--motion-base) ease-out}.ri-root[data-open=true] .ri-backdrop{opacity:1;pointer-events:auto}.ri-panel{position:absolute;top:var(--ed-topbar-h,0);right:0;bottom:0;width:340px;display:flex;flex-direction:column;background:var(--bg-surface);border-left:1px solid var(--border);box-shadow:var(--shadow-top);transform:translate3d(100%,0,0);transition:transform var(--motion-slow,.32s) var(--ease-out,ease-out);will-change:transform;backface-visibility:hidden;pointer-events:auto;outline:none}.ri-panel[data-width=wide]{width:480px}.ri-root[data-open=true] .ri-panel{transform:translateZ(0)}.ri-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.ri-title{flex:1 1 auto;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);display:inline-flex;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-tabs{flex:1 1 auto;gap:2px;background:var(--bg-raised,transparent);border:1px solid var(--border);border-radius:var(--radius-control);padding:2px}.ri-tab,.ri-tabs{display:inline-flex;align-items:center;min-width:0}.ri-tab{justify-content:center;gap:5px;flex:1 1 0;padding:5px 8px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-muted,var(--text-secondary));font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap}.ri-tab svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ri-tab.is-active,.ri-tab:hover:not(.is-active){color:var(--text-primary)}.ri-tab.is-active{font-weight:700;background:var(--bg-canvas);box-shadow:var(--shadow-sm)}.ri-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.ri-tab-badge{font-size:var(--text-2xs);font-weight:600;color:var(--text-muted,var(--text-secondary));background:var(--bg-raised,transparent);border:1px solid var(--border);border-radius:var(--radius-full);padding:0 6px;line-height:16px}.ri-tab.is-active .ri-tab-badge{color:var(--text,var(--text-primary))}.ri-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-muted,var(--text-secondary));cursor:pointer}.ri-icon-btn:hover{background:var(--bg,transparent);color:var(--text,var(--text-primary))}.ri-icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.ri-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px;color:var(--text,var(--text-primary))}.ri-footer{flex:0 0 auto;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-raised,var(--bg-surface,var(--bg)));position:sticky;bottom:0}.import-report-card{right:var(--space-3);bottom:64px}@media (min-width:1025px){body:has(.ri-dock[data-open=true]) .import-report-card{right:calc(386px + var(--space-3))}body:has(.ri-dock[data-open=true] .ri-panel[data-width=wide]) .import-report-card{right:calc(526px + var(--space-3))}.ri-root{position:absolute;inset:0;height:auto;z-index:1;width:100%;min-height:0;overflow:hidden;pointer-events:auto}.ri-root .ri-backdrop{display:none}.ri-panel{position:absolute;top:0;right:46px;bottom:0;left:auto;width:340px;min-width:340px;border-left:none;box-shadow:none;transform:none;opacity:0;transition:opacity var(--motion-base,.22s) var(--ease-out,ease);will-change:opacity}.ri-panel[data-width=wide]{width:480px;min-width:480px}.ri-root[data-open=true] .ri-panel{transform:none;opacity:1}}@media (max-width:1024px){body:has(.ri-dock[data-open=true]) .import-report-card{top:60px;bottom:auto}}@media (max-width:639px),(max-width:932px) and (max-height:480px){.ri-panel{top:auto;left:0;right:0;bottom:0;height:calc(var(--app-vh, 100dvh) * .8);border-left:0;border-top:1px solid var(--border);border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:var(--shadow-top);transform:translate3d(0,100%,0)}.ri-panel,.ri-panel[data-width=wide]{width:100%}.ri-root[data-open=true] .ri-panel{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){.ri-backdrop,.ri-dock,.ri-panel,.ri-rail-dock{transition:none}}.ri-dock{flex:0 0 auto;align-self:stretch;position:relative;width:46px;min-height:0;overflow:hidden;background:var(--bg-surface);border-left:1px solid var(--border);transition:width var(--motion-base,.22s) var(--ease-out,ease)}.ri-dock[data-open=true]{width:386px}.ri-dock[data-open=true]:has(.ri-panel[data-width=wide]){width:526px}.ri-dock[data-hidden=true][data-open=false]{width:0;border-left:none}.ri-rail-dock{position:absolute;top:0;right:0;bottom:0;width:46px;overflow:hidden;z-index:2;transition:opacity var(--motion-fast,.15s) var(--ease-out,ease)}.ri-dock[data-open=true] .ri-rail-dock{border-left:1px solid var(--border)}.ri-rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0}.ri-rail-btn{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-muted,var(--text-secondary));cursor:pointer}.ri-rail-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ri-rail-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.ri-rail-btn.is-active{background:var(--accent-subtle);color:var(--accent)}.ri-rail-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.ri-rail-badge{position:absolute;top:-2px;right:-2px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-full);background:var(--accent);color:var(--text-on-accent);font-size:var(--text-2xs);font-weight:700;display:flex;align-items:center;justify-content:center}@media (max-width:1024px){.ri-dock{display:contents}.ri-rail-dock{display:none}}@media (min-width:640px) and (max-width:1024px) and (min-height:481px){.ri-panel{top:var(--ed-topbar-h,0);right:0;bottom:0;width:min(386px,calc(100vw - 64px));border-left:1px solid var(--border);box-shadow:var(--shadow-xl,var(--shadow-lg))}.ri-panel[data-width=wide]{width:min(526px,calc(100vw - 64px))}}.ri-rail-flyout{position:absolute;right:42px;top:50%;transform:translateY(-50%);background:var(--tooltip-bg,#1f2937);color:var(--tooltip-fg,#fff);font-size:var(--text-2xs);font-weight:600;padding:4px 9px;border-radius:var(--radius-compact);white-space:nowrap;box-shadow:var(--shadow-lg,0 4px 14px rgba(0,0,0,.2));opacity:0;pointer-events:none;transition:opacity var(--motion-fast,.12s) var(--ease-out,ease);transition-delay:.15s;z-index:3}.ri-rail-btn:focus-visible .ri-rail-flyout,.ri-rail-btn:hover .ri-rail-flyout{opacity:1}.ri-rail-btn.is-active:after{content:"";position:absolute;right:-7px;top:6px;bottom:6px;width:3px;border-radius:var(--radius-control);background:var(--accent)}.ri-title{display:flex;align-items:center;gap:8px}.ri-title-ic{width:26px;height:26px;border-radius:var(--radius-control);background:var(--accent-subtle,rgba(124,92,255,.1));color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.ri-title-ic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vh-panel{flex:0 0 320px;display:flex;flex-direction:column;min-height:0;border-left:0;background:var(--bg-surface);overflow:hidden}.vh-recovery-group{border-bottom:1px solid var(--border)}.vh-recovery-group>summary{padding:var(--space-3) var(--space-4);min-height:44px;cursor:pointer;font-size:var(--type-control);overflow-wrap:anywhere}.vh-history-pagination>button:focus-visible,.vh-recovery-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.vh-history-pagination{padding:var(--space-3) var(--space-4)}.vh-history-pagination>button{min-height:44px;width:100%}.vh-history-pagination>button[aria-disabled=true]{opacity:.65}.vh-head{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.vh-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-control);font-weight:700;color:var(--text-primary)}.vh-title svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vh-close{margin-left:auto;color:var(--text-secondary)}.vh-actions{flex:0 0 auto;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.vh-save{width:100%;font-size:var(--type-control)}.vh-error{flex:0 0 auto;margin:var(--space-3) var(--space-4) 0;padding:8px 10px;font-size:var(--text-xs);color:var(--danger,#af3029);background:var(--danger-subtle,rgba(175,48,41,.08));border:1px solid var(--danger,#af3029);border-radius:var(--radius-sm)}.vh-list{flex:1 1 auto;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-surface)}.vh-empty{padding:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);text-align:center}.vh-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-canvas);box-shadow:var(--shadow-sm)}.vh-row--auto{border-color:var(--border-subtle,var(--border));background:var(--bg-surface,var(--bg-canvas))}.vh-row--current{border-color:var(--accent);background:var(--accent-subtle,rgba(55,90,200,.06))}.vh-panel .vh-vnum{display:inline-flex;align-items:center;flex:0 0 auto;height:auto;margin-right:0;white-space:nowrap;min-height:24px;padding-inline:7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--type-metadata);font-weight:700}.vh-row--current .vh-vnum{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--bg-canvas);color:var(--accent)}.vh-row-main{flex:1 1 auto;min-width:0}.vh-row-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.vh-author{flex:1 1 auto;min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vh-when{margin-left:auto;font-size:var(--type-metadata);color:var(--text-muted);flex:0 0 auto}.vh-label{margin-top:2px;font-size:var(--text-xs);color:var(--text-secondary);font-style:italic;overflow-wrap:anywhere}.vh-restore-state{padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-weight:700}.vh-diff,.vh-restore-state{display:inline-flex;margin-top:4px;font-size:var(--type-metadata)}.vh-diff{align-items:center;gap:5px;font-family:var(--font-mono)}.vh-added{color:var(--success,#66800b);font-weight:600}.vh-removed{color:var(--danger,#af3029);font-weight:600}.vh-diff-unit{color:var(--text-muted)}.vh-diff-initial,.vh-diff-none{color:var(--text-muted);font-family:inherit}.vh-row--current :is(.vh-when,.vh-diff-unit,.vh-diff-none,.vh-diff-initial){color:var(--text-secondary)}.vh-row-actions{display:flex;align-items:stretch;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.vh-preview-action,.vh-restore{min-height:36px;font-size:var(--type-helper);padding:4px 10px}.vh-preview-action{flex:1 1 auto;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));background:var(--accent-subtle);color:var(--accent);font-weight:700}.vh-restore{flex:0 0 auto;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary)}.vh-skeleton{gap:var(--space-2);padding:var(--space-3) 0}.vh-skeleton,.vh-skeleton-row{display:flex;flex-direction:column}.vh-skeleton-row{gap:6px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-canvas)}.vh-skeleton-line{height:10px;border-radius:var(--radius-compact);background:var(--bg-sunken,rgba(0,0,0,.06));animation:vh-shimmer 1.5s ease-in-out infinite}.vh-skeleton-author{width:60%}.vh-skeleton-meta{width:40%}@keyframes vh-shimmer{0%,to{opacity:1}50%{opacity:.5}}.vh-preview{flex:1 1 auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);overflow:hidden}.vh-preview-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.vh-preview-content{flex:1 1 auto;overflow-y:auto;font-size:var(--type-helper);font-family:var(--font-mono);line-height:1.6;white-space:pre-wrap;word-break:break-word;padding:10px 12px;background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);min-height:80px;max-height:360px}.vh-preview-actions{flex:0 0 auto;display:flex;gap:var(--space-2);justify-content:flex-end}.vh-row--auto .vh-author,.vh-row--auto .vh-when{color:var(--text-secondary);font-weight:400}.vh-auto-badge{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:600;color:var(--text-secondary);background:var(--bg-canvas);text-transform:uppercase;letter-spacing:.03em}@media (max-width:639px),(max-width:932px) and (max-height:480px){.vh-list{padding:var(--space-2)}.vh-row-head{flex-wrap:wrap}.vh-row-actions>button{flex:1 1 0;min-width:0;min-height:44px}}.vh-compare-modal{height:min(800px,calc(var(--app-vh, 100dvh) - 2 * var(--space-5)))}.vh-compare-modal .om-body{padding:0;overflow:hidden;background:var(--bg-canvas)}.vh-compare-surface{display:flex;flex-direction:column;min-height:0;height:100%}.vh-compare-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-surface)}.vh-compare-meta{min-width:0;display:grid;grid-template-columns:auto minmax(0,auto);align-items:center;-moz-column-gap:var(--space-2);column-gap:var(--space-2)}.vh-compare-version{justify-self:start;grid-row:1/span 2;display:inline-flex;align-items:center;min-height:32px;padding:0 9px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700}.vh-compare-byline,.vh-compare-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vh-compare-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:700}.vh-compare-byline{color:var(--text-secondary);font-size:var(--text-xs)}.version-comparison-modes{flex:0 0 auto;display:inline-flex;gap:2px;margin:0;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised)}.version-comparison-modes .btn{min-height:34px;padding-inline:12px;border:0;color:var(--text-secondary);box-shadow:none}.version-comparison-modes [aria-pressed=true]{background:var(--bg-canvas);color:var(--text-primary);box-shadow:var(--shadow-sm)}.vh-source-readonly{flex:0 0 auto;margin:0;padding:8px var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.vh-compare-stage{flex:1 1 auto;min-height:0;padding:var(--space-3)}.vh-compare-modal .om-footer{background:var(--bg-surface)}.vh-restore-dialog .om-body{padding:var(--space-4)}.vh-restore-assurance{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:var(--radius-md);background:var(--accent-subtle)}.vh-restore-assurance-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-canvas);color:var(--accent)}.vh-restore-assurance-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vh-restore-assurance strong{color:var(--text-primary);font-size:var(--text-sm)}.vh-restore-assurance p,.vh-restore-collaboration-note{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.vh-restore-collaboration-note{margin-top:var(--space-3);padding-inline-start:var(--space-3);border-inline-start:3px solid var(--warning)}@media (max-width:639px){.vh-compare-modal{height:var(--app-vh,100dvh)}.vh-compare-toolbar{align-items:stretch;flex-direction:column;padding:var(--space-2) var(--space-3)}.version-comparison-modes,.version-comparison-modes .btn{width:100%}.version-comparison-modes .btn{min-height:44px}.vh-compare-stage{padding:var(--space-2)}.vh-compare-modal .om-footer .btn{flex:1 1 0;min-height:44px}}@media (prefers-reduced-motion:reduce){.vh-compare-modal *,.vh-restore-dialog *{scroll-behavior:auto!important}}