:root{--th-primary:#6366f1;--th-primary-light:#818cf8;--th-primary-dark:#4f46e5;--th-primary-bg:#6366f114;--th-bg:#fff;--th-bg-secondary:#f8fafc;--th-bg-tertiary:#f1f5f9;--th-bg-input:#fff;--th-header-bg:#f8fafc;--th-text:#0f172a;--th-text-secondary:#475569;--th-text-muted:#64748b;--th-text-placeholder:#94a3b8;--th-border:#e2e8f0;--th-border-light:#f1f5f9;--th-shadow-sm:0 1px 2px #0000000a;--th-shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--th-shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--th-shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--th-shadow-focus:0 0 0 3px #6366f126;--th-success:#10b981;--th-success-bg:#10b9811a;--th-error:#ef4444;--th-error-bg:#ef444414;--th-radius:.75rem;--th-radius-md:.5rem;--th-radius-sm:.375rem;--th-radius-xs:.25rem}._th-container{flex-direction:column;gap:1.25rem;width:100%;max-width:1300px;margin:0 auto;display:flex}._th-main{grid-template-columns:1fr 340px;gap:1rem;display:grid}._th-panel{background:var(--th-bg);border-radius:var(--th-radius);border-style:solid;border-width:1px;border-color:var(--th-border);box-shadow:var(--th-shadow-md);flex-direction:column;display:flex;overflow:hidden}._th-panel-header{background:var(--th-header-bg);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--th-border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}._th-panel-title{color:var(--th-text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}._th-panel-title svg{width:14px;height:14px;color:var(--th-primary);opacity:.8}._th-panel-actions{align-items:center;gap:.375rem;display:flex}._th-panel-btn{background:var(--th-bg);border-style:solid;border-width:1px;border-color:var(--th-border);border-radius:var(--th-radius-xs);width:1.75rem;height:1.75rem;color:var(--th-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}._th-panel-btn:hover{color:var(--th-primary);border-color:var(--th-primary);background:var(--th-primary-bg)}._th-panel-btn svg{width:14px;height:14px}._th-btn-clear-all:hover{color:var(--th-error);border-color:var(--th-error);background:var(--th-error-bg)}._th-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}._th-panel-controls ._th-panel-body{gap:1rem;padding:1rem;overflow-y:auto}@media (max-width:900px){._th-main{grid-template-columns:1fr}._th-panel-controls{order:-1}}@media (max-width:768px){._th-container{gap:1rem;padding-left:1rem;padding-right:1rem}}._th-editor-wrapper{min-height:400px;max-height:700px;position:relative;overflow:auto}._th-highlight-layer{min-height:400px;font-size:.9375rem;line-height:1.7;font-family:var(--main-font-mono);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;pointer-events:none;color:var(--th-text);background:var(--th-bg);box-sizing:border-box;-moz-tab-size:4;tab-size:4;letter-spacing:normal;width:100%;padding:1rem}._th-highlight-layer mark{color:inherit;border-radius:2px;margin:0;padding:0}._th-highlight-layer mark.is-current{outline-width:2px;outline-style:solid;outline-color:var(--th-primary-dark);outline-offset:1px}._th-textarea{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--th-text);font-size:.9375rem;line-height:1.7;font-family:var(--main-font-mono);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;-moz-tab-size:4;tab-size:4;letter-spacing:normal;z-index:1;background:0 0;border:none;margin:0;padding:1rem;position:absolute;top:0;left:0;overflow:hidden}._th-textarea:focus{outline:none}._th-textarea::placeholder{color:var(--th-text-placeholder)}._th-textarea::selection{color:#0000;background:#6366f14d}@media (max-width:900px){._th-editor-wrapper{min-height:300px;max-height:500px}._th-highlight-layer{min-height:300px}}@media (max-width:480px){._th-textarea,._th-highlight-layer{padding:.75rem;font-size:.875rem}}._th-keyword-input-group{flex-direction:column;gap:.75rem;display:flex}._th-keyword-input-wrapper{gap:.5rem;display:flex}._th-keyword-input{border-style:solid;border-width:1px;border-color:var(--th-border);border-radius:var(--th-radius-sm);background:var(--th-bg-input);color:var(--th-text);flex:1;padding:.625rem .875rem;font-size:.875rem;transition:all .15s}._th-keyword-input:focus{border-color:var(--th-primary);box-shadow:var(--th-shadow-focus);outline:none}._th-keyword-input::placeholder{color:var(--th-text-placeholder)}._th-add-btn{background:var(--th-primary);border-radius:var(--th-radius-sm);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:all .15s;display:flex}._th-add-btn:hover{opacity:.9;box-shadow:0 2px 8px #6366f14d}._th-add-btn svg{width:14px;height:14px}._th-color-picker{flex-wrap:wrap;gap:.375rem;display:flex}._th-color-btn{border-radius:var(--th-radius-xs);cursor:pointer;border:2px solid #0000;width:1.5rem;height:1.5rem;transition:all .15s}._th-color-btn:hover{opacity:.85}._th-color-btn.is-active{border-color:var(--th-primary);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--th-primary)}._th-color-custom{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}._th-color-custom input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute}._th-color-custom svg{width:10px;height:10px;color:var(--th-text-muted);pointer-events:none}._th-color-custom:hover svg{color:var(--th-text-secondary)}._th-color-custom.is-active{border-color:var(--th-primary);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--th-primary)}._th-color-custom.is-active svg{display:none}._th-keywords-list{flex-direction:column;flex:1;gap:.5rem;min-height:80px;max-height:280px;display:flex;overflow-y:auto}._th-keywords-empty{color:var(--th-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;display:flex}._th-keywords-empty svg{opacity:.4;width:24px;height:24px}._th-keywords-empty span{font-size:.8125rem}._th-keyword-tag{background:var(--th-bg);border-radius:var(--th-radius-sm);border-style:solid;border-width:1px;border-color:var(--th-border);transition:all .15s;overflow:hidden}._th-keyword-tag:hover{border-color:var(--th-primary)}._th-keyword-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}._th-keyword-header:hover{background:var(--th-bg-secondary)}._th-keyword-toggle{width:1rem;height:1rem;color:var(--th-text-muted);justify-content:center;align-items:center;transition:transform .2s;display:flex}._th-keyword-toggle svg{width:10px;height:10px}._th-keyword-tag.is-expanded ._th-keyword-toggle{transform:rotate(90deg)}._th-keyword-color{border-radius:3px;flex-shrink:0;width:.875rem;height:.875rem}._th-keyword-text{color:var(--th-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8125rem;font-weight:500;overflow:hidden}._th-keyword-count{color:var(--th-text-muted);background:var(--th-bg-tertiary);border-radius:var(--th-radius-xs);padding:.125rem .375rem;font-size:.6875rem;font-weight:600}._th-keyword-delete{width:1.25rem;height:1.25rem;color:var(--th-text-muted);cursor:pointer;border-radius:var(--th-radius-xs);opacity:0;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}._th-keyword-header:hover ._th-keyword-delete{opacity:1}._th-keyword-delete:hover{background:var(--th-error-bg);color:var(--th-error)}._th-keyword-delete svg{width:10px;height:10px}._th-keyword-options{border-top-style:solid;border-top-width:1px;border-top-color:var(--th-border-light);gap:.375rem;padding:0 .625rem .5rem;display:none}._th-keyword-tag.is-expanded ._th-keyword-options{padding-top:.5rem;display:flex}._th-keyword-opt{min-width:1.625rem;height:1.375rem;color:var(--th-text-muted);background:var(--th-bg-secondary);border-radius:var(--th-radius-xs);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:600;transition:all .15s;display:flex}._th-keyword-opt:hover{background:var(--th-bg-tertiary)}._th-keyword-opt.is-active{background:var(--th-primary);color:#fff}._th-keyword-opt svg{width:10px;height:10px}._th-stats{gap:.5rem;display:flex}._th-stat{background:var(--th-bg);border-radius:var(--th-radius-sm);border-style:solid;border-width:1px;border-color:var(--th-border);flex:1;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}._th-stat-icon{border-radius:var(--th-radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}._th-stat-icon svg{width:14px;height:14px}._th-stat-icon-keywords{color:#fff;background:linear-gradient(135deg,#818cf8 0%,#6366f1 100%)}._th-stat-icon-matches{color:#fff;background:linear-gradient(135deg,#34d399 0%,#10b981 100%)}._th-stat-content{flex-direction:column;gap:0;min-width:0;display:flex}._th-stat-value{color:var(--th-text);font-size:1rem;font-weight:700;line-height:1.2}._th-stat-label{color:var(--th-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.5625rem;font-weight:500;line-height:1.2}._th-navigator{background:linear-gradient(135deg, var(--th-bg-secondary) 0%, var(--th-bg) 100%);border-radius:var(--th-radius-sm);border-style:solid;border-width:1px;border-color:var(--th-border);justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;display:flex}._th-nav-btn{background:var(--th-bg);border-style:solid;border-width:1px;border-color:var(--th-border);border-radius:var(--th-radius-xs);width:1.75rem;height:1.75rem;color:var(--th-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}._th-nav-btn:hover:not(:disabled){color:var(--th-primary);border-color:var(--th-primary);background:var(--th-primary-bg)}._th-nav-btn:disabled{opacity:.35;cursor:not-allowed}._th-nav-btn svg{width:12px;height:12px}._th-nav-display{justify-content:center;align-items:baseline;min-width:3rem;padding:0 .5rem;display:flex}._th-nav-current{color:var(--th-primary);font-size:1rem;font-weight:700}._th-nav-separator{color:var(--th-text-muted);margin:0 .125rem;font-size:.8125rem;font-weight:400}._th-nav-total{color:var(--th-text-muted);font-size:.8125rem;font-weight:600}._th-actions{gap:.5rem;display:flex}._th-action-btn{border-radius:var(--th-radius-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex}._th-btn-copy{background:var(--th-primary-bg);border-style:solid;border-width:1px;border-color:var(--th-primary);color:var(--th-primary)}._th-btn-copy:hover{background:var(--th-primary);color:#fff}._th-action-btn svg{width:14px;height:14px}._th-regex-help{border-radius:var(--th-radius-sm);background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border:1px solid #c7d2fe;overflow:hidden}._th-regex-help-header{background:#6366f11a;border-bottom:1px solid #c7d2fe;justify-content:space-between;align-items:center;padding:.5rem .625rem;display:flex}._th-regex-help-header span{color:#4f46e5;text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;display:flex}._th-regex-help-header svg{width:12px;height:12px}._th-regex-help-close{color:#6366f1;cursor:pointer;border-radius:var(--th-radius-xs);background:0 0;border:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;transition:all .15s;display:flex}._th-regex-help-close:hover{background:#6366f126}._th-regex-help-close svg{width:10px;height:10px}._th-regex-help-content{flex-direction:column;gap:.625rem;padding:.625rem;display:flex}._th-regex-section{flex-direction:column;gap:.25rem;display:flex}._th-regex-title{color:#4338ca;text-transform:uppercase;letter-spacing:.025em;font-size:.625rem;font-weight:600}._th-regex-items{grid-template-columns:1fr 1fr;gap:.25rem .5rem;display:grid}._th-regex-item{align-items:center;gap:.375rem;font-size:.6875rem;display:flex}._th-regex-item code{font-family:var(--main-font-mono);color:#4f46e5;background:#fff;border-radius:3px;padding:.125rem .25rem;font-size:.625rem;font-weight:500}._th-regex-item span{color:#475569}._th-regex-examples{flex-direction:column;gap:.25rem;display:flex}._th-regex-example{align-items:center;gap:.5rem;font-size:.6875rem;display:flex}._th-regex-example code{font-family:var(--main-font-mono);color:#4f46e5;background:#fff;border-radius:3px;padding:.125rem .375rem;font-size:.625rem;font-weight:500}._th-regex-example span{color:#475569}@media (max-width:900px){._th-keywords-list{max-height:180px}}
