:root{--bg:#f6f7f9;--surface:#fff;--surface-raised:#fff;--surface-subtle:#f2f4f7;--editor-bg:#fff;--editor-gutter:#f8f9fb;--editor-active-line:#eef4fd;--text:#171a1f;--text-muted:#515a68;--text-subtle:#667180;--border:#d8dde6;--border-strong:#aeb7c5;--accent:#2a5db0;--accent-hover:#1f4e98;--accent-solid:#2a5db0;--accent-solid-hover:#1f4e98;--accent-soft:#edf3fc;--selection:#cbdcf7;--success:#19724b;--success-soft:#eaf6ef;--warning:#9a5b13;--warning-soft:#fff4db;--failure:#b42318;--failure-soft:#fff0ef;--syntax-number:#6f42c1;--focus:#5c89d6;--overlay:#171a1f57;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--radius:4px;--header-height:60px}:root[data-theme=dark]{--bg:#171a1f;--surface:#1d2128;--surface-raised:#252a33;--surface-subtle:#222730;--editor-bg:#1b1f26;--editor-gutter:#181c22;--editor-active-line:#222d3d;--text:#eef1f5;--text-muted:#b9c0cb;--text-subtle:#8e98a8;--border:#343b47;--border-strong:#515b6b;--accent:#73a4f4;--accent-hover:#92b9f8;--accent-solid:#315f9f;--accent-solid-hover:#3d70b4;--accent-soft:#223653;--selection:#314e77;--success:#64c893;--success-soft:#193b2b;--warning:#e3ae62;--warning-soft:#443318;--failure:#ff8a80;--failure-soft:#48211f;--syntax-number:#c5a3ff;--focus:#8fb7f7;--overlay:#00000094}*{box-sizing:border-box}html,body,#root{min-width:0;min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px}button,select,input,textarea{color:inherit;font:600 13px/1.2 var(--font-ui)}button,select,input,textarea,a{outline:none}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,.cm-editor.cm-focused{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus)}a{color:var(--accent)}.app-shell{background:var(--bg);grid-template-rows:auto auto minmax(390px,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.app-header{min-height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:8px 20px;display:flex}.brand-lockup,.brand-lockup>div,.header-actions,.language-control,.theme-control,.header-actions a{align-items:center;display:flex}.brand-lockup{gap:12px;min-width:0}.brand-mark{border-radius:var(--radius);background:var(--accent);color:#fff;width:42px;height:42px;font:700 16px/1 var(--font-mono);flex:0 0 42px;place-items:center;display:inline-grid}.brand-lockup>div{gap:16px;min-width:0}.brand-lockup h1{letter-spacing:-.025em;white-space:nowrap;margin:0;font-size:21px;line-height:1.1}.brand-lockup p{color:var(--text-muted);white-space:nowrap;margin:1px 0 0;font-size:13px}.header-actions{flex:none;gap:18px}.header-actions a{text-underline-offset:3px;gap:5px;min-height:36px;font-weight:650}.language-control,.theme-control{color:var(--text-muted);gap:7px;font-size:12px;font-weight:700}.language-control select,.theme-control select,.settings-panel select,.settings-panel input[type=number],.settings-panel textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:36px;padding:7px 30px 7px 9px}.editor-toolbar{background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:thin;align-items:center;gap:8px;min-width:0;padding:9px 20px;display:flex;overflow-x:auto}.toolbar-button,.secondary-button,.text-button,.icon-button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 13px;display:inline-flex}.toolbar-button:hover:not(:disabled),.secondary-button:hover,.icon-button:hover{border-color:var(--accent);background:var(--accent-soft)}.toolbar-button:disabled{cursor:not-allowed;opacity:.46}.toolbar-button.button-primary{border-color:var(--accent-solid);background:var(--accent-solid);color:#fff;min-width:112px}.toolbar-button.button-primary:hover{background:var(--accent-solid-hover)}.toolbar-button.button-stop{border-color:var(--failure);color:var(--failure)}.toolbar-button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.editor-toolbar>.toolbar-button:last-child{margin-left:auto}.workspace{min-height:0;padding:0 20px 10px}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;height:100%;display:grid}.editor-grid.is-visually-hidden{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.syntax-spine{position:relative}.syntax-spine:before{content:"";z-index:3;background:var(--accent);width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.editor-pane,.diff-pane{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);grid-template-rows:44px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.pane-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px 7px 14px;display:flex}.pane-header>div,.pane-header h2{align-items:baseline;gap:8px;display:flex}.pane-header h2{margin:0;font-size:14px;line-height:1.2}.pane-muted,.pane-stats{color:var(--text-subtle);white-space:nowrap;font-size:11px;font-weight:650}.editor-host,.editor-host>.cm-editor,.diff-host,.diff-host>.cm-editor,.diff-host>.cm-mergeView{height:100%;min-height:0}.editor-host>.cm-editor,.diff-host>.cm-editor,.cm-mergeView .cm-editor{outline:0}.diff-pane{height:100%}.diff-host .cm-mergeView{overflow:auto}.diff-host .cm-mergeViewEditors{height:100%}.diff-host .cm-mergeViewEditor{min-width:0}.diff-host .cm-merge-a .cm-changedLine,.diff-host .cm-deletedChunk{background:var(--failure-soft)!important}.diff-host .cm-merge-b .cm-changedLine,.diff-host .cm-inlineChangedLine{background:var(--success-soft)!important}.lower-rail{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);margin:0 20px 14px}.status-privacy-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:48px;padding:6px 14px 6px 18px;display:flex}.format-status{color:var(--text-muted);align-items:center;gap:22px;font-size:12px;display:flex}.format-status>span,.status-kind,.privacy-notice{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.status-kind{font-weight:750}.status-detail{flex:260px;line-height:1.35;white-space:normal!important}.is-success{color:var(--success)}.is-failure{color:var(--failure)}.is-stale{color:var(--warning)}.is-running{color:var(--accent)}.is-neutral{color:var(--text-muted)}.privacy-notice{color:var(--text-muted);margin:0;font-size:12px}.diagnostics-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:38px;padding:5px 14px 5px 18px;display:flex}.diagnostics-panel h2{margin:0;font-size:13px}.diagnostics-panel>header span{color:var(--text-subtle);font-size:11px}.diagnostic-content{max-height:182px;overflow:auto}.diagnostic-callout{border-left:3px solid;align-items:flex-start;gap:9px;margin:10px 12px;padding:9px 11px;font-size:12px;display:flex}.diagnostic-callout p{overflow-wrap:anywhere;margin:3px 0 0;line-height:1.5}.failure-callout{border-color:var(--failure);background:var(--failure-soft);color:var(--failure)}.warning-callout{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.diagnostic-stage{color:var(--text-muted);margin-left:10px;display:inline-block}.diagnostic-table-wrap{overflow-x:auto}.diagnostics-panel table{border-collapse:collapse;width:100%;font-size:12px}.diagnostics-panel th,.diagnostics-panel td{border-bottom:1px solid var(--border);text-align:left;padding:8px 14px}.diagnostics-panel th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.045em;font-size:11px}.diagnostics-panel td:nth-child(2){align-items:center;gap:5px;display:flex}.empty-diagnostics{color:var(--text-subtle);margin:0;padding:12px 18px;font-size:12px}.settings-backdrop{z-index:20;background:color-mix(in srgb, var(--overlay) 62%, transparent);justify-content:flex-end;display:flex;position:fixed;inset:0}.settings-panel{background:var(--surface);border-left:1px solid var(--border-strong);grid-template-rows:auto minmax(0,1fr) auto;width:min(460px,100vw);min-width:0;height:100%;display:grid;box-shadow:-8px 0 28px #00000024}.settings-panel-header,.settings-panel-footer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 16px;display:flex}.settings-panel-footer{border-top:1px solid var(--border);border-bottom:0}.settings-panel h2{margin:0;font-size:16px}.icon-button{width:38px;padding:0}.settings-scroll{padding:14px 16px 24px;overflow-y:auto}.settings-panel fieldset{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:10px 12px;min-width:0;margin:0 0 12px;padding:11px 12px 13px;display:grid}.settings-panel legend{padding:0 5px;font-size:12px;font-weight:800}.settings-panel label{color:var(--text-muted);gap:5px;font-size:11px;font-weight:700;display:grid}.settings-panel input[type=number],.settings-panel select,.settings-panel textarea{width:100%;color:var(--text);font-weight:550}.setting-toggle{align-items:center;min-height:36px;grid-template-columns:1fr auto!important;gap:12px!important}.setting-toggle input{width:18px;height:18px;accent-color:var(--accent);margin:0}.settings-columns{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:4px 18px;display:grid}.setting-wide{grid-column:1/-1}.parser-config-row{border:1px solid var(--border);color:var(--text-muted);gap:5px;padding:11px 12px;font-size:11px;font-weight:750;display:grid}.parser-config-row output{color:var(--text);font-size:12px;font-weight:550}.text-button{color:var(--accent);border-color:#0000}.text-button:hover{text-decoration:underline}.lazy-loading,.initialization-screen{place-items:center;display:grid}.lazy-loading{height:100%;color:var(--text-muted)}.initialization-screen{background:var(--bg);text-align:center;align-content:center;gap:12px;min-height:100dvh}.initialization-screen h1,.initialization-screen p{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:980px){.brand-lockup p,.header-actions a span{display:none}.header-actions{gap:10px}.format-status{gap:12px}.format-status>.status-profile{display:none}}@media (max-width:800px){.app-shell{min-height:100dvh;display:block}.app-header{gap:8px;min-height:58px;padding:8px 12px}.brand-mark{flex-basis:36px;width:36px;height:36px}.brand-lockup h1{font-size:16px}.brand-lockup>div{display:block}.header-actions a,.language-control span,.theme-control span{display:none}.header-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:6px;min-width:0}.language-control,.theme-control{min-width:0}.language-control select{width:110px;min-width:0;max-width:100%;min-height:44px}.theme-control select{width:88px;min-width:0;max-width:100%;min-height:44px}.editor-toolbar{gap:6px;padding:7px 10px}.toolbar-button{min-height:44px;padding:7px 11px}.toolbar-button.button-primary{min-width:auto}.editor-toolbar>.toolbar-button:last-child{margin-left:0}.toolbar-button span{font-size:11px}.workspace{padding:0 10px 10px}.editor-grid{grid-template-columns:1fr;gap:8px;height:auto;display:grid}.editor-pane{height:320px}.diff-pane{height:68dvh;min-height:520px}.lower-rail{margin:0 10px 10px}.status-privacy-row{padding:8px 12px 8px 16px;display:grid}.format-status{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px;font-size:11px}.privacy-notice{white-space:normal;line-height:1.4}.diagnostic-content{max-height:240px}.settings-panel{width:100%}.settings-panel-header,.settings-panel-footer{flex-wrap:wrap}.settings-panel-header h2{overflow-wrap:anywhere;min-width:0}.settings-panel-footer>button{white-space:normal;flex:100%;min-width:0}.settings-panel fieldset,.settings-columns{grid-template-columns:1fr}.setting-wide,.settings-columns{grid-column:auto}}@media (max-width:480px){.brand-lockup>div{display:none}.brand-lockup{flex:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
