/* A focused regex workbench in The New paper palette. */
.tn-rxt-page #rxtTool {
  --rxt-paper:#faf6ee; --rxt-surface:#fffdf7; --rxt-wash:#f5efdf;
  --rxt-ink:#1a1208; --rxt-muted:#5a4a30; --rxt-line:#b8a888;
  --rxt-soft:#ddd4be; --rxt-button:#ede6d4; --rxt-hover:#dfd4bb;
  --rxt-accent:#c44a00; --rxt-primary:#1a1208; --rxt-on-primary:#faf6ee;
  box-sizing:border-box; width:100%; min-width:0; padding:20px; color:var(--rxt-ink); background:var(--rxt-paper);
  border-top:3px double var(--rxt-ink); border-bottom:1px solid var(--rxt-line);
  -webkit-font-smoothing:antialiased;
}
.tn-rxt-page #rxtTool *, .tn-rxt-page #rxtTool *::before, .tn-rxt-page #rxtTool *::after { box-sizing:border-box; }
.tn-rxt-page #rxtTool [hidden] { display:none!important; }
.tn-rxt-page #rxtTool :is(p,h2,fieldset,legend,ol,li) { margin:0; }
.tn-rxt-page #rxtTool :is(ol,li) { padding:0; list-style:none; }
.tn-rxt-page #rxtTool :is(code,pre,kbd,samp) { border:0; border-radius:0; background:transparent; padding:0; color:inherit; -webkit-text-fill-color:inherit; }
.tn-rxt-page #rxtTool :is(button,input,textarea) { -webkit-text-fill-color:currentColor; }
.tn-rxt-page #rxtTool button {
  display:inline-grid; place-items:center; min-height:40px; padding:9px 13px;
  border:1px solid var(--rxt-line); border-radius:2px; box-shadow:none;
  background:var(--rxt-button); color:var(--rxt-ink); cursor:pointer;
  font:800 12px/1 'Courier New',monospace; text-align:center;
  transition:background-color 160ms cubic-bezier(.2,0,0,1),border-color 160ms cubic-bezier(.2,0,0,1),color 160ms cubic-bezier(.2,0,0,1),transform 160ms cubic-bezier(.2,0,0,1);
}
.tn-rxt-page #rxtTool button:hover:not(:disabled) { background:var(--rxt-hover); border-color:var(--rxt-ink); }
.tn-rxt-page #rxtTool button:active:not(:disabled) { transform:scale(.96); }
.tn-rxt-page #rxtTool button:disabled { cursor:not-allowed; opacity:.48; transform:none; }
.tn-rxt-page #rxtTool :is(button,input,textarea):focus-visible, .tn-rxt-page #rxtTool .rxt-flag:focus-within { outline:2px solid var(--rxt-accent); outline-offset:2px; }
.tn-rxt-page #rxtTool .rxt-introline { display:flex; align-items:center; justify-content:space-between; gap:8px 20px; flex-wrap:wrap; margin-bottom:16px; }
.tn-rxt-page #rxtTool .rxt-introline p { display:inline-flex; align-items:center; gap:7px; color:var(--rxt-muted); font-size:12px; line-height:1.5; }
.tn-rxt-page #rxtTool .rxt-introline p:first-child { color:var(--rxt-ink); font-weight:800; }
.tn-rxt-page #rxtTool .rxt-live-dot, .tn-rxt-page #rxtTool .rxt-status-dot { flex:none; width:7px; height:7px; border-radius:50%; background:var(--rxt-accent); box-shadow:0 0 0 3px var(--rxt-wash); }
.tn-rxt-page #rxtTool .rxt-pattern-area { display:grid; gap:9px; min-width:0; padding:17px 18px 16px; border:1px solid var(--rxt-line); background:var(--rxt-surface); }
.tn-rxt-page #rxtTool .rxt-field-head, .tn-rxt-page #rxtTool .rxt-replace-head, .tn-rxt-page #rxtTool .rxt-replace-foot { display:flex; justify-content:space-between; align-items:baseline; gap:10px 18px; flex-wrap:wrap; }
.tn-rxt-page #rxtTool .rxt-field-head label, .tn-rxt-page #rxtTool .rxt-replace-head label { font-size:15px; line-height:1.4; font-weight:800; }
.tn-rxt-page #rxtTool .rxt-field-head span, .tn-rxt-page #rxtTool .rxt-replace-foot span { color:var(--rxt-muted); font:700 11px/1.4 system-ui,sans-serif; font-variant-numeric:tabular-nums; }
.tn-rxt-page #rxtTool .rxt-pattern-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:0; min-width:0; border:1px solid var(--rxt-line); background:var(--rxt-paper); }
.tn-rxt-page #rxtTool .rxt-pattern-row > span { padding:0 10px; color:var(--rxt-accent); font:800 19px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tn-rxt-page #rxtTool .rxt-pattern-row input, .tn-rxt-page #rxtTool .rxt-replace-row textarea {
  width:100%; min-width:0; height:46px; padding:10px 6px; border:0; border-radius:0; box-shadow:none;
  background:transparent; color:var(--rxt-ink); font:14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.tn-rxt-page #rxtTool .rxt-pattern-row input:focus-visible, .tn-rxt-page #rxtTool .rxt-replace-row textarea:focus-visible { outline-offset:-3px; }
