:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-muted: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--border-color: #334155;--accent-color: #3b82f6;--accent-hover: #60a5fa;--card-bg: rgba(30, 41, 59, .7);--code-bg: #1e293b;--ok: #34d399;--warn: #fbbf24;--danger: #fb7185;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-muted: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--border-color: #e2e8f0;--accent-color: #2563eb;--accent-hover: #1d4ed8;--card-bg: #f8fafc;--code-bg: #f1f5f9;--ok: #059669;--warn: #b45309;--danger: #e11d48;color-scheme:light}}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-muted: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--border-color: #e2e8f0;--accent-color: #2563eb;--accent-hover: #1d4ed8;--card-bg: #f8fafc;--code-bg: #f1f5f9;--ok: #059669;--warn: #b45309;--danger: #e11d48;color-scheme:light}[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);overflow:hidden}button,textarea,select{font:inherit;color:inherit}.language-select{max-width:120px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);padding:4px 6px;font-size:11px}.language-select:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}#app{display:flex;flex-direction:column;height:100vh;width:100vw}.studio-header{height:44px;flex:0 0 44px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;user-select:none;gap:12px}.header-left,.header-right,.pane-actions,.findings-title,.findings-tools{display:flex;align-items:center;gap:8px;min-width:0}.app-badge{font-weight:700;font-size:13px;letter-spacing:-.02em}.status-indicator{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex:0 0 auto}.status-dot.ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent)}.status-dot.warn{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 55%,transparent)}.status-dot.bad{background:var(--danger)}.status-dot.loading{background:var(--warn)}.view-mode-selector{display:flex;align-items:center;gap:2px;background:var(--bg-primary);border:1px solid var(--border-color);padding:2px;border-radius:6px;flex:0 0 auto}.view-mode-btn,.preset-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.01em}.view-mode-btn.active,.preset-btn.active{background:var(--bg-muted);color:var(--text-primary)}.icon-btn,.text-btn,.pane-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.icon-btn,.pane-btn{padding:6px}.text-btn{padding:4px 8px;font-size:12px;font-weight:600;border-color:var(--border-color)}.icon-btn:hover,.text-btn:hover,.pane-btn:hover,.view-mode-btn:hover,.preset-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.text-btn.copied{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,var(--border-color))}.filter-bar{flex:0 0 auto;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:8px 12px 10px;display:flex;flex-direction:column;gap:8px}.preset-row{display:flex;align-items:center;gap:12px;min-width:0}.preset-hint{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggles,.category-filters{display:flex;flex-wrap:wrap;gap:6px}.toggle,.cat-chip{border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;cursor:pointer}.toggle[aria-pressed=true]{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-color) 70%,var(--border-color));background:color-mix(in srgb,var(--accent-color) 16%,transparent)}.cat-chip.active{color:var(--text-primary);background:var(--bg-primary)}.studio-workspace{flex:1 1 auto;min-height:0;display:flex;overflow:hidden}.pane{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.editor-pane{width:50%;min-width:280px}.preview-pane{flex:1;min-width:240px}.preview-pane textarea{flex:1;height:auto;min-height:0}.pane-header,.findings-header{height:32px;flex:0 0 32px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 12px;gap:8px}.findings-header{height:auto;min-height:32px;flex:0 0 auto;padding:6px 8px 6px 12px;align-items:flex-start}.pane-title{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-secondary)}.pane-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);font-weight:500;max-width:min(240px,34vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-surface{position:relative;flex:1;min-height:0}textarea,.reveal{display:block;width:100%;height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.6;padding:16px;border:none;resize:none;outline:none}textarea::placeholder{color:var(--text-secondary)}.reveal{position:absolute;inset:0;overflow:auto;white-space:pre-wrap;word-break:break-word}.reveal.hidden,textarea.hidden{display:none}.empty-state{position:absolute;left:16px;right:16px;top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:13px;pointer-events:none}.empty-state.hidden{display:none}.empty-state .text-btn{pointer-events:auto}.pane.dragover{box-shadow:inset 0 0 0 2px var(--accent-color)}.resizer{width:5px;flex:0 0 5px;background:var(--border-color);cursor:col-resize}.resizer:hover,.resizer.dragging{background:var(--accent-color)}.findings-panel{flex:0 0 228px;min-height:120px;display:flex;flex-direction:column;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.bidi-note{margin:0;padding:7px 12px;font-size:12px;line-height:1.4;background:color-mix(in srgb,var(--warn) 14%,var(--bg-primary));border-bottom:1px solid var(--border-color)}.bidi-note.hidden{display:none}.findings-list{flex:1;overflow:auto;background:var(--bg-primary)}.finding{width:100%;display:grid;grid-template-columns:8px 92px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 12px;border:none;border-bottom:1px solid var(--border-color);background:transparent;text-align:left;cursor:pointer}.finding:hover,.finding.active{background:var(--bg-secondary)}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.cp,.loc,.context{font-family:var(--font-mono);font-size:11px}.cp{color:var(--text-primary);font-weight:600}.fname{font-size:12px;font-weight:600;min-width:0}.context{display:block;margin-top:2px;color:var(--text-secondary);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc{color:var(--text-secondary)}.action{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 7px;border:1px solid var(--border-color);color:var(--text-secondary)}.action.remove{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border-color))}.action.replace{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--border-color))}.action.keep{color:var(--text-secondary)}.empty-findings,.truncation-note{padding:22px 16px;color:var(--text-secondary);font-size:13px}.truncation-note{padding:8px 12px;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--warn) 12%,var(--bg-primary))}.chip{display:inline-block;margin:0 1px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.03em;line-height:1.5;vertical-align:1px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.dot.cat-zero-width,.dot.cat-bidi,.dot.cat-joiner,.dot.cat-control,.dot.cat-space,.dot.cat-newline,.dot.cat-tag,.dot.cat-variation,.dot.cat-private-use,.dot.cat-noncharacter,.dot.cat-zalgo,.dot.cat-confusable,.dot.cat-punctuation,.dot.cat-fullwidth{background:currentColor}.dot.cat-zero-width,.chip.cat-zero-width{color:#fb7185}.dot.cat-bidi,.chip.cat-bidi{color:#fb923c}.dot.cat-joiner,.chip.cat-joiner{color:#facc15}.dot.cat-control,.chip.cat-control{color:#c084fc}.dot.cat-space,.chip.cat-space{color:#38bdf8}.dot.cat-newline,.chip.cat-newline{color:#94a3b8}.dot.cat-tag,.chip.cat-tag{color:#f472b6}.dot.cat-variation,.chip.cat-variation{color:#cbd5e1}.dot.cat-private-use,.chip.cat-private-use{color:#d8b4fe}.dot.cat-noncharacter,.chip.cat-noncharacter{color:#f87171}.dot.cat-zalgo,.chip.cat-zalgo{color:#fda4af}.dot.cat-confusable,.chip.cat-confusable{color:#fbbf24}.dot.cat-punctuation,.chip.cat-punctuation{color:#34d399}.dot.cat-fullwidth,.chip.cat-fullwidth{color:#22d3ee}.chip.act-keep{opacity:.75}@media(max-width:860px){body{overflow:auto}#app{height:auto;min-height:100vh}.studio-workspace{flex-direction:column;min-height:70vh}.editor-pane,.preview-pane{width:100%!important;height:32vh;min-height:180px;flex:0 0 auto}.resizer,.preset-hint{display:none}.finding{grid-template-columns:8px 78px minmax(0,1fr)}.action,.loc{display:none}.findings-panel{flex-basis:260px}}@media(max-width:600px){.studio-header{height:auto;min-height:44px;flex:0 0 auto;flex-wrap:wrap;padding:8px 12px}.header-right{margin-left:auto}.pane-header{flex-wrap:wrap}.pane-actions{flex-wrap:wrap;margin-left:auto}}
