.eido-viewport{--eido-canvas-bg: #11151a;--eido-grid-line: rgba(160, 180, 210, .08);--eido-grid-axis: rgba(160, 180, 210, .28);--eido-grid-label: #97a1af;--eido-label-color: #e0e6ee;--eido-textbox-bg: rgba(20, 26, 38, .62);--eido-textbox-border: rgba(160, 180, 210, .35);position:absolute;inset:0;overflow:hidden;background:var(--eido-canvas-bg);touch-action:none;-webkit-user-select:none;user-select:none;--bg-canvas: var(--eido-canvas-bg);--grid-line: var(--eido-grid-line);--grid-axis: var(--eido-grid-axis);--grid-label: var(--eido-grid-label);--canvas-label-hi: var(--eido-label-color);--textbox-bg: var(--eido-textbox-bg);--textbox-border: var(--eido-textbox-border)}.eido-viewport>svg,.eido-viewport>canvas{display:block;width:100%;height:100%;touch-action:none}.eido-viewport .grid-line{stroke:var(--eido-grid-line);stroke-width:1}.eido-viewport .grid-axis{stroke:var(--eido-grid-axis);stroke-width:1}.eido-viewport .grid-label{fill:var(--eido-grid-label);font:10px ui-monospace,monospace}.eido-viewport .grid-ring,.eido-viewport .grid-spoke{stroke:var(--eido-grid-line);stroke-width:1;fill:none}.eido-viewport .shape-hit,.eido-viewport .pt-hit{display:none}.eido-viewport .xmark,.eido-viewport .mark{stroke:#d8b74a;stroke-width:1.4;fill:none}.eido-viewport .layer-preview{display:none}.eido-viewport .pt .pt-dot{stroke:var(--eido-canvas-bg);stroke-width:1.5}.eido-viewport .textbox-box{fill:var(--eido-textbox-bg);stroke:var(--eido-textbox-border);stroke-width:1.1}.eido-viewport .textbox-content-frame{overflow:hidden;pointer-events:none}.eido-viewport .textbox-content{color:var(--eido-label-color);overflow-wrap:anywhere}.eido-viewport .textbox-content-line{min-height:1.32em;white-space:pre-wrap}.eido-viewport .canvas-label{font-size:11px;fill:var(--eido-label-color);pointer-events:none}.eido-viewport .canvas-label.pt-name{font-size:12.5px;font-weight:600}.eido-viewport .canvas-label.user-label{font-size:12px}.eido-viewport .canvas-label-math-body{color:var(--eido-label-color);font-size:15px;font-weight:600;white-space:nowrap}.eido-viewport .label-layer-3d{position:absolute;inset:0;pointer-events:none;overflow:hidden}.eido-viewport .label-3d-math{position:absolute;width:max-content;color:var(--eido-label-color);font-size:15px;font-weight:600;white-space:nowrap}.eido-theme-light .eido-viewport,.eido-viewport.eido-theme-light,[data-theme=light] .eido-viewport{--eido-canvas-bg: #f2f4f8;--eido-grid-line: rgba(40, 60, 90, .09);--eido-grid-axis: rgba(40, 60, 90, .3);--eido-grid-label: #4a5462;--eido-label-color: #1c2735;--eido-textbox-bg: rgba(255, 255, 255, .76);--eido-textbox-border: rgba(40, 60, 90, .35)}:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#0b0e14;color:#e7ebf0}:root[data-theme=light]{color-scheme:light;background:#f3f5f8;color:#17202b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,.button{border:1px solid #384250;border-radius:8px;background:#1a202a;color:inherit;padding:8px 12px;cursor:pointer;font:inherit}button:disabled{cursor:default;opacity:.45}[data-theme=light] button,[data-theme=light] .button{background:#fff;border-color:#cbd2dc}.viewer-shell{height:100vh;display:flex;flex-direction:column;background:#0f131a}[data-theme=light] .viewer-shell{background:#edf0f4}.viewer-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid #303845}.viewer-header h1{margin:0;font-size:17px}.viewer-header p{margin:3px 0 0;color:#9ca8b8;font-size:13px}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.about-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid #3b4655;border-radius:12px;background:#171d26;color:#e7ebf0;box-shadow:0 24px 70px #00000080}.about-dialog::backdrop{background:#05080cad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}[data-theme=light] .about-dialog{border-color:#cbd2dc;background:#fff;color:#17202b;box-shadow:0 24px 70px #242d3a47}.about-card{padding:20px}.about-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.about-header h2{margin:0;font-size:18px}.about-close{display:grid;place-content:center;flex:0 0 30px;width:30px;height:30px;padding:0;font-size:21px;line-height:1}.about-dialog p{margin:16px 0;color:#aab4c2;line-height:1.55}[data-theme=light] .about-dialog p{color:#536172}.about-link{color:#78a9ff;font-weight:600;text-underline-offset:3px}[data-theme=light] .about-link{color:#1f63ce}.viewer-body{flex:1;min-height:0;display:grid;grid-template-columns:220px 1fr;transition:grid-template-columns .18s ease}.viewer-body.figures-collapsed{grid-template-columns:46px 1fr}.figure-panel{min-height:0;overflow:auto;padding:14px 10px;border-right:1px solid #303845}.figure-panel-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 2px 8px 8px}.figure-panel h2{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#8d99aa}.figure-toggle{display:grid;place-content:center;flex:0 0 28px;width:28px;height:28px;padding:0;font-size:20px;line-height:1}.figure-panel.collapsed{padding-inline:8px;overflow:hidden}.figure-panel.collapsed .figure-panel-header{justify-content:center;margin-inline:0}.figure-panel.collapsed h2,.figure-panel.collapsed #figures{display:none}#figures{display:grid;gap:4px}#figures button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border-color:transparent;background:transparent}#figures button.active{background:#2766d8;color:#fff}#figures small{opacity:.68}.stage{position:relative;min-width:0;min-height:0;overflow:hidden}.stage.dragging{outline:3px solid #4c8dff;outline-offset:-3px}.canvas-host{position:absolute;inset:0 0 58px}.empty-state,.load-status{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;color:#9ca8b8;pointer-events:none}.empty-state strong{color:inherit;font-size:19px}[hidden]{display:none!important}.load-status[data-kind=error],.load-status[data-kind=cors]{color:#ff8f92;padding:24px}.diagnostics{position:absolute;top:12px;left:12px;right:12px;z-index:5;max-height:32%;overflow:auto;padding:8px 12px;border:1px solid #874249;border-radius:8px;background:#2d1216eb;font-size:12px}.diagnostics p{margin:3px 0}.diagnostics .warning{color:#f0cf72}.controls{position:absolute;left:0;right:0;bottom:0;min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-top:1px solid #303845;background:#10141bf5}[data-theme=light] .controls{background:#fffffff5}.controls input{min-width:120px;width:min(440px,40vw);accent-color:#4c8dff}.controls output{min-width:88px;font-variant-numeric:tabular-nums;color:#9ca8b8}@media(max-width:720px){.viewer-header{align-items:flex-start;padding:9px 10px}.viewer-header h1{font-size:15px}.header-actions{gap:5px}.header-actions button,.header-actions .button{padding:7px 8px;font-size:12px}.viewer-body,.viewer-body.figures-collapsed{grid-template-columns:1fr;grid-template-rows:auto 1fr}.figure-panel{display:flex;align-items:center;gap:6px;padding:7px;border-right:0;border-bottom:1px solid #303845;overflow-x:auto}.figure-panel-header{flex:0 0 auto;margin:0}.figure-panel.collapsed{justify-content:flex-start;padding-inline:7px}.figure-panel h2{display:none}#figures{display:flex}#figures button{width:auto;white-space:nowrap}.controls{overflow-x:auto;justify-content:flex-start}.controls button{padding:7px 9px}}
