html:has(#regexviewer-app),html:has(#regexviewer-app) body{margin:0;min-height:100%;overflow:auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f8fafc;color:#0f172a}html:has(#regexviewer-app[data-theme=dark]),html:has(#regexviewer-app[data-theme=dark]) body,html[data-regexviewer-theme=dark]:has(#regexviewer-app) body{background:#0f172a;color:#f1f5f9}#regexviewer-app .main-col{position:relative}#regexviewer-app .rv-lang-toggle{display:inline-flex;align-items:center;padding:.15rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--border) 30%,var(--surface));gap:.1rem}#regexviewer-app .rv-lang-toggle__btn{border:0;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:.3rem .6rem;border-radius:6px;cursor:pointer}#regexviewer-app .rv-lang-toggle__btn.is-active{background:var(--primary);color:#fff}#regexviewer-app[data-theme=dark] .rv-lang-toggle__btn.is-active{color:#0f172a}#regexviewer-app .panel--editor,#regexviewer-app .panel--preview{display:flex;flex-direction:column;min-height:0;background:var(--surface)}#regexviewer-app .rv-subhead{border-top:1px solid var(--border)}#regexviewer-app .rv-chip{font-size:.72rem;font-weight:600;color:var(--muted);padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg)}#regexviewer-app .rv-pattern{flex-shrink:0;padding:.65rem .75rem .75rem;border-bottom:1px solid var(--border);background:var(--bg)}#regexviewer-app .rv-pattern__row{display:flex;align-items:center;gap:.3rem;min-width:0}#regexviewer-app .rv-pattern__slash{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.05rem;font-weight:700;color:var(--muted)}#regexviewer-app .rv-pattern__input{flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}#regexviewer-app .rv-pattern__input:focus{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:1px;border-color:var(--primary)}#regexviewer-app .rv-flags{display:inline-flex;flex-shrink:0;gap:.15rem}#regexviewer-app .rv-flag{width:1.7rem;height:1.7rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;font-size:.75rem;cursor:pointer}#regexviewer-app .rv-flag.is-on{background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:var(--primary);color:var(--primary)}#regexviewer-app .rv-pattern__error{margin:.45rem 0 0;color:var(--error);font-size:.8rem;font-weight:600}#regexviewer-app .rv-test-wrap{position:relative;flex:1 1;min-height:0;display:grid;background:var(--bg)}#regexviewer-app .rv-test-wrap--replace{flex:1 1 45%}#regexviewer-app .rv-highlight,#regexviewer-app .rv-test-input{grid-area:1/1;margin:0;padding:.85rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;border:0;overflow:auto;height:100%;box-sizing:border-box}#regexviewer-app .rv-test-input{position:relative;z-index:1;resize:none;background:transparent;color:transparent;caret-color:var(--text)}#regexviewer-app .rv-highlight{z-index:0;color:var(--text);pointer-events:none;background:var(--bg);overflow:hidden}#regexviewer-app .rv-hit{background:color-mix(in srgb,#f59e0b 38%,transparent);border-radius:2px;color:inherit}#regexviewer-app .rv-hit.is-active{background:color-mix(in srgb,var(--primary) 42%,transparent);box-shadow:inset 0 0 0 1px var(--primary)}#regexviewer-app .rv-replace{flex-shrink:0;display:grid;grid-gap:.65rem;gap:.65rem;padding:.75rem .85rem .9rem;border-top:1px solid var(--border);background:var(--surface)}#regexviewer-app .rv-replace__field{display:grid;grid-gap:.3rem;gap:.3rem}#regexviewer-app .rv-replace label,#regexviewer-app .rv-replace__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}#regexviewer-app .rv-replace input{font-size:.88rem;padding:.45rem .6rem;border:1px solid var(--border);color:var(--text)}#regexviewer-app .rv-replace input,#regexviewer-app .rv-replace__out{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;border-radius:8px;background:var(--bg)}#regexviewer-app .rv-replace__out{margin:0;max-height:7rem;overflow:auto;padding:.55rem .7rem;border:1px solid var(--border);font-size:.82rem;white-space:pre-wrap}#regexviewer-app .panel__head--preview{flex-wrap:wrap;gap:.45rem}#regexviewer-app .rv-result-tabs{display:inline-flex;padding:.12rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--border) 30%,var(--surface));gap:.1rem}#regexviewer-app .rv-result-tabs button{border:0;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;padding:.28rem .55rem;border-radius:6px;cursor:pointer}#regexviewer-app .rv-result-tabs button.is-active{background:var(--primary);color:#fff}#regexviewer-app[data-theme=dark] .rv-result-tabs button.is-active{color:#0f172a}#regexviewer-app .rv-results{flex:1 1;min-height:0;overflow:auto;background:var(--bg)}#regexviewer-app .rv-results__pane{padding:.85rem 1rem 1.25rem}#regexviewer-app .rv-muted{margin:0;color:var(--muted);font-size:.88rem}#regexviewer-app .rv-match-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}#regexviewer-app .rv-match-list>li>button{width:100%;display:flex;align-items:center;gap:.5rem;text-align:left;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}#regexviewer-app .rv-match-list>li>button.is-active,#regexviewer-app .rv-match-list>li>button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}#regexviewer-app .rv-match-list__idx{font-size:.72rem;font-weight:700;color:var(--muted);min-width:1.75rem}#regexviewer-app .rv-match-list code{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}#regexviewer-app .rv-match-list__pos{font-size:.72rem;color:var(--muted)}#regexviewer-app .rv-groups{list-style:none;margin:.35rem 0 .15rem .55rem;padding:.35rem .55rem;border-left:2px solid color-mix(in srgb,var(--primary) 55%,transparent);display:grid;grid-gap:.25rem;gap:.25rem}#regexviewer-app .rv-groups li{display:flex;gap:.5rem;font-size:.78rem}#regexviewer-app .rv-groups span{color:var(--muted);min-width:4.5rem}#regexviewer-app .rv-tokens{list-style:none;margin:0;padding:0;display:grid;grid-gap:.45rem;gap:.45rem}#regexviewer-app .rv-tokens li{display:grid;grid-template-columns:minmax(3rem,max-content) 1fr;grid-gap:.55rem;gap:.55rem;align-items:start;font-size:.84rem}#regexviewer-app .rv-tok{display:inline-block;padding:.12rem .35rem;border-radius:5px;background:color-mix(in srgb,var(--border) 70%,transparent);font-size:.78rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis}#regexviewer-app .rv-tok--class,#regexviewer-app .rv-tok--escape{background:color-mix(in srgb,#0d9488 22%,transparent)}#regexviewer-app .rv-tok--group,#regexviewer-app .rv-tok--lookaround{background:color-mix(in srgb,#6366f1 22%,transparent)}#regexviewer-app .rv-tok--quantifier{background:color-mix(in srgb,#f59e0b 25%,transparent)}#regexviewer-app .rv-tok--alt,#regexviewer-app .rv-tok--anchor,#regexviewer-app .rv-tok--dot{background:color-mix(in srgb,#ec4899 20%,transparent)}#regexviewer-app .rv-popover{position:absolute;top:.65rem;left:.65rem;z-index:40;width:min(22rem,calc(100% - 1.3rem));max-height:min(70%,22rem);overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 40px color-mix(in srgb,#0f172a 22%,transparent)}#regexviewer-app .rv-popover__head{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem .25rem;position:sticky;top:0;background:var(--surface)}#regexviewer-app .rv-preset-list{list-style:none;margin:0;padding:.25rem .65rem .75rem;display:grid;grid-gap:.4rem;gap:.4rem}#regexviewer-app .rv-preset-list button{width:100%;text-align:left;display:grid;grid-gap:.15rem;gap:.15rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}#regexviewer-app .rv-preset-list button:hover{border-color:var(--primary)}#regexviewer-app .rv-preset-list__name{font-weight:700;font-size:.86rem}#regexviewer-app .rv-preset-list code{font-size:.76rem;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#regexviewer-app .rv-preset-list__desc{font-size:.76rem;color:var(--muted)}#regexviewer-app .rv-cheat{padding:.15rem .85rem .85rem;font-size:.84rem}#regexviewer-app .rv-cheat p{margin:.35rem 0}#regexviewer-app .rv-toast-region{position:fixed;right:1.25rem;bottom:1.25rem;z-index:320;display:grid;grid-gap:.5rem;gap:.5rem;pointer-events:none}#regexviewer-app .rv-toast-region .toast{position:static;display:inline-flex;align-items:center;gap:.45rem}.rv-seo{border-top:1px solid #e2e8f0;background:#f8fafc;color:#0f172a}html:has(#regexviewer-app[data-theme=dark]) .rv-seo,html[data-regexviewer-theme=dark] .rv-seo{background:#0f172a;color:#f1f5f9;border-top-color:#334155}.rv-seo__inner{max-width:56rem;margin:0 auto;padding:2.75rem 1.25rem 3.5rem}.rv-seo__intro{display:grid;grid-gap:2rem;gap:2rem;margin-bottom:2.75rem}.rv-seo__title{margin:0 0 .65rem;font-size:1.45rem;font-weight:700;letter-spacing:-.03em;line-height:1.25}.rv-seo__lead,.rv-seo__text{margin:0 0 .9rem;font-size:.98rem;line-height:1.7;color:#64748b}.rv-seo__copy .rv-seo__lead:last-child,.rv-seo__copy .rv-seo__text:last-child{margin-bottom:0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__lead,html:has(#regexviewer-app[data-theme=dark]) .rv-seo__text,html[data-regexviewer-theme=dark] .rv-seo__lead,html[data-regexviewer-theme=dark] .rv-seo__text{color:#94a3b8}.rv-seo__lead strong,.rv-seo__text strong{color:inherit;font-weight:650}.rv-seo__facts{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:1.15rem 1.5rem;gap:1.15rem 1.5rem;align-content:start}.rv-seo__facts>div{padding-top:.85rem;border-top:1px solid #e2e8f0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__facts>div,html[data-regexviewer-theme=dark] .rv-seo__facts>div{border-top-color:#334155}.rv-seo__facts dt{margin:0 0 .2rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.rv-seo__facts dd{margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:#0f172a}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__facts dd,html[data-regexviewer-theme=dark] .rv-seo__facts dd{color:#f1f5f9}.rv-seo__cases,.rv-seo__flow{margin:0 0 2.75rem;padding-top:2.25rem;border-top:1px solid #e2e8f0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__cases,html:has(#regexviewer-app[data-theme=dark]) .rv-seo__flow,html[data-regexviewer-theme=dark] .rv-seo__cases,html[data-regexviewer-theme=dark] .rv-seo__flow{border-top-color:#334155}.rv-seo__block-head{margin:0 0 1.35rem}.rv-seo__block-head h3,.rv-seo__subtitle{margin:0 0 .45rem;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.rv-seo__subtitle{margin:1.75rem 0 .65rem}.rv-seo__block-head p{margin:0;font-size:.95rem;line-height:1.6;color:#64748b}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__block-head p,html[data-regexviewer-theme=dark] .rv-seo__block-head p{color:#94a3b8}.rv-seo__steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.rv-seo__steps>li{display:grid;grid-template-columns:2rem 1fr;grid-gap:1rem;gap:1rem;padding:1.25rem 0;border-top:1px solid #e2e8f0}.rv-seo__steps>li:last-child{border-bottom:1px solid #e2e8f0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__steps>li,html:has(#regexviewer-app[data-theme=dark]) .rv-seo__steps>li:last-child,html[data-regexviewer-theme=dark] .rv-seo__steps>li,html[data-regexviewer-theme=dark] .rv-seo__steps>li:last-child{border-color:#334155}.rv-seo__step-num{padding-top:.15rem;font-size:.85rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#64748b}.rv-seo__case-list h4,.rv-seo__steps h4{margin:0 0 .35rem;font-size:1rem;font-weight:650;letter-spacing:-.02em}.rv-seo__case-list p,.rv-seo__steps p{margin:0;font-size:.92rem;line-height:1.6;color:#64748b}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__case-list p,html:has(#regexviewer-app[data-theme=dark]) .rv-seo__steps p,html[data-regexviewer-theme=dark] .rv-seo__case-list p,html[data-regexviewer-theme=dark] .rv-seo__steps p{color:#94a3b8}.rv-seo__case-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:1.35rem;gap:1.35rem}.rv-seo__case-list li{padding:0 0 0 1.15rem;border-left:2px solid #e2e8f0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__case-list li,html[data-regexviewer-theme=dark] .rv-seo__case-list li{border-left-color:#334155}.rv-seo__text--after{margin-top:1.5rem}.rv-seo a{color:#0f766e;font-weight:600;text-decoration:none}.rv-seo a:hover{text-decoration:underline}html:has(#regexviewer-app[data-theme=dark]) .rv-seo a,html[data-regexviewer-theme=dark] .rv-seo a{color:#5eead4}.rv-seo__links,.rv-seo__list{margin:0 0 1.25rem;padding-left:1.2rem;font-size:.95rem;line-height:1.55;color:#64748b}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__links,html:has(#regexviewer-app[data-theme=dark]) .rv-seo__list,html[data-regexviewer-theme=dark] .rv-seo__links,html[data-regexviewer-theme=dark] .rv-seo__list{color:#94a3b8}.rv-seo__links li,.rv-seo__list li{margin-bottom:.4rem}.rv-seo__case-list code,.rv-seo__list code,.rv-seo__steps code{font-size:.88em}.rv-seo__faq{display:flex;flex-direction:column;gap:.5rem;margin-top:2rem}.rv-seo__faq-item{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.65rem .9rem}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__faq-item,html[data-regexviewer-theme=dark] .rv-seo__faq-item{border-color:#334155;background:#1e293b}.rv-seo__faq-item summary{cursor:pointer;font-weight:600;font-size:.92rem;line-height:1.4}.rv-seo__faq-item p{margin:.55rem 0 .15rem;font-size:.9rem;line-height:1.55;color:#64748b}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__faq-item p,html[data-regexviewer-theme=dark] .rv-seo__faq-item p{color:#94a3b8}@media (min-width:768px){.rv-seo__intro{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:2.5rem;align-items:start}.rv-seo__steps{grid-template-columns:repeat(3,1fr)}.rv-seo__steps>li{grid-template-columns:1fr;gap:.75rem;padding:0 1.5rem;border-top:0;border-right:1px solid #e2e8f0}.rv-seo__steps>li:last-child{border-right:0;border-bottom:0;padding-right:0}.rv-seo__steps>li:first-child{padding-left:0}html:has(#regexviewer-app[data-theme=dark]) .rv-seo__steps>li,html[data-regexviewer-theme=dark] .rv-seo__steps>li{border-right-color:#334155}.rv-seo__case-list{grid-template-columns:repeat(3,1fr);gap:1.75rem}}#regexviewer-app .rv-pattern-b{border-bottom:1px solid var(--border);background:var(--bg);padding:.5rem .75rem .65rem}#regexviewer-app .rv-pattern-b__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}#regexviewer-app .rv-pattern-b__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}#regexviewer-app .rv-hints{display:grid;grid-gap:.2rem;gap:.2rem;padding:.35rem .75rem .45rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,#f59e0b 6%,var(--surface))}#regexviewer-app .rv-warn{display:flex;align-items:flex-start;gap:.4rem;font-size:.78rem;color:#92400e;line-height:1.4}#regexviewer-app .rv-warn--usage{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 12%,var(--surface))}#regexviewer-app .rv-warn__fix{margin-left:auto;flex-shrink:0;border:1px solid var(--primary);background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .45rem;border-radius:6px;cursor:pointer}#regexviewer-app[data-theme=dark] .rv-warn__fix{color:#0f172a}#regexviewer-app[data-theme=dark] .rv-warn{color:#fcd34d}#regexviewer-app .rv-warn svg{flex-shrink:0;margin-top:.1rem;color:#d97706}#regexviewer-app[data-theme=dark] .rv-warn svg{color:#fbbf24}#regexviewer-app .rv-warn--perf,#regexviewer-app .rv-warn--perf svg{color:#7c3aed}#regexviewer-app[data-theme=dark] .rv-warn--perf,#regexviewer-app[data-theme=dark] .rv-warn--perf svg{color:#c4b5fd}#regexviewer-app .rv-g1{background:color-mix(in srgb,#6366f1 40%,transparent)}#regexviewer-app .rv-g2{background:color-mix(in srgb,#0d9488 40%,transparent)}#regexviewer-app .rv-g3{background:color-mix(in srgb,#f59e0b 45%,transparent)}#regexviewer-app .rv-g4{background:color-mix(in srgb,#ec4899 40%,transparent)}#regexviewer-app .rv-g5{background:color-mix(in srgb,#10b981 40%,transparent)}#regexviewer-app .rv-g6{background:color-mix(in srgb,#f97316 40%,transparent)}#regexviewer-app .rv-hit--diff-a{background:color-mix(in srgb,#6366f1 38%,transparent);border-radius:2px}#regexviewer-app .rv-hit--diff-b{background:color-mix(in srgb,#ec4899 38%,transparent);border-radius:2px}#regexviewer-app .rv-hit--diff-both{background:color-mix(in srgb,#0d9488 38%,transparent);border-radius:2px}#regexviewer-app .rv-stepper{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}#regexviewer-app .rv-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}#regexviewer-app .rv-stepper__btn:disabled{opacity:.35;cursor:default}#regexviewer-app .rv-stepper__btn:not(:disabled):hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}#regexviewer-app .rv-stepper__info{font-size:.82rem;color:var(--muted)}#regexviewer-app .rv-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin-bottom:.7rem;padding:.45rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;overflow:hidden}#regexviewer-app .rv-context__after,#regexviewer-app .rv-context__before{color:var(--muted);white-space:pre}#regexviewer-app .rv-context__match{background:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:inset 0 0 0 1px var(--primary);border-radius:2px;color:inherit;padding:0 1px;white-space:pre}#regexviewer-app .rv-legend{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}#regexviewer-app .rv-legend__swatch{display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;padding:.12rem .4rem;border-radius:999px;color:#0f172a}#regexviewer-app[data-theme=dark] .rv-legend__swatch{color:#0f172a}#regexviewer-app .rv-group-swatch{display:inline-block;width:.65rem;height:.65rem;border-radius:3px;flex-shrink:0;margin-top:.1rem}#regexviewer-app .rv-summary{margin:0 0 1rem;font-size:.88rem;line-height:1.6;color:var(--text);padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}#regexviewer-app .rv-tests__toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}#regexviewer-app .rv-tests__add,#regexviewer-app .rv-tests__run{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer}#regexviewer-app .rv-tests__add:hover,#regexviewer-app .rv-tests__run:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}#regexviewer-app .rv-tests__run{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:var(--primary);color:var(--primary)}#regexviewer-app .rv-tests__score{font-size:.78rem;font-weight:700;color:var(--muted);margin-left:auto}#regexviewer-app .rv-tests__empty{margin-top:0}#regexviewer-app .rv-case-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}#regexviewer-app .rv-case{border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:.55rem .65rem .6rem;display:grid;grid-gap:.3rem;gap:.3rem}#regexviewer-app .rv-case--pass{border-color:#10b981;background:color-mix(in srgb,#10b981 7%,var(--surface))}#regexviewer-app .rv-case--fail{border-color:#ef4444;background:color-mix(in srgb,#ef4444 7%,var(--surface))}#regexviewer-app .rv-case__row{display:flex;align-items:center;gap:.4rem}#regexviewer-app .rv-case__row--opts{flex-wrap:wrap}#regexviewer-app .rv-case__name{flex:1 1;font-size:.8rem;font-weight:600;padding:.25rem .45rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text)}#regexviewer-app .rv-case__name:focus{border-color:var(--border);background:var(--bg);outline:none}#regexviewer-app .rv-case__expected,#regexviewer-app .rv-case__input{flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;padding:.25rem .45rem;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--text)}#regexviewer-app .rv-case__expected{flex:0 1 12rem}#regexviewer-app .rv-case__check{font-size:.78rem;display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);white-space:nowrap}#regexviewer-app .rv-case__remove{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}#regexviewer-app .rv-case__remove:hover{border-color:#ef4444;color:#ef4444}#regexviewer-app .rv-case__result{font-size:.76rem;font-weight:600;padding:.18rem .45rem;border-radius:5px}#regexviewer-app .rv-case__result--pass{background:color-mix(in srgb,#10b981 18%,transparent);color:#065f46}#regexviewer-app[data-theme=dark] .rv-case__result--pass{color:#6ee7b7}#regexviewer-app .rv-case__result--fail{background:color-mix(in srgb,#ef4444 18%,transparent);color:#7f1d1d}#regexviewer-app[data-theme=dark] .rv-case__result--fail{color:#fca5a5}#regexviewer-app .rv-history{padding:.1rem 0 .5rem}#regexviewer-app .rv-history__section{padding:.3rem .75rem .15rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}#regexviewer-app .rv-history-list{list-style:none;margin:0;padding:0 .5rem;display:grid;grid-gap:.2rem;gap:.2rem}#regexviewer-app .rv-history-list__item{display:flex;align-items:center;gap:.3rem}#regexviewer-app .rv-history-list__load{flex:1 1;min-width:0;text-align:left;padding:.3rem .45rem;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer}#regexviewer-app .rv-history-list__load:hover{border-color:var(--border);background:var(--bg)}#regexviewer-app .rv-history-list__pattern{font-size:.8rem;color:var(--text);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16rem}#regexviewer-app .rv-history-list__pin{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}#regexviewer-app .rv-history-list__pin.is-fav,#regexviewer-app .rv-history-list__pin:hover{color:#f59e0b;border-color:#f59e0b}#regexviewer-app .rv-history__foot{padding:.45rem .75rem .1rem}#regexviewer-app .rv-history__clear{font-size:.76rem;color:var(--muted);border:0;background:transparent;cursor:pointer;text-decoration:underline;padding:0}#regexviewer-app .rv-history__clear:hover{color:#ef4444}#regexviewer-app .rv-history__empty{padding:.75rem .85rem}#regexviewer-app .rv-export{padding:.3rem .65rem .75rem;display:grid;grid-gap:.3rem;gap:.3rem}#regexviewer-app .rv-export__btn{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;cursor:pointer}#regexviewer-app .rv-export__btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg))}#regexviewer-app .rv-export__label{font-size:.84rem;font-weight:600}#regexviewer-app .rv-export__hint{font-size:.72rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}