:root{--bg:#f5f5ef;--surface:#fffefa;--ink:#23392f;--muted:#63746a;--line:#d8dfd5;--accent:#2f674d;--accent-ink:#fff;--mark:#deebc6;--structure:#866aa8;--focus:#578a70;--danger:#a43636;color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}
@media(prefers-color-scheme:dark){:root{--bg:#18231e;--surface:#202e27;--ink:#e3ebe1;--muted:#acb9ad;--line:#3c4b40;--accent:#a6d5ad;--accent-ink:#17281d;--mark:#405c39;--structure:#bfa4e0;--focus:#a6d5ad;--danger:#ffa5a5}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}main{max-width:1340px;margin:auto;padding:32px clamp(16px,4vw,56px)}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:.68rem;letter-spacing:.19em;color:var(--muted);margin:0 0 10px}h1{font-family:Georgia,serif;font-size:2.8rem;font-weight:normal;letter-spacing:-.04em;margin:0}h1 span{font-family:system-ui,sans-serif;letter-spacing:0;font-size:1rem;color:var(--muted)}.badge{border:1px solid var(--line);padding:7px 11px;border-radius:100px;font-size:.75rem;white-space:nowrap}.intro{color:var(--muted);line-height:1.6;margin:18px 0 25px}.settings{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.primary-controls,.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:17px;align-items:start}.primary-controls{padding:20px}.control-grid{margin:17px 0 12px}.control-grid .wide{grid-column:span 2}label{display:block;font-size:.8rem;color:var(--muted);line-height:1.6;min-width:0}input,select,button,textarea{font:inherit;color:var(--ink)}input:not([type=checkbox]):not([type=range]),select{display:block;width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px;margin-top:4px;min-height:39px}input[type=range]{display:block;width:100%;margin:11px 0 0;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}output{float:right;font-variant-numeric:tabular-nums;color:var(--ink)}small{color:var(--muted)}button{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:9px 13px;cursor:pointer;font-size:.82rem;white-space:nowrap}button:hover:not(:disabled){border-color:var(--accent);background:var(--bg)}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600;padding:11px 23px}.primary:hover:not(:disabled){color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}details{border-top:1px solid var(--line);padding:13px 20px}summary{font-size:.84rem;cursor:pointer;font-weight:550}.hint{font-size:.75rem;color:var(--muted);line-height:1.6;margin:10px 0 2px}.joined{display:flex;gap:5px;align-items:end}.joined button{min-height:39px}.toggles{display:flex;gap:24px;margin:15px 0;flex-wrap:wrap}.toggles label{color:var(--ink)}fieldset{border:1px solid var(--line);border-radius:6px;display:flex;gap:8px 18px;flex-wrap:wrap;margin:18px 0 0;padding:10px 12px}legend{font-size:.76rem;color:var(--muted)}fieldset label{font-size:.76rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 14px;flex-wrap:wrap}.toolbar>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#status{font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}#status.error{color:var(--danger)}.panes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pane{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;display:flex;flex-direction:column}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:55px;padding:12px 18px;border-bottom:1px solid var(--line)}.pane-heading label,h2{font-size:.84rem;color:var(--ink);font-weight:600;margin:0}.pane-heading button{font-size:.7rem;padding:5px 9px}.legend{font-size:.68rem;color:var(--muted);display:flex;gap:12px}mark{background:var(--mark);color:var(--ink);border-radius:3px;padding:1px 3px}.structure-legend{text-decoration:underline;text-decoration-color:var(--structure);text-underline-offset:4px}textarea,#output{padding:23px;width:100%;min-height:335px;background:transparent;border:0;font-family:Georgia,"Times New Roman",serif;font-size:1.14rem;line-height:1.9;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;tab-size:4;flex:1}textarea{resize:vertical;display:block;border-radius:0}textarea:focus-visible{outline-offset:-3px}#output{max-height:75vh;overflow-y:auto}#output .change{font:inherit;color:var(--ink);border:0;background:var(--mark);border-radius:3px;padding:0;white-space:pre-wrap;cursor:pointer;overflow-wrap:anywhere;text-align:inherit}#output .restructured{font:inherit;color:var(--ink);text-decoration:underline;text-decoration-color:var(--structure);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer;white-space:pre-wrap}#output .change:hover{filter:brightness(.94)}.placeholder{color:var(--muted);font-style:italic}.pane-foot{margin:0;padding:12px 18px;border-top:1px solid var(--line);font-size:.68rem;line-height:1.6;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:14px;margin-top:16px;font-size:.73rem;line-height:1.8;color:var(--muted)}a{color:var(--muted)}.load-row{font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.load-row progress{height:6px;width:130px;accent-color:var(--accent)}[hidden]{display:none!important}
@media(max-width:760px){main{padding-top:22px}header{align-items:start}.badge{display:none}h1 span{display:block;font-size:.82rem;margin-top:5px}.panes{grid-template-columns:1fr}.primary-controls,.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.primary-controls{padding:16px}details{padding:13px 16px}.control-grid .wide{grid-column:1/-1}textarea,#output{min-height:240px;padding:18px}footer{flex-direction:column;gap:2px}.toolbar{align-items:start}.toolbar>div{max-width:100%}}
@media(max-width:380px){.primary-controls{grid-template-columns:1fr}.joined{flex-wrap:wrap}.joined input{flex:1;min-width:70px!important}.pane-heading{padding:12px}.legend{gap:5px}}
