:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--accent:#10b981;--border:#475569;--match-bg:#10b98140;}
[data-theme="dark"]{--bg-primary:#0f172a;--bg-secondary:#1e293b;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;}
.container{max-width:900px;margin:0 auto;padding:20px;}
header{text-align:center;padding:40px 0;position:relative;}
h1{font-size:2.5rem;margin-bottom:10px;}
.tagline{color:var(--text-secondary);}
.dark-mode-btn{position:absolute;top:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--border);padding:10px 15px;border-radius:8px;cursor:pointer;font-size:1.2rem;}
.tool-card{background:var(--bg-secondary);border-radius:16px;padding:30px;margin-bottom:30px;}
label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary);}
.regex-wrapper{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:4px 12px;}
.regex-delimiter{color:var(--accent);font-family:monospace;font-size:1.2rem;}
.regex-wrapper input{flex:1;background:transparent;border:none;color:var(--text-primary);font-family:monospace;font-size:16px;padding:10px;}
.regex-wrapper input:focus{outline:none;}
.flags-input{width:60px!important;text-align:center;}
textarea{width:100%;padding:14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:monospace;font-size:14px;resize:vertical;margin-top:10px;}
textarea:focus{outline:none;border-color:var(--accent);}
.results-section{margin-top:20px;}
.results-section h3{margin-bottom:10px;}
.highlighted-text{background:var(--bg-primary);padding:16px;border-radius:8px;font-family:monospace;white-space:pre-wrap;word-wrap:break-word;min-height:60px;}
.match{background:var(--match-bg);border-radius:3px;padding:2px 0;}
.match-list{margin-top:15px;display:flex;flex-wrap:wrap;gap:8px;}
.match-item{background:var(--bg-card);padding:6px 12px;border-radius:6px;font-family:monospace;font-size:13px;}
.cheatsheet{background:var(--bg-secondary);border-radius:16px;padding:30px;margin-bottom:30px;}
.cheatsheet h2{margin-bottom:20px;text-align:center;}
.cheatsheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.cheat-item{background:var(--bg-primary);padding:10px;border-radius:8px;font-size:14px;}
.cheat-item code{color:var(--accent);font-weight:bold;}
.trust-badges{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:40px 0;}
.badge{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-secondary);border-radius:30px;font-size:14px;}
.faq-section{margin-top:40px;}
.faq-section h2{text-align:center;margin-bottom:30px;}
.faq-item{background:var(--bg-secondary);border-radius:10px;margin-bottom:10px;}
.faq-item summary{padding:16px 20px;cursor:pointer;font-weight:500;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';float:right;}
.faq-item[open] summary::after{content:'−';}
.faq-item p{padding:0 20px 16px;color:var(--text-secondary);}
footer{text-align:center;padding:30px;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:40px;}
@media(max-width:768px){h1{font-size:1.8rem;}.cheatsheet-grid{grid-template-columns:repeat(2,1fr);}}