.tn-rxt-page #rxtTool .rxt-pattern-row button { align-self:stretch; min-height:46px; border-width:0 0 0 1px; border-radius:0; white-space:nowrap; }
.tn-rxt-page #rxtTool #rxtPatternHelp { color:var(--rxt-muted); font-size:11px; line-height:1.55; }
.tn-rxt-page #rxtTool .rxt-flags { min-width:0; padding:6px 0 0; border:0; border-top:1px solid var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-flags legend { float:left; width:100%; padding:0 0 7px; color:var(--rxt-muted); font-size:11px; font-weight:800; }
.tn-rxt-page #rxtTool .rxt-flag-list { display:flex; gap:6px; flex-wrap:wrap; clear:both; }
.tn-rxt-page #rxtTool .rxt-flag {
  display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:5px 10px; cursor:pointer;
  border:1px solid var(--rxt-soft); border-radius:2px; background:var(--rxt-paper); color:var(--rxt-muted);
  transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
.tn-rxt-page #rxtTool .rxt-flag:hover { border-color:var(--rxt-line); background:var(--rxt-wash); }
.tn-rxt-page #rxtTool .rxt-flag:has(input:checked) { border-color:var(--rxt-accent); background:var(--rxt-wash); color:var(--rxt-ink); }
.tn-rxt-page #rxtTool .rxt-flag:has(input:disabled) { opacity:.48; cursor:not-allowed; }
.tn-rxt-page #rxtTool .rxt-flag input { appearance:none; flex:none; width:15px; height:15px; margin:0; border:1px solid var(--rxt-line); border-radius:50%; background:var(--rxt-surface); cursor:inherit; }
.tn-rxt-page #rxtTool .rxt-flag input:checked { border:4px solid var(--rxt-accent); background:var(--rxt-paper); }
.tn-rxt-page #rxtTool .rxt-flag b { font:900 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tn-rxt-page #rxtTool .rxt-flag span { font-size:11px; line-height:1.2; white-space:nowrap; }
.tn-rxt-page #rxtTool .rxt-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:stretch; padding:14px 0; }
.tn-rxt-page #rxtTool .rxt-pane { display:flex; flex-direction:column; min-width:0; border:1px solid var(--rxt-line); background:var(--rxt-surface); transition:border-color 180ms ease,background-color 180ms ease; }
.tn-rxt-page #rxtTool .rxt-pane:focus-within, .tn-rxt-page #rxtTool[data-state="ready"] .rxt-result { border-color:var(--rxt-accent); }
.tn-rxt-page #rxtTool .rxt-result { background:var(--rxt-wash); }
.tn-rxt-page #rxtTool .rxt-pane-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:68px; padding:11px 18px; border-bottom:1px solid var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-pane-head small, .tn-rxt-page #rxtTool .rxt-replace-head small { display:block; margin-bottom:3px; color:var(--rxt-accent); font:900 10px/1.3 'Courier New',monospace; letter-spacing:.12em; }
.tn-rxt-page #rxtTool .rxt-pane-head h2 { font-size:16px; line-height:1.3; font-weight:800; text-wrap:balance; }
.tn-rxt-page #rxtTool .rxt-pane-head h2 label { cursor:text; }
.tn-rxt-page #rxtTool .rxt-pane-head > span { color:var(--rxt-muted); font-size:11px; white-space:nowrap; }
.tn-rxt-page #rxtTool .rxt-pane-head > b { flex:none; color:var(--rxt-accent); font:800 13px/1.3 system-ui,sans-serif; font-variant-numeric:tabular-nums; }
.tn-rxt-page #rxtTool #rxtInput { display:block; width:100%; min-width:0; height:330px; min-height:330px; resize:vertical; padding:18px; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--rxt-ink); font:14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow:auto; overflow-wrap:anywhere; tab-size:2; }
.tn-rxt-page #rxtTool :is(input,textarea)::placeholder { color:var(--rxt-muted); opacity:.72; }
.tn-rxt-page #rxtTool .rxt-pane-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding:9px 18px; border-top:1px solid var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-pane-foot span { color:var(--rxt-muted); font:700 11px/1.4 system-ui,sans-serif; font-variant-numeric:tabular-nums; }
.tn-rxt-page #rxtTool .rxt-result-body { display:flex; flex:1; flex-direction:column; min-width:0; }
.tn-rxt-page #rxtTool .rxt-preview-head, .tn-rxt-page #rxtTool .rxt-list-head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:9px 18px; border-bottom:1px solid var(--rxt-soft); color:var(--rxt-muted); font-size:11px; font-weight:800; }
.tn-rxt-page #rxtTool .rxt-preview-head code { min-width:0; max-width:55%; color:var(--rxt-accent); font:800 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; text-align:right; }
.tn-rxt-page #rxtTool .rxt-highlight { min-width:0; min-height:112px; max-height:150px; overflow:auto; padding:14px 18px; background:var(--rxt-surface); font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.tn-rxt-page #rxtTool .rxt-highlight mark { padding:2px 0; border-radius:1px; background:#f1cbae; color:#381a08; -webkit-text-fill-color:#381a08; box-decoration-break:clone; }
.tn-rxt-page #rxtTool .rxt-highlight mark.rxt-zero { padding:0 3px; border:1px solid var(--rxt-accent); background:var(--rxt-wash); color:var(--rxt-accent); -webkit-text-fill-color:var(--rxt-accent); }
.tn-rxt-page #rxtTool .rxt-empty { color:var(--rxt-muted); font:12px/1.6 system-ui,sans-serif; text-wrap:pretty; }
.tn-rxt-page #rxtTool .rxt-list-head { border-top:1px solid var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-list-head span:last-child { font-weight:500; text-align:right; }
.tn-rxt-page #rxtTool .rxt-matches { flex:1; min-height:172px; max-height:228px; overflow:auto; background:var(--rxt-wash); }
.tn-rxt-page #rxtTool .rxt-match { display:grid; gap:7px; min-width:0; padding:11px 18px; border-bottom:1px solid var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-match-head { display:flex; align-items:center; gap:8px; min-width:0; }
.tn-rxt-page #rxtTool .rxt-match-head b { color:var(--rxt-accent); font:800 11px/1.3 system-ui,sans-serif; font-variant-numeric:tabular-nums; }
.tn-rxt-page #rxtTool .rxt-match-head code { color:var(--rxt-muted); font:700 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tn-rxt-page #rxtTool .rxt-match-head button { margin-left:auto; min-height:40px; padding:7px 8px; font-size:11px; }
.tn-rxt-page #rxtTool .rxt-match-value { display:block; min-width:0; font:800 13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
.tn-rxt-page #rxtTool .rxt-groups { display:grid; gap:4px; padding-top:7px; border-top:1px dashed var(--rxt-soft); }
.tn-rxt-page #rxtTool .rxt-group { display:grid; grid-template-columns:minmax(72px,max-content) minmax(0,1fr) auto; gap:8px; align-items:start; color:var(--rxt-muted); font-size:11px; }
.tn-rxt-page #rxtTool .rxt-group code { color:var(--rxt-ink); overflow-wrap:anywhere; white-space:pre-wrap; }
.tn-rxt-page #rxtTool .rxt-group-range { color:var(--rxt-accent); font:700 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tn-rxt-page #rxtTool .rxt-replace { display:grid; gap:10px; min-width:0; padding:15px 18px 17px; border:1px solid var(--rxt-line); background:var(--rxt-surface); }
.tn-rxt-page #rxtTool .rxt-replace-head > div { display:grid; gap:2px; }
.tn-rxt-page #rxtTool .rxt-replace-head > span { color:var(--rxt-muted); font-size:11px; line-height:1.5; }
.tn-rxt-page #rxtTool .rxt-replace-row { display:grid; grid-template-columns:minmax(0,1fr) auto; min-width:0; border:1px solid var(--rxt-line); background:var(--rxt-paper); }
.tn-rxt-page #rxtTool .rxt-replace-row textarea { min-height:46px; resize:vertical; padding-inline:13px; }
.tn-rxt-page #rxtTool .rxt-replace-row button { min-height:46px; border-width:0 0 0 1px; border-radius:0; white-space:nowrap; }
.tn-rxt-page #rxtTool .rxt-replacement-preview { display:block; min-width:0; min-height:86px; max-height:190px; overflow:auto; padding:14px 16px; border:1px solid var(--rxt-soft); background:var(--rxt-wash); color:var(--rxt-ink); font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.tn-rxt-page #rxtTool .rxt-status { display:flex; align-items:center; gap:9px; padding:15px 0 0; }
.tn-rxt-page #rxtTool .rxt-status p { min-width:0; color:var(--rxt-muted); font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.tn-rxt-page #rxtTool[data-state="error"] .rxt-status p { color:var(--rxt-accent); font-weight:700; }
.tn-rxt-page #rxtTool[data-state="working"] .rxt-status-dot { animation:rxt-pulse 1s ease-in-out infinite alternate; }
@keyframes rxt-pulse { to { opacity:.35; transform:scale(.8); } }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-rxt-page #rxtTool,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-rxt-page #rxtTool {
  --rxt-paper:#241d12; --rxt-surface:#322a1a; --rxt-wash:#2c2519;
  --rxt-ink:#efe6d2; --rxt-muted:#c3b492; --rxt-line:#6f6047;
  --rxt-soft:#574a37; --rxt-button:#2f2115; --rxt-hover:#3a2a1b;
  --rxt-accent:#e8823f; --rxt-primary:#6a3b1f; --rxt-on-primary:#f7ead1; color-scheme:dark;
}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-rxt-page #rxtTool .rxt-highlight mark,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-rxt-page #rxtTool .rxt-highlight mark { background:#7c492b; color:#fff0d9; -webkit-text-fill-color:#fff0d9; }
@media (prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-rxt-page #rxtTool {
    --rxt-paper:#241d12; --rxt-surface:#322a1a; --rxt-wash:#2c2519;
    --rxt-ink:#efe6d2; --rxt-muted:#c3b492; --rxt-line:#6f6047;
    --rxt-soft:#574a37; --rxt-button:#2f2115; --rxt-hover:#3a2a1b;
    --rxt-accent:#e8823f; --rxt-primary:#6a3b1f; --rxt-on-primary:#f7ead1; color-scheme:dark;
  }
  body[data-scheme="auto"] .tn-rxt-page #rxtTool .rxt-highlight mark { background:#7c492b; color:#fff0d9; -webkit-text-fill-color:#fff0d9; }
}
@media (max-width:860px) {
  .tn-rxt-page #rxtTool .rxt-workspace { grid-template-columns:minmax(0,1fr); }
  .tn-rxt-page #rxtTool #rxtInput { height:250px; min-height:250px; }
  .tn-rxt-page #rxtTool .rxt-matches { min-height:120px; max-height:230px; }
}
@media (max-width:720px) {
  .tn-rxt-page #rxtTool { padding:14px; }
  .tn-rxt-page #rxtTool .rxt-pattern-area, .tn-rxt-page #rxtTool .rxt-replace { padding:13px; }
  .tn-rxt-page #rxtTool .rxt-pane-head, .tn-rxt-page #rxtTool .rxt-pane-foot, .tn-rxt-page #rxtTool .rxt-preview-head, .tn-rxt-page #rxtTool .rxt-list-head, .tn-rxt-page #rxtTool .rxt-match { padding-inline:13px; }
  .tn-rxt-page #rxtTool #rxtInput { height:220px; min-height:220px; padding:13px; font-size:16px; line-height:1.55; }
  .tn-rxt-page #rxtTool .rxt-highlight { min-height:88px; padding:13px; }
  .tn-rxt-page #rxtTool .rxt-pattern-row input, .tn-rxt-page #rxtTool .rxt-replace-row textarea { font-size:16px; }
  .tn-rxt-page #rxtTool .rxt-introline { margin-bottom:13px; }
}
@media (max-width:440px) {
  .tn-rxt-page #rxtTool .rxt-pattern-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .tn-rxt-page #rxtTool .rxt-pattern-row button { grid-column:1/-1; border-width:1px 0 0; }
  .tn-rxt-page #rxtTool .rxt-replace-row { grid-template-columns:minmax(0,1fr); }
  .tn-rxt-page #rxtTool .rxt-replace-row button { border-width:1px 0 0; }
  .tn-rxt-page #rxtTool .rxt-flag { flex:1 1 calc(50% - 3px); }
  .tn-rxt-page #rxtTool .rxt-flag span { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { .tn-rxt-page #rxtTool :is(button,.rxt-pane,.rxt-flag) { transition:none; } .tn-rxt-page #rxtTool[data-state="working"] .rxt-status-dot { animation:none; } }
.tn-rxt-page .rxt-ad { width:min(900px,100%); min-height:90px; margin-inline:auto; background:transparent; }
.tn-rxt-page .rxt-ad--top { margin-top:54px; margin-bottom:20px; }
.tn-rxt-page .rxt-ad--bottom { margin-top:20px; margin-bottom:28px; }
@media (max-width:720px) { .tn-rxt-page .rxt-ad--top { margin-top:48px; } }
