:root{--bg-dark:#050510;--card:#ffffff05;--input-bg:#ffffff08;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--border:#ffffff0f;--cyan:#22d3ee;--purple:#a855f7;--accent:var(--calc-color-tools);--font-mono:"JetBrains Mono", "Courier New", monospace}body{background:var(--calc-bg-page);color:var(--calc-text-primary);min-height:100vh}.dashboard-container{max-width:1100px;margin:0 auto;padding:80px 1.5rem 2rem}.breadcrumb{color:var(--calc-text-dim);margin-bottom:1.25rem;font-size:.78rem}.breadcrumb a{color:var(--calc-text-dim);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--calc-cyan)}.breadcrumb .sep{opacity:.4;margin:0 6px}.tool-hero{margin-bottom:1.5rem}.tool-hero__title{color:var(--calc-text-primary);margin:0 0 8px;font-size:2rem;font-weight:800;line-height:1.2}.tool-hero__accent{background:linear-gradient(135deg, var(--calc-cyan), var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.tool-hero__subtitle{color:var(--calc-text-dim);max-width:700px;margin:0;font-size:.95rem;line-height:1.6}.tab-bar{border-bottom:1px solid var(--calc-border-default);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.tab-btn{color:var(--calc-text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-family:inherit;font-size:.88rem;font-weight:600;transition:color .2s,border-color .2s}.tab-btn:hover{color:var(--calc-text-primary)}.tab-btn.active{color:var(--calc-cyan);border-bottom-color:var(--calc-cyan)}.tab-panel{display:none}.tab-panel.active{display:block}.regex-input-card,.test-string-card,.results-card,.groups-card,.replace-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:14px;margin-bottom:16px;padding:20px}.regex-input-card{border-left:3px solid var(--calc-cyan)}.results-card{border-left:3px solid var(--purple)}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--calc-text-dim);margin-bottom:8px;font-size:.78rem;font-weight:700;display:block}.section-label{color:var(--calc-text-dim);margin:0 0 12px;font-size:.85rem;font-weight:700}.regex-input-row{background:var(--input-bg);border:1px solid var(--calc-border-default);border-radius:10px;align-items:center;gap:0;padding:0 12px;transition:border-color .2s;display:flex}.regex-input-row:focus-within{border-color:var(--calc-cyan);box-shadow:0 0 0 2px #22d3ee1a}.regex-delim{color:var(--calc-text-muted);font-family:var(--font-mono);user-select:none;flex-shrink:0;font-size:1.1rem}.regex-field{color:var(--calc-text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 8px;font-size:.95rem}.regex-field::placeholder{color:var(--calc-text-muted)}.regex-flags{color:var(--calc-cyan);font-family:var(--font-mono);flex-shrink:0;min-width:30px;margin-left:4px;font-size:.9rem;font-weight:600}.flags-row{flex-wrap:wrap;gap:16px;margin-top:10px;display:flex}.flag-check{cursor:pointer;align-items:center;gap:5px;font-size:.82rem;display:flex}.flag-check input[type=checkbox]{accent-color:var(--calc-cyan);cursor:pointer;width:15px;height:15px}.flag-label{font-family:var(--font-mono);color:var(--calc-cyan);font-size:.85rem;font-weight:700}.flag-desc{color:var(--calc-text-muted);font-size:.78rem}.regex-error{color:#fca5a5;font-size:.82rem;font-family:var(--font-mono);background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;margin-top:8px;padding:8px 12px;display:none}.regex-error.visible{display:block}.test-textarea{background:var(--input-bg);border:1px solid var(--calc-border-default);width:100%;color:var(--calc-text-primary);font-family:var(--font-mono);resize:vertical;box-sizing:border-box;border-radius:10px;min-height:100px;padding:12px 14px;font-size:.9rem;line-height:1.6;transition:border-color .2s}.test-textarea:focus{border-color:var(--calc-cyan);outline:none;box-shadow:0 0 0 2px #22d3ee1a}.test-textarea::placeholder{color:var(--calc-text-muted)}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.results-title{color:var(--calc-text-primary);margin:0;font-size:1rem;font-weight:700}.match-stats{gap:8px;display:flex}.stat-badge{font-size:.75rem;font-weight:600;font-family:var(--font-mono);color:var(--calc-cyan);background:#22d3ee1a;border-radius:20px;align-items:center;padding:4px 10px;display:inline-flex}.stat-badge--groups{color:var(--purple);background:#a855f71a}.highlighted-output{background:var(--input-bg);border:1px solid var(--calc-border-default);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;border-radius:10px;min-height:50px;max-height:400px;padding:14px;font-size:.88rem;line-height:1.7;overflow-y:auto}.empty-state{color:var(--calc-text-muted);margin:0;font-family:inherit;font-size:.85rem;font-style:italic}.match-hl{background:#22d3ee40;border-radius:3px;padding:1px 0}.match-hl-1{background:#22d3ee40}.match-hl-2{background:#a855f740}.match-hl-3{background:#10b98140}.match-hl-4{background:#f59e0b40}.match-hl-5{background:#ef444440}.match-hl-6{background:#6366f140}.groups-table-wrap{overflow-x:auto}.groups-table{border-collapse:collapse;width:100%;font-size:.82rem}.groups-table th{text-align:left;color:var(--calc-text-dim);border-bottom:1px solid var(--calc-border-default);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;font-size:.75rem;font-weight:700}.groups-table td{color:var(--calc-text-primary);border-bottom:1px solid var(--calc-border-default);font-family:var(--font-mono);padding:8px 12px;font-size:.82rem}.groups-table tr:last-child td{border-bottom:none}.groups-table tr:hover td{background:#ffffff05}.group-chip{border-radius:6px;margin:2px 4px 2px 0;padding:2px 8px;font-size:.78rem;display:inline-block}.group-chip-0{color:var(--calc-cyan);background:#22d3ee1f}.group-chip-1{color:var(--purple);background:#a855f71f}.group-chip-2{color:#10b981;background:#10b9811f}.group-chip-3{color:#f59e0b;background:#f59e0b1f}.group-chip-4{color:#ef4444;background:#ef44441f}.group-chip-5{color:#6366f1;background:#6366f11f}.replace-row{gap:8px;margin-bottom:12px;display:flex}.replace-field{background:var(--input-bg);border:1px solid var(--calc-border-default);color:var(--calc-text-primary);font-family:var(--font-mono);border-radius:10px;flex:1;min-width:0;padding:10px 14px;font-size:.88rem;transition:border-color .2s}.replace-field:focus{border-color:var(--calc-cyan);outline:none;box-shadow:0 0 0 2px #22d3ee1a}.replace-field::placeholder{color:var(--calc-text-muted)}.replace-output{background:var(--input-bg);border:1px solid var(--calc-border-default);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;border-radius:10px;min-height:40px;max-height:300px;padding:14px;font-size:.88rem;line-height:1.7;overflow-y:auto}.action-btn{color:var(--calc-cyan);cursor:pointer;white-space:nowrap;background:#22d3ee14;border:1px solid #22d3ee40;border-radius:8px;padding:9px 18px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.action-btn:hover{border-color:var(--calc-cyan);background:#22d3ee29}.cheat-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.cheat-section{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:14px;padding:18px}.cheat-section__title{color:var(--calc-cyan);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:.88rem;font-weight:700}.cheat-row{border-bottom:1px solid #ffffff08;align-items:flex-start;gap:12px;padding:6px 0;display:flex}.cheat-row:last-child{border-bottom:none}.cheat-code{min-width:70px;font-family:var(--font-mono);color:var(--calc-cyan);background:#22d3ee0f;border-radius:5px;flex-shrink:0;padding:3px 8px;font-size:.82rem;font-weight:600}.cheat-desc{color:var(--calc-text-dim);font-size:.82rem;line-height:1.5}.patterns-intro{color:var(--calc-text-dim);margin:0 0 16px;font-size:.88rem}.patterns-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.pattern-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);cursor:pointer;border-radius:12px;padding:16px;transition:border-color .2s,background .2s,transform .15s}.pattern-card:hover{background:#22d3ee08;border-color:#22d3ee4d;transform:translateY(-1px)}.pattern-card__name{color:var(--calc-text-primary);margin:0 0 6px;font-size:.88rem;font-weight:700}.pattern-card__regex{font-family:var(--font-mono);color:var(--calc-cyan);word-break:break-all;background:#22d3ee0f;border-radius:6px;margin-bottom:6px;padding:4px 8px;font-size:.78rem;display:inline-block}.pattern-card__desc{color:var(--calc-text-muted);margin:0;font-size:.78rem;line-height:1.5}.tool-toast{color:#fff;z-index:9999;border-radius:10px;max-width:340px;padding:12px 20px;font-size:.85rem;font-weight:600;animation:.3s toastIn;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0000004d}.tool-toast--success{background:#059669}.tool-toast--warn{background:#0891b2}.tool-toast--error{background:#dc2626}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.dashboard-container{padding:70px 1rem 1.5rem}.tool-hero__title{font-size:1.5rem}.tab-btn{padding:8px 12px;font-size:.8rem}.flags-row{gap:10px}.cheat-grid,.patterns-grid{grid-template-columns:1fr}.replace-row{flex-direction:column}.regex-input-row{padding:0 8px}}[data-theme=light]{--bg-dark:#e8edf5;--card:#fffffff2;--input-bg:#f0f4f9;--text-main:#0f172a;--text-dim:#475569;--text-muted:#64748b;--border:#0000001a;--cyan:#0891b2;--purple:#7c3aed;--accent:var(--calc-color-tools)}[data-theme=light] body{color:#0f172a;background:#e8edf5}[data-theme=light] .breadcrumb,[data-theme=light] .breadcrumb a{color:#64748b}[data-theme=light] .breadcrumb a:hover{color:#0891b2}[data-theme=light] .tool-hero__title{color:#0f172a}[data-theme=light] .tool-hero__accent{background:linear-gradient(135deg,#0891b2,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .tool-hero__subtitle{color:#475569}[data-theme=light] .glass-navbar{backdrop-filter:blur(12px);background:#fffffff2;border-bottom-color:#00000014}[data-theme=light] .tab-bar{border-bottom-color:#0000001a}[data-theme=light] .tab-btn{color:#64748b}[data-theme=light] .tab-btn:hover{color:#0f172a}[data-theme=light] .tab-btn.active{color:#0891b2;border-bottom-color:#0891b2}[data-theme=light] .regex-input-card,[data-theme=light] .test-string-card,[data-theme=light] .results-card,[data-theme=light] .groups-card,[data-theme=light] .replace-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .regex-input-card{border-left-color:#0891b2}[data-theme=light] .results-card{border-left-color:#7c3aed}[data-theme=light] .regex-input-row{background:#f0f4f9;border-color:#0000001f}[data-theme=light] .regex-input-row:focus-within{border-color:#0891b2;box-shadow:0 0 0 2px #0891b226}[data-theme=light] .regex-delim{color:#64748b}[data-theme=light] .regex-field{color:#0f172a}[data-theme=light] .regex-field::placeholder{color:#94a3b8}[data-theme=light] .regex-flags{color:#0891b2}[data-theme=light] .flag-check input[type=checkbox]{accent-color:#0891b2}[data-theme=light] .flag-label{color:#0891b2}[data-theme=light] .flag-desc{color:#64748b}[data-theme=light] .regex-error{color:#991b1b;background:#fff1f2;border-color:#dc262640}[data-theme=light] .test-textarea{color:#0f172a;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .test-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 2px #0891b226}[data-theme=light] .test-textarea::placeholder{color:#94a3b8}[data-theme=light] .results-title{color:#0f172a}[data-theme=light] .stat-badge{color:#0891b2;background:#0891b21a}[data-theme=light] .stat-badge--groups{color:#7c3aed;background:#7c3aed1a}[data-theme=light] .highlighted-output{color:#0f172a;background:#f0f4f9;border-color:#0000001a}[data-theme=light] .empty-state{color:#94a3b8}[data-theme=light] .match-hl,[data-theme=light] .match-hl-1{background:#0891b233}[data-theme=light] .match-hl-2{background:#7c3aed2e}[data-theme=light] .match-hl-3{background:#0596692e}[data-theme=light] .match-hl-4{background:#d977062e}[data-theme=light] .match-hl-5{background:#dc262626}[data-theme=light] .match-hl-6{background:#6366f12e}[data-theme=light] .groups-table th{color:#475569;border-bottom-color:#0000001a}[data-theme=light] .groups-table td{color:#0f172a;border-bottom-color:#0000000f}[data-theme=light] .groups-table tr:hover td{background:#f0f4f9}[data-theme=light] .group-chip-0{color:#0891b2;background:#0891b21a}[data-theme=light] .group-chip-1{color:#7c3aed;background:#7c3aed1a}[data-theme=light] .group-chip-2{color:#059669;background:#0596691a}[data-theme=light] .group-chip-3{color:#0891b2;background:#d977061a}[data-theme=light] .group-chip-4{color:#dc2626;background:#dc26261a}[data-theme=light] .group-chip-5{color:#4f46e5;background:#6366f11a}[data-theme=light] .replace-field{color:#0f172a;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .replace-field:focus{border-color:#0891b2;box-shadow:0 0 0 2px #0891b226}[data-theme=light] .replace-field::placeholder{color:#94a3b8}[data-theme=light] .replace-output{color:#0f172a;background:#f0f4f9;border-color:#0000001a}[data-theme=light] .action-btn{color:#0891b2;background:#0891b214;border-color:#0891b240}[data-theme=light] .action-btn:hover{background:#0891b226;border-color:#0891b2}[data-theme=light] .field-label,[data-theme=light] .section-label{color:#475569}[data-theme=light] .cheat-section{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .cheat-section__title{color:#0891b2}[data-theme=light] .cheat-row{border-bottom-color:#0000000d}[data-theme=light] .cheat-code{color:#0891b2;background:#0891b214}[data-theme=light] .cheat-desc,[data-theme=light] .patterns-intro{color:#475569}[data-theme=light] .pattern-card{background:#fff;border-color:#0000001a;box-shadow:0 1px 4px #0000000f}[data-theme=light] .pattern-card:hover{background:#fff;border-color:#0891b259;box-shadow:0 2px 10px #0891b21a}[data-theme=light] .pattern-card__name{color:#0f172a}[data-theme=light] .pattern-card__regex{color:#0891b2;background:#0891b214}[data-theme=light] .pattern-card__desc{color:#64748b}[data-theme=light] .highlighted-output::-webkit-scrollbar-track,[data-theme=light] .replace-output::-webkit-scrollbar-track{background:#f0f4f9}[data-theme=light] .highlighted-output::-webkit-scrollbar-thumb,[data-theme=light] .replace-output::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}[data-theme=light] .tool-toast{box-shadow:0 4px 20px #00000026}