
/* ===== resources library ===== */
.gt-res-s{padding-block:clamp(36px,5vw,60px)}
.rs-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 30px;flex-wrap:wrap;margin-bottom:22px}.rs-top .gt-h2{margin-bottom:6px}.rs-lede{margin:0;color:var(--ink-2);max-width:520px}
.rs-fs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.rs-f{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:0;border-radius:13px;background:none;cursor:pointer;font:700 .84rem var(--f-display);color:var(--ink-2);transition:all .25s}
.rs-f em{font:600 .64rem var(--f-mono);font-style:normal;padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--ink-3)}
.rs-fi{display:grid;color:#c2187a}.rs-fi svg{width:15px;height:15px}
.rs-f.on{color:#fff;background:var(--grad);box-shadow:0 10px 20px -12px rgba(212,26,114,.7)}.rs-f.on .rs-fi{color:#fff}.rs-f.on em{background:rgba(255,255,255,.22);color:#fff}
.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:12px}
.rs-card{border-radius:20px;background:#fff;border:1px solid var(--line);transition:box-shadow .3s,border-color .3s,transform .3s;animation:gtpop .35s both}
.rs-card[hidden]{display:none}
.rs-card:hover{border-color:#e3c8ee;box-shadow:0 20px 36px -28px rgba(78,10,107,.6);transform:translateY(-2px)}
.rs-card.open{grid-column:1/-1;border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent;transform:none;box-shadow:0 30px 50px -36px rgba(212,26,114,.6)}
.rs-h{display:flex;align-items:flex-start;gap:14px;width:100%;padding:16px;border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.rs-ci{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#c2187a;background:linear-gradient(140deg,#faeef9,#fff0f3);transition:all .3s}.rs-ci svg{width:19px;height:19px}
.rs-card:hover .rs-ci,.rs-card.open .rs-ci{color:#fff;background:var(--grad)}
.rs-tx{flex:1;display:grid;gap:3px;min-width:0}.rs-tx small{font:600 .6rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.rs-tx b{font:800 .98rem/1.3 var(--f-display);color:var(--ink)}.rs-tx>span{font-size:.84rem;line-height:1.5;color:var(--ink-2)}
.rs-card.open .rs-tx>span{display:none}
.rs-pl{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--surface-2);transition:all .3s}
.rs-pl::before,.rs-pl::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;margin:-1px 0 0 -5px;border-radius:2px;background:#c2187a;transition:transform .3s}.rs-pl::after{transform:rotate(90deg)}
.rs-card.open .rs-pl{background:var(--grad)}.rs-card.open .rs-pl::before,.rs-card.open .rs-pl::after{background:#fff}.rs-card.open .rs-pl::after{transform:rotate(0)}
.rs-bd{padding:0 16px 18px 70px;animation:gtpop .3s both}.rs-in{max-width:760px}
.rs-in p,.rs-in li{color:var(--ink-2);line-height:1.7;font-size:.95rem}.rs-in ol{padding-left:20px}
.rs-in code{font:600 .84rem var(--f-mono);padding:2px 6px;border-radius:6px;background:var(--surface-2);color:#6a0f8e;word-break:break-all}
.rs-in table{width:100%;border-collapse:collapse;font-size:.86rem;margin:6px 0}.rs-in th,.rs-in td{text-align:left;padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}.rs-in th code{white-space:nowrap}.rs-in tr.old td,.rs-in tr.old th{color:#b01e14;text-decoration:line-through;text-decoration-color:rgba(176,30,20,.4)}
.rs-help{margin-top:14px;padding:12px 14px;border-radius:14px;background:#faf5fc;font-size:.88rem}.rs-help a{color:#8f0aa5;font-weight:700;text-decoration:none}
.rs-grid.clip>.rs-card:nth-child(n+10){display:none}
.rs-mw{display:flex;justify-content:center;margin-top:20px}.rs-more{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;border:1px solid #e6d8ee;background:#fff;font:700 .92rem var(--f-display);color:#8f0aa5;cursor:pointer;transition:all .25s}.rs-more:hover{background:var(--grad);color:#fff;border-color:transparent;transform:translateY(-2px)}
/* ===== plans ===== */
@supports (grid-template-rows:subgrid){@media (min-width:981px){.pl2.plans2{grid-auto-rows:auto;row-gap:0}.pl2 .plan2{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:12px;align-content:start}.pl2 .plan2>ul{align-self:start}.pl2 .plan2>.pl-miss{align-self:stretch;margin-top:0}.pl2 .plan2>.btn{align-self:end}}}
.pl-x.v{background:#faf4fd;border-color:#e6cff0}.pl-x.v p{color:#8f0aa5}.pl-x.v li{color:#4f2a63}.pl-x.v li::before{content:"✓";background:#a00ab3}
.pl-x.g{background:#f1faf5;border-color:#bfe6d1}.pl-x.g p{color:#0f7a4d}.pl-x.g li{color:#1f4d38}.pl-x.g li::before{content:"✓";background:#16a36a}
.pl2 .plan2-lvl i.on{transform-origin:50% 100%;animation:pllv 2.4s ease-in-out infinite}.pl2 .plan2-lvl i.on:nth-child(2){animation-delay:.2s}.pl2 .plan2-lvl i.on:nth-child(3){animation-delay:.4s}
@keyframes pllv{0%,60%,100%{transform:scaleY(1)}20%{transform:scaleY(.45)}40%{transform:scaleY(1.15)}}
@media (prefers-reduced-motion:reduce){.pl2 .plan2-lvl i{animation:none!important}}
.pl2{text-align:left;margin-top:30px}
.pl-miss{margin-top:4px;padding:12px 14px;border-radius:14px;background:#fff6ee;border:1px dashed #ffcfa6}
.pl-miss p{margin:0 0 8px;font:500 .66rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#b4500a}
.pl-miss ul{gap:6px}.pl-miss li{font-size:.86rem;color:#7a4a22;padding-left:24px}
.pl-miss li::before{content:"!";background:#ff9a3d;font-weight:800}
.gt-plans{text-align:center}.gt-plans .gt-h2{max-width:900px;margin-inline:auto}.pl-lede{max-width:680px;margin:0 auto 16px;color:var(--ink-2)}.pl-bp{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;list-style:none;margin:0 0 34px;padding:0;font-size:.9rem;color:var(--ink-2)}.pl-bp li{display:flex;align-items:center;gap:7px}.pl-bp li::before{content:"✓";width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.6rem;font-weight:800;color:#fff;background:#1fbf75}
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;align-items:stretch}
.pl-card{position:relative;display:flex;flex-direction:column;padding:28px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -48px rgba(78,10,107,.6);transition:transform .25s}
.pl-card:hover{transform:translateY(-4px)}
.pl-card.pop{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 34px 60px -36px rgba(212,26,114,.6)}
.pl-pop{position:absolute;left:50%;top:-13px;transform:translateX(-50%);padding:5px 14px;border-radius:999px;color:#fff;background:var(--grad);font:700 .72rem var(--f-display);white-space:nowrap}
.pl-n{margin:0;font:800 1.1rem var(--f-display)}.pl-p{margin:6px 0 0;font:800 1.9rem var(--f-display);letter-spacing:-.02em}.pl-card.pop .pl-p{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-s{margin:2px 0 16px;font-size:.84rem;color:var(--ink-3)}
.pl-card ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;flex:1}.pl-card li{display:flex;gap:10px;font-size:.9rem;color:var(--ink-2);line-height:1.45}
.pl-card li i{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1fbf75;margin-top:1px}.pl-card li i svg{width:11px;height:11px}
.pl-btn{display:flex;justify-content:center;gap:6px;padding:13px;border-radius:999px;font:700 .92rem var(--f-display);text-decoration:none;color:#8f0aa5;background:#f6eef9;transition:all .2s}.pl-btn:hover{background:#8f0aa5;color:#fff}
.pl-btn.on{color:#fff;background:var(--grad);box-shadow:0 14px 26px -14px rgba(212,26,114,.75)}
@media (max-width:980px){.rs-grid{grid-template-columns:1fr 1fr}.pl-grid{grid-template-columns:1fr}}
@media (max-width:640px){.rs-grid{grid-template-columns:1fr}.rs-bd{padding:0 16px 18px}.rs-fs{width:100%}}

/* ===== Free email tools: DMARC + SPF generators (gen) ===== */
.gt-hero{position:relative;overflow:hidden;padding:clamp(28px,4vw,56px) 0 clamp(24px,3vw,40px)}
.gt-hero::before{content:"";position:absolute;right:-160px;top:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(212,26,114,.13),transparent 65%);pointer-events:none}
.gt-hwrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:center}
.gt-hcopy h1{margin:0 0 16px}.gt-hcopy .lede{margin:0 0 18px}
.gt-hcopy .lede strong{background:linear-gradient(90deg,#6a0f8e,#d41a72 70%,#ff3a12);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
.gt-pts{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0;color:var(--ink-2);font-size:.95rem}
.gt-pts li{display:flex;align-items:center;gap:8px}.gt-pts li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad)}
.gt-hero .grad-text{background-size:200% 100%;animation:gtflow 6s ease-in-out infinite alternate}@keyframes gtflow{to{background-position:100% 0}}
.gt-vis{position:relative;height:320px}
/* DMARC gate */
.gg-lanes{position:absolute;left:0;top:0;bottom:70px;width:100%}
.gg-env{position:absolute;left:-40px;width:34px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;animation:ggrun 6s linear infinite}
.gg-env svg{width:18px;height:18px}
.gg-env.ok{background:linear-gradient(140deg,#a00ab3,#d41a72);box-shadow:0 8px 16px -8px rgba(160,10,179,.8)}
.gg-env.bad{background:#2a1238;box-shadow:0 8px 16px -8px rgba(0,0,0,.5)}
.gg-env.bad::after{content:"?";position:absolute;right:-5px;top:-6px;width:14px;height:14px;border-radius:50%;background:#ff3b30;font:800 .6rem var(--f-display);display:grid;place-items:center}
.e1{top:34px}.e2{top:84px;animation-delay:1.5s}.e3{top:134px;animation-delay:3s}.e4{top:184px;animation-delay:4.5s}
.gg-env.bad{animation-name:ggblock}
@keyframes ggrun{0%{transform:translateX(0);opacity:0}6%{opacity:1}45%{transform:translateX(200px)}55%{transform:translateX(230px)}92%{transform:translateX(calc(100% + 400px));opacity:1}100%{transform:translateX(calc(100% + 440px));opacity:0}}
@keyframes ggblock{0%{transform:translateX(0);opacity:0}6%{opacity:1}42%{transform:translateX(196px) rotate(0)}50%{transform:translateX(206px) rotate(-12deg) scale(.9);opacity:1}64%{transform:translateX(150px) translateY(30px) rotate(-40deg) scale(.6);opacity:0}100%{opacity:0}}
.gg-shield{position:absolute;left:50%;top:22px;width:110px;margin-left:-30px;display:grid;justify-items:center;gap:8px;z-index:2}
.gg-shield svg{width:78px;height:88px;filter:drop-shadow(0 16px 22px rgba(212,26,114,.35));animation:ggbeat 3s ease-in-out infinite}@keyframes ggbeat{50%{transform:scale(1.05)}}
.gg-tick{stroke-dasharray:40;stroke-dashoffset:40;animation:ggtk 6s ease-in-out infinite}@keyframes ggtk{10%,90%{stroke-dashoffset:0}0%,100%{stroke-dashoffset:40}}
.gg-pol{position:relative;display:block;height:24px;width:130px;text-align:center;overflow:hidden}
.gg-pol em{position:absolute;inset:0;font:700 .72rem var(--f-mono);font-style:normal;letter-spacing:.04em;display:grid;place-items:center;border-radius:999px;opacity:0;animation:ggpol 9s infinite}
.gg-pol .p0{background:#eef0f4;color:#4a5568}.gg-pol .p1{background:#fff2df;color:#b06600;animation-delay:3s}.gg-pol .p2{background:#fde7e5;color:#b01e14;animation-delay:6s}
@keyframes ggpol{0%{opacity:0;transform:translateY(8px)}4%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateY(-8px)}}
.gg-outs{position:absolute;right:16px;top:30px;display:grid;gap:12px}
.gg-o{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font:600 .78rem var(--f-display);color:var(--ink-2);box-shadow:0 10px 20px -16px rgba(78,10,107,.5)}
.gg-o i{width:9px;height:9px;border-radius:50%}.gg-o.in i{background:#1fbf75;animation:ggpl 1.6s infinite}.gg-o.sp i{background:#e88a12}.gg-o.rj i{background:#e0245f}
@keyframes ggpl{0%{box-shadow:0 0 0 0 rgba(31,191,117,.5)}70%,100%{box-shadow:0 0 0 7px rgba(31,191,117,0)}}
.gg-rec{position:absolute;left:16px;right:16px;bottom:16px;padding:12px 14px;border-radius:14px;background:#1d0a2b;color:#f1e8f6;overflow:hidden;white-space:nowrap}
.gg-rec code{font:500 .78rem var(--f-mono);display:inline-block;border-right:2px solid #ff7aa8;animation:ggtype 6s steps(44) infinite;overflow:hidden;max-width:100%;width:0}
@keyframes ggtype{0%{width:0}60%,90%{width:44ch}100%{width:0}}
/* DMARC mail flow lanes (H1) */
/* H1 lanes */
.fl-lanes .ln{position:absolute;left:20px;right:150px;height:2px;background:repeating-linear-gradient(90deg,#e3d4eb 0 8px,transparent 8px 14px)}
.fl-l1{top:78px}.fl-l2{top:160px}.fl-l3{top:242px}
.fl-gate{position:absolute;left:45%;top:20px;bottom:20px;width:70px;margin-left:-35px;border-radius:20px;background:linear-gradient(180deg,rgba(160,10,179,.08),rgba(255,58,18,.08));border:1px solid #ecdcf3;display:grid;place-items:center;overflow:hidden}
.fl-gate b{position:absolute;bottom:12px;font:700 .6rem var(--f-mono);letter-spacing:.12em;color:#8f0aa5}
.fl-sh svg{width:46px;height:52px;filter:drop-shadow(0 10px 14px rgba(212,26,114,.4))}
.fl-scan{position:absolute;left:0;right:0;height:40px;background:linear-gradient(180deg,transparent,rgba(212,26,114,.25),transparent);animation:flscan 2.4s ease-in-out infinite}@keyframes flscan{0%{top:-40px}100%{top:100%}}
.fl-env{position:absolute;left:10px;width:34px;height:26px;margin-top:-13px;border-radius:9px;display:grid;place-items:center;color:#fff;animation:fllane 6s linear infinite;opacity:0}
.fl-env svg{width:17px;height:17px}.fl-env.ok{background:linear-gradient(140deg,#a00ab3,#d41a72)}.fl-env.bad,.fl-env.bad2{background:#2a1238}
.fl-f0{top:78px}.fl-f1{top:160px;animation-name:fllaneb;animation-delay:1.2s}.fl-f2{top:78px;animation-delay:2.4s}.fl-f3{top:242px;animation-name:fllanec;animation-delay:3.6s}.fl-f4{top:160px;animation-delay:4.8s;animation-name:fllanea}
@keyframes fllane{0%{left:10px;opacity:0}5%{opacity:1}90%{left:calc(100% - 190px);opacity:1}100%{left:calc(100% - 170px);opacity:0}}
@keyframes fllanea{0%{left:10px;top:160px;opacity:0}5%{opacity:1}45%{left:42%;top:160px}60%{top:78px}90%{left:calc(100% - 190px);top:78px;opacity:1}100%{opacity:0;top:78px;left:calc(100% - 170px)}}
@keyframes fllaneb{0%{left:10px;opacity:0}5%{opacity:1}40%{left:38%;background:#2a1238}48%{background:#e0245f}90%{left:calc(100% - 190px);opacity:1;background:#e0245f;top:242px}100%{opacity:0;top:242px;left:calc(100% - 170px)}}
@keyframes fllanec{0%{left:10px;opacity:0}5%{opacity:1}40%{left:38%}46%{background:#e0245f;transform:scale(1.1)}90%{left:calc(100% - 190px);opacity:1;background:#e0245f}100%{opacity:0;left:calc(100% - 170px)}}
.fl-outs{position:absolute;right:14px;top:58px;display:grid;gap:42px}
.fl-outs .fl-o{display:flex;align-items:center;gap:8px;width:120px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--line);font:700 .8rem var(--f-display);box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}
.fl-outs i{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800;font-size:.7rem}.fl-outs i svg{width:11px;height:11px}
.fl-o.in i{background:#1fbf75}.fl-o.sp i{background:#e88a12}.fl-o.rj i{background:#e0245f}
/* SPF network */
.sn-node{position:absolute;left:18px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 22px -16px rgba(78,10,107,.55);width:150px;flex-wrap:wrap;row-gap:0}
.sn-node b{font:700 .78rem var(--f-display)}.sn-node small{width:100%;padding-left:28px;font:500 .62rem var(--f-mono);color:var(--ink-3);margin-top:-2px}
.s1{top:26px}.s2{top:106px}.s3{top:186px;opacity:.85}
.sn-ic{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.66rem;font-weight:800;color:#fff}.sn-ic.ok{background:#1fbf75}.sn-ic.bad{background:#e0245f;animation:snx 2.4s ease-in-out infinite}
@keyframes snx{50%{transform:scale(1.15)}}
.sn-lines{position:absolute;inset:0;width:100%;height:100%}.sn-lines path{fill:none;stroke-width:2;stroke-dasharray:6 6;animation:sndash 1.2s linear infinite}
.sn-lines .l1,.sn-lines .l2{stroke:#c98ee0}.sn-lines .l3{stroke:#f0a3b8;animation:none;opacity:.7}@keyframes sndash{to{stroke-dashoffset:-24}}
.sn-pk{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--grad);box-shadow:0 0 10px rgba(212,26,114,.6);offset-rotate:0deg;animation:snpk 2.4s linear infinite}
.sn-pk.k1{offset-path:path("M150 50 C230 50 230 130 290 130")}.sn-pk.k2{offset-path:path("M150 130 L290 130");animation-delay:.8s}
.sn-pk.k3{offset-path:path("M150 210 C200 210 220 175 240 165");background:#e0245f;animation:snpkx 2.4s linear infinite;animation-delay:1.4s}
@keyframes snpk{from{offset-distance:0%;opacity:0}10%{opacity:1}to{offset-distance:100%;opacity:1}}
@keyframes snpkx{from{offset-distance:0%;opacity:0}10%{opacity:1}80%{opacity:1}to{offset-distance:100%;opacity:0;transform:scale(.4)}}
.sn-dom{position:absolute;right:18px;top:96px;width:160px;padding:12px;border-radius:16px;color:#fff;background:radial-gradient(120% 140% at 0 0,#4e0a6b,#1d0a2b 70%);box-shadow:0 20px 34px -18px rgba(78,10,107,.8);display:grid;gap:3px}
.sn-dom span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--grad)}.sn-dom span svg{width:17px;height:17px}
.sn-dom b{font:700 .8rem var(--f-display)}.sn-dom small{font:500 .62rem var(--f-mono);color:#d8c6e4}
.sn-meter{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.sn-meter span{font:600 .62rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.sn-meter b{font:800 .86rem var(--f-display);white-space:nowrap}
.sn-bar{flex:1;height:8px;border-radius:8px;background:#efe6f4;overflow:hidden}.sn-bar i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#1fbf75,#a00ab3);animation:snbar 4s ease-in-out infinite}
@keyframes snbar{0%{width:0}40%,85%{width:30%}100%{width:0}}
/* tool layout */
.gt-tool{padding-top:clamp(16px,2vw,28px)}
.gt-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px;align-items:start}
.gt-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,2.4vw,28px);box-shadow:0 30px 60px -44px rgba(78,10,107,.5)}
.gt-res{position:sticky;top:96px}
.gt-row label,.gt-check > label{display:block;font:700 .92rem var(--f-display);margin-bottom:8px}
.gt-domf{display:flex;gap:8px;flex-wrap:wrap}
.gt-domf input,.gt-dom > input,.gt-chipf input{flex:1;min-width:0;font:500 1rem var(--f-body);color:var(--ink);padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;outline:0}
.gt-dom > input{width:100%}
.gt-domf input:focus,.gt-dom > input:focus,.gt-chipf:focus-within{border-color:color-mix(in srgb,#a00ab3 40%,var(--line));box-shadow:0 0 0 4px rgba(160,10,179,.08)}
.gt-btn,.gt-btn2{flex:none;border:0;cursor:pointer;font:700 .88rem var(--f-display);border-radius:999px;padding:11px 18px}
.gt-btn{color:#fff;background:var(--grad);box-shadow:0 10px 20px -12px rgba(212,26,114,.7)}
.gt-btn2{color:#8f0aa5;background:#f6eef9;border:1px solid #ead9f1;text-decoration:none;display:inline-block;text-align:center}.gt-btn2:hover{background:#8f0aa5;color:#fff}
.gt-hint{margin:8px 0 0;font-size:.82rem;color:var(--ink-3)}.gt-hint.bad{color:#b01e14}
.gt-sec{padding:18px 0 4px;border-top:1px solid var(--line);margin-top:18px}
.gt-st{display:flex;align-items:center;gap:6px;margin:0 0 12px;font:600 .68rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--magenta)}
.gt-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;background:none;color:var(--ink-3);cursor:help;vertical-align:middle;text-transform:none;letter-spacing:0}
.gt-ti svg{width:15px;height:15px}
.gt-tt{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;width:240px;margin-left:-120px;padding:10px 12px;border-radius:12px;background:#1d0a2b;color:#f1e8f6;font:400 .78rem/1.45 var(--f-body);text-align:left;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s}
.gt-tip:hover .gt-tt,.gt-tip:focus .gt-tt{opacity:1;transform:none}
.gt-pols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.gt-alls{grid-template-columns:repeat(2,1fr)}
.gt-pol{position:relative;cursor:pointer}.gt-pol input{position:absolute;opacity:0}
.gt-pol span{display:grid;gap:2px;height:100%;padding:12px;border-radius:14px;border:1.5px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.gt-pol b{font:700 .92rem var(--f-display)}.gt-pol small{font-size:.74rem;color:var(--ink-3)}
.gt-pol{--pc:#6b7280}.gt-pol.quarantine{--pc:#c87400}.gt-pol.reject{--pc:#d6281c}
.gt-pol input:checked + span{border-color:var(--pc);box-shadow:0 0 0 4px color-mix(in srgb,var(--pc) 12%,transparent);transform:translateY(-1px)}
.gt-pol input:checked + span b{color:var(--pc)}
.gt-pol input:focus-visible + span{outline:2px solid #a00ab3;outline-offset:2px}
.gt-sw{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--ink)}
.gt-sw input{position:absolute;opacity:0;width:1px;height:1px}
.gt-swt{flex:none;position:relative;width:40px;height:23px;border-radius:999px;background:#ddd2e4;transition:background .2s}
.gt-swt::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s}
.gt-sw input:checked + .gt-swt{background:linear-gradient(90deg,#a00ab3,#d41a72)}.gt-sw input:checked + .gt-swt::after{transform:translateX(17px)}
.gt-sw input:focus-visible + .gt-swt{outline:2px solid #a00ab3;outline-offset:2px}
.gt-rfc{display:inline-block;margin-left:4px;font:700 .58rem var(--f-mono);font-style:normal;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:#efe3f8;color:#8f0aa5;vertical-align:1px}.gt-rfc.old{background:#fde7e5;color:#b01e14}
.gt-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.gt-sel,.gt-num{font:600 .86rem var(--f-display);color:var(--ink);padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#fff}.gt-num{width:80px}
.gt-sel:disabled,.gt-num:disabled{opacity:.45}
.gt-chips{margin:12px 0}.gt-chips > label{display:block;font:600 .86rem var(--f-display);margin-bottom:6px}
.gt-chipf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border-radius:14px;border:1px solid var(--line);background:#fff}
.gt-chipf input{border:0;padding:8px;min-width:160px}.gt-chipf input:focus{box-shadow:none}
.gt-chipl{display:contents}
.gt-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 11px;border-radius:999px;background:#f6eef9;color:#6a0f8e;font:600 .8rem var(--f-body);animation:gtpop .25s both}
.gt-chip.ext{background:#fff2df;color:#9a5a00}
.gt-chip button{width:20px;height:20px;border:0;border-radius:50%;background:#fff;color:inherit;cursor:pointer;font-weight:800;line-height:1}
@keyframes gtpop{from{transform:scale(.7);opacity:0}}
.gt-add{flex:none;border:0;cursor:pointer;font:700 .8rem var(--f-display);color:#8f0aa5;background:#f6eef9;border-radius:10px;padding:8px 12px}
.gt-fo{border:0;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.gt-fo legend{font:600 .86rem var(--f-display);margin-bottom:8px;padding:0}
.gt-fo label{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--ink-2)}.gt-fo:disabled{opacity:.45}
.gt-al{display:flex;align-items:center;gap:18px;margin:8px 0;font-size:.88rem}.gt-al > span{flex:1;font-weight:600}.gt-al label{display:flex;align-items:center;gap:6px}
.gt-adv{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.gt-adv summary{cursor:pointer;font:700 .9rem var(--f-display);color:#8f0aa5}
/* result */
.gt-rt{margin:0 0 14px;font-size:.92rem;color:var(--ink-2)}.gt-rt b{color:var(--ink)}
.gt-meta{display:flex;gap:10px;margin-bottom:12px}.gt-meta div{flex:1;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.gt-meta span{display:block;font:600 .6rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.gt-meta b{font:700 .95rem var(--f-display)}
.gt-out{margin:12px 0}.gt-ol{display:block;font:600 .62rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.gt-ov{display:flex;align-items:stretch;gap:8px}
.gt-ov code{flex:1;min-width:0;padding:12px 14px;border-radius:14px;background:#1d0a2b;color:#f6eefa;font:500 .84rem/1.5 var(--f-mono);word-break:break-all;transition:box-shadow .3s}
.gt-ov code.flash{box-shadow:0 0 0 3px rgba(212,26,114,.35)}
.gt-copy{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:58px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#8f0aa5;cursor:pointer;font:700 .62rem var(--f-display)}
.gt-copy svg{width:17px;height:17px}.gt-copy.done{background:#1fbf75;color:#fff;border-color:#1fbf75}
.gt-adv-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.gt-adv-list li{position:relative;padding:10px 12px 10px 34px;border-radius:12px;font-size:.84rem;line-height:1.45;background:#f1fbf6;color:#0f5f3a;animation:gtpop .3s both}
.gt-adv-list li::before{content:"✓";position:absolute;left:11px;top:10px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:.6rem;font-weight:800;color:#fff;background:#1fbf75}
.gt-adv-list li.warn{background:#fff6e8;color:#8a5200}.gt-adv-list li.warn::before{content:"!";background:#e88a12}
.gt-adv-list li.bad{background:#fdecea;color:#9b1c12}.gt-adv-list li.bad::before{content:"✕";background:#e0245f}
.gt-adv-list li.info{background:#f4eef7;color:#5b2a72}.gt-adv-list li.info::before{content:"i";background:#a00ab3}
.gt-ext{margin-top:14px}.gt-ext .gt-out code{background:#2a1238}
.gt-plan{margin-top:18px}.gt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;counter-reset:s}
.gt-steps li{position:relative;padding:12px 8px 10px;border-radius:12px;background:var(--surface-2);text-align:center;counter-increment:s}
.gt-steps li::before{content:counter(s);display:grid;place-items:center;width:22px;height:22px;margin:0 auto 6px;border-radius:50%;background:#ddd2e4;color:#fff;font:800 .7rem var(--f-display)}
.gt-steps b{display:block;font:700 .8rem var(--f-display)}.gt-steps small{display:block;font-size:.66rem;color:var(--ink-3);line-height:1.3;margin-top:2px}
.gt-steps li.done::before{background:#1fbf75;content:"✓"}.gt-steps li.on{background:#fff;box-shadow:0 0 0 2px #a00ab3 inset}.gt-steps li.on::before{background:var(--grad);animation:gtring 1.8s infinite}
@keyframes gtring{0%{box-shadow:0 0 0 0 rgba(212,26,114,.45)}70%,100%{box-shadow:0 0 0 9px rgba(212,26,114,0)}}
.gt-tags{margin-top:18px}.gt-tags table,.gt-tagtbl table{width:100%;border-collapse:collapse;font-size:.82rem}
.gt-tags td,.gt-tagtbl td,.gt-tagtbl th{padding:8px 6px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.gt-tags td:first-child{font:700 .76rem var(--f-mono);color:var(--ink-3);width:48px}.gt-tags td:nth-child(2){font:600 .8rem var(--f-mono);color:#8f0aa5;word-break:break-all}.gt-tags td:last-child{color:var(--ink-3);text-align:right}
.gt-tags tr{animation:gtpop .25s both}
.gt-cur{margin-bottom:18px}.gt-cur code{display:block;padding:12px 14px;border-radius:14px;background:var(--surface-2);font:500 .84rem var(--f-mono);word-break:break-all}
.gt-note{margin:16px 0 0;font-size:.8rem;color:var(--ink-3);text-align:center}.gt-priv{display:flex;justify-content:center;align-items:center;gap:8px;max-width:720px;margin:18px auto 0;padding:10px 16px;border-radius:999px;background:#f1fbf6;color:#0f5f3a;font-size:.84rem}
/* ===== DMARC control room (X1) ===== */
.x-room{position:relative;padding:22px;border-radius:30px;color:#f1e8f6;background:radial-gradient(90% 120% at 100% 0,#5a0f6e 0,transparent 60%),radial-gradient(80% 100% at 0 100%,#3b0a2a,transparent 60%),#150820;box-shadow:0 40px 80px -40px rgba(29,10,43,.9)}
.x-top{display:flex;align-items:center;gap:10px;font:700 .95rem var(--f-display);color:#fff}.x-top em{margin-left:auto;font:500 .72rem var(--f-mono);font-style:normal;color:#bfa9cf;word-break:break-all;text-align:right}
.x-dot{width:9px;height:9px;border-radius:50%;background:#2ee08a;box-shadow:0 0 12px #2ee08a;animation:xpl 1.8s infinite}@keyframes xpl{50%{opacity:.4}}
.x-dom{display:flex;align-items:center;gap:8px;margin-top:16px;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.x-dom:focus-within{border-color:#ff4f9a;box-shadow:0 0 0 4px rgba(255,79,154,.15)}
.x-gi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#ff9cc0;flex:none}.x-gi svg{width:17px;height:17px}
.x-dom input{flex:1;min-width:0;border:0;outline:0;background:none;color:#fff;font:500 1rem var(--f-body)}.x-dom input::placeholder{color:#9d8bb0}
.x-dom button{flex:none;border:0;cursor:pointer;border-radius:999px;padding:10px 16px;font:700 .84rem var(--f-display);color:#fff;background:var(--grad);box-shadow:0 10px 20px -10px rgba(255,58,18,.7)}
.x-room .gt-hint{color:#d8c6e4}.x-room .gt-hint.bad{color:#ffb3c1}
.x-orbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}
.x-orb{position:relative;display:grid;justify-items:center;gap:3px;padding:16px 8px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#cdbbd9;cursor:pointer;transition:all .35s}
.x-orb input{position:absolute;opacity:0}.x-orb{--oc:#94a3b8}.x-orb.quarantine{--oc:#ffb020}.x-orb.reject{--oc:#ff3b5c}
.x-og{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;background:rgba(255,255,255,.06);transition:all .35s}.x-og i{display:grid;color:#fff}.x-og svg{width:22px;height:22px}
.x-orb b{font:800 1rem var(--f-display);color:#fff}.x-orb small{font-size:.76rem}
.x-orb:has(input:checked){background:rgba(255,255,255,.08);border-color:var(--oc);box-shadow:0 0 30px -10px var(--oc)}
.x-orb:has(input:checked) .x-og{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.25),transparent 50%),var(--oc);box-shadow:0 0 0 8px color-mix(in srgb,var(--oc) 18%,transparent),0 0 40px var(--oc);animation:xbr 2.6s ease-in-out infinite}
.x-orb:has(input:focus-visible){outline:2px solid #ff9cc0;outline-offset:2px}
@keyframes xbr{50%{box-shadow:0 0 0 14px color-mix(in srgb,var(--oc) 10%,transparent),0 0 60px var(--oc)}}
.x-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.x-pnl{padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);min-width:0}
.x-pl{display:flex;align-items:center;gap:6px;margin-bottom:6px;font:600 .62rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#ff9cc0}
.x-sw{display:flex;align-items:center;gap:10px;padding:8px 0;font:600 .84rem var(--f-display);color:#f1e8f6;cursor:pointer}.x-sw input{position:absolute;opacity:0;width:1px;height:1px}
.x-nt{position:relative;flex:none;width:42px;height:23px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);transition:all .3s}
.x-nt::after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#bfa9cf;transition:all .3s cubic-bezier(.3,1.4,.5,1)}
.x-sw input:checked+.x-nt{background:rgba(255,79,154,.25);border-color:#ff4f9a;box-shadow:0 0 14px rgba(255,79,154,.55)}.x-sw input:checked+.x-nt::after{transform:translateX(19px);background:#fff;box-shadow:0 0 10px #ff4f9a}
.x-sw input:focus-visible+.x-nt{outline:2px solid #ff9cc0;outline-offset:2px}
.x-rfc{display:inline-block;margin-left:4px;font:700 .54rem var(--f-mono);font-style:normal;padding:2px 5px;border-radius:5px;background:rgba(255,156,192,.15);color:#ff9cc0;vertical-align:1px}.x-rfc.old{background:rgba(255,90,90,.15);color:#ff9a9a}
.x-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.x-sel,.x-num{font:600 .8rem var(--f-display);color:#fff;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#24102f}.x-sel:disabled,.x-num:disabled{opacity:.35}.x-num{width:72px}
.x-al{display:flex;align-items:center;gap:6px;margin-top:8px;font:600 .82rem var(--f-display)}.x-al>span{flex:1;color:#cdbbd9}
.x-al label{cursor:pointer}.x-al input{position:absolute;opacity:0}.x-al b{display:block;padding:5px 11px;border-radius:999px;font:700 .74rem var(--f-display);color:#bfa9cf;background:rgba(255,255,255,.06);transition:all .25s}
.x-al input:checked+b{color:#fff;background:var(--grad)}.x-al input:focus-visible+b{outline:2px solid #ff9cc0}
.x-room .gt-chips{margin:8px 0}.x-room .gt-chips>label{font:600 .8rem var(--f-display);color:#cdbbd9}
.x-room .gt-chipf{background:rgba(127,216,255,.06);border-color:rgba(127,216,255,.22)}.x-room .gt-chipf input{background:none;color:#fff;min-width:120px;font-size:.9rem}.x-room .gt-chipf input::placeholder{color:#8f7da2}
.x-room .gt-chip{background:rgba(127,216,255,.14);color:#bfeaff}.x-room .gt-chip.ext{background:rgba(255,176,32,.16);color:#ffd28a}.x-room .gt-chip button{background:rgba(255,255,255,.12);color:#fff}
.x-room .gt-add{background:rgba(255,255,255,.08);color:#ff9cc0}
.x-fo{border:0;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.x-fo legend{width:100%;margin-bottom:6px;font:600 .78rem var(--f-display);color:#cdbbd9;padding:0}.x-fo:disabled{opacity:.4}
.x-fo label{cursor:pointer}.x-fo input{position:absolute;opacity:0}.x-fo b{display:block;padding:5px 10px;border-radius:999px;font:600 .72rem var(--f-display);color:#bfa9cf;border:1px solid rgba(255,255,255,.14)}.x-fo input:checked+b{color:#fff;border-color:#ff4f9a;background:rgba(255,79,154,.18)}
.x-adv{margin-top:12px;padding:10px 16px;border-radius:16px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12)}.x-adv summary{cursor:pointer;font:700 .84rem var(--f-display);color:#ff9cc0}.x-adv .x-line{margin-top:10px;font:600 .82rem var(--f-display)}
.x-term{margin-top:14px;padding:14px 16px;border-radius:16px;background:#0b0412;border:1px solid rgba(255,255,255,.08);font:500 .82rem/1.7 var(--f-mono);word-break:break-word;color:#f1e8f6}
.x-pr{color:#2ee08a}.x-cur{display:inline-block;width:8px;height:15px;margin-left:4px;vertical-align:-2px;background:#ff4f9a;animation:xpl 1s steps(1) infinite}
.x-t{animation:gtpop .3s both}.x-v{color:#9d8bb0}.x-rua,.x-ruf{color:#7fd8ff}.x-adkim,.x-aspf,.x-fo,.x-psd,.x-pct,.x-t.x-t{color:#ffd28a}
.x-p,.x-sp,.x-np{color:#cdbbd9}.x-t[data-v=none]{color:#c6cdd8}.x-t[data-v=quarantine]{color:#ffb020}.x-t[data-v=reject]{color:#ff6b81}
.x-room .gt-tip{color:#bfa9cf}
/* error message (V1) */
.gt-chipf.bad{border-color:#f08aa0!important;box-shadow:0 0 0 4px rgba(224,36,95,.12);animation:gtshk .45s}
@keyframes gtshk{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.gt-err{display:flex;align-items:center;gap:8px;margin:8px 2px 0;font-size:.82rem;line-height:1.4;color:#c21d3c;animation:gtpop .3s both}
.gt-err::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font:800 .7rem var(--f-display);color:#fff;background:#e0245f}
.x-room .gt-err{color:#ffb3c1}
/* output panel: light code fields (O2) */
.gt-res .gt-meta{display:flex;gap:8px}.gt-res .gt-meta div{flex:none;display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:var(--surface-2)}
.gt-res .gt-meta span{font:600 .58rem var(--f-mono)}.gt-res .gt-meta b{font:700 .84rem var(--f-mono)}
.gt-out{margin:10px 0}.gt-ol{display:none}
.gt-ov{position:relative;display:block}
.gt-ov::before{content:attr(data-l);display:block;position:absolute;left:14px;top:11px;font:600 .58rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#d41a72}
.gt-ov code{display:block;padding:28px 60px 12px 14px;border-radius:16px;background:linear-gradient(135deg,#faf5fc,#fff5f8);border:1px solid #efe1f4;color:#3a1450;font:600 .88rem/1.55 var(--f-mono)}
.gt-ov code.flash{box-shadow:0 0 0 3px rgba(212,26,114,.25)}
.gt-copy{position:absolute;right:10px;top:50%;margin-top:-19px;width:38px;height:38px;border:0;border-radius:12px;background:#fff;color:#8f0aa5;box-shadow:0 6px 14px -8px rgba(78,10,107,.6);flex-direction:row}
.gt-copy span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.gt-copy:hover{background:var(--grad);color:#fff}.gt-copy.done{background:#1fbf75;color:#fff}
.gt-ext .gt-ov code{background:linear-gradient(135deg,#fff8ec,#fff)}
/* how it works: glowing timeline (W4) */
.gt-flow{position:relative;gap:14px}
.gt-exl .gt-flow::before{content:"";position:absolute;left:33px;top:24px;bottom:24px;z-index:2;width:3px;border-radius:3px;background:#eadcf1}
.gt-exl .gt-flow::after{content:"";position:absolute;left:33px;top:24px;z-index:2;width:3px;height:0;border-radius:3px;background:var(--grad);animation:gttl 6s ease-in-out infinite}
@keyframes gttl{0%{height:0}60%,90%{height:calc(100% - 48px)}100%{height:0}}
.gt-exl .gt-flow li{position:relative;padding:16px 18px 16px 72px;border-radius:18px;background:#fff;border:1px solid var(--line);margin-left:0}
.gt-exl .gt-flow li::before{z-index:3;left:12px;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:14px;font-size:.95rem;background:#fff;color:#b8a3c9;border:1px solid var(--line);animation:gtlit 6s infinite}
.gt-exl .gt-flow li:nth-child(2)::before{animation-delay:1.2s}.gt-exl .gt-flow li:nth-child(3)::before{animation-delay:2.4s}
@keyframes gtlit{0%,100%{background:#fff;color:#b8a3c9;box-shadow:none}10%,85%{background:var(--grad);color:#fff;box-shadow:0 12px 24px -10px rgba(212,26,114,.7);border-color:transparent}}
@media (max-width:640px){.x-orbs{grid-template-columns:repeat(3,1fr);gap:8px}.x-orb{padding:12px 4px}.x-og{width:46px;height:46px}.x-orb small{display:none}.x-grid{grid-template-columns:1fr}.x-dom{border-radius:20px;flex-wrap:wrap}.x-dom input{min-width:60%}.x-dom button{width:100%}.x-room{padding:16px;border-radius:24px}}

/* presets */
.gt-pres{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gt-pre{position:relative;cursor:pointer}.gt-pre input{position:absolute;opacity:0}
.gt-pre span{display:grid;gap:2px;padding:10px 12px 10px 38px;border-radius:14px;border:1.5px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s}
.gt-pre span::before{content:"";position:absolute;left:12px;top:13px;width:16px;height:16px;border-radius:6px;border:1.5px solid #cdbbd9;background:#fff;transition:all .2s}
.gt-pre input:checked + span{border-color:#a00ab3;box-shadow:0 0 0 4px rgba(160,10,179,.08)}
.gt-pre input:checked + span::before{background:var(--grad);border-color:transparent}
.gt-pre input:checked + span::after{content:"✓";position:absolute;left:15px;top:12px;color:#fff;font-size:.7rem;font-weight:800}
.gt-pre input:focus-visible + span{outline:2px solid #a00ab3;outline-offset:2px}
.gt-pre b{font:700 .84rem var(--f-display)}.gt-pre code{font:500 .66rem var(--f-mono);color:var(--ink-3);word-break:break-all}
/* lookup ring */
.gt-lk{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px;border-radius:16px;background:var(--surface-2)}
.gt-lk b{display:block;font:700 .9rem var(--f-display)}.gt-lk small{display:block;font-size:.76rem;color:var(--ink-3);margin:2px 0 8px}
.gt-ring{position:relative;flex:none;width:64px;height:64px}.gt-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.gt-ring .t{fill:none;stroke:#e6dbec;stroke-width:5}.gt-ring .f{fill:none;stroke:#1fbf75;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .6s cubic-bezier(.3,1.3,.5,1),stroke .3s}
.gt-ring > b{position:absolute;inset:0;display:grid;place-items:center;font:800 1.1rem var(--f-display)}
.gt-ring.warn .f{stroke:#e88a12}.gt-ring.bad .f{stroke:#e0245f}
/* tabs */
.gt-tabs{display:inline-flex;gap:4px;padding:5px;margin-bottom:18px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.gt-tabs button{padding:11px 20px;border:0;border-radius:12px;background:none;cursor:pointer;font:700 .95rem var(--f-display);color:var(--ink-2)}
.gt-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 10px 22px -16px rgba(78,10,107,.7)}
.gt-pane[hidden]{display:none}
.gt-check{max-width:760px}
/* SPF result */
.gt-spres{margin-top:18px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}
.gt-spres[hidden]{display:none}
.gt-sum{display:grid;gap:14px}
.gt-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:700 .72rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.gt-badge.good{background:#e6f7ee;color:#0f7a48}.gt-badge.warn{background:#fff2df;color:#b06600}.gt-badge.bad{background:#fde7e5;color:#b01e14}
.gt-big{display:flex;align-items:center;gap:16px}.gt-big .gt-ring{width:92px;height:92px}.gt-big .gt-ring svg{width:92px;height:92px}.gt-big .gt-ring > b{font-size:1.4rem}
.gt-big .gt-ring > b small{display:block;font-size:.62rem;color:var(--ink-3);font-weight:600;text-align:center;margin-top:-4px}
.gt-big p{margin:0;font-size:.86rem;color:var(--ink-2)}.gt-big p b{display:block;font:800 1.1rem var(--f-display);color:var(--ink)}
.gt-tree{list-style:none;margin:0;padding:0;font:500 .8rem/1.5 var(--f-mono)}
.gt-tree ul{list-style:none;margin:6px 0 4px 10px;padding:0 0 0 14px;border-left:2px dashed #e3d4eb}
.gt-tn{margin:6px 0;animation:gtpop .3s both}
.gt-tnh{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--surface-2)}
.gt-tnh b{font:700 .84rem var(--f-display);color:var(--ink)}.gt-tnh em{margin-left:auto;font-style:normal;font-size:.68rem;color:var(--ink-3)}
.gt-terms{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 0}
.gt-term{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:.74rem;color:var(--ink-2)}
.gt-term.lk{border-color:#d9b8e6;color:#6a0f8e}.gt-term.lk::after{content:"1";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#a00ab3;color:#fff;font-size:.56rem;font-weight:800}
.gt-term.warn{border-color:#f3c27a;background:#fff6e8;color:#8a5200}.gt-term.bad{border-color:#f5b1ad;background:#fdecea;color:#9b1c12}
/* explain + related */
.gt-h2{margin:0 0 16px;font-size:clamp(1.6rem,3vw,2.2rem)}
.gt-exw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.gt-exl{display:flex;flex-direction:column}.gt-exl .gt-flow{margin:0}.gt-exl .gt-p{margin:16px 0 0}
.gt-flow{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px;counter-reset:f}
.gt-flow li{position:relative;padding:14px 16px 14px 58px;border-radius:16px;background:#fff;border:1px solid var(--line);counter-increment:f}
.gt-flow li::before{content:counter(f);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#fff;font:800 .9rem var(--f-display);background:var(--grad)}
.gt-flow b{display:block;font:700 1rem var(--f-display)}.gt-flow span{font-size:.9rem;color:var(--ink-2)}
.gt-p{color:var(--ink-2)}
.gt-tagtbl th code,.gt-tagtbl th{font:700 .78rem var(--f-mono);color:#8f0aa5;white-space:nowrap}.gt-tagtbl td{color:var(--ink-2)}.gt-tagtbl td:nth-child(2){font:500 .76rem var(--f-mono);color:var(--ink-3)}
.gt-tagtbl tr.old th,.gt-tagtbl tr.old td{color:#b01e14;text-decoration:line-through;text-decoration-color:rgba(176,30,20,.4)}
.gt-faq-s{padding-top:0}
.gt-rels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gt-rel{position:relative;display:grid;gap:4px;padding:18px 44px 18px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.gt-rel:hover{transform:translateY(-3px);box-shadow:0 24px 40px -28px rgba(78,10,107,.6)}
.gt-rel b{font:700 1rem var(--f-display)}.gt-rel span{font-size:.86rem;color:var(--ink-2)}.gt-rel i{position:absolute;right:18px;top:18px;font-style:normal;font-weight:800;color:#c2187a}
/* dropdown entries */
.dd-tmini{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.dd-tmini a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;font:600 .82rem var(--f-display);color:var(--ink);text-decoration:none;transition:background .2s}.dd-tmini a:hover{background:#f7eefa}.dd-tmi{flex:none;width:26px;height:26px;padding:5px;border-radius:8px;color:#8f0aa5;background:#f6eef9}.dd-tmi svg{display:block;width:100%;height:100%}.dd-tmini a:nth-child(1) .dd-tmi{background:#efeafd;color:#6a3fd1}.dd-tmini a:nth-child(1):hover{background:#efeafd}.dd-tmini a:nth-child(2) .dd-tmi{background:#e8f2fd;color:#1f6fd1}.dd-tmini a:nth-child(2):hover{background:#e8f2fd}.dd-tmini a:nth-child(3) .dd-tmi{background:#fff2e2;color:#c76a00}.dd-tmini a:nth-child(3):hover{background:#fff2e2}.dd-tmini a:nth-child(4) .dd-tmi{background:#e3f6f4;color:#0f8076}.dd-tmini a:nth-child(4):hover{background:#e3f6f4}.dd-tmini a:hover .dd-tmi svg{transform:scale(1.1)}.dd-tmi svg *{transform-box:fill-box}.dd-ak{transform-origin:33% 62%;animation:ddak 3s ease-in-out infinite}@keyframes ddak{0%,55%,100%{transform:none}70%{transform:rotate(-20deg)}85%{transform:rotate(6deg)}}.dd-as{animation:ddas 3s ease-in-out infinite}@keyframes ddas{50%{transform:translate(1px,-1.5px)}}.dd-ah{stroke-dasharray:24;animation:ddah 3s ease-in-out infinite}@keyframes ddah{0%{stroke-dashoffset:24}40%,100%{stroke-dashoffset:0}}.dd-ab{stroke-dasharray:19;animation:ddab 2.4s ease-in-out infinite}@keyframes ddab{0%{stroke-dashoffset:19}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-19}}.dd-ap{animation:ddap 1.4s steps(1) infinite}@keyframes ddap{50%{opacity:.15}}.dd-tmini a:hover .dd-tmi svg{animation:ddpop .5s}@keyframes ddpop{50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.dd-tmi *{animation:none!important}}
.dd-tools{margin-top:10px;padding-top:10px;border-top:1px dashed #efe3f5}
.dd-tl{display:block;margin:0 4px 8px;font:600 .62rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#d41a72}
.dd-tool{margin:0 0 8px}
.dd-dmi,.dd-sfi{position:relative}
.dd-dmk{position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1fbf75;box-shadow:0 0 0 2px #fff;animation:ddk 3s ease-in-out infinite}
.dd-dmk svg{width:9px;height:9px}@keyframes ddk{0%,20%{transform:scale(0)}30%,85%{transform:scale(1)}100%{transform:scale(0)}}
.dd-sfl{stroke-dasharray:3 3;animation:ddsf 1s linear infinite}@keyframes ddsf{to{stroke-dashoffset:-12}}
@media (max-width:980px){.gt-hwrap{grid-template-columns:1fr}.gt-vis{height:300px}.gt-grid,.gt-spres,.gt-exw{grid-template-columns:1fr}.gt-res{position:static}.gt-rels{grid-template-columns:1fr}}
@media (max-width:640px){.gt-pols{grid-template-columns:1fr}.gt-alls{grid-template-columns:1fr 1fr}.gt-pres{grid-template-columns:1fr}.gt-fo{grid-template-columns:1fr}.gt-steps{grid-template-columns:1fr 1fr}
.gt-vis{height:280px}.sn-node{width:130px;padding:8px 10px}.sn-dom{width:130px;right:12px}.gg-outs{right:10px}.gg-o{padding:6px 9px;font-size:.72rem}
.gt-domf .gt-btn,.gt-domf .gt-btn2{width:100%}.gt-tabs{display:flex}.gt-tabs button{flex:1;padding:10px 8px;font-size:.88rem}.gt-line{flex-wrap:wrap}.gt-tt{width:210px;left:auto;right:-8px;margin-left:0}
}
@media (prefers-reduced-motion:reduce){.gt-hero *,.dd-tools *{animation:none!important}.gg-pol .p2{opacity:1}.gg-rec code{width:auto}}

/* ==== v2: light control room in site palette, aligned with output ==== */
.gt-grid{align-items:stretch}.gt-res{position:relative;top:auto;border-radius:26px}
.x-room{border-radius:26px;color:var(--ink);background:radial-gradient(70% 60% at 100% 0,rgba(255,61,46,.07),transparent 60%),radial-gradient(70% 60% at 0 100%,rgba(160,10,179,.07),transparent 60%),#fff;border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(78,10,107,.5)}
.x-room{display:flex;flex-direction:column}.x-term{margin-top:auto}.x-adv{margin-bottom:14px}
.x-top{color:var(--ink)}.x-top em{color:var(--ink-3)}
.x-dot{background:#d41a72;box-shadow:0 0 12px rgba(212,26,114,.7)}
.x-dom{background:#faf5fc;border-color:#efe1f4}.x-dom:focus-within{border-color:#d41a72;box-shadow:0 0 0 4px rgba(212,26,114,.12)}
.x-gi{background:#fff;color:#a00ab3;box-shadow:inset 0 0 0 1px #efe1f4}
.x-dom input{color:var(--ink)}.x-dom input::placeholder{color:#a593b4}
.x-room .gt-hint{color:var(--ink-2)}.x-room .gt-hint.bad{color:#c0143c}
.x-orb{background:#fff;border-color:var(--line);color:var(--ink-2)}
.x-orb{--oc:#8b7aa0}.x-orb.quarantine{--oc:#ff7a1a}.x-orb.reject{--oc:#d41a72}
.x-og{background:#faf5fc}.x-og i{color:var(--oc)}.x-orb b{color:var(--ink)}
.x-orb:has(input:checked){background:color-mix(in srgb,var(--oc) 6%,#fff);border-color:var(--oc);box-shadow:0 18px 34px -22px var(--oc)}
.x-orb:has(input:checked) .x-og i{color:#fff}
.x-orb:has(input:checked) .x-og{box-shadow:0 0 0 7px color-mix(in srgb,var(--oc) 14%,transparent),0 10px 26px -6px var(--oc)}
@keyframes xbr{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--oc) 8%,transparent),0 10px 30px -4px var(--oc)}}
.x-orb:has(input:focus-visible){outline-color:#d41a72}
.x-pnl{background:#fbf8fd;border-color:#f0e6f5}
.x-pl{color:#c2187a}
.x-sw{color:var(--ink)}
.x-nt{background:#ece3f2;border-color:#e0d2ea}.x-nt::after{background:#fff;box-shadow:0 1px 3px rgba(29,10,43,.25)}
.x-sw input:checked+.x-nt{background:var(--grad);border-color:transparent;box-shadow:0 6px 14px -6px rgba(212,26,114,.7)}.x-sw input:checked+.x-nt::after{box-shadow:none}
.x-rfc{background:rgba(212,26,114,.1);color:#c2187a}.x-rfc.old{background:rgba(192,20,60,.08);color:#b01e14}
.x-sel,.x-num{color:var(--ink);background:#fff;border-color:#e6d8ee}
.x-al>span{color:var(--ink-2)}.x-al b{color:var(--ink-2);background:#f3ebf7}
.x-room .gt-chips>label{color:var(--ink-2)}
.x-room .gt-chipf{background:#fff;border-color:#e6d8ee}.x-room .gt-chipf input{color:var(--ink)}.x-room .gt-chipf input::placeholder{color:#a593b4}
.x-room .gt-chip{background:rgba(160,10,179,.09);color:#6a0f8e}.x-room .gt-chip.ext{background:rgba(255,122,26,.12);color:#b4500a}.x-room .gt-chip button{background:rgba(106,15,142,.12);color:#6a0f8e}
.x-room .gt-add{background:#faf5fc;color:#c2187a}
.x-fo legend{color:var(--ink-2)}.x-fo b{color:var(--ink-2);border-color:#e6d8ee;background:#fff}.x-fo input:checked+b{color:#fff;border-color:transparent;background:var(--grad)}
.x-adv{background:#fbf8fd;border-color:#e6d8ee}.x-adv summary{color:#c2187a}
.x-term{background:linear-gradient(135deg,#faf5fc,#fff5f8);border-color:#efe1f4;color:#3a1450}
.x-pr{color:#c2187a}.x-cur{background:#d41a72}
.x-v{color:#9a86ac}.x-rua,.x-ruf{color:#8f0aa5}.x-adkim,.x-aspf,.x-fo,.x-psd,.x-pct,.x-t.x-t{color:#b4500a}
.x-p,.x-sp,.x-np{color:#3a1450}.x-t[data-v=none]{color:#6f6384}.x-t[data-v=quarantine]{color:#e0620a}.x-t[data-v=reject]{color:#d41a72}
.x-room .gt-tip{color:var(--ink-3)}
/* tighter rhythm between lower sections */
.gt-tool{padding-bottom:clamp(30px,4vw,48px)}
.gt-ex,.gt-res-s,.gt-plans,.gt-rel-s{padding-block:clamp(34px,4.5vw,58px)}
.gt-ex+.gt-plans,.gt-plans+.gt-res-s,.gt-res-s+.gt-rel-s{padding-top:clamp(10px,2vw,22px)}
/* ==== three checks: one animated line ==== */
@property --on{syntax:'<number>';inherits:true;initial-value:0}
@property --fl{syntax:'<number>';inherits:true;initial-value:0}
.ck-top{max-width:760px;margin-bottom:26px}.ck-top .gt-p{margin:8px 0 0;color:var(--ink-2)}
.ck-row{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1.08fr;align-items:center}
.ck{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:12px;min-width:0;padding:14px 14px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 24px 40px -36px rgba(78,10,107,.55)}
.ck::before{content:"";position:absolute;inset:-120%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 55%,#a00ab3,#ff3d2e,#ff9cc0,transparent 95%);animation:ckspin 4s linear infinite;opacity:var(--on)}
.ck::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:18.5px;background:#fff}
@keyframes ckspin{to{transform:rotate(360deg)}}
.ck-ic{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#faf5fc;color:color-mix(in srgb,#fff calc(var(--on)*100%),#a00ab3)}
.ck-ic::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);opacity:var(--on)}
.ck-ic svg{position:relative;width:21px;height:21px}
.ck-tx{display:grid;gap:2px;min-width:0}.ck-tx b{font:800 1.02rem var(--f-display);color:var(--ink)}.ck-tx span{font-size:.84rem;line-height:1.35;color:var(--ink-2)}
.ck-ok{flex:none;margin-left:auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#16a36a;color:#fff;transform:scale(var(--on));opacity:var(--on)}.ck-ok svg{width:12px;height:12px}
.ck-out .ck-tx b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ck-ln{position:relative;height:3px;margin:0 6px;border-radius:3px;background:#eadcf1;overflow:hidden}
.ck-ln i{position:absolute;inset:0;background:var(--grad);transform-origin:0 0;transform:scale(var(--fl),1)}
@media (max-width:980px){.ck-row{grid-template-columns:1fr;justify-items:stretch;max-width:520px}.ck-ln{width:3px;height:20px;margin:4px 0 4px 35px}.ck-ln i{transform:scale(1,var(--fl))}}
@media (prefers-reduced-motion:reduce){.ck,.ck-ln{animation:none!important;--on:1;--fl:1}.ck::before{animation:none}}
/* ==== more free tools ==== */
.tc-head{margin-bottom:22px}
.gt-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gt-tool-c{position:relative;display:flex;align-items:flex-start;gap:14px;padding:20px 20px 20px 18px;border-radius:24px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.gt-tool-c::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:0 0;transition:transform .45s}
.gt-tool-c:hover{transform:translateY(-4px);border-color:#ecd9f2;box-shadow:0 30px 50px -34px rgba(78,10,107,.6)}.gt-tool-c:hover::before{transform:scaleX(1)}
.gt-tool-c:focus-visible{outline:2px solid #d41a72;outline-offset:3px}
.tc-ic{position:relative;flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:var(--grad);box-shadow:0 14px 24px -12px rgba(212,26,114,.7)}
.tc-ic::after{content:"";position:absolute;inset:-5px;border-radius:20px;border:1.5px dashed rgba(212,26,114,.35);animation:ckspin 14s linear infinite}
.tc-ic svg{width:24px;height:24px;transition:transform .4s}.gt-tool-c:hover .tc-ic svg{transform:scale(1.12) rotate(-6deg)}
.tc-tx{display:grid;gap:4px;min-width:0}
.tc-tg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px;font:600 .62rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.tc-tg em{font-style:normal;color:#0f7a4d;background:rgba(22,163,106,.1);padding:2px 7px;border-radius:999px}
.tc-tg em+*{}
.tc-tx b{font:800 1.06rem var(--f-display)}.tc-tx>span:last-child{font-size:.88rem;color:var(--ink-2);line-height:1.45}
.tc-go{margin-left:auto;align-self:center;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#faf5fc;color:#c2187a;font-weight:800;transition:all .3s}
.gt-tool-c:hover .tc-go{background:var(--grad);color:#fff;transform:translateX(3px)}
@media (max-width:980px){.gt-tools{grid-template-columns:1fr}}
.ck0{animation:ckon0 6.5s ease-in-out infinite}@keyframes ckon0{0%,0%{--on:0}4%,90%{--on:1}96%,100%{--on:0}}
.ck1{animation:ckon1 6.5s ease-in-out infinite}@keyframes ckon1{0%,22%{--on:0}26%,90%{--on:1}96%,100%{--on:0}}
.ck2{animation:ckon2 6.5s ease-in-out infinite}@keyframes ckon2{0%,44%{--on:0}48%,90%{--on:1}96%,100%{--on:0}}
.ck-out{animation:ckon3 6.5s ease-in-out infinite}@keyframes ckon3{0%,66%{--on:0}70%,90%{--on:1}96%,100%{--on:0}}
.ln0{animation:ckfl0 6.5s ease-in-out infinite}@keyframes ckfl0{0%,8%{--fl:0}20%,90%{--fl:1}96%,100%{--fl:0}}
.ln1{animation:ckfl1 6.5s ease-in-out infinite}@keyframes ckfl1{0%,30%{--fl:0}42%,90%{--fl:1}96%,100%{--fl:0}}
.ln2{animation:ckfl2 6.5s ease-in-out infinite}@keyframes ckfl2{0%,52%{--fl:0}64%,90%{--fl:1}96%,100%{--fl:0}}
@media (max-width:640px){.rs-grid.clip>.rs-card:nth-child(n+6){display:none}.rs-fs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:999px;max-width:100%}.rs-fs::-webkit-scrollbar{display:none}.rs-f{flex:none}.rs-tx>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rs-top{align-items:center}
/* ==== more free tools: small cards, shine + ping ==== */
.tk-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tk{--c:#8f0aa5;--b:#f4e8f8;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:22px;background:#fff;border:1px solid #ecdcf2;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s,border-color .3s}
.tk.o{--c:#b4500a;--b:#fff1e2}.tk.g{--c:#0f7a4d;--b:#e3f5ec}.tk.m{--c:#c2187a;--b:#fdeaf2}
a.tk:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 40%,#fff);box-shadow:0 26px 44px -30px var(--c)}
a.tk:focus-visible{outline:2px solid #d41a72;outline-offset:3px}
.tk::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.8),transparent);transform:skewX(-18deg);animation:tkshine 7s ease-in-out infinite}
.tk:nth-child(2)::after{animation-delay:.6s}.tk:nth-child(3)::after{animation-delay:1.2s}.tk:nth-child(4)::after{animation-delay:1.8s}.tk:nth-child(5)::after{animation-delay:2.4s}.tk:nth-child(6)::after{animation-delay:3s}
@keyframes tkshine{0%,70%{left:-60%}90%,100%{left:130%}}
.tk-i{position:relative;flex:none;width:44px;height:44px;padding:11px;border-radius:13px;background:var(--b);color:var(--c)}.tk-i svg{display:block;width:22px;height:22px}
.tk-i::after{content:"";position:absolute;inset:-4px;border-radius:16px;border:1.5px solid var(--c);opacity:0;animation:tkping 3s ease-out infinite}
.tk:nth-child(2) .tk-i::after{animation-delay:.5s}.tk:nth-child(3) .tk-i::after{animation-delay:1s}.tk:nth-child(4) .tk-i::after{animation-delay:1.5s}.tk:nth-child(5) .tk-i::after{animation-delay:2s}.tk:nth-child(6) .tk-i::after{animation-delay:2.5s}
@keyframes tkping{0%{opacity:.5;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.35)}}
.tk-n{position:absolute;right:18px;top:14px;font:800 1.9rem var(--f-display);color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--c) 30%,#fff)}
.tk b{margin-top:6px;font:800 1rem var(--f-display)}.tk-d{font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.tk-f{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between}
.tk-f em{font:700 .62rem var(--f-mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--b);color:var(--c)}
.tk-f small{font:600 .72rem var(--f-display);color:var(--ink-3)}.tk-f i{font-style:normal;font-weight:800;color:var(--c);transition:transform .3s}a.tk:hover .tk-f i{transform:translateX(4px)}
.tk.soon{opacity:.85}
.tk-g.rv .tk{opacity:0;transform:translateY(16px)}.tk-g.rv.in .tk{opacity:1;transform:none;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.tk-g.rv.in .tk:nth-child(2){transition-delay:.08s}.tk-g.rv.in .tk:nth-child(3){transition-delay:.16s}.tk-g.rv.in .tk:nth-child(4){transition-delay:.24s}.tk-g.rv.in .tk:nth-child(5){transition-delay:.32s}.tk-g.rv.in .tk:nth-child(6){transition-delay:.4s}
/* icon motion */
.tk svg *{transform-box:fill-box}
.a-sweep{transform-origin:0 100%;animation:taw 3s linear infinite}@keyframes taw{to{transform:rotate(360deg)}}
.a-flap{animation:taf 2.6s ease-in-out infinite;transform-origin:50% 0}@keyframes taf{0%,60%,100%{transform:none}75%{transform:scaleY(-.6) translateY(-2px)}}
.a-n1,.a-n2,.a-n3{animation:tan 2.4s infinite;transform-origin:center}.a-n2{animation-delay:.4s}.a-n3{animation-delay:.8s}@keyframes tan{0%,60%,100%{transform:none}30%{transform:scale(1.35)}}
.a-key{transform-origin:33% 62%;animation:tak 3s ease-in-out infinite}@keyframes tak{0%,55%,100%{transform:none}70%{transform:rotate(-18deg)}85%{transform:rotate(6deg)}}
.a-sun{animation:tas 3s ease-in-out infinite}@keyframes tas{50%{transform:translate(1px,-1.5px)}}.a-hill{stroke-dasharray:24;animation:tah 3s ease-in-out infinite}@keyframes tah{0%{stroke-dashoffset:24}40%,100%{stroke-dashoffset:0}}
.a-ban{stroke-dasharray:19;animation:tab 2.4s ease-in-out infinite}@keyframes tab{0%{stroke-dashoffset:19}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-19}}
.a-needle{transform-origin:0 100%;animation:tane 3s cubic-bezier(.5,1.6,.4,1) infinite}@keyframes tane{0%,100%{transform:rotate(-70deg)}40%,80%{transform:rotate(0)}}
@media (max-width:980px){.tk-g{grid-template-columns:1fr 1fr}}@media (max-width:560px){.tk-g{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tk,.tk *,.tk::after,.tk-i::after{animation:none!important}.tk-g.rv .tk{opacity:1;transform:none}}
@keyframes iqn0{0%{background:#fff;color:#b9a9c6;border-color:#efe6f3}0.01%,2.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}3.00%,23.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}24.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}25.01%,27.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}28.00%,48.00%{background:#fdf0f4;color:#c2185b;border-color:#f3b6c8}49.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}50.01%,52.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}53.00%,92.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}93.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}100%{background:#fff;color:#b9a9c6;border-color:#efe6f3}}@keyframes iqn1{0%{background:#fff;color:#b9a9c6;border-color:#efe6f3}0.01%,5.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}6.00%,23.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}24.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}25.01%,30.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}31.00%,48.00%{background:#fdf0f4;color:#c2185b;border-color:#f3b6c8}49.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}50.01%,55.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}56.00%,92.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}93.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}100%{background:#fff;color:#b9a9c6;border-color:#efe6f3}}@keyframes iqn2{0%{background:#fff;color:#b9a9c6;border-color:#efe6f3}0.01%,8.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}9.00%,23.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}24.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}25.01%,33.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}34.00%,48.00%{background:#fdf0f4;color:#c2185b;border-color:#f3b6c8}49.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}50.01%,58.50%{background:#fff;color:#b9a9c6;border-color:#efe6f3}59.00%,92.00%{background:#f2faf6;color:#16855a;border-color:#a8dcc3}93.00%{background:#fff;color:#b9a9c6;border-color:#efe6f3}100%{background:#fff;color:#b9a9c6;border-color:#efe6f3}}@keyframes iqv{0%{background:transparent;color:transparent;border-color:transparent}0.01%,11.50%{background:transparent;color:transparent;border-color:transparent}12.00%,23.00%{background:#16a36a;color:#fff;border-color:#16a36a}24.00%{background:transparent;color:transparent;border-color:transparent}25.01%,36.50%{background:transparent;color:transparent;border-color:transparent}37.00%,48.00%{background:#d41a72;color:#fff;border-color:#d41a72}49.00%{background:transparent;color:transparent;border-color:transparent}50.01%,61.50%{background:transparent;color:transparent;border-color:transparent}62.00%,92.00%{background:#16a36a;color:#fff;border-color:#16a36a}93.00%{background:transparent;color:transparent;border-color:transparent}100%{background:transparent;color:transparent;border-color:transparent}}@keyframes iql0{0%{transform:scaleX(0)}0.01%,2.50%{transform:scaleX(0)}3.00%,23.00%{transform:scaleX(1)}24.00%{transform:scaleX(0)}25.01%,27.50%{transform:scaleX(0)}28.00%,48.00%{transform:scaleX(1)}49.00%{transform:scaleX(0)}50.01%,52.50%{transform:scaleX(0)}53.00%,92.00%{transform:scaleX(1)}93.00%{transform:scaleX(0)}100%{transform:scaleX(0)}}@keyframes iql1{0%{transform:scaleX(0)}0.01%,5.50%{transform:scaleX(0)}6.00%,23.00%{transform:scaleX(1)}24.00%{transform:scaleX(0)}25.01%,30.50%{transform:scaleX(0)}31.00%,48.00%{transform:scaleX(1)}49.00%{transform:scaleX(0)}50.01%,55.50%{transform:scaleX(0)}56.00%,92.00%{transform:scaleX(1)}93.00%{transform:scaleX(0)}100%{transform:scaleX(0)}}@keyframes iql2{0%{transform:scaleX(0)}0.01%,8.50%{transform:scaleX(0)}9.00%,23.00%{transform:scaleX(1)}24.00%{transform:scaleX(0)}25.01%,33.50%{transform:scaleX(0)}34.00%,48.00%{transform:scaleX(1)}49.00%{transform:scaleX(0)}50.01%,58.50%{transform:scaleX(0)}59.00%,92.00%{transform:scaleX(1)}93.00%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.iq-top{max-width:760px;margin-bottom:24px}.iq-top .gt-p{margin:8px 0 0;color:var(--ink-2)}
.iq{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:400px;border-radius:24px;background:#fff;border:1px solid #f0e6f4;overflow:hidden;box-shadow:0 20px 50px -40px rgba(78,10,107,.35)}
.iq-l{padding:16px;background:#fcfafd;border-right:1px solid #f4edf7}
.iq-lh{display:flex;align-items:baseline;gap:8px;padding:4px 8px 12px}.iq-lh b{font:600 1.05rem var(--f-display)}.iq-lh small{font-size:.8rem;color:var(--ink-3)}
.iq-av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:600 .78rem var(--f-display);color:#8f0aa5;background:#f6eef9}.bad .iq-av{color:#6f6384;background:#f1eef4}
.iq-li{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:14px;margin-bottom:4px;animation:iqsel 12s infinite}
.iq-li div{min-width:0}.iq-li b{display:block;font:600 .84rem var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iq-li small{font-size:.76rem;color:var(--ink-3)}
.iq-li.i1{animation-delay:3s}.iq-li.i2{animation-delay:6s;animation-name:iqsel2}
@keyframes iqsel{0%,1%{background:transparent;box-shadow:none}3%,24%{background:#fff;box-shadow:inset 2px 0 0 #d41a72,0 8px 18px -16px rgba(78,10,107,.5)}25%,100%{background:transparent;box-shadow:none}}
@keyframes iqsel2{0%,1%{background:transparent;box-shadow:none}3%,48%{background:#fff;box-shadow:inset 2px 0 0 #d41a72,0 8px 18px -16px rgba(78,10,107,.5)}50%,100%{background:transparent;box-shadow:none}}
.iq-r{position:relative;padding:18px 22px 22px}
.iq-ch{display:flex;align-items:center;padding:4px 2px 14px;border-bottom:1px solid #f4edf7}
.iq-ch small{font-size:.74rem;color:var(--ink-3);margin-right:12px}
.iq-n{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid #efe6f3;font:600 .74rem var(--f-body);animation:iqn0 12s infinite}
.iq-n.n1{animation-name:iqn1}.iq-n.n2{animation-name:iqn2}
.iq-n i{position:relative;flex:none;width:14px;height:14px;border-radius:50%;background:currentColor}.iq-n i span{position:absolute;inset:2.5px;color:#fff}.iq-n i svg{display:block;width:100%;height:100%}
.iq-n .k{animation:iqk 12s infinite}.iq-n .x{opacity:0;animation:iqx 12s infinite}
@keyframes iqk{0%,25%{opacity:1}26%,49%{opacity:0}50%,100%{opacity:1}}@keyframes iqx{0%,25%{opacity:0}26%,49%{opacity:1}50%,100%{opacity:0}}
.iq-cl{flex:1;min-width:14px;height:1px;margin:0 6px;background:#efe6f3;overflow:hidden}.iq-cl b{display:block;height:100%;background:linear-gradient(90deg,#c58ad6,#ff9aa6);transform-origin:0 0;transform:scaleX(0);animation:iql0 12s infinite}
.iq-cl .l1{animation-name:iql1}.iq-cl .l2{animation-name:iql2}
.iq-v{display:inline-grid;min-width:78px;padding:4px 12px;border-radius:999px;border:1px solid #efe6f3;font:600 .76rem var(--f-body);text-align:center;animation:iqv 12s infinite}
.iq-v em{grid-area:1/1;font-style:normal;opacity:0}.iq-v .v0{animation:iqv0 12s infinite}.iq-v .v1{animation:iqv1 12s infinite}.iq-v .v2{animation:iqv2 12s infinite}
@keyframes iqv0{0%,11.5%{opacity:0}12%,23%{opacity:1}24%,100%{opacity:0}}@keyframes iqv1{0%,36.5%{opacity:0}37%,48%{opacity:1}49%,100%{opacity:0}}@keyframes iqv2{0%,61.5%{opacity:0}62%,92%{opacity:1}93%,100%{opacity:0}}
.iq-ds{position:relative;min-height:290px}
.iq-d{position:absolute;inset:18px 0 0;opacity:0;animation:iqd 12s infinite}.iq-d.d1{animation-delay:3s}.iq-d.d2{animation-delay:6s;animation-name:iqd2}
@keyframes iqd{0%{opacity:0;transform:translateX(10px)}2%,24%{opacity:1;transform:none}25%,100%{opacity:0}}
@keyframes iqd2{0%{opacity:0;transform:translateX(10px)}2%,48%{opacity:1;transform:none}50%,100%{opacity:0}}
.iq-dh{display:flex;gap:12px;align-items:center;margin-bottom:16px}.iq-dh .iq-av{width:38px;height:38px}
.iq-dh b{display:block;font:600 1rem var(--f-display)}.iq-dh small{font-size:.82rem;color:var(--ink-3);word-break:break-all}
.iq-bx{padding:12px 16px;border-radius:16px;background:#fff;border:1px solid #f0e6f4}.iq-bx p{margin:0 0 4px;font-size:.76rem;color:var(--ink-3)}
.iq-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed #f0e4f4}.iq-bx p+.iq-row{border-top:0}
.iq-row>span{font:600 .84rem var(--f-display)}.iq-row em{font-style:normal;font-size:.82rem;color:var(--ink-2)}
.iq-row i{display:inline-flex;align-items:center;gap:5px;font:500 .72rem var(--f-body);font-style:normal;padding:2px 8px 2px 2px;border-radius:999px}.iq-row i svg{width:14px;height:14px;padding:2.5px;border-radius:50%;color:#fff}
.iq-row i.p{background:#f2faf6;color:#16855a}.iq-row i.p svg{background:#16a36a}.iq-row i.f{background:#fdf0f4;color:#c2185b}.iq-row i.f svg{background:#e0245e}
.iq-out{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:600 .82rem var(--f-body);padding:7px 12px 7px 9px;border-radius:10px}.iq-out svg{width:16px;height:16px}
.ok .iq-out{background:#f2faf6;color:#16855a}.bad .iq-out{background:#fdf0f4;color:#c2185b}
@media (max-width:860px){.iq{grid-template-columns:1fr}.iq-l{border-right:0;border-bottom:1px solid #f4edf7}.iq-ch{flex-wrap:wrap;gap:6px}.iq-cl{display:none}.iq-ch small{width:100%}.iq-ds{min-height:450px}.iq-l .iq-li:not(.i1){padding-block:8px}.iq-row{grid-template-columns:56px 1fr}.iq-row i{grid-column:2;justify-self:start}}
@media (prefers-reduced-motion:reduce){.iq *{animation:none!important}.iq-d.d0{opacity:1}.iq-v .v0{opacity:1}.iq-li.i0{background:#fff}}

/* compact plan cards on tool pages */
.pl2.plans2{max-width:1040px;margin-inline:auto;gap:16px}
.pl2 .plan2{padding:20px 20px 18px;gap:12px;border-radius:20px}
.pl2 .plan2-head{gap:10px}.pl2 .plan2-head h3{font-size:1.04rem}.pl2 .plan2-head p{font-size:.78rem}
.pl2 .plan2-ico{width:38px;height:38px;border-radius:12px}.pl2 .plan2-ico svg{width:18px;height:18px}
.pl2 .plan2-price{padding:9px 12px;border-radius:10px}.pl2 .plan2-price b{font-size:.92rem}.pl2 .plan2-price span{font-size:.74rem}
.pl2 .plan2-inc{font-size:.62rem}
.pl2 .plan2 ul{gap:7px}.pl2 .plan2 li{font-size:.85rem;padding-left:24px}.pl2 .plan2 li::before{width:16px;height:16px;font-size:.56rem}
.pl2 .plan2 .btn{min-height:0;height:auto;padding:10px 18px;font-size:.88rem}
.pl2 .plan2-tag{font-size:.6rem;padding:4px 10px;top:-11px}
.pl2 .pl-miss{padding:10px 12px}.pl2 .pl-miss li{font-size:.8rem;padding-left:22px}

/* DMARC hero: outcome pills react when mail arrives */
@keyframes flin{0%,100%{transform:none;box-shadow:0 12px 22px -16px rgba(78,10,107,.5);border-color:#efe4f4}29%{transform:none;border-color:#efe4f4}31%{transform:scale(1.08) translateX(-4px);border-color:#1fbf75;box-shadow:0 0 0 6px #1fbf7522,0 16px 28px -14px #1fbf75}39%{transform:none;border-color:#efe4f4;box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}80%{transform:none;border-color:#efe4f4}90%{transform:scale(1.08) translateX(-4px);border-color:#1fbf75;box-shadow:0 0 0 6px #1fbf7522,0 16px 28px -14px #1fbf75}98%{transform:none;border-color:#efe4f4;box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}}@keyframes flini{0%,100%{transform:none}29%{transform:none}32%{transform:scale(1.3) rotate(-12deg)}36%{transform:none}88%{transform:none}91%{transform:scale(1.3) rotate(-12deg)}95%{transform:none}}@keyframes flsp{0%,100%{transform:none;box-shadow:0 12px 22px -16px rgba(78,10,107,.5);border-color:#efe4f4}69%{transform:none;border-color:#efe4f4}71%{transform:scale(1.08) translateX(-4px);border-color:#e88a12;box-shadow:0 0 0 6px #e88a1222,0 16px 28px -14px #e88a12}79%{transform:none;border-color:#efe4f4;box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}}@keyframes flspi{0%,100%{transform:none}69%{transform:none}72%{transform:scale(1.3) rotate(-12deg)}76%{transform:none}}@keyframes flrj{0%,100%{transform:none;box-shadow:0 12px 22px -16px rgba(78,10,107,.5);border-color:#efe4f4}9%{transform:none;border-color:#efe4f4}11%{transform:scale(1.08) translateX(-4px);border-color:#e0245f;box-shadow:0 0 0 6px #e0245f22,0 16px 28px -14px #e0245f}19%{transform:none;border-color:#efe4f4;box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}49%{transform:none;border-color:#efe4f4}51%{transform:scale(1.08) translateX(-4px);border-color:#e0245f;box-shadow:0 0 0 6px #e0245f22,0 16px 28px -14px #e0245f}59%{transform:none;border-color:#efe4f4;box-shadow:0 12px 22px -16px rgba(78,10,107,.5)}}@keyframes flrji{0%,100%{transform:none}9%{transform:none}12%{transform:scale(1.3) rotate(-12deg)}16%{transform:none}49%{transform:none}52%{transform:scale(1.3) rotate(-12deg)}56%{transform:none}}
.fl-f4{animation-name:fllaned!important}
@keyframes fllaned{0%{left:10px;top:160px;opacity:0}5%{opacity:1}40%{left:38%;background:linear-gradient(140deg,#a00ab3,#d41a72)}48%{background:#e88a12}90%{left:calc(100% - 190px);top:160px;opacity:1;background:#e88a12}100%{opacity:0;top:160px;left:calc(100% - 170px)}}
.fl-outs .fl-o{transform-origin:100% 50%;animation:flin 6s infinite}.fl-outs .fl-o.sp{animation-name:flsp}.fl-outs .fl-o.rj{animation-name:flrj}
.fl-outs .fl-o i{animation:flini 6s infinite}.fl-outs .fl-o.sp i{animation-name:flspi}.fl-outs .fl-o.rj i{animation-name:flrji}
@media (prefers-reduced-motion:reduce){.fl-outs .fl-o,.fl-outs .fl-o i{animation:none}}

/* ==== shared tool chrome ==== */
.gt-tabs{display:inline-flex;gap:2px;padding:4px;margin-bottom:18px;border-radius:999px;background:#fff;border:1px solid #efe4f4;box-shadow:0 14px 30px -26px rgba(78,10,107,.5)}
.gt-tabs button{padding:10px 20px;border:0;border-radius:999px;background:none;cursor:pointer;font:600 .9rem var(--f-display);color:var(--ink-2);transition:all .25s}
.gt-tabs button.on{background:var(--grad);color:#fff;box-shadow:0 10px 20px -12px rgba(212,26,114,.8)}
.gt-tabs button:focus-visible{outline:2px solid #d41a72;outline-offset:2px}
.x-chk{max-width:980px}
.x-chk .x-dom{margin-top:14px}
.x-in{width:100%;padding:10px 14px;border-radius:12px;border:1px solid #e6d8ee;background:#fff;font:500 .92rem var(--f-body);color:var(--ink)}
.x-in:focus{outline:0;border-color:#d41a72;box-shadow:0 0 0 4px rgba(212,26,114,.12)}
.x-sel-l{margin-top:12px;gap:12px}.x-sel-l label{flex:none;font:600 .84rem var(--f-display);color:var(--ink-2)}.x-sel-l .x-in{max-width:260px}
.x-opt{font:500 .72rem var(--f-body);color:var(--ink-3)}
.nt-warn{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fff8ef;border:1px dashed #ffcfa6;font-size:.86rem;color:#7a4a22;line-height:1.5}.nt-warn b{display:block;color:#b4500a;font-family:var(--f-display)}
.nt-fields{display:grid;gap:8px;margin-top:14px}.nt-fields>label{font:600 .82rem var(--f-display);color:var(--ink-2);margin-top:4px}
.nt-orbs{margin:14px 0}
.nt-go{margin-top:6px;align-self:stretch;border:0;cursor:pointer;border-radius:999px;padding:13px 18px;font:700 .95rem var(--f-display);color:#fff;background:var(--grad);box-shadow:0 14px 26px -14px rgba(212,26,114,.8)}
.nt-go:disabled{opacity:.6;cursor:wait}
.nt-pk{margin-top:14px;padding:14px;border-radius:16px;background:#fff8fb;border:1px solid #f6dbe7}.nt-pkh b{display:block;font:700 .9rem var(--f-display)}.nt-pkh span{font-size:.8rem;color:#b0184f}
.nt-pk .gt-ov code{max-height:150px;overflow:auto;white-space:pre-wrap}.nt-pk .gt-btn2{margin-top:10px}
.nt-prov{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fbf8fd;border:1px solid #f1e7f5}.nt-prov p{margin:0 0 6px;font:600 .64rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#c2187a}
.nt-prov div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px dashed #efe3f4;font-size:.84rem}.nt-prov p+div{border-top:0}.nt-prov b{font-weight:600}.nt-prov span{color:var(--ink-2);text-align:right}
.nt-myip{display:flex;align-items:center;gap:14px;max-width:980px;margin-bottom:14px;padding:12px 14px 12px 12px;border-radius:20px;background:linear-gradient(135deg,#faf2fc,#fff3f0);border:1px solid #f1dcef}
.nt-mi{flex:none;width:42px;height:42px;padding:10px;border-radius:13px;color:#fff;background:var(--grad)}.nt-mi svg{display:block;width:100%;height:100%}
.nt-myip small{display:block;font-size:.76rem;color:var(--ink-3)}.nt-myip b{font:700 1.15rem var(--f-mono);color:var(--ink);word-break:break-all}
.nt-myip button{margin-left:auto;flex:none;border:1px solid #e6d8ee;background:#fff;color:#8f0aa5;border-radius:999px;padding:9px 16px;font:700 .84rem var(--f-display);cursor:pointer}
.nt-myip button:hover{background:var(--grad);color:#fff;border-color:transparent}

/* SPF result: centred ring + nicer include tree */
.gt-sum .gt-ring>b{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:4px}
.gt-sum .gt-ring>b small{margin:0;line-height:1;font-size:.6rem;letter-spacing:.04em}
.gt-tree{font:500 .8rem/1.5 var(--f-mono)}
.gt-tree ul{position:relative;margin:4px 0 4px 15px;padding:0 0 0 20px;border-left:0}
.gt-tree ul::before{content:"";position:absolute;left:0;top:0;bottom:18px;width:2px;border-radius:2px;background:linear-gradient(#e7cdf0,#f6d3df)}
.gt-tree ul>.gt-tn::before{content:"";position:absolute;left:-20px;top:20px;width:16px;height:12px;border-left:2px solid #e7cdf0;border-bottom:2px solid #e7cdf0;border-bottom-left-radius:10px;transform:translateY(-10px)}
.gt-tn{position:relative;margin:8px 0}
.gt-tnh{gap:10px;padding:8px 12px 8px 8px;border-radius:14px;background:#fff;border:1px solid #f0e4f4;box-shadow:0 10px 22px -20px rgba(78,10,107,.6)}
.gt-tni{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;font:700 .74rem var(--f-display);color:#8f0aa5;background:#f6eef9}
.gt-tree>.gt-tn>.gt-tnh{background:linear-gradient(135deg,#faf2fc,#fff5f1);border-color:#f1dcef}.gt-tree>.gt-tn>.gt-tnh .gt-tni{color:#fff;background:var(--grad)}
.gt-tnh b{font:600 .86rem var(--f-display)}
.gt-tnh em{white-space:nowrap;flex:none;padding:3px 9px;border-radius:999px;background:#f4eff8;color:var(--ink-3);font:600 .66rem var(--f-mono)}.gt-tnh em.on{background:#f6eef9;color:#8f0aa5}
.gt-terms{gap:6px;margin:8px 0 2px 36px}
.gt-term{gap:0;padding:0;overflow:hidden;border-radius:9px;border:1px solid #efe4f4;background:#fff;font:500 .72rem var(--f-mono)}
.gt-term>i{font-style:normal;font-weight:700;padding:4px 7px;background:#f6eef9;color:#8f0aa5}
.gt-term>span{padding:4px 8px;color:var(--ink-2)}
.gt-term.tip>i{background:#ecf8f2;color:#16855a}.gt-term.tall>i{background:#f4eff8;color:#6f6384}
.gt-term.lk{border-color:#e2c9ee;color:inherit}.gt-term.lk::after{content:none}
.gt-term>em{font-style:normal;font-weight:700;font-size:.62rem;padding:4px 7px 4px 0;color:#c2187a}
.gt-term.warn{border-color:#f3c27a}.gt-term.warn>i{background:#fff1dc;color:#8a5200}.gt-term.bad{border-color:#f5b1ad}.gt-term.bad>i{background:#fdecea;color:#9b1c12}
@media (max-width:640px){.gt-terms{margin-left:0}.gt-tree ul{margin-left:8px;padding-left:16px}.gt-tree ul>.gt-tn::before{left:-16px;width:12px}}
.gt-spres>*{min-width:0}.gt-sum .gt-big{min-width:0}.gt-sum .gt-big p{min-width:0}.gt-term{max-width:100%}.gt-term>span{min-width:0;overflow-wrap:anywhere}.gt-tnh{min-width:0}.gt-tnh b{min-width:0;overflow-wrap:anywhere}
/* port target */
.pt-tgt{margin-top:14px}.pt-tgt>label{display:block;margin-bottom:6px;font:600 .84rem var(--f-display);color:var(--ink-2)}
.pt-ipf{display:flex;gap:8px}.pt-ipf .x-in{flex:1;font-family:var(--f-mono)}
.pt-ipf button{flex:none;border:1px solid #e6d8ee;background:#fff;color:#8f0aa5;border-radius:12px;padding:0 14px;font:700 .82rem var(--f-display);cursor:pointer}.pt-ipf button:hover{background:#faf4fd}
.pt-ok{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff8ef;border:1px dashed #ffcfa6;font-size:.86rem;color:#7a4a22;cursor:pointer}.pt-ok input{margin-top:3px;accent-color:#d41a72}
.pt-ok[hidden]{display:none}
/* port mode */
.pt-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.pt-mode label{cursor:pointer}.pt-mode input{position:absolute;opacity:0}
.pt-mode span{display:block;height:100%;padding:11px 14px;border-radius:16px;border:1px solid #ecdcf2;background:#fff;transition:all .25s}
.pt-mode b{display:block;font:600 .9rem var(--f-display)}.pt-mode small{font-size:.78rem;color:var(--ink-3)}
.pt-mode input:checked+span{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 12px 24px -18px rgba(212,26,114,.7)}
.pt-mode input:focus-visible+span{outline:2px solid #d41a72;outline-offset:2px}
@media (max-width:560px){.pt-mode{grid-template-columns:1fr}}
/* results */
.nt-res{margin-top:16px;max-width:980px;display:grid;gap:14px;animation:gtpop .35s both}
.nr{padding:18px 20px;border-radius:22px;background:#fff;border:1px solid #f0e6f4;box-shadow:0 20px 50px -44px rgba(78,10,107,.5)}
.nr-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.nr-h b{font:700 1.02rem var(--f-display)}.nr-h small{color:var(--ink-3);font-size:.82rem}
.nr-pill{display:inline-flex;align-items:center;gap:6px;font:600 .74rem var(--f-body);padding:4px 10px;border-radius:999px}
.nr-pill.pass,.nr-pill.clean,.nr-pill.closed{background:#f2faf6;color:#16855a}.nr-pill.fail,.nr-pill.listed,.nr-pill.critical{background:#fdf0f4;color:#c2185b}
.nr-pill.warn,.nr-pill.high,.nr-pill.medium{background:#fff4e8;color:#b4500a}.nr-pill.info,.nr-pill.skipped,.nr-pill.error,.nr-pill.custom{background:#f4eff8;color:#6f6384}
.nr-code{margin:8px 0;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#faf5fc,#fff5f8);border:1px solid #efe1f4;font:500 .8rem/1.6 var(--f-mono);color:#3a1450;word-break:break-all}
.nr-rows{display:grid}.nr-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) auto;gap:12px;align-items:center;padding:9px 2px;border-top:1px dashed #f0e4f4;font-size:.88rem}
.nr-row:first-child{border-top:0}.nr-row>span:first-child{font-weight:600}.nr-row em{font-style:normal;color:var(--ink-2);overflow-wrap:anywhere}
.nr-sub{margin:14px 0 4px;font:600 .64rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#c2187a}
.nr-iss{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.nr-iss li{position:relative;padding:8px 12px 8px 30px;border-radius:12px;font-size:.86rem;line-height:1.45}
.nr-iss li::before{position:absolute;left:10px;top:8px;font-weight:800}.nr-iss .bad{background:#fdf0f4;color:#8f1240}.nr-iss .bad::before{content:"✕";color:#e0245e}
.nr-iss .warn{background:#fff6ec;color:#7a4a22}.nr-iss .warn::before{content:"!";color:#e0620a}.nr-iss .good{background:#f2faf6;color:#0f6b46}.nr-iss .good::before{content:"✓";color:#16a36a}
.nr-big{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nr-score{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;font:800 1.3rem var(--f-display);color:#fff;background:var(--grad)}.nr-score.ok{background:linear-gradient(135deg,#16a36a,#2ec4a0)}
.nr-score small{display:block;font:600 .56rem var(--f-body);margin-top:-12px;opacity:.85}
.nr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:12px}
.nr-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:14px;background:#fbf8fd;border:1px solid #f1e7f5;font-size:.86rem}
.nr-cell b{font-weight:600}.nr-cell a{color:#8f0aa5;font-size:.76rem;font-weight:600}
.nr-cell.listed{background:#fff4f7;border-color:#f5c9d8}
.nr-port{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 2px;border-top:1px dashed #f0e4f4}.nr-port:first-child{border-top:0}
.nr-pn{font:700 1.1rem var(--f-mono);color:var(--ink)}.nr-port b{display:block;font:600 .92rem var(--f-display)}.nr-port p{margin:2px 0 0;font-size:.85rem;color:var(--ink-2);line-height:1.5}
.nr-closed{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.nr-closed span{font:500 .74rem var(--f-mono);padding:4px 9px;border-radius:999px;background:#f2faf6;color:#16855a}
.nr-note{margin-top:10px;font-size:.82rem;color:var(--ink-3);line-height:1.5}.nr-note a{color:#8f0aa5;font-weight:600}
@media (max-width:640px){.nr-row{grid-template-columns:1fr auto}.nr-row em{grid-column:1/-1;grid-row:2}.nt-myip{flex-wrap:wrap}.nt-myip button{margin-left:0;width:100%}.x-sel-l{flex-wrap:wrap}.x-sel-l .x-in{max-width:none}.nr-port{grid-template-columns:60px 1fr}.nr-port .nr-pill{grid-column:2;justify-self:start}}
/* explainer without chain */
.iq-nc .iq-r{padding-top:20px}.iq-nc .iq-d{inset:0}.iq-nc .iq-ds{min-height:300px}
@media (max-width:860px){.iq-nc .iq-ds{min-height:430px}}@media (max-width:640px){.x-chk .x-top em{display:none}}

/* ==== heroes (boxless) ==== */
.tv-sp,.tv-dk,.tv-bm,.tv-bl,.tv-pt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
/* SPF ring */
.tv-sp{gap:26px}
.sp-ring{position:relative;flex:none;width:168px;height:168px}.sp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sp-ring .t{fill:none;stroke:#efe4f4;stroke-width:9}.sp-ring .f{fill:none;stroke:url(#scGrad);stroke-width:9;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:spring 9s ease-in-out infinite}
@keyframes spring{0%,8%{stroke-dashoffset:100}60%,90%{stroke-dashoffset:38}100%{stroke-dashoffset:100}}
.sp-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.sp-num small{font:600 .62rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.sp-c,.sp-d{grid-area:1/1;font:800 1.25rem var(--f-display)}.sp-num small{grid-area:2/1}
.sp-c{color:var(--ink-3);animation:spc 9s infinite}.sp-d{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:spd 9s infinite}
@keyframes spc{0%,60%{opacity:1}64%,92%{opacity:0}100%{opacity:1}}@keyframes spd{0%,62%{opacity:0}66%,90%{opacity:1}96%,100%{opacity:0}}
.sp-stack{display:grid;gap:8px;min-width:0;max-width:300px}
.sp-root{font:500 .78rem var(--f-mono);color:var(--ink-2)}.sp-root b{color:#8f0aa5}
.sp-i{display:flex;align-items:center;gap:4px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #f0e4f4;box-shadow:0 12px 24px -22px rgba(78,10,107,.6);font:500 .74rem var(--f-mono);color:var(--ink-2);white-space:nowrap;overflow:hidden;opacity:0;animation:spi 9s infinite}
.sp-i b{color:#8f0aa5}.sp-i em{margin-left:auto;padding-left:8px;font-style:normal;font-weight:700;color:#16a36a}
.sp-i.i1{animation-delay:1.2s}.sp-i.i2{animation-delay:2.4s}.sp-i.i3{animation-delay:3.6s}
@keyframes spi{0%,6%{opacity:0;transform:translateX(14px)}12%,88%{opacity:1;transform:none}96%,100%{opacity:0}}
.sp-ok{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#e6f7ee;color:#0f7a48;font:700 .74rem var(--f-display);opacity:0;animation:spd 9s infinite}.sp-ok svg{width:12px;height:12px}
/* DKIM */
.tv-dk{flex-direction:column;gap:12px}
.dk-env{position:relative;width:150px;height:100px;border-radius:16px;background:#fff;box-shadow:0 26px 50px -30px rgba(78,10,107,.6),inset 0 0 0 1px #f0e4f4;animation:dkf 6s ease-in-out infinite}
@keyframes dkf{50%{transform:translateY(-6px)}}
.dk-flap{position:absolute;left:0;right:0;top:0;height:52px;background:linear-gradient(160deg,#faf2fc,#fff);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:16px 16px 0 0}
.dk-lines{position:absolute;left:22px;right:22px;bottom:18px;display:grid;gap:6px}.dk-lines i{height:5px;border-radius:5px;background:#f1e7f5}.dk-lines i:nth-child(2){width:70%}.dk-lines i:nth-child(3){width:45%}
.dk-seal{position:absolute;right:-14px;bottom:-14px;width:44px;height:44px;padding:11px;border-radius:50%;color:#fff;background:var(--grad);box-shadow:0 10px 22px -8px #d41a72;transform:scale(0) rotate(-30deg);animation:dks 6s infinite}
@keyframes dks{0%,30%{transform:scale(0) rotate(-30deg)}38%,90%{transform:none}100%{transform:scale(0)}}
.dk-key{display:flex;align-items:center;gap:12px;max-width:360px;padding:10px 14px;border-radius:16px;background:#fff;border:1px solid #f0e4f4;animation:spi 6s infinite}
.dk-ki{flex:none;width:36px;height:36px;padding:8px;border-radius:11px;color:#8f0aa5;background:#f6eef9}.dk-ki svg{display:block}
.dk-key b{display:block;font:600 .82rem var(--f-mono)}.dk-key small{font:500 .7rem var(--f-mono);color:var(--ink-3)}
.dk-sig{max-width:380px;opacity:0;animation:spi 6s infinite;animation-delay:.8s}.dk-sig code{display:block;padding:8px 12px;border-radius:12px;background:#fbf8fd;border:1px dashed #e6d4ef;font:500 .66rem var(--f-mono);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-res{display:flex;gap:8px;opacity:0;animation:spd 6s infinite;animation-delay:-1.5s}.dk-ok{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#e6f7ee;color:#0f7a48;font:700 .76rem var(--f-mono)}.dk-ok svg{width:12px;height:12px}
.dk-bits{padding:6px 12px;border-radius:999px;background:#f6eef9;color:#8f0aa5;font:700 .76rem var(--f-display)}
/* BIMI */
.tv-bm{flex-direction:column;gap:14px}
.bm-in{width:min(360px,100%);padding:10px;border-radius:22px;background:#fff;border:1px solid #f0e4f4;box-shadow:0 30px 60px -40px rgba(78,10,107,.6)}
.bm-h{display:flex;align-items:center;gap:6px;padding:4px 6px 10px}.bm-h span{width:8px;height:8px;border-radius:50%;background:#efe4f4}.bm-h b{margin-left:8px;font:600 .84rem var(--f-display)}
.bm-r{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px}.bm-r+.bm-r{border-top:1px solid #f6f0f8}
.bm-av{position:relative;flex:none;width:38px;height:38px}
.bm-l{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:#f4eff8;color:#6f6384;font:600 .9rem var(--f-display);font-style:normal;animation:bml 7s infinite}
.bm-logo{position:absolute;inset:0;opacity:0;transform:scale(.6);animation:bmo 7s infinite}.bm-logo svg{display:block;width:100%;height:100%}
.r1 .bm-l,.r1 .bm-logo,.r1 .bm-v{animation-delay:.5s}.r2 .bm-l,.r2 .bm-logo,.r2 .bm-v{animation-delay:1s}
@keyframes bml{0%,30%{opacity:1}38%,90%{opacity:0}100%{opacity:1}}@keyframes bmo{0%,30%{opacity:0;transform:scale(.6)}38%,90%{opacity:1;transform:none}100%{opacity:0}}
.bm-t{flex:1;display:grid;gap:6px}.bm-t b{font:600 .8rem var(--f-display)}.bm-t i{height:6px;width:80%;border-radius:6px;background:#f1e7f5}
.bm-v{flex:none;width:22px;height:22px;color:#1a73e8;opacity:0;animation:bmo 7s infinite}.bm-v svg{display:block}
.bm-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.bm-chips span{font:600 .72rem var(--f-mono);padding:5px 10px;border-radius:999px;background:#fff;border:1px solid #efe4f4;color:var(--ink-2);animation:bmc 7s infinite}
.bm-chips .c2{animation-delay:.3s}.bm-chips .c3{animation-delay:.6s}
@keyframes bmc{0%,12%{border-color:#efe4f4;color:var(--ink-2)}20%,90%{border-color:#a8dcc3;color:#16855a;background:#f2faf6}}
/* Blacklist */
.tv-bl{flex-direction:column;gap:12px}
.bl-ip{position:relative;overflow:hidden;width:min(340px,100%);padding:12px 16px;border-radius:18px;background:linear-gradient(135deg,#2a0838,#6a0f8e 60%,#a00ab3);color:#fff;box-shadow:0 24px 44px -26px rgba(106,15,142,.8)}
.bl-ip span{display:block;font:600 .62rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}.bl-ip b{font:700 1.3rem var(--f-mono)}
.bl-scan{position:absolute;top:0;bottom:0;width:60px;left:-60px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:bls 2.2s linear infinite}@keyframes bls{to{left:110%}}
.bl-list{width:min(340px,100%);display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bl-row{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #f0e4f4;opacity:.35;animation:blr 8s infinite}
.bl-row b{font:600 .76rem var(--f-display)}.bl-st{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#16855a}.bl-st i{display:block;width:14px;height:14px;padding:2.5px;border-radius:50%;background:#16a36a;color:#fff}.bl-st svg{display:block}
.bl-row.r1{animation-delay:.5s}.bl-row.r2{animation-delay:1s}.bl-row.r3{animation-delay:1.5s}.bl-row.r4{animation-delay:2s}.bl-row.r5{animation-delay:2.5s}
@keyframes blr{0%,4%{opacity:.35;transform:scale(.98)}10%,88%{opacity:1;transform:none;border-color:#c9ead9}96%,100%{opacity:.35}}
.bl-sum span{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#e6f7ee;color:#0f7a48;font:700 .8rem var(--f-display);opacity:0;animation:spd 8s infinite;animation-delay:-2.5s}.bl-sum svg{width:15px;height:15px}
/* Ports */
.tv-pt{flex-direction:column;gap:12px}
.pt-ip{padding:8px 16px;border-radius:999px;background:#fff;border:1px solid #f0e4f4;font:500 .78rem var(--f-display);color:var(--ink-3)}.pt-ip b{margin-left:8px;font:700 .9rem var(--f-mono);color:var(--ink)}
.pt-grid{display:grid;grid-template-columns:repeat(4,72px);gap:8px}
.pt-c{display:grid;place-items:center;height:48px;border-radius:14px;background:#fff;border:1px solid #f0e4f4;font:700 .84rem var(--f-mono);color:#b9a9c6;animation:ptc 7s infinite}
.pt-c.o{animation-name:pto}.pt-c.x{animation-name:ptx}
.pt-c.p1{animation-delay:.25s}.pt-c.p2{animation-delay:.5s}.pt-c.p3{animation-delay:.75s}.pt-c.p4{animation-delay:1s}.pt-c.p5{animation-delay:1.25s}.pt-c.p6{animation-delay:1.5s}.pt-c.p7{animation-delay:1.75s}.pt-c.p8{animation-delay:2s}.pt-c.p9{animation-delay:2.25s}.pt-c.p10{animation-delay:2.5s}.pt-c.p11{animation-delay:2.75s}
@keyframes ptc{0%,8%{color:#b9a9c6}14%,90%{color:#16855a;background:#f2faf6;border-color:#c9ead9}}
@keyframes pto{0%,8%{color:#b9a9c6}14%,90%{color:#8f0aa5;background:#f6eef9;border-color:#e2c9ee}}
@keyframes ptx{0%,8%{color:#b9a9c6}14%,90%{color:#fff;background:var(--grad);border-color:transparent;box-shadow:0 12px 24px -10px #d41a72}}
.pt-scan{position:absolute;left:50%;width:330px;margin-left:-165px;height:2px;border-radius:2px;background:var(--grad);opacity:.45;top:30%;box-shadow:0 0 14px 2px rgba(212,26,114,.35);animation:pts 3.5s ease-in-out infinite}@keyframes pts{50%{top:72%}}
.pt-leg{display:flex;gap:12px;font-size:.72rem;color:var(--ink-3)}.pt-leg span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.pt-leg .o::before{background:#e2c9ee}.pt-leg .x::before{background:var(--grad)}.pt-leg .c::before{background:#c9ead9}
@media (max-width:640px){.gt-tabs{display:flex}.gt-tabs button{flex:1;white-space:nowrap;padding:10px 12px;font-size:.84rem}.tv-sp{gap:12px;padding:0 4px}.sp-ring{width:112px;height:112px}.sp-c,.sp-d{font-size:1rem}.sp-stack{flex:1;max-width:220px}.sp-i{display:block;position:relative;font-size:.64rem;padding:7px 24px 7px 9px;text-overflow:ellipsis}.sp-i em{position:absolute;right:8px;top:7px}.sp-root{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-grid{grid-template-columns:repeat(4,60px)}.pt-scan{width:270px;margin-left:-135px}.dk-sig{display:none}}
@media (prefers-reduced-motion:reduce){.tv-sp *,.tv-dk *,.tv-bm *,.tv-bl *,.tv-pt *,.tv-dk,.dk-env{animation:none!important;opacity:1!important}.sp-c,.bm-l{opacity:0!important}}
