.spf-tool{--spf-on:color-mix(in srgb,var(--ftk-icon-accent) 14%,var(--ftk-surface));--spf-sunk:color-mix(in srgb,var(--ftk-ink) 5%,var(--ftk-surface));display:grid;gap:14px;min-width:0}.spf-tool .spf-value,.spf-tool code{font-family:var(--ftk-mono)}.spf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.spf-h{margin:0;font-size:1rem;font-weight:640;line-height:1.3;color:var(--ftk-ink)}.spf-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--ftk-soft)}.spf-tab{flex:1 1 auto;min-height:40px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:var(--ftk-ink-2);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}.spf-tab[aria-selected=true]{background:var(--ftk-surface);color:var(--ftk-ink)}.spf-tab:focus-visible{outline:2px solid var(--ftk-accent);outline-offset:2px}.spf-domain{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px}.spf-domain .ftk-input,.spf-domain>.ftk-btn{min-height:44px}.spf-domain>.ftk-err,.spf-domain>.ftk-meter,.spf-domain>.spf-describe{grid-column:1/-1}.spf-describe summary,.spf-more summary{cursor:pointer;min-height:24px;font-size:.875rem;font-weight:600;color:var(--ftk-accent-ink);list-style:none}.spf-describe summary::-webkit-details-marker,.spf-more summary::-webkit-details-marker{display:none}.spf-describe summary:focus-visible,.spf-more summary:focus-visible,.spf-tree summary:focus-visible{outline:2px solid var(--ftk-accent);outline-offset:2px;border-radius:6px}.spf-describe .ftk-textarea{margin-top:8px;width:100%}.spf-panel{min-width:0}.spf-empty{margin:0;padding:16px;border-radius:var(--ftk-radius);background:var(--ftk-soft);color:var(--ftk-ink-2);font-size:.9375rem}.spf-gen{display:grid;gap:14px 16px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"form out" "in out";grid-template-rows:auto 1fr;align-items:start}.spf-gen__form{grid-area:form;min-width:0}.spf-gen__in{grid-area:in}.spf-gen>.spf-out{grid-area:out}.spf-gen__in{gap:14px;align-content:start}.spf-fs,.spf-gen__in{display:grid;min-width:0}.spf-fs{margin:0;padding:0;border:0;gap:8px}.spf-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:6px}.spf-chip{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:var(--ftk-soft);color:var(--ftk-ink);font:inherit;font-size:.8125rem;font-weight:560;text-align:left;cursor:pointer;min-width:0}.spf-chip[aria-checked=true]{background:var(--spf-on)}.spf-chip:focus-visible{outline:2px solid var(--ftk-accent);outline-offset:2px}.spf-chip__n{flex:1 1 auto;min-width:0;overflow-wrap:break-word;hyphens:auto;line-height:1.25}.spf-chip__on{width:16px;height:16px;flex:none;color:var(--ftk-accent)}.spf-chip__c{flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--ftk-ink-2)}.spf-mark{width:18px;height:18px;flex:none;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.spf-mark--icon{background:none;color:var(--ftk-ink-2)}.spf-mark--img{background:none;object-fit:contain;border-radius:4px}.spf-link{justify-self:start;min-height:24px;padding:2px 0;border:0;background:none;color:var(--ftk-accent-ink);font:inherit;font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;overflow-wrap:anywhere}.spf-link:focus-visible{outline:2px solid var(--ftk-accent);outline-offset:2px;border-radius:4px}.spf-suggest{display:flex;flex-wrap:wrap;gap:6px}.spf-note{margin:0;font-size:.875rem;line-height:1.5;color:var(--ftk-ink-2);overflow-wrap:anywhere}.spf-note b{color:var(--ftk-ink)}.spf-more{display:grid;gap:10px}.spf-more__in{display:grid;gap:12px;margin-top:10px}.spf-small{min-height:64px;max-width:100%}.spf-small,.spf-tool .ftk-field{min-width:0}.spf-tick{display:flex;align-items:center;gap:8px;min-height:28px;font-size:.875rem;color:var(--ftk-ink)}.spf-tick input{width:18px;height:18px;flex:none;accent-color:var(--ftk-accent)}.spf-tick code{font-size:.8125rem;min-width:0}.spf-existing,.spf-opts{display:grid;gap:4px}.spf-seg{display:flex;flex-wrap:wrap;gap:6px}.spf-seg__o{position:relative;display:inline-flex}.spf-seg__o input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.spf-seg__o span{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:9px;background:var(--ftk-soft);font-size:.8125rem;font-weight:600;color:var(--ftk-ink-2)}.spf-seg__o input:checked+span{background:var(--spf-on);color:var(--ftk-ink)}.spf-seg__o input:focus-visible+span{outline:2px solid var(--ftk-accent);outline-offset:2px}.spf-out{display:grid;gap:12px;padding:16px;border-radius:18px;background:var(--ftk-soft);min-width:0}.spf-out__record{display:grid;gap:10px}.spf-dns{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;margin:0}.spf-dns div{display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:var(--ftk-surface);min-width:0}.spf-dns dt{font-size:.75rem;color:var(--ftk-ink-2)}.spf-dns dd{font-weight:600;font-family:var(--ftk-mono)}.spf-dns dd,.spf-value{margin:0;font-size:.875rem}.spf-value{padding:12px 14px;border-radius:12px;background:var(--ftk-surface);line-height:1.55;color:var(--ftk-ink);overflow-wrap:anywhere;white-space:pre-wrap}.spf-out__acts{display:flex;flex-wrap:wrap;gap:8px}.spf-copy{min-height:36px}.spf-strings{display:grid;gap:8px}.spf-sub{display:grid;gap:10px;padding-top:6px}.spf-notes{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.8125rem;color:var(--ftk-ink-2);overflow-wrap:anywhere}.spf-meter{display:grid;gap:6px}.spf-meter__row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.875rem}.spf-meter__row svg{width:18px;height:18px;flex:none}.spf-meter[data-state=ok] .spf-meter__row svg{color:var(--ftk-ok)}.spf-meter[data-state=near] .spf-meter__row svg{color:var(--ftk-warn)}.spf-meter[data-state=over] .spf-meter__row svg{color:var(--ftk-error)}.spf-meter__n{font-variant-numeric:tabular-nums;color:var(--ftk-ink-2)}.spf-meter__n b{font-size:1.125rem;color:var(--ftk-ink)}.spf-meter__l{color:var(--ftk-ink-2)}.spf-meter__bar{height:6px;border-radius:99px;background:var(--spf-sunk);overflow:hidden}.spf-meter__bar span{display:block;height:100%;border-radius:99px;background:var(--ftk-ok)}.spf-meter[data-state=near] .spf-meter__bar span{background:var(--ftk-warn)}.spf-meter[data-state=over] .spf-meter__bar span{background:var(--ftk-error)}.spf-meter__v{margin:0;font-size:.8125rem;color:var(--ftk-ink-2)}.spf-issues{margin:0;padding:0;list-style:none;display:grid;gap:8px}.spf-issue{display:flex;gap:10px;padding:10px 12px;border-radius:12px;background:var(--ftk-surface)}.spf-issue>svg{width:18px;height:18px;flex:none;margin-top:2px}.spf-issue[data-severity=error]>svg{color:var(--ftk-error)}.spf-issue[data-severity=warning]>svg{color:var(--ftk-warn)}.spf-issue[data-severity=info]>svg{color:var(--ftk-ink-2)}.spf-issue__t{margin:0;font-size:.875rem;font-weight:640}.spf-issue__b{margin:2px 0 0;color:var(--ftk-ink-2)}.spf-issue__ai,.spf-issue__b{font-size:.8125rem;line-height:1.5}.spf-issue__ai{display:flex;gap:6px;margin:6px 0 0;color:var(--ftk-ink)}.spf-issue__ai svg{width:14px;height:14px;flex:none;margin-top:3px;color:var(--ftk-copper)}.spf-clean{display:flex;align-items:center;gap:6px;margin:0;font-size:.875rem;color:var(--ftk-ink)}.spf-clean svg{width:16px;height:16px;color:var(--ftk-ok)}.spf-check,.spf-flat,.spf-limit,.spf-test{display:grid;gap:14px;min-width:0}.spf-flat{padding:16px;border-radius:18px;background:var(--ftk-soft)}.spf-limit .spf-fs>.ftk-btn{justify-self:start}.spf-check__head{display:grid;gap:4px}.spf-status{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:.9375rem;color:var(--ftk-ink)}.spf-status svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ftk-error)}.spf-status[data-ok=true] svg{color:var(--ftk-ok)}.spf-live{display:grid;gap:8px}.spf-live .spf-copy,.spf-tool .ftk-ai .spf-copy{justify-self:start}.spf-facts,.spf-live .spf-value{background:var(--ftk-soft)}.spf-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:14px;border-radius:var(--ftk-radius)}.spf-kv{display:grid;gap:6px;margin:0}.spf-kv div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.875rem}.spf-kv dt{color:var(--ftk-ink-2)}.spf-kv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;min-width:0}.spf-treebox{display:grid;gap:6px;padding:14px;border-radius:var(--ftk-radius);background:var(--ftk-soft)}.spf-tree,.spf-tree ul{margin:0;padding:0;list-style:none}.spf-tree ul{padding-left:18px}.spf-tree li{padding:2px 0}.spf-tree summary{display:flex;align-items:flex-start;gap:4px;cursor:pointer;list-style:none;min-height:24px}.spf-tree summary::-webkit-details-marker{display:none}.spf-tree__chev{width:14px;height:14px;flex:none;margin-top:4px;color:var(--ftk-ink-2)}details[open]>summary>.spf-tree__chev{transform:rotate(90deg)}.spf-tree__row{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;font-size:.8125rem}.spf-tree__row code{min-width:0}.spf-tree__cost{padding:0 6px;border-radius:6px;background:var(--ftk-surface);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ftk-ink)}.spf-tree__st{font-size:.75rem;font-weight:600;color:var(--ftk-copper)}.spf-test__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px}.spf-test__form .ftk-btn,.spf-test__form .ftk-input{min-height:44px}.spf-result{display:grid;gap:10px;padding:16px;border-radius:18px;background:var(--ftk-soft)}.spf-result p{margin:0;overflow-wrap:anywhere}.spf-result__r{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-family:var(--ftk-mono)}.spf-result__r svg{width:22px;height:22px}.spf-result[data-result=pass] .spf-result__r svg{color:var(--ftk-ok)}.spf-result[data-result=fail] .spf-result__r svg,.spf-result[data-result=permerror] .spf-result__r svg{color:var(--ftk-error)}.spf-result[data-result=softfail] .spf-result__r svg,.spf-result[data-result=temperror] .spf-result__r svg{color:var(--ftk-warn)}.spf-trace{margin:8px 0 0;padding-left:22px;display:grid;gap:4px;font-size:.8125rem;overflow-wrap:anywhere}.spf-trace li[data-matched=true]{font-weight:640}.spf-steps{margin:0;padding-left:20px;display:grid;gap:8px;font-size:.9375rem;line-height:1.5;color:var(--ftk-ink-2)}.spf-steps b{color:var(--ftk-ink)}.spf-steps .spf-link{display:inline;margin-right:10px}.spf-costs{margin:0;padding:0;list-style:none;display:grid;gap:2px}.spf-costs .spf-tick{justify-content:flex-start}@media (max-width:900px){.spf-gen{grid-template-areas:"form" "out" "in";grid-template-rows:auto}.spf-facts,.spf-gen,.spf-test__form{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.spf-tab{flex:1 1 40%;font-size:.875rem;padding:6px 8px}.spf-dns{grid-template-columns:auto minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){details[open]>summary>.spf-tree__chev{transition:none}}.spf-tool .ftk-input,.spf-tool .ftk-select,.spf-tool .ftk-textarea{box-sizing:border-box;max-inline-size:100%}