.fp-check *{box-sizing:border-box}
.fp-check .wrap{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.fp-check button{font:inherit;color:inherit}
.fp-check :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fp-check .top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.fp-check .brand{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--accent);letter-spacing:.02em}
.fp-check .x-h1{margin:4px 0 0;font-size:clamp(28px,5vw,40px);line-height:1.1;font-weight:700;text-wrap:balance}
.fp-check .lead{margin:6px 0 0;color:var(--muted);max-width:56ch}
.fp-check .scorebox{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.fp-check .score{font-family:var(--mono);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}
.fp-check .score small{font-size:14px;color:var(--muted);font-weight:400}
.fp-check .dots{display:flex;gap:6px}
.fp-check .dot{width:26px;height:6px;border-radius:3px;background:var(--line-2)}
.fp-check .dot.cur{background:var(--fg)}
.fp-check .dot.good{background:var(--accent)}
.fp-check .dot.bad{background:var(--danger)}
.fp-check .howto{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.fp-check .howto b{color:var(--fg);font-weight:600}
.fp-check .howto .mk{flex-shrink:0;display:inline-block;width:14px;height:14px;margin-top:3px;border-radius:3px;border:2px dashed var(--warn);background:var(--warn-soft)}
.fp-check .client{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fp-check .bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);font-family:var(--mono);font-size:12px;color:var(--muted)}
.fp-check .bar .sp{flex:1}
.fp-check .head{padding:16px 18px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.fp-check .row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px;min-width:0}
.fp-check .row .k{width:52px;flex-shrink:0;color:var(--muted);font-size:13px}
.fp-check .row .v{min-width:0;flex:1}
.fp-check .fromname{font-weight:600}
.fp-check .body{padding:18px;display:flex;flex-direction:column;gap:4px}
.fp-check .atts{padding:0 18px 18px;display:flex;flex-wrap:wrap;gap:8px}
.fp-check .seg{appearance:none;background:transparent;border:2px solid transparent;border-radius:6px;padding:3px 6px;margin:0 -8px;text-align:left;cursor:pointer;white-space:pre-line;line-height:1.55;position:relative;max-width:100%;overflow-wrap:anywhere}
.fp-check .seg.inline{margin:0 -6px;display:inline}
.fp-check .seg.subject{font-size:19px;font-weight:600;line-height:1.3}
.fp-check .seg.addr{font-family:var(--mono);font-size:13px;color:var(--muted)}
.fp-check .seg:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-2)}
.fp-check .seg.marked{border-style:dashed;border-color:var(--warn);background:var(--warn-soft)}
.fp-check .seg.found{border-color:var(--accent);background:var(--accent-soft)}
.fp-check .seg.missed{border-color:var(--danger);border-style:dashed;background:var(--danger-soft)}
.fp-check .seg.false{border-color:var(--line-2);border-style:dotted}
.fp-check .seg:disabled{cursor:default;color:inherit}
.fp-check .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-right:6px;border-radius:10px;font-family:var(--mono);font-size:11px;font-weight:600;vertical-align:2px}
.fp-check .found .badge{background:var(--accent);color:var(--accent-ink)}
.fp-check .missed .badge{background:var(--danger);color:var(--bg)}
.fp-check .linkwrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 0}
.fp-check .fakebtn{display:inline-block;padding:10px 18px;border-radius:6px;background:#1d5bd8;color:#fff;font-weight:600;font-size:15px;font-family:Arial, Helvetica, sans-serif}
.fp-check .status{font-family:var(--mono);font-size:12px}
.fp-check .status .lbl{color:var(--muted)}
.fp-check .att{font-family:var(--mono);font-size:13px;display:inline-flex !important;align-items:center;gap:8px;border:1px solid var(--line-2) !important;margin:0 !important;padding:8px 10px !important;background:var(--surface-2)}
.fp-check .att.marked{border:2px dashed var(--warn) !important;background:var(--warn-soft)}
.fp-check .att.found{border:2px solid var(--accent) !important;background:var(--accent-soft)}
.fp-check .att.missed{border:2px dashed var(--danger) !important;background:var(--danger-soft)}
.fp-check .att svg{flex-shrink:0}
.fp-check .actions{display:flex;flex-wrap:wrap;gap:10px}
.fp-check .fp-btn{appearance:none;min-height:50px;padding:0 20px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;border:2px solid var(--line-2);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fp-check .fp-btn:hover{border-color:var(--fg)}
.fp-check .fp-btn.phish{border-color:var(--danger);color:var(--danger)}
.fp-check .fp-btn.phish:hover{background:var(--danger-soft)}
.fp-check .fp-btn.safe{border-color:var(--accent);color:var(--accent)}
.fp-check .fp-btn.safe:hover{background:var(--accent-soft)}
.fp-check .fp-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fp-check .fp-btn.grow{flex:1 1 200px}
.fp-check .hint{font-size:13px;color:var(--muted)}
.fp-check .result{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}
.fp-check .verdict{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.fp-check .verdict h2{margin:0;font-size:22px;line-height:1.2}
.fp-check .verdict h2.ok{color:var(--accent)}
.fp-check .verdict h2.no{color:var(--danger)}
.fp-check .pts{font-family:var(--mono);font-weight:600;font-size:18px;font-variant-numeric:tabular-nums}
.fp-check .flags{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fp-check .flags li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.fp-check .flags .badge{flex-shrink:0;margin-top:2px}
.fp-check .flags .found-b{background:var(--accent);color:var(--accent-ink)}
.fp-check .flags .missed-b{background:var(--danger);color:var(--bg)}
.fp-check .flags .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:block}
.fp-check .note{font-size:14px;color:var(--muted)}
.fp-check .lesson{font-size:15px;padding:12px 14px;border-radius:10px;background:var(--accent-soft)}
.fp-check .end{display:flex;flex-direction:column;gap:20px}
.fp-check .big{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}
.fp-check .big .num{font-family:var(--mono);font-size:clamp(44px,10vw,64px);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.fp-check .big .num small{font-size:20px;color:var(--muted);font-weight:400}
.fp-check .big h2{margin:0;font-size:26px;line-height:1.2}
.fp-check .big p{margin:6px 0 0;color:var(--muted);max-width:44ch}
.fp-check .big > div:last-child{flex:1 1 260px;min-width:0}
.fp-check .recap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.fp-check .recap li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;min-width:0}
.fp-check .recap .st{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.fp-check .recap .p{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.fp-check h3{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fp-check .rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.fp-check .rule{padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:4px}
.fp-check .rule b{font-size:16px}
.fp-check .rule span{font-size:14px;color:var(--muted)}
.fp-check .cta{border-radius:16px;padding:22px;background:var(--accent-soft);border:1px solid var(--accent);display:flex;flex-direction:column;gap:10px}
.fp-check .cta h2{margin:0;font-size:22px;line-height:1.25;text-wrap:balance}
.fp-check .cta p{margin:0;max-width:58ch}
.fp-check .contact{font-family:var(--mono);font-size:15px;font-weight:600;user-select:all}
@media (prefers-reduced-motion: no-preference){.fp-check .seg,.fp-check .fp-btn{transition:background-color .15s,border-color .15s}
.fp-check .result,.fp-check .end{animation:rise .35s ease-out}
@keyframes rise{from{transform:translateY(6px)}to{transform:none}}}
