@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#172033;font-synthesis:none;background:#f8fafc;font-family:Manrope,sans-serif}:root[data-theme=dark]{color:#e7edf5;background:#111827}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;overflow:hidden}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf0;border-bottom:1px solid #dde5ef;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;max-width:1160px;min-height:72px;margin:auto;padding:0 28px;display:flex}.brand,.footer-brand{align-items:center;gap:9px;font-size:19px;font-weight:800;display:inline-flex}.brand-mark{color:#fff;background:#f06449;border-radius:7px;justify-content:center;align-items:center;width:29px;height:29px;font-family:DM Mono,monospace;font-size:18px;font-weight:500;display:inline-flex}.nav-links{align-items:center;gap:27px;font-size:14px;font-weight:600;display:flex}.nav-links>a{color:#536175}.nav-links>a:hover,.footer-links a:hover{color:#0a7b83}.menu-toggle{color:#172033;background:0 0;border:0;padding:7px;display:none}.main-content{max-width:1160px;margin:auto;padding:0 28px 80px}.hero{justify-content:space-between;align-items:end;gap:24px;padding:58px 0 35px;display:flex}.eyebrow,.section-label{color:#0a7b83;letter-spacing:.04em;text-transform:uppercase;gap:8px;margin:0 0 13px;font-family:DM Mono,monospace;font-size:12px;font-weight:500;display:flex}.hero h1{margin:0 0 15px;font-size:clamp(38px,5vw,58px);line-height:1.05}.intro-copy{color:#526074;max-width:600px;margin:0;font-size:17px;line-height:1.6}.hero-actions{align-items:center;gap:10px;display:flex}.theme-toggle,.secondary-button,.reset-button,.copy-button,.icon-button{color:#526074;background:0 0;border:1px solid #cbd6e2;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.theme-toggle:hover,.secondary-button:hover,.reset-button:hover,.copy-button:hover,.icon-button:hover{color:#0a7b83;border-color:#0a7b83}.workspace{background:#fff;border:1px solid #dce4ee;border-radius:8px;padding:22px;box-shadow:0 12px 30px #1720330f}.workspace-toolbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.workspace-toolbar label{color:#536175;font-size:13px;font-weight:700}.workspace-toolbar select{color:#172033;background:#fff;border:1px solid #cbd6e2;border-radius:6px;min-width:190px;padding:8px 10px}.reset-button{margin-left:auto;padding:7px 11px}.editor-grid,.result-grid,.reference-layout{grid-template-columns:1fr 1fr;gap:18px;display:grid}.input-panel,.matches-panel,.details-panel,.panel{border:1px solid #dce4ee;border-radius:7px;padding:18px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.panel-heading label,.panel-heading>div:first-child{color:#253247;text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:800}.regex-input-wrap{background:#f6f9fb;border:1px solid #cbd6e2;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-family:DM Mono,monospace;font-size:15px;display:flex}.regex-input-wrap input{color:#172033;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:8px 0}.regex-input-wrap.is-valid{border-color:#66bcb7}.regex-input-wrap.has-error{border-color:#db6c5a}.validation{color:#748197;align-items:center;gap:5px;min-height:17px;margin:9px 0 15px;font-size:12px;display:flex}.validation.success{color:#087e79}.validation.error,.error-state{color:#c44f3d}.flags{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.flags>span{color:#536175;margin-right:5px;font-size:12px;font-weight:700}.flags label{cursor:pointer}.flags input{opacity:0;position:absolute}.flags b{color:#68758a;border:1px solid #cbd6e2;border-radius:4px;padding:5px 8px;font:13px DM Mono,monospace;display:inline-block}.flags input:checked+b{color:#087e79;background:#dff5f2;border-color:#6ac2bd}.text-panel textarea{color:#172033;resize:vertical;background:#f6f9fb;border:1px solid #cbd6e2;border-radius:6px;width:100%;min-height:151px;padding:12px;font:14px/1.65 DM Mono,monospace}.text-panel textarea:focus,.regex-input-wrap:focus-within{border-color:#0a7b83;outline:3px solid #5ac5c22e}.character-count{color:#8a96a6;font-size:11px}.privacy-note{color:#68758a;align-items:center;gap:5px;margin-top:9px;font-size:11px;display:flex}.privacy-note svg{color:#0a7b83}.result-grid{grid-template-columns:1.1fr .9fr;margin-top:18px}.matches-panel,.details-panel{min-height:250px}.matches-panel .panel-heading{align-items:start}.panel-heading strong{margin-top:5px;font-size:12px;display:block}.copy-button{padding:6px 9px;font-size:11px}.highlight-box{overflow-wrap:anywhere;white-space:pre-wrap;background:#f6f9fb;border:1px solid #dce4ee;border-radius:6px;min-height:110px;padding:14px;font:14px/1.7 DM Mono,monospace}.highlight-box mark{color:#7f3528;background:#ffcfb4;border-radius:3px;padding:2px 1px}.empty-state,.details-empty{color:#748197;text-align:center;justify-content:center;align-items:center;gap:7px;margin:28px 0 5px;font-size:13px;display:flex}.match-count{color:#68758a;font:12px DM Mono,monospace}.match-list{gap:9px;max-height:380px;padding-right:3px;display:grid;overflow:auto}.match-card{background:#f6f9fb;border-left:3px solid #5ac5c2;border-radius:4px;padding:10px 12px}.match-title{justify-content:space-between;align-items:center;display:flex}.match-title strong{font-size:12px}.icon-button{border:0;padding:4px}.match-card code{overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;border:1px solid #e1e8ef;border-radius:3px;margin:7px 0;padding:5px 7px;font:13px DM Mono,monospace;display:block}.position{color:#68758a;font:11px DM Mono,monospace}.groups{border-top:1px solid #dce4ee;gap:4px;margin-top:8px;padding-top:7px;display:grid}.groups b{color:#536175;font-size:11px}.groups span{color:#536175;font:11px DM Mono,monospace}.groups em{color:#087e79;background:#dff5f2;border-radius:3px;padding:2px 4px;font-style:normal}.reference-layout{margin-top:28px}.panel{background:#fff}.panel h2,.samples-section h2{margin:0 0 8px;font-size:23px}.muted{color:#68758a;font-size:13px;line-height:1.6}.token-list,.reference-grid{border-top:1px solid #dce4ee;margin-top:18px}.token-list>div,.reference-grid>div{border-bottom:1px solid #e8edf2;grid-template-columns:90px 1fr;align-items:center;gap:14px;padding:9px 0;display:grid}.token-list code,.reference-grid code,.sample-card code{color:#087e79;overflow-wrap:anywhere;font:12px DM Mono,monospace}.token-list span,.reference-grid span{color:#59677b;font-size:12px}.reference-grid{grid-template-columns:1fr 1fr;display:grid}.reference-grid>div{grid-template-columns:60px 1fr}.samples-section{padding:54px 0 0}.section-heading{margin-bottom:22px}.sample-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.sample-card{text-align:left;background:#fff;border:1px solid #dce4ee;border-radius:6px;flex-direction:column;gap:8px;padding:15px;transition:border-color .18s,transform .18s;display:flex}.sample-card:hover{border-color:#7cbfbd;transform:translateY(-2px)}.sample-card strong{color:#253247;font-size:14px}.sample-card span{color:#68758a;font-size:12px;line-height:1.5}.site-footer{color:#f4f7fb;background:#172033;padding:40px max(28px,50% - 552px) 25px}.footer-brand{font-size:17px}.footer-brand .brand-mark{width:26px;height:26px}.site-footer p{color:#b6c2d2;margin:16px 0 28px;font-size:13px}.footer-links{flex-wrap:wrap;gap:19px;display:flex}.footer-links a,.site-footer small,.feedback-link{color:#cbd6e2;font-size:12px}.site-footer small{border-top:1px solid #344055;margin-top:30px;padding-top:20px;display:block}.feedback-link{background:0 0;border:0;padding:0}.feedback-backdrop{z-index:20;background:#0c1423a3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.feedback-dialog{color:#172033;background:#fff;border-radius:7px;width:100%;max-width:520px;padding:32px;position:relative}.feedback-dialog textarea{width:100%;min-height:100px;margin:16px 0;padding:10px;display:block}.feedback-close{background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:15px}.primary-button{color:#fff;background:#0a7b83;border:0;border-radius:5px;padding:9px 15px}.is-fullscreen .site-header{display:none}.is-fullscreen .main-content{max-width:1440px;padding-bottom:28px}.is-fullscreen .hero{padding-top:28px}.is-fullscreen .workspace{min-height:calc(100vh - 145px)}:root[data-theme=dark] .site-header,:root[data-theme=dark] .nav-links{background:#111827f2;border-color:#29364b}:root[data-theme=dark] .menu-toggle{color:#e7edf5}:root[data-theme=dark] .nav-links>a{color:#b8c4d4}:root[data-theme=dark] .intro-copy,:root[data-theme=dark] .muted,:root[data-theme=dark] .token-list span,:root[data-theme=dark] .reference-grid span,:root[data-theme=dark] .sample-card span{color:#a6b3c5}:root[data-theme=dark] .workspace,:root[data-theme=dark] .input-panel,:root[data-theme=dark] .matches-panel,:root[data-theme=dark] .details-panel,:root[data-theme=dark] .panel,:root[data-theme=dark] .sample-card{background:#182235;border-color:#334155}:root[data-theme=dark] .regex-input-wrap,:root[data-theme=dark] .text-panel textarea,:root[data-theme=dark] .highlight-box,:root[data-theme=dark] .match-card,:root[data-theme=dark] .match-card code{color:#e7edf5;background:#111827;border-color:#334155}:root[data-theme=dark] .panel-heading label,:root[data-theme=dark] .panel-heading>div:first-child,:root[data-theme=dark] .sample-card strong{color:#e7edf5}:root[data-theme=dark] .token-list,:root[data-theme=dark] .reference-grid,:root[data-theme=dark] .token-list>div,:root[data-theme=dark] .reference-grid>div{border-color:#334155}:root[data-theme=dark] .highlight-box mark{color:#ffd7c6;background:#704234}@media (width<=760px){.nav-wrap{min-height:64px;padding:0 20px}.menu-toggle{display:inline-flex}.nav-links{background:#f8fafc;border-bottom:1px solid #dde5ef;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;display:none;position:absolute;top:64px;left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{padding:12px 0}.main-content{padding:0 20px 60px}.hero{flex-direction:column;align-items:start;padding:45px 0 28px}.hero-actions{width:100%}.editor-grid,.result-grid,.reference-layout{grid-template-columns:1fr}.workspace{padding:14px}.workspace-toolbar{flex-wrap:wrap;align-items:stretch}.workspace-toolbar select{flex:1}.reset-button{margin-left:0}.sample-grid{grid-template-columns:1fr 1fr}.site-footer{padding-left:20px;padding-right:20px}}@media (width<=440px){.hero-actions{flex-wrap:wrap}.theme-toggle,.secondary-button{flex:1}.sample-grid,.reference-grid{grid-template-columns:1fr}.reference-grid>div{grid-template-columns:70px 1fr}}.generator{margin-bottom:18px}.generator-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.generator-heading h2{margin:0 0 7px;font-size:23px}.generator-badge{color:#087e79;white-space:nowrap;background:#dff5f2;border-radius:999px;padding:6px 9px;font:11px DM Mono,monospace}.generator-badge strong{background:#aee5df;border-radius:3px;padding:2px 4px}.generator-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.field-label{color:#253247;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.generator textarea{color:#172033;resize:vertical;background:#f6f9fb;border:1px solid #cbd6e2;border-radius:6px;width:100%;min-height:76px;padding:10px;font:13px/1.6 DM Mono,monospace}.generator textarea:focus{border-color:#0a7b83;outline:3px solid #5ac5c22e}.generated-output{background:#f6f9fb;border:1px solid #dce4ee;border-radius:6px;justify-content:space-between;align-items:start;min-height:76px;padding:10px;display:flex}.generated-output code{color:#087e79;overflow-wrap:anywhere;white-space:pre-wrap;font:13px/1.6 DM Mono,monospace}.generator-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;display:flex}.check-option{color:#536175;align-items:center;gap:6px;font-size:12px;display:flex}.check-option input{accent-color:#0a7b83}.generator-hint{color:#8a96a6;font-size:11px}.generator-actions .primary-button{margin-left:auto}.primary-button:disabled{cursor:not-allowed;opacity:.45}:root[data-theme=dark] .generator textarea,:root[data-theme=dark] .generated-output{color:#e7edf5;background:#111827;border-color:#334155}:root[data-theme=dark] .field-label{color:#e7edf5}:root[data-theme=dark] .generator-badge{color:#8dd7d2;background:#173f42}:root[data-theme=dark] .generator-badge strong{background:#245c60}@media (width<=760px){.generator-grid{grid-template-columns:1fr}.generator-actions .primary-button{margin-left:0}}.faq-section{margin-top:58px}.faq-list{max-width:850px}.faq-list details{border-bottom:1px solid #dce4ee}.faq-list details:first-child{border-top:1px solid #dce4ee}.faq-list summary{color:#253247;cursor:pointer;justify-content:space-between;align-items:center;padding:18px 0;font-size:15px;font-weight:700;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:#0a7b83;content:"+";font-size:22px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:#59677b;max-width:760px;margin:-2px 40px 19px 0;font-size:13px;line-height:1.7}:root[data-theme=dark] .faq-list details,:root[data-theme=dark] .faq-list details:first-child{border-color:#334155}:root[data-theme=dark] .faq-list summary{color:#e7edf5}:root[data-theme=dark] .faq-list details p{color:#a6b3c5}
