/* KytherIQ leak calculator — stylesheet for both hosts:
   internal tokens (--panel, --edge, --ink…) and kytheriq.com tokens (--sf-2, --ln-2, --tx-1…) via fallbacks. Phone-first. */
.fsv{--fsv-bg:var(--panel,var(--sf-1,#0f1621));--fsv-bg2:var(--panel-2,var(--sf-2,#141d2b));--fsv-line:var(--edge,var(--ln-2,#2a3547));
  --fsv-ink:var(--ink,var(--tx-1,#eef2f7));--fsv-ink2:var(--ink-2,var(--tx-2,#aeb9c8));--fsv-ink3:var(--ink-3,var(--tx-3,#8592a4));
  --fsv-gold:var(--gold,#c9a227);--fsv-warn:var(--warn,#f0be52);--fsv-bad:var(--bad,#ff7a7a);--fsv-info:var(--info,#7fb2ff);--fsv-ok:var(--ok,#5fd39a);
  --fsv-mono:var(--nums,var(--f-mono,ui-monospace,monospace));color:var(--fsv-ink);font-size:15px;line-height:1.5}
.fsv *{box-sizing:border-box}
.fsv-card{background:var(--fsv-bg);border:1px solid var(--fsv-line);border-radius:12px;padding:16px;margin:0 0 14px}
.fsv-card h2{margin:0 0 6px;font-size:clamp(22px,3.4vw,30px);line-height:1.2}.fsv-card h3{margin:0 0 8px;font-size:17px}
.fsv-intro p{color:var(--fsv-ink2);margin:6px 0}
.fsv-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.fsv-note,.fsv-hint{display:block;color:var(--fsv-ink3);font-size:12.5px;margin:6px 0}
.fsv-warn{display:block;color:var(--fsv-warn);font-size:12px}
.fsv-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;color:var(--fsv-ink2);margin-top:8px}
.fsv select,.fsv input{background:var(--fsv-bg2);color:var(--fsv-ink);border:1px solid var(--fsv-line);border-radius:8px;padding:9px 10px;font:inherit;min-height:42px;min-width:0}
.fsv input:focus-visible,.fsv select:focus-visible,.fsv-btn:focus-visible,.fsv summary:focus-visible{outline:2px solid var(--fsv-gold);outline-offset:2px}
.fsv-group{border-top:1px solid var(--fsv-line);padding:8px 0}.fsv-group summary,.fsv-leak summary{cursor:pointer;font-weight:600}
.fsv-in{padding:8px 0}.fsv-in-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.fsv-in label{font-size:13.5px;color:var(--fsv-ink2)}
.fsv-in label small{color:var(--fsv-ink3);font-family:var(--fsv-mono);font-size:11px}
.fsv-in-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:6px}
.fsv-cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0;font-size:13.5px}
.fsv-cat-grid input{min-height:0}
.fsv-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fsv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:999px;border:1px solid var(--fsv-line);background:var(--fsv-bg2);color:var(--fsv-ink);font:600 13.5px/1.2 inherit;cursor:pointer;text-decoration:none}
.fsv-btn.on{background:var(--fsv-gold);border-color:var(--fsv-gold);color:#1a1405}
.fsv-change{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:6px;margin-top:8px}
.fsv-headline{font-size:clamp(17px,2.3vw,21px);line-height:1.4;margin:0 0 10px}.fsv-headline b{color:var(--fsv-gold)}
.fsv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fsv-kpis div{background:var(--fsv-bg2);border:1px solid var(--fsv-line);border-radius:10px;padding:10px;min-width:0}
.fsv-kpis b{display:block;font:700 19px var(--fsv-mono);color:var(--fsv-gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fsv-kpis span{font-size:11.5px;color:var(--fsv-ink3)}
.fsv-ev{display:inline-block;font:700 10px var(--fsv-mono);letter-spacing:.06em;padding:3px 7px;border-radius:999px;border:1px solid var(--fsv-line);color:var(--fsv-ink2);white-space:nowrap;text-transform:uppercase}
.fsv-verified{color:var(--fsv-ok);border-color:var(--fsv-ok)}.fsv-owner_input{color:var(--fsv-gold);border-color:var(--fsv-gold)}
.fsv-assumption{color:var(--fsv-ink2)}.fsv-modeled{color:var(--fsv-info);border-color:var(--fsv-info)}.fsv-unknown{color:var(--fsv-warn);border-color:var(--fsv-warn)}
.fsv-leak{border:1px solid var(--fsv-line);border-radius:10px;padding:10px;margin-top:8px}
.fsv-leak summary{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.fsv-leak summary span{font-family:var(--fsv-mono);font-size:13px;color:var(--fsv-gold)}
.fsv-leak em{font-style:normal;color:var(--fsv-ok)}.fsv-leak ul{margin:6px 0 0 18px;padding:0;font-size:12.5px;color:var(--fsv-ink3)}
.fsv-dim{border-style:dashed;color:var(--fsv-ink3)}.fsv-dim small{display:block}
.fsv-trace{font:12.5px/1.55 var(--fsv-mono);color:var(--fsv-ink2);background:var(--fsv-bg2);border-radius:8px;padding:10px;margin:8px 0;overflow-wrap:anywhere}
.fsv-offer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--fsv-line);padding:10px 0;flex-wrap:wrap}
.fsv-offer small{display:block;color:var(--fsv-ink3);font-size:12px}.fsv-offer-num{text-align:right}.fsv-offer-num b{font:700 18px var(--fsv-mono);color:var(--fsv-ok)}
.fsv-state{font:700 10px var(--fsv-mono);padding:3px 7px;border-radius:999px;border:1px solid var(--fsv-line)}
.fsv-st-good{color:var(--fsv-ok);border-color:var(--fsv-ok)}.fsv-st-warn{color:var(--fsv-info);border-color:var(--fsv-info)}.fsv-st-bad{color:var(--fsv-bad);border-color:var(--fsv-bad)}.fsv-st-dim{color:var(--fsv-ink3)}
@media (max-width:760px){.fsv-layout{grid-template-columns:1fr}.fsv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fsv-cat-grid{grid-template-columns:1fr}.fsv-change{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fsv-offer-num{text-align:left}}
.fsv-ok{color:var(--fsv-ok);font-size:14px}.fsv-offer-num .fsv-actions{justify-content:flex-end}.fsv-report form{display:grid;gap:8px}.fsv-report input{min-width:0}
@media print{.fsv-btn,.fsv-actions,select,.fsv-group:not([open]){display:none!important}.fsv-card{break-inside:avoid;border-color:#999}}
.fsv-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45}
.fsv-check input{margin-top:3px;flex:none;width:18px;height:18px}
.fsv-check a,.fsv-report-doc a{color:var(--fsv-gold)}
.fsv-report-doc{overflow-wrap:break-word}
.fsv-report-doc td a{white-space:nowrap;display:inline-block;padding:2px 0}
.fsv-report-doc table{border-collapse:collapse;width:100%;font-size:13.5px}
.fsv-report-doc td,.fsv-report-doc th{border-bottom:1px solid var(--fsv-line);padding:6px;text-align:left;vertical-align:top}
.fsv-report-doc h3{font-size:15px;margin:16px 0 6px}
