:root{--tool-bg:#040812;--tool-panel:#081322;--tool-line:rgba(122,214,255,.16);--tool-cyan:#31e6ff;--tool-green:#63f5a7;--tool-text:#edf8ff;--tool-muted:#91a9ba}
*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{background:var(--tool-bg);color:var(--tool-text)}.suite-nav{position:sticky;top:0;z-index:20;background:rgba(4,8,18,.88);border-bottom:1px solid var(--tool-line);backdrop-filter:blur(18px)}.suite-nav-inner{width:min(1180px,calc(100% - 36px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between}.suite-nav nav{display:flex;align-items:center;gap:24px}.suite-nav nav a{color:var(--tool-muted);font-size:14px;text-decoration:none}.suite-nav nav a:hover{color:var(--tool-text)}.nav-cta-link{border:1px solid rgba(49,230,255,.35);padding:10px 15px;border-radius:10px;color:var(--tool-cyan)!important}
.suite-hero{position:relative;overflow:hidden;padding:112px 0 78px;background:radial-gradient(circle at 75% 25%,rgba(31,139,255,.16),transparent 33%),radial-gradient(circle at 20% 20%,rgba(39,235,190,.1),transparent 28%)}.suite-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(80,170,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(80,170,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent);pointer-events:none}.suite-hero .wrap{position:relative;z-index:1}.suite-hero h1{font-size:clamp(46px,7vw,88px);line-height:.98;letter-spacing:-.055em;max-width:900px;margin:16px 0 26px}.suite-hero h1 span{color:transparent;background:linear-gradient(90deg,var(--tool-cyan),var(--tool-green));background-clip:text}.suite-hero .lede{max-width:720px;color:var(--tool-muted);font-size:19px;line-height:1.65}.trust-row{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:34px;color:#c7dae7;font-size:13px}.trust-row span:before{color:var(--tool-green)}
.suite-directory{padding:58px 0 100px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.toolbar p{color:var(--tool-muted);font:12px var(--mono,monospace)}.search{position:relative;display:block;max-width:600px;flex:1}.search input{width:100%;height:54px;border:1px solid var(--tool-line);border-radius:14px;background:#07111e;color:var(--tool-text);padding:0 48px 0 18px;font:inherit}.search input:focus{outline:2px solid var(--tool-cyan);outline-offset:2px}.search>span:last-child{position:absolute;right:18px;top:13px;color:var(--tool-cyan);font-size:24px}.filters{display:flex;gap:9px;overflow:auto;padding:22px 0 28px;scrollbar-width:thin}.filter{white-space:nowrap;border:1px solid var(--tool-line);border-radius:999px;background:transparent;color:var(--tool-muted);padding:9px 14px;cursor:pointer}.filter.active,.filter:hover{color:#031018;background:var(--tool-cyan);border-color:var(--tool-cyan)}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{position:relative;display:flex;flex-direction:column;min-height:290px;padding:25px;border:1px solid var(--tool-line);border-radius:18px;background:linear-gradient(145deg,rgba(12,28,46,.92),rgba(5,14,26,.92));overflow:hidden;transition:transform .25s ease,border-color .25s ease;animation:rise .55s both;animation-delay:calc(var(--i)*20ms)}.tool-card:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-60px;top:-60px;background:var(--tool-cyan);filter:blur(75px);opacity:.08}.tool-card:hover{transform:translateY(-4px);border-color:rgba(49,230,255,.45)}.tool-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(49,230,255,.28);border-radius:13px;color:var(--tool-cyan);background:rgba(49,230,255,.06);font:700 18px var(--mono,monospace)}.tool-card .category{margin:20px 0 7px;color:var(--tool-green);font:10px var(--mono,monospace);text-transform:uppercase;letter-spacing:.12em}.tool-card h2{font-size:20px;margin:0 0 10px;letter-spacing:-.02em}.tool-card>p:not(.category){color:var(--tool-muted);font-size:14px;line-height:1.55;margin:0 0 18px}.launch{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:10px 16px;border:1px solid rgba(49,230,255,.32);border-radius:10px;background:linear-gradient(180deg,rgba(49,230,255,.14),rgba(49,230,255,.05));color:var(--tool-text);font-weight:650;font-size:13.5px;letter-spacing:-.01em;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.launch:hover{border-color:rgba(49,230,255,.6);background:linear-gradient(180deg,rgba(49,230,255,.22),rgba(49,230,255,.08));transform:translateY(-1px)}.launch:active{transform:none}.launch span{color:var(--tool-cyan);transition:transform .2s ease}.launch:hover span{transform:translateX(3px)}.empty{grid-column:1/-1;padding:50px;text-align:center;color:var(--tool-muted)}
.suite-principles{padding:78px 0;border-block:1px solid var(--tool-line);background:#06101c}.suite-principles>.wrap{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px}.suite-principles h2{font-size:38px;line-height:1.1}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.principle-grid article{padding:22px;border-left:1px solid var(--tool-line)}.principle-grid b{font:11px var(--mono,monospace);color:var(--tool-cyan)}.principle-grid h3{font-size:16px;margin:22px 0 8px}.principle-grid p{font-size:13px;color:var(--tool-muted);line-height:1.55}
dialog{width:min(1040px,calc(100% - 24px));max-height:92vh;padding:0;border:1px solid rgba(49,230,255,.25);border-radius:22px;background:#07111e;color:var(--tool-text);box-shadow:0 40px 120px #000;overflow:auto}dialog::backdrop{background:rgba(0,3,9,.78);backdrop-filter:blur(8px)}.dialog-shell{position:relative;padding:38px}.dialog-close{position:absolute;right:20px;top:16px;width:38px;height:38px;border:1px solid var(--tool-line);border-radius:50%;background:transparent;color:var(--tool-text);font-size:24px;cursor:pointer}.dialog-shell>h2{font-size:clamp(28px,5vw,46px);letter-spacing:-.04em;margin:8px 50px 8px 0}.dialog-desc{color:var(--tool-muted);margin-bottom:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:8px;color:#c9dce8;font-size:13px}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--tool-line);border-radius:10px;background:#030a13;color:var(--tool-text);padding:13px;font:14px/1.5 inherit}.form-grid textarea{resize:vertical;font-family:var(--mono,monospace)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--tool-cyan);outline-offset:1px}.form-actions{display:flex;gap:10px;margin-top:20px}.primary,.secondary{border:1px solid var(--tool-cyan);border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}.primary{background:var(--tool-cyan);color:#021018}.secondary{background:transparent;color:var(--tool-text)}.primary:disabled{opacity:.55}.privacy,.disclaimer{color:var(--tool-muted);font-size:11px;line-height:1.55;margin-top:15px}.tool-output{margin-top:28px;padding:24px;border:1px solid rgba(99,245,167,.23);border-radius:16px;background:rgba(3,10,19,.7)}.score{display:flex;align-items:end;gap:10px}.score strong{font-size:56px;line-height:.9;color:var(--tool-green)}.score span{color:var(--tool-muted);font-size:12px}.tool-output>h3{font-size:24px}.result-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.result-columns section{padding:18px;border:1px solid var(--tool-line);border-radius:12px}.result-columns h4{margin-top:0}.result-columns li{color:#bed0db;font-size:13px;line-height:1.55;margin-bottom:7px}.tool-output details{margin-top:18px}.tool-output pre{white-space:pre-wrap;overflow:auto;max-height:320px;padding:15px;background:#02070d;border-radius:8px;color:#b8d0dc;font-size:12px}.document{width:100%;min-height:280px;background:#02070d;color:#d4e5ed;border:1px solid var(--tool-line);border-radius:9px;padding:15px;line-height:1.55}.copy{margin-top:10px}.error{padding:18px;border-left:3px solid #ff5876;background:rgba(255,88,118,.08);color:#ffd4dc}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:900px){.tool-grid{grid-template-columns:repeat(2,1fr)}.suite-principles>.wrap{grid-template-columns:1fr}.suite-nav nav a:not(.nav-cta-link){display:none}}@media(max-width:620px){.suite-hero{padding-top:78px}.suite-hero h1{font-size:46px}.tool-grid,.principle-grid,.form-grid,.result-columns{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.dialog-shell{padding:30px 18px}.tool-card{min-height:250px}.suite-nav-inner{width:min(100% - 22px,1180px)}.brand-tx{display:none}}
.form-grid label small{color:var(--tool-muted);font-size:11px;line-height:1.45}.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.report-actions .secondary{padding:9px 12px;font-size:12px}
.suite-sources{padding:22px 0;border-bottom:1px solid var(--tool-line);background:#050d18}.suite-sources p{margin:0;color:var(--tool-muted);font-size:12px;line-height:1.6}.suite-sources a{color:var(--tool-cyan)}
@media print{body>*:not(dialog){display:none!important}dialog{position:static;display:block;width:100%;max-height:none;border:0;box-shadow:none;background:#fff;color:#111}.dialog-close,#toolForm,.report-actions{display:none!important}.tool-output{border:0;background:#fff}.result-columns{grid-template-columns:1fr 1fr}.result-columns section,.tool-output pre,.document{color:#111;background:#fff;border-color:#bbb}}

/* v1.2 product workspace, assurance labels and accessible interaction states */
.tool-badge{align-self:flex-start;margin:auto 0 0;padding:5px 9px;border:1px solid var(--tool-line);border-radius:999px;color:#bcd2df;font:10px/1.5 var(--mono,monospace);letter-spacing:.04em;text-transform:uppercase;max-width:100%}.tool-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.favorite{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--tool-line);border-radius:50%;background:transparent;color:var(--tool-muted);font-size:15px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.favorite:hover{color:#ffd75f;border-color:rgba(255,215,95,.5)}.favorite[aria-pressed="true"]{color:#ffd75f;border-color:#ffd75f;background:rgba(255,215,95,.08)}.tool-assurance{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}.assurance-pill{padding:7px 10px;border:1px solid var(--tool-line);border-radius:999px;color:#bcd2df;font:10px var(--mono,monospace)}.form-progress{margin:0 0 18px}.form-progress div{display:flex;justify-content:space-between;color:var(--tool-muted);font-size:11px;margin-bottom:7px}.form-progress progress{display:block;width:100%;height:7px;accent-color:var(--tool-cyan)}.report-context{margin-top:18px;padding:15px;border:1px solid var(--tool-line);border-radius:11px}.report-context summary{cursor:pointer;color:#c9dce8;font-size:13px}.report-context .form-grid{margin-top:14px}.form-actions{flex-wrap:wrap}.result-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.result-meta span{padding:6px 9px;border-radius:999px;background:rgba(49,230,255,.07);color:#bcd2df;font-size:11px}.saved-reports{padding:70px 0;border-top:1px solid var(--tool-line);background:#050d18}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading h2{margin:5px 0;font-size:32px}.section-heading p{color:var(--tool-muted);margin:0}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.saved-card{padding:18px;border:1px solid var(--tool-line);border-radius:14px;background:#07111e}.saved-card h3{font-size:16px;margin:4px 0}.saved-card p{color:var(--tool-muted);font-size:11px}.saved-card .saved-actions{display:flex;gap:8px;margin-top:14px}.saved-card .secondary{padding:7px 9px;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.favorite:focus-visible,.launch:focus-visible,.secondary:focus-visible,.primary:focus-visible{outline:2px solid var(--tool-cyan);outline-offset:2px}
@media(max-width:900px){.saved-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.saved-grid{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.tool-card{min-height:270px}}
