.regex-page{--regex-accent:#7c3aed;--regex-accent-dark:#5b21b6;--regex-accent-pale:#f3ecff;--regex-match:#fff2a8;--regex-selected:#ffd166}.regex-page .site-header{background:linear-gradient(140deg,#7c3aed1f,#0874871f)}.regex-page .hero-cta{background:var(--regex-accent)}.regex-page .hero-cta:focus-visible{outline-color:var(--regex-accent-dark)}.regex-page .site-nav .nav-links a[aria-current=page],.regex-page .nav-links a:hover{border-color:var(--regex-accent);color:var(--regex-accent-dark)}.regex-app{color:var(--ink);gap:14px;display:grid}.regex-topbar{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.regex-topbar>div{gap:3px;display:grid}.regex-topbar p{color:var(--muted);margin:0;font-size:13px}.regex-local-label{font-weight:850;color:var(--regex-accent-dark)!important}.regex-topbar output{background:var(--regex-accent-pale);color:var(--regex-accent-dark);border-radius:999px;flex:none;padding:9px 11px;font-size:13px}.regex-workspace{grid-template-columns:minmax(340px,43%) minmax(0,1fr);align-items:start;gap:14px;display:grid}.regex-input-column,.regex-output-column{gap:14px;min-width:0;display:grid}.regex-panel{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:14px;box-shadow:0 12px 35px #0f172a0d}.regex-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.regex-panel-heading h3{letter-spacing:-.02em;margin:0;font-size:15px}.regex-panel-heading label{font-size:14px;font-weight:900}.regex-panel-heading span,.regex-panel>p,.regex-replacement small,.regex-render-note{color:var(--muted);font-size:12px}.regex-panel>p{margin:8px 0 0}.regex-pattern-row{border:1px solid var(--line);background:#f8fafc;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:5px 10px;display:grid}.regex-pattern-row>span,.regex-pattern-row>code{color:var(--regex-accent-dark);font:800 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.regex-pattern-row input{background:0 0;border:0;outline:none;min-width:0;min-height:36px;font:600 14px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.regex-pattern-row:focus-within{border-color:var(--regex-accent);box-shadow:0 0 0 3px #7c3aed24}.regex-flags{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:12px;display:grid}.regex-flags legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-inline:6px;font-size:12px;font-weight:900}.regex-flag{border:1px solid var(--line);min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"symbol label""symbol detail";align-items:center;padding:8px 10px;display:grid}.regex-flag[aria-pressed=true]{border-color:var(--regex-accent);background:var(--regex-accent-pale)}.regex-flag span{color:var(--regex-accent-dark);grid-area:symbol;font:900 17px/1 ui-monospace,monospace}.regex-flag strong{grid-area:label;font-size:13px}.regex-flag small{color:var(--muted);grid-area:detail;font-size:11px;line-height:1.3}.regex-panel textarea,.regex-replacement input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;font:600 14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.regex-panel textarea{resize:vertical;min-height:260px;padding:12px}.regex-panel textarea:focus,.regex-replacement input:focus{border-color:var(--regex-accent);outline:3px solid #7c3aed24}.regex-replacement{border:1px solid var(--line);background:#fff;border-radius:16px;gap:7px;padding:14px;display:grid}.regex-replacement>label:not(.regex-replacement-toggle){font-size:14px;font-weight:900}.regex-replacement-toggle{align-items:center;gap:9px;font-size:14px;font-weight:800;display:flex}.regex-replacement-toggle input{width:18px;height:18px;accent-color:var(--regex-accent)}.regex-replacement input{min-height:44px;padding:10px 12px}.regex-replacement input:disabled{color:var(--muted);background:#f3f4f6}.regex-presets{flex-wrap:wrap;align-items:center;gap:7px;padding:4px 0;display:flex}.regex-presets span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:900}.regex-presets button{border:1px solid var(--line);min-height:44px;color:var(--aqua-dark);cursor:pointer;background:#fff;border-radius:999px;padding:10px 13px;font-size:12px;font-weight:850}.regex-presets button:hover{border-color:var(--regex-accent);background:var(--regex-accent-pale)}.regex-highlight-panel pre,.regex-replacement-output pre{border:1px solid var(--line);color:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere;background:#0f172a;border-radius:12px;max-height:42vh;margin:0;padding:14px;font:600 13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.regex-highlight-panel mark{background:var(--regex-match);color:#172033;border-radius:3px;padding:1px 0}.regex-highlight-panel mark.selected{background:var(--regex-selected);box-shadow:inset 0 -2px 0 var(--regex-accent)}.regex-empty,.regex-error{border-radius:12px;gap:4px;margin:0;padding:18px 14px;display:grid}.regex-empty{border:1px dashed var(--line);color:var(--muted);background:#f8fafc}.regex-empty strong{color:var(--ink)}.regex-error{color:#7f1d1d;background:#fff5f5;border:1px solid #f2b8b5}.regex-render-note{margin:9px 0 0}.regex-match-panel ul{gap:8px;max-height:350px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.regex-match-panel li{border:1px solid var(--line);background:#f8fafc;border-radius:12px;min-width:0}.regex-match-panel li>button{width:100%;min-height:56px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;padding:10px;display:grid}.regex-match-panel li>button>span{color:var(--muted);align-self:start;font-size:12px;font-weight:900}.regex-match-panel li>button>strong{overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.regex-match-panel li>button>small{color:var(--muted);grid-column:2;font-size:11px}.regex-match-panel li>button:hover strong{color:var(--regex-accent-dark)}.regex-match-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0 10px 10px 31px;display:grid}.regex-match-panel dt{color:var(--muted);font-size:11px;font-weight:850}.regex-match-panel dd{overflow-wrap:anywhere;margin:0;font-size:12px}.regex-match-panel dd code{background:#fff;border-radius:6px;padding:3px 5px}.regex-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.regex-actions button,.regex-replacement-output button{border:1px solid var(--regex-accent);background:var(--regex-accent-pale);min-height:44px;color:var(--regex-accent-dark);cursor:pointer;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:900}.regex-replacement-output button{min-height:36px;margin-left:auto}@media (width<=1000px){.regex-workspace{grid-template-columns:1fr}.regex-highlight-panel pre,.regex-replacement-output pre{max-height:34vh}}@media (width<=760px){.regex-topbar,.regex-panel-heading,.regex-replacement,.regex-pattern-row{flex-direction:column;align-items:stretch}.regex-pattern-row{grid-template-columns:1fr}.regex-pattern-row>span:first-child{display:none}.regex-pattern-row>code{text-align:right}.regex-pattern-row input{min-height:44px}.regex-workspace{grid-template-columns:1fr}.regex-input-column,.regex-output-column{display:contents}.regex-pattern-panel{order:1}.regex-text-panel{order:2}.regex-highlight-panel{order:3}.regex-match-panel{order:4}.regex-replacement-output{order:5}.regex-replacement{order:6}.regex-presets{order:7}.regex-flags{order:8;grid-template-columns:1fr}.regex-panel textarea{min-height:210px}.regex-presets{flex-direction:column;align-items:stretch}.regex-presets button{width:100%}.regex-match-panel dl{grid-template-columns:1fr;padding-left:10px}.regex-actions{grid-template-columns:1fr;display:grid}.regex-actions button,.regex-replacement-output button{width:100%}.regex-replacement-output .regex-panel-heading{display:grid}}
