/* TRSIBER tools — shared hub and application styles */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.tools-hero,.password-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#050f22 0%,#0a1d3a 58%,#102a52 100%);color:#fff}
.tools-hero::before,.password-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(650px 350px at 82% 30%,rgba(201,169,97,.14),transparent 65%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px;pointer-events:none}
.tools-hero{padding:clamp(4rem,8vw,7rem) 0}
.tools-hero-grid{position:relative;display:grid;gap:2.5rem;align-items:end}
.tools-hero h1,.password-hero h1{color:#fff;max-width:850px}
.tools-hero .eyebrow,.password-hero .eyebrow{color:var(--gold);text-shadow:0 1px 12px rgba(201,169,97,.18)}
.tools-hero .eyebrow::before,.password-hero .eyebrow::before{background:var(--gold)}
.tools-hero p,.password-hero p{color:rgba(255,255,255,.68);font-size:clamp(1rem,.5vw + .9rem,1.16rem);max-width:740px;margin-top:1.25rem}
.privacy-note{display:flex;gap:1rem;align-items:center;padding:1.2rem 1.35rem;border:1px solid rgba(201,169,97,.28);border-radius:var(--radius-md);background:rgba(255,255,255,.04);max-width:390px}
.privacy-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid rgba(201,169,97,.5);border-radius:50%;color:var(--gold)}
.privacy-note strong,.privacy-note span{display:block}.privacy-note strong{color:#fff;font-size:.9rem}.privacy-note div span{color:rgba(255,255,255,.55);font-size:.78rem;margin-top:.15rem}
@media(min-width:900px){.tools-hero-grid{grid-template-columns:minmax(0,1fr) auto}.privacy-note{margin-bottom:.4rem}}
.tools-list-section{background:var(--cream)}
.tools-section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.tools-count{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke);padding:.45rem .75rem;border:1px solid var(--line-dark);border-radius:99px;background:#fff}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.25rem;margin-top:2rem}
.tool-card{display:flex;flex-direction:column;min-height:330px;padding:1.65rem;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;box-shadow:0 14px 45px -38px rgba(10,29,58,.5);transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.tool-card:hover{transform:translateY(-5px);border-color:rgba(201,169,97,.65);box-shadow:0 25px 55px -34px rgba(10,29,58,.4)}
.tool-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}
.tool-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-md);background:var(--navy-deep);color:var(--gold);font-family:var(--f-mono);font-size:.85rem;letter-spacing:.12em}
.tool-status{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:#357250}.tool-status i,.local-badge i{width:6px;height:6px;border-radius:50%;background:#45a46a;box-shadow:0 0 0 3px rgba(69,164,106,.12)}
.tool-tag,.card-kicker{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.tool-card h2{font-size:1.65rem;margin:.65rem 0}.tool-card p{font-size:.92rem;color:var(--smoke);line-height:1.7}
.tool-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.5rem;color:var(--navy-deep);font-size:.84rem;font-weight:600;border-top:1px solid var(--line-dark)}
.tool-link span{font-size:1.2rem;color:var(--gold-deep);transition:transform .3s}.tool-card:hover .tool-link span{transform:translateX(4px)}
.tools-hub-hero{padding-bottom:clamp(4.5rem,9vw,8rem)}
.tools-hero-action{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.7rem;padding:.8rem 1.05rem;border:1px solid rgba(201,169,97,.38);border-radius:var(--radius);color:var(--gold-soft);font-size:.78rem;font-weight:600;letter-spacing:.04em;background:rgba(201,169,97,.06)}
.tools-hero-action:hover{color:var(--navy-deep);background:var(--gold);border-color:var(--gold)}
.hub-stats{display:grid;grid-template-columns:repeat(3,1fr);min-width:min(100%,400px);border:1px solid rgba(201,169,97,.25);border-radius:var(--radius-lg);background:rgba(255,255,255,.045);backdrop-filter:blur(8px)}
.hub-stats div{padding:1.2rem 1rem;text-align:center;border-left:1px solid rgba(255,255,255,.08)}.hub-stats div:first-child{border-left:0}.hub-stats strong,.hub-stats span{display:block}.hub-stats strong{font-family:var(--f-serif);font-size:1.6rem;font-weight:600;color:var(--gold-soft);line-height:1}.hub-stats span{margin-top:.4rem;color:rgba(255,255,255,.52);font-size:.64rem}
.tool-category-band{padding:0;background:var(--cream)}.tool-category-band>.container{position:relative;transform:translateY(-2.2rem)}
.category-band-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.category-band-head h2{font-size:1.5rem;font-weight:600;margin-top:.25rem;color:#102a52;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.tool-category-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;box-shadow:0 24px 60px -45px rgba(5,15,34,.42);overflow:hidden}
.tool-category-item{display:flex;align-items:start;gap:.8rem;padding:1.2rem;border-left:1px solid var(--line-dark)}.tool-category-item:first-child{border-left:0}.tool-category-item>span{font-family:var(--f-mono);font-size:.65rem;color:var(--gold-deep)}.tool-category-item h3{font-family:var(--f-sans);font-size:.75rem;font-weight:600;letter-spacing:.02em}.tool-category-item p{margin-top:.25rem;font-size:.66rem;line-height:1.5;color:var(--smoke)}
.tool-card-upcoming{border-style:dashed;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(232,235,240,.45));box-shadow:none}.tool-card-upcoming:hover{transform:none;border-color:var(--line-dark);box-shadow:none}.tool-card-upcoming .tool-symbol{background:#e8ebf0;color:var(--navy)}.tool-status.upcoming{color:var(--smoke)}
.tools-seo-section{padding:clamp(4rem,8vw,7rem) 0;background:#fff;border-top:1px solid var(--line-dark)}.tools-seo-grid{display:grid;gap:clamp(2.5rem,7vw,7rem)}.tools-seo-grid h2{font-size:clamp(1.8rem,3.2vw,2.8rem);margin-bottom:1rem}.tools-seo-grid article>p{margin-top:.9rem;font-size:.9rem;line-height:1.85;color:var(--graphite)}
.tools-benefit-list{list-style:none;border-top:1px solid var(--line-dark)}.tools-benefit-list li{display:grid;grid-template-columns:32px 1fr;gap:.8rem;padding:.9rem 0;border-bottom:1px solid var(--line-dark)}.tools-benefit-list li>span{font-family:var(--f-mono);font-size:.68rem;color:var(--gold-deep)}.tools-benefit-list strong{display:block;font-size:.8rem;color:var(--navy-deep)}.tools-benefit-list p{font-size:.72rem;color:var(--smoke);margin-top:.1rem}
.tools-faq-section{padding:clamp(4rem,7vw,6rem) 0;background:var(--cream)}.tools-faq-wrap{display:grid;gap:2.5rem}.tools-faq-wrap>div:first-child h2{font-size:clamp(1.8rem,3vw,2.7rem);max-width:530px}
@media(min-width:850px){.tools-seo-grid,.tools-faq-wrap{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.tool-category-grid{grid-template-columns:1fr 1fr}.tool-category-item:nth-child(3){border-left:0}.tool-category-item:nth-child(n+3){border-top:1px solid var(--line-dark)}}

.password-hero{padding:2rem 0 clamp(4rem,7vw,6.5rem)}
.password-heading{position:relative}.password-heading h1{font-size:clamp(2.5rem,5.5vw,5.2rem);max-width:900px}.password-heading>p{max-width:760px}
.tool-breadcrumb{display:flex;align-items:center;gap:.55rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);font-size:.74rem;color:rgba(255,255,255,.48)}
.tool-breadcrumb a{color:var(--gold-soft)}.tool-breadcrumb a:hover{color:#fff}
.trust-row{display:flex;flex-wrap:wrap;gap:.8rem 1.7rem;margin-top:1.75rem;color:rgba(255,255,255,.68);font-size:.78rem}
.trust-row span{display:flex;align-items:center;gap:.45rem}.trust-row i{display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(201,169,97,.55);border-radius:50%;color:var(--gold);font-size:.62rem;font-style:normal}

.generator-section{padding:0 0 clamp(4rem,8vw,7rem);background:linear-gradient(#f1efe9 0,#f7f5f0 180px)}
.generator-layout{display:grid;gap:1.5rem;align-items:start;transform:translateY(-2.4rem)}
.generator-card,.aside-card{background:#fff;border:1px solid rgba(10,29,58,.12);border-radius:var(--radius-lg);box-shadow:0 25px 70px -45px rgba(5,15,34,.45)}
.generator-card{padding:clamp(1.25rem,3.5vw,2.35rem)}
.generator-card-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.5rem}.generator-card-head h2{font-size:1.7rem;margin-top:.25rem}
.local-badge{display:flex;align-items:center;gap:.48rem;padding:.42rem .65rem;border:1px solid rgba(53,114,80,.18);border-radius:99px;background:#f3faf6;color:#357250;font-size:.67rem;white-space:nowrap}
.password-output-wrap{display:flex;position:relative;border:1px solid rgba(10,29,58,.2);border-radius:var(--radius-md);background:#f7f8fa;transition:border-color .25s,box-shadow .25s}
.password-output-wrap:focus-within{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(201,169,97,.13)}
.password-output{width:100%;min-width:0;padding:1rem 7.6rem 1rem 1rem;border:0;background:transparent;color:var(--navy-deep);font-family:var(--f-mono);font-weight:600;font-size:clamp(.92rem,1.6vw,1.15rem);letter-spacing:.035em;outline:none;text-overflow:ellipsis}
.copy-button{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.42rem;padding:.62rem .75rem;border-radius:var(--radius);background:var(--navy-deep);color:#fff;font-size:.75rem;transition:background .3s,color .3s}
.copy-button:hover{background:var(--gold);color:var(--navy-deep)}.copy-button svg{width:15px;height:15px}
.strength-block{margin:1rem 0 2rem}.strength-meta{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--smoke);margin-bottom:.55rem}.strength-meta strong{color:#28784a}.strength-track{height:5px;border-radius:10px;background:#e5e8ec;overflow:hidden}.strength-track span{display:block;width:100%;height:100%;border-radius:inherit;background:#2f9a5c;transition:width .35s,background .35s}.entropy-text{display:block;margin-top:.5rem;text-align:right;font-size:.66rem;color:var(--smoke)}
.control-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.control-label label,.option-fieldset legend{font-size:.77rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-deep)}.control-label output{display:grid;place-items:center;min-width:42px;height:34px;border-radius:var(--radius);background:var(--navy-deep);color:var(--gold);font-family:var(--f-mono);font-size:.85rem}
.length-control input[type=range]{width:100%;height:5px;appearance:none;-webkit-appearance:none;border-radius:10px;background:linear-gradient(to right,var(--gold) 0%,var(--gold) var(--range-progress,21.4%),#e1e4e8 var(--range-progress,21.4%),#e1e4e8 100%);outline:none}
.length-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border:5px solid var(--navy-deep);border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #fff;cursor:grab}.length-control input[type=range]::-moz-range-thumb{width:11px;height:11px;border:5px solid var(--navy-deep);border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #fff;cursor:grab}.length-control input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid rgba(201,169,97,.35);outline-offset:3px}
.range-limits{display:flex;justify-content:space-between;margin-top:.55rem;color:var(--smoke);font-size:.64rem}
.option-fieldset{border:0;margin:2rem 0 1.25rem}.option-fieldset legend{margin-bottom:.9rem}
.options-grid{display:grid;gap:.65rem}.option-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--line-dark);border-radius:var(--radius-md);cursor:pointer;transition:border-color .25s,background .25s}.option-row:hover{border-color:rgba(201,169,97,.5);background:#fdfcf9}.option-row>span{display:flex;align-items:baseline;gap:.55rem}.option-row strong{font-size:.84rem;color:var(--navy-deep)}.option-row small{font-family:var(--f-mono);font-size:.68rem;color:var(--smoke)}
.option-row input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;width:38px;height:21px;flex:none;border-radius:20px;background:#cbd0d8;transition:background .25s}.switch::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s}.option-row input:checked+.switch{background:var(--navy)}.option-row input:checked+.switch::after{transform:translateX(17px)}.option-row input:focus-visible+.switch{outline:3px solid rgba(201,169,97,.35);outline-offset:2px}
.ambiguous-row{display:flex;align-items:start;gap:.75rem;margin-top:.8rem;padding:.7rem .2rem;cursor:pointer}.ambiguous-row input{margin-top:.25rem;accent-color:var(--navy);width:16px;height:16px}.ambiguous-row span,.ambiguous-row strong,.ambiguous-row small{display:block}.ambiguous-row strong{font-size:.78rem;color:var(--navy-deep)}.ambiguous-row small{font-size:.68rem;color:var(--smoke);margin-top:.15rem}
.generator-error{padding:.7rem .85rem;margin-bottom:.8rem;border:1px solid #e4a4a4;border-radius:var(--radius);background:#fff4f4;color:#9f2929;font-size:.78rem}
.generate-button{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--gold);color:var(--navy-deep);font-weight:600;font-size:.88rem;transition:background .25s,transform .25s}.generate-button:hover{background:var(--gold-soft);transform:translateY(-1px)}.generate-button:active{transform:translateY(0)}.generate-button svg{width:17px;height:17px}.generate-button.is-spinning svg{animation:tool-spin .45s ease}@keyframes tool-spin{to{transform:rotate(360deg)}}
.keyboard-hint{text-align:center!important;color:var(--smoke)!important;font-size:.66rem!important;margin-top:.65rem!important}.keyboard-hint kbd{font-family:var(--f-mono);padding:.12rem .35rem;border:1px solid #d2d6dc;border-bottom-width:2px;border-radius:3px;background:#f8f9fa;color:var(--graphite)}
.generator-aside{display:grid;gap:1.25rem}.aside-card{padding:1.5rem}.privacy-card{background:linear-gradient(145deg,#07162f,#0b2347);border-color:rgba(201,169,97,.2);color:#fff}.privacy-card h2{color:#fff;font-size:1.35rem;margin:.9rem 0 .55rem}.privacy-card p{color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.7}.aside-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(201,169,97,.45);border-radius:50%;color:var(--gold);font-size:.75rem}
.tips-card h2{font-size:1.45rem;margin:.35rem 0 1rem}.tips-card ol{list-style:none}.tips-card li{display:grid;grid-template-columns:28px 1fr;gap:.65rem;padding:.85rem 0;border-top:1px solid var(--line-dark)}.tips-card li>span{font-family:var(--f-mono);font-size:.68rem;color:var(--gold-deep);padding-top:.12rem}.tips-card p,.tips-card strong{display:block}.tips-card strong{font-size:.76rem;color:var(--navy-deep);margin-bottom:.15rem}.tips-card p{font-size:.7rem;color:var(--smoke);line-height:1.55}
@media(min-width:960px){.generator-layout{grid-template-columns:minmax(0,1.75fr) minmax(290px,.75fr)}.options-grid{grid-template-columns:1fr 1fr}}

.tool-content-section{padding:clamp(3.5rem,7vw,6rem) 0;background:#fff;border-top:1px solid var(--line-dark)}
.tool-content-grid{display:grid;gap:clamp(2.5rem,6vw,6rem)}.tool-content-grid h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:1rem}.tool-content-grid article>p{font-size:.93rem;line-height:1.85;color:var(--graphite);margin-top:1rem}.faq-list{border-top:1px solid var(--line-dark)}.faq-list details{border-bottom:1px solid var(--line-dark)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;cursor:pointer;list-style:none;font-size:.85rem;font-weight:600;color:var(--navy-deep)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.2rem;color:var(--gold-deep);transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 2rem 1rem 0;font-size:.8rem;line-height:1.7;color:var(--smoke)}
@media(min-width:850px){.tool-content-grid{grid-template-columns:1fr 1fr}}
.copy-toast{position:fixed;left:50%;bottom:1.5rem;z-index:300;transform:translate(-50%,20px);padding:.75rem 1.1rem;border:1px solid rgba(201,169,97,.45);border-radius:var(--radius);background:var(--navy-deep);color:#fff;font-size:.76rem;box-shadow:0 12px 35px rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}.copy-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.password-use-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--cream);border-top:1px solid var(--line-dark)}.password-use-grid{display:grid;gap:2.5rem}.password-use-grid h2{font-size:clamp(1.8rem,3vw,2.7rem);max-width:520px}.password-use-grid ol{list-style:none;border-top:1px solid var(--line-dark)}.password-use-grid li{display:grid;grid-template-columns:38px 1fr;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--line-dark)}.password-use-grid li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy-deep);color:var(--gold);font-family:var(--f-mono);font-size:.7rem}.password-use-grid li p{font-size:.78rem;line-height:1.65;color:var(--smoke)}.password-use-grid li strong{color:var(--navy-deep)}
@media(min-width:850px){.password-use-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.tools-hero{padding:3.5rem 0}.tools-section-head{align-items:start}.tools-count{display:none}.hub-stats{min-width:0}.hub-stats div{padding:1rem .5rem}.hub-stats strong{font-size:1.3rem}.hub-stats span{font-size:.58rem}.tool-category-grid{grid-template-columns:1fr}.tool-category-item,.tool-category-item:nth-child(3){border-left:0}.tool-category-item:nth-child(n+2){border-top:1px solid var(--line-dark)}.category-band-head{display:block}.password-hero{padding-top:1.25rem}.tool-breadcrumb{margin-bottom:2.5rem}.generator-layout{transform:translateY(-1.5rem)}.generator-card-head h2{font-size:1.45rem}.password-output{padding-right:3.75rem}.copy-button{width:44px;height:44px;justify-content:center;padding:0}.copy-button span{display:none}.option-row>span{display:block}.option-row small{display:block;margin-top:.1rem}.trust-row{display:grid;gap:.6rem}}

/* Regex builder and tester */
.regex-hero h1{max-width:980px}.regex-app-section{padding:0 0 clamp(4rem,8vw,7rem);background:linear-gradient(#f1efe9 0,#f7f5f0 190px)}
.regex-shell{position:relative;transform:translateY(-2.4rem)}.regex-tabs{display:flex;gap:.35rem;width:max-content;max-width:100%;padding:.35rem;margin-bottom:1rem;border:1px solid rgba(10,29,58,.12);border-radius:var(--radius-md);background:#fff;box-shadow:0 16px 45px -35px rgba(5,15,34,.5)}
.regex-tab{padding:.78rem 1rem;border:0;border-radius:calc(var(--radius-md) - 5px);background:transparent;color:var(--smoke);font:600 .78rem var(--f-sans);cursor:pointer}.regex-tab.is-active{background:var(--navy-deep);color:#fff}.regex-tab:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.regex-panel{padding:clamp(1.25rem,3.5vw,2.35rem);border:1px solid rgba(10,29,58,.12);border-radius:var(--radius-lg);background:#fff;box-shadow:0 25px 70px -45px rgba(5,15,34,.45)}.regex-panel-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line-dark)}.regex-panel-head h2{font-size:clamp(1.45rem,3vw,2rem);margin-top:.25rem}
.builder-grid{display:grid;gap:2rem}.builder-controls{display:grid;gap:1.1rem}.regex-field{display:grid;gap:.5rem;color:var(--navy-deep);font-size:.76rem;font-weight:600}.regex-field>span{display:flex;justify-content:space-between;gap:1rem}.regex-field small{color:var(--smoke);font-size:.67rem;font-weight:400}.regex-field input,.regex-field select,.regex-field textarea{width:100%;border:1px solid rgba(10,29,58,.2);border-radius:var(--radius);background:#f7f8fa;color:var(--navy-deep);font:400 .84rem var(--f-sans);outline:none}.regex-field input,.regex-field select{min-height:46px;padding:.7rem .85rem}.regex-field textarea{min-height:260px;padding:1rem;resize:vertical;font-family:var(--f-mono);line-height:1.65}.regex-field input:focus,.regex-field select:focus,.regex-field textarea:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(201,169,97,.13)}
.regex-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}.regex-check-grid{display:grid;gap:.65rem;margin-top:1rem}.regex-check-grid label,.flag-fieldset label{display:flex;align-items:center;gap:.5rem;font-size:.73rem;color:var(--graphite);cursor:pointer}.regex-check-grid input,.flag-fieldset input{accent-color:var(--gold-deep)}
.builder-output{align-self:start;padding:1.25rem;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:#f7f8fa}.regex-code-box{display:flex;align-items:stretch;margin:1rem 0;border:1px solid rgba(10,29,58,.17);border-radius:var(--radius);overflow:hidden;background:var(--navy-deep)}.regex-code-box code{display:block;min-width:0;flex:1;padding:1rem;color:var(--gold-soft);font:500 .82rem/1.65 var(--f-mono);overflow-wrap:anywhere}.regex-code-box button{flex:none;padding:0 .85rem;border:0;border-left:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font:600 .69rem var(--f-sans);cursor:pointer}.regex-code-box button:hover{background:var(--gold);color:var(--navy-deep)}.builder-output>p{min-height:2.8em;color:var(--smoke);font-size:.76rem;line-height:1.65}.builder-output .generate-button{margin-top:1rem}.builder-output [hidden]{display:none}
.word-regex-builder{margin-bottom:2rem;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid rgba(201,169,97,.32);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#fbf8ef 100%)}.word-regex-heading{display:flex;justify-content:space-between;align-items:start;gap:1.5rem;margin-bottom:1.25rem}.word-regex-heading h3{margin:.25rem 0 .4rem;font-size:clamp(1.3rem,2.5vw,1.75rem)}.word-regex-heading p{max-width:680px;color:var(--smoke);font-size:.75rem;line-height:1.6}.unreal-compat-badge{flex:none;padding:.48rem .7rem;border:1px solid rgba(53,114,80,.18);border-radius:99px;background:#f3faf6;color:#357250;font:600 .64rem var(--f-mono);white-space:nowrap}.word-regex-grid{display:grid;gap:1.25rem}.word-regex-controls{display:grid;gap:1rem}.word-regex-options{margin-top:0}.word-regex-output{background:#fff}.word-regex-output .regex-code-box code{max-height:190px;overflow:auto}.word-regex-output .generate-button:disabled{opacity:.45;cursor:not-allowed}.builder-divider{display:flex;align-items:center;gap:1rem;margin:0 0 2rem;color:var(--smoke);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.builder-divider::before,.builder-divider::after{content:"";height:1px;flex:1;background:var(--line-dark)}
.regex-input-row{display:grid;gap:1.25rem;margin-bottom:1.5rem}.regex-pattern-input{display:grid;grid-template-columns:auto 1fr auto;align-items:center;border:1px solid rgba(10,29,58,.2);border-radius:var(--radius);background:#f7f8fa;overflow:hidden}.regex-pattern-input:focus-within{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(201,169,97,.13)}.regex-pattern-input b{padding:.7rem;color:var(--gold-deep);font:500 1.1rem var(--f-mono)}.regex-pattern-input input{min-height:48px;padding:.7rem 0;border:0;border-radius:0;background:transparent;box-shadow:none!important;font-family:var(--f-mono)}
.flag-fieldset{display:flex;flex-wrap:wrap;align-content:start;gap:.55rem .9rem;padding:0;border:0}.flag-fieldset legend{margin-bottom:.55rem;color:var(--navy-deep);font-size:.76rem;font-weight:600}.flag-fieldset label{padding:.48rem .6rem;border:1px solid var(--line-dark);border-radius:var(--radius);background:#fff;font-family:var(--f-mono)}.flag-fieldset small{font:400 .62rem var(--f-sans);color:var(--smoke)}
.regex-test-grid{display:grid;gap:1.2rem}.regex-results{min-width:0;border:1px solid var(--line-dark);border-radius:var(--radius-md);overflow:hidden;background:#f7f8fa}.result-head{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line-dark);background:#fff;font-size:.72rem;color:var(--smoke)}.result-head strong{color:#357250}.highlight-output{min-height:260px;max-height:420px;padding:1rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--graphite);font:400 .8rem/1.65 var(--f-mono)}.highlight-output mark{padding:.08rem .12rem;border-radius:3px;background:#f2d98e;color:#14233c;box-shadow:inset 0 -1px 0 #b89539}.regex-error{margin:1rem;padding:.75rem;border:1px solid rgba(189,59,59,.22);border-radius:var(--radius);background:#fff2f2;color:#9d3030;font-size:.74rem;line-height:1.55}
.match-list-wrap{margin-top:1.5rem}.match-list-wrap h3{font-size:1.15rem;margin-bottom:.8rem}.match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.65rem}.match-item{display:grid;gap:.35rem;min-width:0;padding:.8rem;border:1px solid var(--line-dark);border-radius:var(--radius);background:#fafafa}.match-item span,.match-item small{color:var(--smoke);font-size:.64rem}.match-item code{color:var(--navy-deep);font:.75rem var(--f-mono);overflow-wrap:anywhere}.empty-result{color:var(--smoke);font-size:.74rem}.regex-security-note{margin-top:1rem;padding:1rem 1.15rem;border:1px solid rgba(53,114,80,.16);border-radius:var(--radius-md);background:#f3faf6;color:#486457;font-size:.72rem;line-height:1.65}.regex-security-note strong{color:#2f6045}
@media(min-width:850px){.builder-grid,.word-regex-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.regex-input-row{grid-template-columns:minmax(0,1fr) auto}.regex-test-grid{grid-template-columns:1fr 1fr}.regex-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.regex-shell{transform:translateY(-1.5rem)}.regex-tabs{width:100%}.regex-tab{flex:1;padding:.72rem .45rem;font-size:.7rem}.regex-panel-head{display:block}.regex-panel-head .local-badge{display:inline-flex;margin-top:.75rem}.word-regex-heading{display:block}.unreal-compat-badge{display:inline-flex;margin-top:.75rem}.regex-two-col{grid-template-columns:1fr}.regex-field textarea,.highlight-output{min-height:220px}.regex-code-box{display:block}.regex-code-box button{width:100%;padding:.7rem;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.flag-fieldset{gap:.45rem}.flag-fieldset label{padding:.42rem}.flag-fieldset small{display:none}}
