.tool-page.regex-tester .regex-input-row{display:flex;align-items:center;background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s}.tool-page.regex-tester .regex-input-row:focus-within{border-color:var(--accent)}.tool-page.regex-tester .regex-slash{padding:0 6px 0 12px;font-family:var(--mono);font-size:1.25rem;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.tool-page.regex-tester .regex-pattern-input{flex:1 1;min-width:0;padding:12px 6px;background:transparent;border:none;outline:none;font-family:var(--mono);font-size:.95rem;color:var(--text)}.tool-page.regex-tester .regex-pattern-input::placeholder{color:var(--muted);font-family:var(--font-sans)}.tool-page.regex-tester .regex-flags-input{width:72px;padding:12px 10px;background:transparent;border:none;border-left:1px solid var(--border);outline:none;font-family:var(--mono);font-size:.95rem;color:var(--accent);flex-shrink:0}.tool-page.regex-tester .regex-flags-input::placeholder{color:var(--muted)}.tool-page.regex-tester .regex-status-row{display:flex;align-items:center;gap:8px;min-height:24px;margin-top:8px}.tool-page.regex-tester .regex-status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0;transition:background .2s}.tool-page.regex-tester .regex-status-dot.valid{background:var(--success)}.tool-page.regex-tester .regex-status-dot.invalid{background:var(--danger)}.tool-page.regex-tester .regex-status-text{font-family:var(--mono);font-size:.8rem;color:var(--muted);flex:1 1}.tool-page.regex-tester .regex-status-text.valid{color:var(--success)}.tool-page.regex-tester .regex-status-text.invalid{color:var(--danger)}.tool-page.regex-tester .match-count-badge{margin-left:auto;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);padding:2px 10px;border-radius:999px;white-space:nowrap}.tool-page.regex-tester .flags-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.tool-page.regex-tester .flag-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.8rem;color:var(--muted2)}.tool-page.regex-tester .flag-checkbox input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.tool-page.regex-tester .flag-checkbox code{font-family:var(--mono);font-size:.85rem;color:var(--accent)}.tool-page.regex-tester .flag-desc{color:var(--muted);font-size:.78rem}.tool-page.regex-tester .patterns-toggle-btn{background:none;border:none;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--accent);padding:8px 0 0;text-decoration:none}.tool-page.regex-tester .patterns-toggle-btn:hover{text-decoration:underline}.tool-page.regex-tester .patterns-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tool-page.regex-tester .pattern-chip{padding:4px 10px;font-size:.75rem;font-family:var(--mono);background:color-mix(in srgb,var(--accent) 10%,var(--surface2));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.tool-page.regex-tester .pattern-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tool-page.regex-tester .regex-main-grid{display:grid;grid-template-columns:3fr 2fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}@media (max-width:768px){.tool-page.regex-tester .regex-main-grid{grid-template-columns:1fr}}.tool-page.regex-tester .regex-test-section{display:flex;flex-direction:column;gap:6px}.tool-page.regex-tester .regex-test-header{display:flex;align-items:center;justify-content:space-between}.tool-page.regex-tester .match-count-label{font-size:.75rem;font-weight:700;background:var(--surface);border:1px solid var(--border);color:var(--muted);padding:2px 10px;border-radius:999px}.tool-page.regex-tester .regex-test-wrapper{position:relative;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface2);transition:border-color .15s}.tool-page.regex-tester .regex-test-wrapper:focus-within{border-color:var(--accent)}.tool-page.regex-tester .regex-highlight{position:absolute;inset:0;padding:12px 14px;font-family:var(--mono);font-size:.875rem;line-height:1.7;white-space:pre-wrap;word-break:break-all;overflow:auto;pointer-events:none;color:transparent;border-radius:var(--radius-md);z-index:1}.tool-page.regex-tester .regex-textarea{position:relative;z-index:2;background:transparent;color:var(--text);caret-color:var(--text);border:none;outline:none;resize:vertical;min-height:180px;padding:12px 14px;font-family:var(--mono);font-size:.875rem;line-height:1.7;width:100%;border-radius:var(--radius-md)}.tool-page.regex-tester .regex-textarea::placeholder{color:var(--muted);font-family:var(--font-sans)}.tool-page.regex-tester .regex-explanation-section{display:flex;flex-direction:column;gap:6px}.tool-page.regex-tester .regex-explanation-box{flex:1 1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;overflow-y:auto;max-height:360px;min-height:120px}.tool-page.regex-tester .expl-empty{color:var(--muted);font-size:.8rem;line-height:1.6}.tool-page.regex-tester .expl-error{color:var(--danger);font-family:var(--mono);font-size:.8rem;line-height:1.6}.tool-page.regex-tester .expl-section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 6px}.tool-page.regex-tester .expl-section-title:first-child{margin-top:0}.tool-page.regex-tester .token-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:5px;font-size:.78rem;line-height:1.5}.tool-page.regex-tester .token-code{font-family:var(--mono);font-size:.78rem;flex-shrink:0;padding:1px 5px;border-radius:3px;background:var(--surface2);border:1px solid var(--border)}.tool-page.regex-tester .token-desc{color:var(--muted2)}.tool-page.regex-tester .token-anchor .token-code{color:#f59e0b;border-color:#f59e0b40}.tool-page.regex-tester .token-quantifier .token-code{color:#8b5cf6;border-color:#8b5cf640}.tool-page.regex-tester .token-escape .token-code{color:#10b981;border-color:#10b98140}.tool-page.regex-tester .token-class .token-code{color:#06b6d4;border-color:#06b6d440}.tool-page.regex-tester .token-group .token-code,.tool-page.regex-tester .token-named-group .token-code{color:#ec4899;border-color:#ec489940}.tool-page.regex-tester .token-lookahead .token-code,.tool-page.regex-tester .token-lookbehind .token-code,.tool-page.regex-tester .token-neg-lookahead .token-code,.tool-page.regex-tester .token-neg-lookbehind .token-code{color:#f97316;border-color:#f9731640}.tool-page.regex-tester .token-wildcard .token-code{color:#3b82f6;border-color:#3b82f640}.tool-page.regex-tester .token-alternation .token-code{color:#ef4444;border-color:#ef444440}.tool-page.regex-tester .token-flag .token-code{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.tool-page.regex-tester .replace-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tool-page.regex-tester .replace-toggle{font-size:.8rem;padding:6px 14px}.tool-page.regex-tester .replace-section{display:flex;flex-direction:column;gap:8px}.tool-page.regex-tester .replace-output{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:var(--radius-sm);font-family:var(--mono);font-size:.875rem;line-height:1.7;resize:vertical;outline:none}.tool-page.regex-tester .match-cards{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;padding-right:4px}.tool-page.regex-tester .match-cards::-webkit-scrollbar{width:6px}.tool-page.regex-tester .match-cards::-webkit-scrollbar-track{background:var(--surface);border-radius:3px}.tool-page.regex-tester .match-cards::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.tool-page.regex-tester .match-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.tool-page.regex-tester .match-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.tool-page.regex-tester .match-index-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:4px;border:1px solid}.tool-page.regex-tester .match-pos-badge{font-size:.72rem;font-family:var(--mono);color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:2px 8px;border-radius:4px}.tool-page.regex-tester .match-value{font-family:var(--mono);font-size:.85rem;padding:6px 10px;border-left:3px solid;background:var(--surface);border-radius:0 4px 4px 0;white-space:pre-wrap;word-break:break-all;line-height:1.6;color:var(--text)}.tool-page.regex-tester .match-error{font-family:var(--mono);font-size:.8rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);padding:10px 12px;border-radius:var(--radius-sm)}.tool-page.regex-tester .match-groups{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tool-page.regex-tester .group-chip{display:flex;align-items:center;font-size:.72rem;border:1px solid var(--border);border-radius:4px;overflow:hidden}.tool-page.regex-tester .group-chip-label{background:var(--surface);padding:2px 7px;font-weight:600;color:var(--muted2);border-right:1px solid var(--border)}.tool-page.regex-tester .group-chip-value{padding:2px 7px;font-family:var(--mono);color:var(--text);background:var(--surface2)}.tool-page.regex-tester .group-chip-value.undef{color:var(--muted);font-style:italic}.tool-page.regex-tester .newline-marker{color:var(--muted);font-family:var(--mono)}.tool-page.regex-tester .copy-inline-btn{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;margin-left:auto}.tool-page.regex-tester .copy-inline-btn:hover{color:var(--text);border-color:var(--border-strong)}.tool-page.regex-tester .field-label{display:flex;align-items:center;gap:8px}.tool-page.regex-tester .reference-panel{margin-top:1rem}.tool-page.regex-tester .reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1.25rem;gap:1.25rem}.tool-page.regex-tester .reference-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 70%,var(--muted));margin-bottom:8px}.tool-page.regex-tester .reference-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.tool-page.regex-tester .reference-item{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem}.tool-page.regex-tester .ref-code{font-family:var(--mono);font-size:.78rem;padding:1px 5px;border-radius:3px;background:var(--surface2);border:1px solid var(--border);color:var(--accent);flex-shrink:0}.tool-page.regex-tester .ref-desc{color:var(--muted);font-size:.75rem;text-align:right}@media (max-width:480px){.tool-page .regex-textarea{min-height:120px}.tool-page .match-cards,.tool-page .regex-explanation-box{max-height:none}}