:root,[data-theme=light]{--canvas: #d0d5de;--surface: #ffffff;--surface-2: #f6f7f9;--editor-bg: #ffffff;--border: #bcc3d0;--text: #1a1d26;--muted: #5c6578;--accent: #2563eb;--accent-hover: #1d4ed8;--ok: #059669;--warn: #d97706;--err: #dc2626;--shadow: #0000001f;--drop-old: #991b1b22;--drop-new: #04785722;--drop-tracked: #d9770622;--col-old: #991b1b;--col-new: #047857;--col-tracked: #d97706;--col-options: #1a1d26;--dif-del-bg: #fde8e8;--dif-del-fg: #b91c1c;--dif-add-bg: #dbeafe;--dif-add-fg: #1d4ed8;--dif-preamble-fg: #6b7280}[data-theme=dark]{--canvas: #0a0b0f;--surface: #1c2030;--surface-2: #161a26;--editor-bg: #242938;--border: #3a4155;--text: #e8eaef;--muted: #9aa3b5;--accent: #6c9eff;--accent-hover: #8ab2ff;--ok: #5dd39e;--warn: #f0c674;--err: #f07178;--shadow: #00000080;--drop-old: #f8717133;--drop-new: #34d39933;--drop-tracked: #f0c67433;--col-old: #f87171;--col-new: #34d399;--col-tracked: #f0c674;--col-options: #e8eaef;--dif-del-bg: #3f1d1d;--dif-del-fg: #fca5a5;--dif-add-bg: #1e2a4a;--dif-add-fg: #93c5fd;--dif-preamble-fg: #6b7280}:root{--radius: 10px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--text);line-height:1.5}#app{display:flex;flex-direction:column;height:100vh;padding:.65rem 1rem 0;gap:.55rem}.workspace{display:flex;flex:1;min-height:0;gap:.55rem}.workspace-body{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:.45rem}html[data-layout=stacked] .workspace{flex-direction:row}html[data-layout=stacked] .workspace-body{flex:1}html[data-layout=stacked] .workspace{gap:0}html[data-layout=stacked] .workspace-editors{display:flex;flex-direction:row;align-items:stretch;flex:1;min-height:0;min-width:0;gap:0;position:relative}html[data-layout=stacked] .sources-stack{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;min-width:0;flex-shrink:0}html[data-layout=stacked] .sources-stack .column,html[data-layout=stacked] .workspace-editors>.column{min-width:0;min-height:0;flex-shrink:0}html[data-layout=stacked] .workspace>.options-panel{flex-shrink:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.row-resizer{flex:0 0 6px;height:6px;width:100%;margin:1px 0;align-self:stretch;cursor:row-resize;touch-action:none;border-radius:3px;background:transparent;transition:background .12s;z-index:4}.row-resizer:hover,.row-resizer.is-active,.row-resizer:focus-visible{background:color-mix(in srgb,var(--accent) 55%,transparent);outline:none}body.row-resizing{cursor:row-resize!important;-webkit-user-select:none;user-select:none}body.row-resizing *{cursor:row-resize!important}html[data-layout=stacked] .options-panel .options-body{flex:1;min-height:0;overflow:auto}html[data-layout=stacked] .options-grid{grid-template-columns:1fr}html[data-layout=stacked] .options-heading{display:block}html[data-layout=stacked] .options-toggle,html[data-layout=stacked] .options-summary{display:none!important}html[data-layout=stacked] .options-panel.options-panel-fixed .options-header{border-bottom-color:var(--border)}html[data-layout=stacked] .options-panel.options-panel-fixed .options-body{display:block!important}html[data-layout=classic] .options-heading{display:block}html[data-layout=classic] .options-header-start .options-toggle .options-title{display:none}html[data-layout=classic] .workspace{flex-direction:column}html[data-layout=classic] .workspace>.options-panel{flex-shrink:0;order:-1}html[data-layout=classic] .sources-stack{display:contents}html[data-layout=classic] .workspace-editors{flex:1;min-height:0}.layout-icon{display:none}html[data-layout=stacked] .layout-icon-classic,html[data-layout=classic] .layout-icon-stacked{display:block}.top-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.6rem 1.25rem;flex-shrink:0}.brand{display:flex;align-items:center;gap:.65rem;min-width:0}.brand-logo{flex-shrink:0;width:44px;height:44px;border-radius:8px;object-fit:contain}.brand-text{min-width:0}.brand h1,.brand-title{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:-.02em;line-height:1.3}.brand-title .tex-latex{font-family:Latin Modern Roman,Computer Modern,Times New Roman,Times,serif;font-weight:400;letter-spacing:-.04em}.brand-title .tex-A{font-size:.62em;vertical-align:.3em;margin-left:-.15em;margin-right:-.02em}.brand-title .tex-E{font-size:.62em;vertical-align:-.24em;margin-left:-.12em}.brand-title .tex-different{margin-left:.06em}.brand-title .brand-sub{font-weight:550;color:var(--muted)}.tagline-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;margin-top:.1rem}.tagline{margin:0;color:var(--muted);font-size:.78rem}button.demo-btn{padding:.1rem .5rem;font-size:.65rem;font-weight:600;line-height:1.35;border-radius:5px;box-shadow:none}button.demo-btn:hover:not(:disabled){background:var(--surface-2);color:var(--accent-hover)}button#reset-btn:hover:not(:disabled){color:var(--danger, #c62828);border-color:color-mix(in srgb,var(--danger, #c62828) 40%,var(--border))}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem}.tutorial-wrap,.info-wrap{position:relative;flex-shrink:0}.popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:50;width:min(22rem,calc(100vw - 2rem));max-height:min(70vh,calc(100dvh - 5rem));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.75rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);font-size:.78rem;line-height:1.45;color:var(--text);outline:none}.tutorial-popover{width:min(26rem,calc(100vw - 2rem))}.popover[hidden]{display:none}.popover-title{margin:0 0 .45rem;font-size:.8rem;font-weight:650;color:var(--text)}.popover p{margin:0 0 .5rem;color:var(--muted)}.popover p:last-child{margin-bottom:0}.popover a{color:var(--accent);text-decoration:none}.popover a:hover{color:var(--accent-hover);text-decoration:underline}.popover-about-dev{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.72rem}.popover code{font-size:.7rem}.tutorial-steps{margin:0 0 .55rem;padding-left:1.15rem;color:var(--muted)}.tutorial-steps li{margin-bottom:.4rem}.tutorial-steps li:last-child{margin-bottom:0}.tutorial-steps strong{color:var(--text);font-weight:600}.popover-callout{margin:0;padding:.45rem .55rem;font-size:.72rem;line-height:1.4;color:var(--text);background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));border-radius:6px}.popover-callout strong{color:var(--warn)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0}.theme-icon{display:block}.theme-icon-sun,[data-theme=dark] .theme-icon-moon{display:none}[data-theme=dark] .theme-icon-sun{display:block}.status-bar{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap;padding:.35rem .6rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.78rem;box-shadow:0 1px 2px var(--shadow);max-width:min(100%,36rem);white-space:nowrap}#status-text{line-height:1.3;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.load-progress{flex:0 0 3.5rem;height:4px;background:var(--canvas);border-radius:999px;overflow:hidden}.load-progress.hidden,.load-progress-pct.hidden{display:none}.load-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--col-tracked));border-radius:999px;transition:width .2s ease}.load-progress-pct{flex-shrink:0;font-size:.68rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.load-stall-hint{flex:1 1 100%;font-size:.72rem;line-height:1.35;color:var(--warn, #b45309);white-space:normal}.load-stall-hint.hidden{display:none}.status-bar.has-stall-hint{flex-wrap:wrap;white-space:normal;max-width:min(100%,42rem)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--warn);flex-shrink:0}.status-bar.ready .status-dot{background:var(--ok)}.status-bar.error .status-dot{background:var(--err)}.options-panel{flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px var(--shadow);overflow:hidden}.options-header.column-header{border-top:3px solid var(--col-options);background:var(--surface-2);padding:.45rem .6rem;border-bottom:1px solid var(--border)}.options-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.options-header-start{display:flex;align-items:baseline;gap:.35rem;min-width:0;flex-shrink:1}.options-header-end{display:flex;align-items:center;gap:.45rem;margin-left:auto;min-width:0;flex-shrink:0}.options-heading{margin:0;font-size:.88rem;font-weight:600;color:var(--col-options);flex-shrink:0}.options-panel:not(.is-collapsed) .options-header.column-header{border-bottom-color:var(--border)}button.options-toggle{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.12rem .3rem;border:none;border-radius:6px;background:transparent;box-shadow:none;color:var(--col-options);font-size:.88rem;font-weight:600;text-transform:none;letter-spacing:normal}button.options-toggle:hover:not(:disabled){background:color-mix(in srgb,var(--col-options) 10%,var(--surface-2));color:var(--col-options)}button.options-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.options-chevron{flex-shrink:0;color:var(--col-options);transition:transform .2s ease,color .15s ease}button.options-toggle:hover:not(:disabled) .options-chevron{color:var(--col-options)}.options-panel.is-collapsed .options-chevron{transform:rotate(-90deg)}.options-title{margin:0;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit}button.options-reset-btn{flex-shrink:0;margin:0;padding:.12rem .45rem;font-size:.65rem;font-weight:600;line-height:1.35;border-radius:5px;box-shadow:none;white-space:nowrap}button.options-reset-btn:hover:not(:disabled){background:var(--surface-2);color:var(--accent-hover)}.options-summary{margin-left:0;font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:min(100%,28rem)}.options-summary[hidden]{display:none}.options-body{padding:.55rem .75rem .65rem}.options-body[hidden]{display:none}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem .85rem;align-items:start}.opt{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem}.opt-label{color:var(--muted);font-size:.72rem}.opt-label code{font-size:.68rem}.opt select,.opt input[type=text]{width:100%;background:var(--editor-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.3rem .4rem;font-size:.75rem}.opt input[type=text]::placeholder{color:var(--muted);opacity:.85}.opt-wide{grid-column:1 / -1}.options-advanced{margin-top:.55rem;padding-top:.5rem;border-top:1px dashed var(--border);font-size:.78rem}.options-advanced summary{cursor:pointer;font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.options-advanced summary:hover{color:var(--accent-hover)}.options-advanced-hint{margin:.35rem 0 .5rem;color:var(--muted);font-size:.72rem;line-height:1.4}.options-grid-advanced{margin-top:.25rem}.opt-checks{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.65rem 1.25rem}.checkbox{display:flex;align-items:flex-start;gap:.4rem;cursor:pointer;font-size:.75rem;color:var(--text)}.checkbox input{margin-top:.15rem;flex-shrink:0}.checkbox code{font-size:.7rem}code{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;background:var(--surface-2);padding:.05em .3em;border-radius:4px}button{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;font-size:.82rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--accent);border:1px solid var(--border);box-shadow:0 1px 2px var(--shadow)}button.secondary:hover:not(:disabled){background:var(--surface-2);color:var(--accent-hover)}.error-banner{margin:0;padding:.5rem .7rem;background:color-mix(in srgb,var(--err) 12%,transparent);border:1px solid var(--err);border-radius:8px;color:var(--err);font-size:.8rem;white-space:pre-wrap;flex-shrink:0}.error-banner.hidden{display:none}.columns{display:flex;flex-direction:row;align-items:stretch;gap:0;flex:1;min-height:0;position:relative}.col-resizer{flex:0 0 6px;width:6px;margin:0 1px;align-self:stretch;cursor:col-resize;touch-action:none;border-radius:3px;background:transparent;transition:background .12s;z-index:4}.col-resizer:hover,.col-resizer.is-active,.col-resizer:focus-visible{background:color-mix(in srgb,var(--accent) 55%,transparent);outline:none}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none;user-select:none}body.col-resizing *{cursor:col-resize!important}@keyframes spin{to{transform:rotate(360deg)}}.workspace-editors.is-processing{pointer-events:none}.generate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--canvas) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:wait}.generate-overlay.hidden{display:none}.generate-overlay-card{display:flex;flex-direction:column;align-items:center;gap:.65rem;max-width:18rem;padding:1.25rem 1.5rem;text-align:center;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px var(--shadow)}.generate-spinner{width:2.25rem;height:2.25rem;border:3px solid color-mix(in srgb,var(--col-tracked) 25%,var(--border));border-top-color:var(--col-tracked);border-radius:50%;animation:spin .75s linear infinite}@media(prefers-reduced-motion:reduce){.generate-spinner,.generate-btn.is-busy:before{animation-duration:1.5s}}.generate-overlay-title{margin:0;font-size:.95rem;font-weight:650}.generate-overlay-detail{margin:0;font-size:.78rem;line-height:1.35;color:var(--muted);text-align:center;max-width:16rem}.generate-overlay-stall-hint{display:inline-block;margin-top:.35rem;font-size:.74rem;line-height:1.35;color:var(--warn, #b45309)}body.is-generating,body.is-generating .generate-btn.is-busy{cursor:wait}.swap-btn{width:1.65rem;height:1.65rem;margin:0;padding:0;flex-shrink:0}.swap-icon-v,html[data-layout=stacked] .swap-icon-h{display:none}html[data-layout=stacked] .swap-icon-v{display:block}.swap-btn:hover:not(:disabled){color:var(--accent-hover);border-color:var(--accent)}.column{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px var(--shadow)}.column[data-column=old]{border-top:3px solid var(--col-old)}.column[data-column=new]{border-top:3px solid var(--col-new)}.column[data-column=tracked]{border-top:3px solid var(--col-tracked)}.column-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-2)}.column-header h2{margin:0;font-size:.88rem;font-weight:600}.column-header-tracked .column-title-row{width:100%}.column-meta-tracked{align-items:center}.view-toggle-panel{--view-control-h: 1.65rem;display:grid;grid-template-rows:1fr auto;align-items:stretch;box-sizing:border-box;height:var(--view-control-h);min-width:0;padding:1px 3px;flex-shrink:0;background:var(--canvas);border:1px solid var(--border);border-radius:6px}.view-toggle-tabs{display:inline-flex;align-items:center;justify-content:center;gap:1px;min-height:0;padding:0 1px}.column-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.column-title-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-width:0}.generate-btn{margin:0;padding:.42rem 1rem;font-size:.8rem;font-weight:650;letter-spacing:.02em;color:#fff;background:var(--col-tracked);border:none;border-radius:8px;box-shadow:0 2px 6px color-mix(in srgb,var(--col-tracked) 45%,transparent),inset 0 1px color-mix(in srgb,#fff 25%,transparent);transition:background .15s,box-shadow .15s,transform .1s}.generate-btn:hover:not(.is-busy){background:color-mix(in srgb,var(--col-tracked) 88%,#000);box-shadow:0 3px 10px color-mix(in srgb,var(--col-tracked) 50%,transparent);transform:translateY(-1px)}.generate-btn:active:not(.is-busy){transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--col-tracked) 40%,transparent)}.generate-btn:focus-visible{outline:none;background:color-mix(in srgb,var(--col-tracked) 72%,#fff);color:#1a1d26;box-shadow:0 0 0 3px var(--drop-tracked),0 0 0 5px var(--col-tracked),0 4px 16px color-mix(in srgb,var(--col-tracked) 55%,transparent);transform:scale(1.05)}[data-theme=dark] .generate-btn:focus-visible{background:color-mix(in srgb,var(--col-tracked) 78%,#fff);color:#1a1d26}.generate-btn.is-busy{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;pointer-events:none;cursor:wait;opacity:.92}.generate-btn.is-busy:before{content:"";flex-shrink:0;width:.85rem;height:.85rem;border:2px solid color-mix(in srgb,#fff 35%,transparent);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}[data-theme=dark] .generate-btn{color:#1a1d26}[data-theme=dark] .generate-btn:hover:not(.is-busy){background:color-mix(in srgb,var(--col-tracked) 92%,#fff)}.column-title-group h2{margin:0}.column-upload-btn{width:1.65rem;height:1.65rem;margin:0;padding:0;flex-shrink:0;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:var(--surface);transition:background .12s,border-color .12s,color .12s}.column[data-column=old] .column-upload-btn{color:var(--col-old);background:var(--drop-old);border-color:color-mix(in srgb,var(--col-old) 40%,var(--border))}.column[data-column=old] .column-upload-btn:hover:not(:disabled){background:color-mix(in srgb,var(--col-old) 20%,var(--surface));border-color:var(--col-old)}.column[data-column=new] .column-upload-btn{color:var(--col-new);background:var(--drop-new);border-color:color-mix(in srgb,var(--col-new) 40%,var(--border))}.column[data-column=new] .column-upload-btn:hover:not(:disabled){background:color-mix(in srgb,var(--col-new) 20%,var(--surface));border-color:var(--col-new)}.column-upload-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}.preview-legend{display:flex;align-items:center;justify-content:center;gap:.18rem;line-height:1;padding:0 1px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.view-toggle-panel.is-source .preview-legend .legend-del,.view-toggle-panel.is-source .preview-legend .legend-add{color:var(--muted);background:transparent;text-decoration:none;opacity:.45}.column-meta{display:flex;align-items:center;gap:.35rem;flex-shrink:0;min-width:0;margin-left:auto}.header-icon-btn{width:1.65rem;height:1.65rem;margin:0;padding:0;flex-shrink:0}.header-icon-btn:disabled{opacity:.35}.header-icon-btn.is-copied{color:var(--ok);border-color:var(--ok)}.header-icon-btn.is-error{color:var(--err);border-color:var(--err)}.editor-body{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden}.line-gutter{flex-shrink:0;width:3.1rem;min-width:3.1rem;overflow:hidden;border-right:1px solid var(--border);background:var(--surface-2);scrollbar-width:none}.line-numbers{margin:0;padding:.6rem .35rem .6rem .25rem;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.77rem;line-height:1.45;color:var(--muted);text-align:right;white-space:pre;-webkit-user-select:none;user-select:none;opacity:.85;box-sizing:border-box;display:block}.line-numbers.is-wrapped{white-space:normal;padding-top:.6rem;padding-bottom:.6rem}.line-number-row{display:flex;align-items:flex-start;justify-content:flex-end;box-sizing:border-box;overflow:hidden;flex-shrink:0}.editor-measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;height:auto;max-height:none;overflow:hidden;z-index:-1}.wrap-toggle.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.editor-pane{position:relative;flex:1;min-width:0;min-height:0;display:flex}.copy-icon-done,.header-icon-btn.is-copied .copy-icon{display:none}.header-icon-btn.is-copied .copy-icon-done{display:block}button.view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.1rem;margin:0;padding:0 .28rem;min-width:0;height:100%;font-size:.55rem;font-weight:500;line-height:1;color:var(--muted);background:transparent;border:none;border-radius:5px;box-shadow:none;cursor:pointer;transition:color .12s ease,background .12s ease}button.view-toggle-btn:hover:not(.is-active){color:var(--text);background:color-mix(in srgb,var(--surface-2) 80%,transparent)}button.view-toggle-btn.is-active{color:var(--col-tracked);font-weight:650;background:var(--surface);box-shadow:0 1px 2px var(--shadow)}button.view-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-toggle-tick{flex-shrink:0;width:0;height:.45rem;overflow:hidden;opacity:0;transition:width .12s ease,opacity .12s ease}button.view-toggle-btn.is-active .view-toggle-tick{width:.45rem;height:.45rem;opacity:1}.view-toggle-label{letter-spacing:.01em}[data-theme=dark] button.view-toggle-btn.is-active{color:var(--col-tracked);background:var(--editor-bg)}.preview-legend .legend-del,.preview-legend .legend-add{padding:0;border-radius:2px;font-weight:500;font-size:.48rem;line-height:1}.legend-del{color:var(--dif-del-fg);background:var(--dif-del-bg);text-decoration:line-through}.legend-add{color:var(--dif-add-fg);background:var(--dif-add-bg);text-decoration:underline}.column-hint{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10rem}.column-meta .column-hint{max-width:7rem}.column-output .column-meta{flex-wrap:wrap;justify-content:flex-end}.editor-wrap{flex:1;min-height:0;display:flex;flex-direction:column;margin:.45rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--editor-bg);box-shadow:inset 0 1px 2px #0000000a;transition:border-color .12s,box-shadow .12s}.column[data-column=old] .editor-wrap:focus-within{border-color:var(--col-old);box-shadow:0 0 0 2px var(--drop-old),inset 0 1px 2px #0000000a}.column[data-column=new] .editor-wrap:focus-within{border-color:var(--col-new);box-shadow:0 0 0 2px var(--drop-new),inset 0 1px 2px #0000000a}.column[data-column=tracked] .editor-wrap:focus-within{border-color:var(--col-tracked);box-shadow:0 0 0 2px var(--drop-tracked),inset 0 1px 2px #0000000a}.editor{flex:1;width:100%;min-height:0;margin:0;padding:.6rem;resize:none;border:none;outline:none;background:var(--editor-bg);color:var(--text);font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.77rem;line-height:1.45;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-x:auto}.editor.is-wrap{white-space:pre-wrap;overflow-x:hidden;overflow-wrap:break-word;word-break:break-word}.editor::placeholder{color:var(--muted);opacity:.9;white-space:pre-line;line-height:1.5}[data-theme=dark] .editor-wrap{box-shadow:inset 0 1px 2px #00000040}[data-theme=dark] .column[data-column=old] .editor-wrap:focus-within{box-shadow:0 0 0 2px var(--drop-old),inset 0 1px 2px #00000040}[data-theme=dark] .column[data-column=new] .editor-wrap:focus-within{box-shadow:0 0 0 2px var(--drop-new),inset 0 1px 2px #00000040}[data-theme=dark] .column[data-column=tracked] .editor-wrap:focus-within{box-shadow:0 0 0 2px var(--drop-tracked),inset 0 1px 2px #00000040}.preview-loading,.preview-empty{color:var(--muted);font-style:italic;padding:.5rem}.preview-pane{white-space:pre-wrap;word-break:break-word;overflow:auto;cursor:default}.preview-pane.hidden,.editor.hidden{display:none!important}.preview-empty{color:var(--muted);font-style:italic}.preview-pane :is(.dif-del,.dif-add,.dif-preamble){font-family:inherit}.dif-del{color:var(--dif-del-fg);background:var(--dif-del-bg);text-decoration:line-through;border-radius:2px}.dif-add{color:var(--dif-add-fg);background:var(--dif-add-bg);text-decoration:underline;text-underline-offset:2px;border-radius:2px}.dif-preamble{color:var(--dif-preamble-fg);opacity:.85}.dif-marker{display:none}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--editor-bg) 62%,var(--drop-old));border:2px dashed var(--col-old);font-size:.9rem;font-weight:600;color:var(--col-old);transition:opacity .12s,background .12s}.editor-wrap.drag-over .editor::placeholder{opacity:.15}.editor-wrap.drag-over .drop-overlay{opacity:1}.column[data-column=new] .editor-wrap.drag-over .drop-overlay{background:color-mix(in srgb,var(--editor-bg) 62%,var(--drop-new));border-color:var(--col-new);color:var(--col-new)}.column[data-column=tracked] .editor-wrap.drag-over .drop-overlay{background:color-mix(in srgb,var(--editor-bg) 62%,var(--drop-tracked));border-color:var(--col-tracked);color:var(--col-tracked)}.site-footer{flex-shrink:0;text-align:center;padding:.45rem 0 .55rem;font-size:.78rem;color:var(--muted);line-height:1.5}.site-footer a{color:var(--accent);text-decoration:none}.site-footer a:hover{color:var(--accent-hover);text-decoration:underline}.footer-github-link{display:inline-flex;align-items:center;gap:.3rem;vertical-align:middle;word-break:break-all}.footer-github-icon{flex-shrink:0}.footer-build-time{white-space:nowrap}.footer-build-time[hidden]{display:none}@media(max-width:900px){#layout-toggle{display:none!important}.top-bar{align-items:stretch;gap:.45rem}.toolbar{flex-wrap:nowrap;justify-content:flex-end;width:100%;min-width:0;gap:.3rem}.status-bar{flex:1 1 auto;min-width:0;max-width:none;padding:.3rem .5rem;font-size:.72rem}#status-text{min-width:0}.load-progress{flex:0 0 2.5rem}.load-progress-pct{font-size:.62rem}.toolbar .icon-btn{width:1.9rem;height:1.9rem;flex-shrink:0}.popover{position:fixed;top:max(.65rem,env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px));left:max(1rem,env(safe-area-inset-left,0px));bottom:auto;width:auto;max-width:none;max-height:calc(100dvh - 1.3rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.tutorial-popover{width:auto}body:has(.popover:not([hidden])):before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:color-mix(in srgb,var(--canvas) 25%,rgb(0 0 0 / 45%))}.column-header{align-items:center;flex-wrap:nowrap;gap:.35rem;padding:.4rem .45rem;min-width:0}.column-header h2{flex-shrink:0;font-size:.82rem}.column-meta{flex-wrap:nowrap;flex-shrink:1;min-width:0;gap:.25rem}.column-output .column-meta,.column-meta-tracked{flex-wrap:nowrap}.column-hint{max-width:3.25rem;font-size:.65rem}.column-meta .column-hint{max-width:2.75rem}.swap-btn,.header-icon-btn{width:1.5rem;height:1.5rem;flex-shrink:0}.column-header-tracked .column-title-row{flex-wrap:nowrap;align-items:center;gap:.35rem}.column-title-group{flex-wrap:nowrap;flex-shrink:1;min-width:0;gap:.3rem}.column-title-group h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:6.5rem}.generate-btn{padding:.32rem .6rem;font-size:.72rem;flex-shrink:0;white-space:nowrap}.column-meta-tracked{flex-shrink:0}.view-toggle-panel{--view-control-h: 1.5rem;padding:0 2px;flex-shrink:0;grid-template-rows:1fr}.view-toggle-panel .preview-legend{display:none}.view-toggle-tabs{height:100%}button.view-toggle-btn{padding:0 .22rem;font-size:.52rem}.options-header{flex-wrap:nowrap;gap:.35rem;min-width:0}.options-summary{max-width:min(12rem,40vw)}html[data-layout=stacked] .workspace{flex-direction:column}html[data-layout=stacked] .workspace>.options-panel{flex:0 0 auto;width:100%!important;max-width:none;order:-1}html[data-layout=stacked] .workspace-body{width:100%!important;flex:1 1 auto}html[data-layout=stacked] .sources-stack{display:contents}html[data-layout=stacked] .workspace-editors{flex-direction:column}html[data-layout=stacked] .options-heading{display:block}html[data-layout=stacked] .options-header-start .options-toggle .options-title{display:none}html[data-layout=stacked] .options-toggle{display:inline-flex!important}html[data-layout=stacked] .row-resizer,html[data-layout=stacked] .col-resizer{display:none}.workspace-editors.columns{flex-direction:column}.col-resizer{display:none}.workspace-editors .column,html[data-layout=stacked] .sources-stack .column,html[data-layout=stacked] .workspace-editors>.column{flex:1 1 auto!important;width:auto!important;height:auto!important;min-height:min(180px,28vh)}#app{height:auto;min-height:100vh}.options-grid{grid-template-columns:1fr}}@media(max-width:420px){.column-title-group h2{max-width:4.5rem}.column-hint{display:none}.status-bar{font-size:.68rem;padding:.28rem .4rem}}.hidden{display:none!important}
