.find-panel{position:fixed;top:108px;right:24px;z-index:var(--z-modal,500);display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px}.find-panel__row{display:flex;align-items:center;gap:4px}.find-panel__input{flex:1 1 auto;min-width:0;padding:5px 8px;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-sm)}.find-panel__input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.find-panel__count{min-width:34px;text-align:center;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;white-space:nowrap}.find-panel__btn,.find-panel__count{flex:0 0 auto;color:var(--text-muted)}.find-panel__btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;font-size:var(--text-2xs);border-radius:var(--radius-sm);cursor:pointer}.find-panel__btn:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary)}.find-panel__btn:disabled{opacity:.4;cursor:default}.find-panel__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.find-panel__btn--case{font-weight:700;font-size:var(--text-xs)}.find-panel__btn--case.is-on{background:var(--accent);color:var(--text-on-accent)}.find-panel__btn--close{font-size:15px}.find-panel__action{flex:0 0 auto;padding:4px 10px;font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-canvas);color:var(--text-primary);cursor:pointer}.find-panel__action:hover:not(:disabled){background:var(--bg-raised)}.find-panel__action:disabled{opacity:.4;cursor:default}.ProseMirror .find-match{background:color-mix(in srgb,var(--accent) 22%,transparent);border-radius:2px}.ProseMirror .find-match.is-active{background:color-mix(in srgb,var(--accent) 48%,transparent);outline:1px solid var(--accent)}.find-panel__grip{display:none}@media (max-width:639px),(max-width:932px) and (max-height:480px){.find-panel{top:auto;left:0;right:0;bottom:0;min-width:0;border-left:none;border-right:none;border-bottom:none;border-radius:var(--radius-lg,12px) var(--radius-lg,12px) 0 0;padding:4px 12px calc(10px + env(safe-area-inset-bottom, 0px));max-height:calc(var(--app-vh, 100dvh) - var(--space-6, 24px));overflow-y:auto;overscroll-behavior:contain}.find-panel__grip{display:block;flex:none;width:36px;height:4px;border-radius:2px;background:var(--border-strong,var(--border));margin:4px auto 2px}.find-panel__input{min-height:40px;font-size:16px}.find-panel__btn{width:40px;height:40px}.find-panel__action{min-height:40px;padding:8px 14px}}html[data-keyboard-open] .find-panel{top:auto;bottom:var(--kb-inset,0);max-height:calc(var(--app-vh, 100dvh) - var(--space-6, 24px));overflow-y:auto;overscroll-behavior:contain}.math-editor{display:grid;gap:var(--space-4)}.math-editor__tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border)}.math-editor__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.math-editor__tab:hover:not([aria-selected=true]){background:var(--bg-raised);color:var(--text-primary)}.math-editor__tab:active{background:var(--accent-subtle)}.math-editor__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.math-editor__tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text-primary)}.math-editor__tab:disabled{opacity:.45;cursor:not-allowed}.math-editor__field,.math-editor__field math-field{display:block;width:100%;min-height:104px}.math-editor__field math-field,.math-editor__source{box-sizing:border-box;width:100%;min-height:104px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--text-primary);font:inherit}.math-editor__source--mathml{min-height:180px;font-family:var(--font-mono)}.math-editor__notice{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 12%,var(--bg-surface));color:var(--text-primary)}.math-editor__error{margin:0;color:var(--danger)}.math-editor__preview{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md)}.math-editor__preview code{overflow-wrap:anywhere}.math-editor__symbols{display:grid;gap:10px}.math-editor__symbols input{box-sizing:border-box;width:100%;min-height:44px;padding:8px 10px}.math-editor__symbol-group h3{margin:0 0 6px;font-size:.8rem}.math-editor__symbol-group>div{display:flex;flex-wrap:wrap;gap:6px}.math-editor__symbol-button{min-width:44px;min-height:44px;font-family:var(--font-mono);line-height:1.2}.math-editor__actions{display:flex;justify-content:flex-end;gap:8px;width:100%}.math-editor__action{justify-content:center;min-width:84px;min-height:44px}.math-editor__keyboard-done{margin-right:auto}.om-card.math-editor-modal.is-virtual-keyboard-open{margin-bottom:var(--math-virtual-keyboard-inset);max-height:calc(var(--app-vh, 100dvh) - 2 * var(--space-5) - var(--math-virtual-keyboard-inset))}@media (max-width:639px),(max-width:932px) and (max-height:480px){.math-editor__actions>.math-editor__action{flex:1 1 0}.om-card.math-editor-modal.is-virtual-keyboard-open{max-height:calc(var(--app-vh, 100dvh) - var(--space-6, 40px) - var(--math-virtual-keyboard-inset))}}@media (prefers-reduced-motion:reduce){.math-editor__tab{transition: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:rgba(0,0,0,.32);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,var(--bg));border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(0,0,0,.06);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,var(--bg))}.ri-title{font-size:var(--text-sm);font-weight:700;color:var(--text,var(--text-primary));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-tabs,.ri-title{flex:1 1 auto;display:inline-flex;min-width:0}.ri-tabs{gap:2px;background:var(--bg-raised,transparent);border:1px solid var(--border);border-radius:9px;padding:2px}.ri-tab,.ri-tabs{align-items:center}.ri-tab{display:inline-flex;justify-content:center;gap:5px;flex:1 1 0;min-width:0;padding:5px 8px;border:0;border-radius:7px;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,var(--text-primary))}.ri-tab.is-active{font-weight:700;background:var(--bg-canvas,var(--bg,#fff));box-shadow:0 1px 2px rgba(15,23,42,.12)}.ri-tab:focus-visible{outline:2px solid var(--focus,var(--accent,#4385be));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,var(--accent,#4385be));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:0 -8px 24px rgba(0,0,0,.18);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,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,var(--accent,#4385be));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:#fff;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:11px;font-weight:600;padding:4px 9px;border-radius:6px;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:2px;background:var(--accent)}.ri-title{display:flex;align-items:center;gap:8px}.ri-title-ic{width:26px;height:26px;border-radius:7px;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-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:13px;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:13px}.vh-error{flex:0 0 auto;margin:var(--space-3) var(--space-4) 0;padding:8px 10px;font-size:12px;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:12px;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-vnum{display:inline-flex;align-items:center;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:11px;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;align-items:baseline;gap:8px}.vh-author{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vh-when{margin-left:auto;font-size:11px;color:var(--text-muted);flex:0 0 auto}.vh-label{margin-top:2px;font-size:12px;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:11px}.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-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:12px;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:4px;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:12px;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:999px;font-size:11px;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}}