/* Shared result presentation for the public scanner and Telegram Mini App. */
.scan-report { --signal:#91d9b3; --signal-rgb:145,217,179; position:relative; overflow:hidden; padding:0; border:1px solid rgba(var(--signal-rgb),.24); border-radius:24px; background:linear-gradient(135deg,#1c1b22ed,#101116f5 65%); box-shadow:inset 0 1px #ffffff0d,0 24px 70px #0005; }
.scan-report.severity-medium { --signal:#efc786; --signal-rgb:239,199,134; }
.scan-report.severity-high { --signal:#f4a18f; --signal-rgb:244,161,143; }
.scan-report.severity-critical { --signal:#ff988d; --signal-rgb:255,152,141; }
.scan-report::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(var(--signal-rgb),.8),transparent); }
.scan-report:focus { outline:none; }
.scan-report::after { content:''; position:absolute; width:380px; height:260px; top:-140px; right:-100px; background:radial-gradient(ellipse,rgba(var(--signal-rgb),.08),transparent 70%); pointer-events:none; }
.report-topline { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 30px; border-bottom:1px solid #ffffff09; }
.report-complete { display:inline-flex; align-items:center; gap:9px; color:#bdb5c9; font-size:9px; }
.report-complete>span:first-child { width:5px; height:5px; background:#b9abd2; border-radius:50%; box-shadow:0 0 10px #baa4da55; }
.report-signature { color:#766f83; font-size:8px; letter-spacing:.12em; }
.report-overview { display:grid; grid-template-columns:100px minmax(0,1fr) 150px; gap:25px; align-items:center; padding:36px 30px; }
.report-emblem { position:relative; display:grid; place-items:center; width:94px; height:106px; color:var(--signal); border:1px solid rgba(var(--signal-rgb),.14); border-radius:24px; background:radial-gradient(ellipse at 50% 0,rgba(var(--signal-rgb),.13),transparent 80%),#ffffff02; box-shadow:inset 0 1px #ffffff0c; }
.emblem-orbit { position:absolute; inset:11px; border:1px solid rgba(var(--signal-rgb),.12); border-radius:17px; transform:rotate(-7deg); }
.report-verdict { min-width:0; }
.report-severity { display:inline-flex; align-items:center; gap:8px; color:var(--signal); font-size:10px; margin-bottom:12px; }
.report-severity>span:first-child { width:6px; height:6px; background:currentColor; border-radius:50%; }
.scan-report h2 { margin:0; max-width:700px; color:#f1ecf6; font-size:clamp(19px,2.05vw,27px); font-weight:500; line-height:1.5; letter-spacing:-.6px; text-wrap:balance; }
.scan-report .report-summary { color:#aaa0b6; font-size:11px; line-height:1.95; margin-top:12px; max-width:630px; }
.report-scale { border-left:1px solid #ffffff0c; padding-left:25px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.report-scale>span { font-size:8px; color:#a79bad; }
.report-scale>strong { font-size:15px; letter-spacing:.03em; font-weight:500; color:var(--signal); }
.report-scale small { color:#84798e; font-size:7px; line-height:1.8; }
.report-scale-bars { display:flex; gap:5px; }
.report-scale-bars i { display:block; flex:1; height:5px; border-radius:3px; background:#ffffff0c; }
.report-scale-bars .filled { background:var(--signal); box-shadow:0 0 9px rgba(var(--signal-rgb),.1); }
.report-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); border-top:1px solid #ffffff0b; }
.report-findings,.report-guidance { min-width:0; padding:27px 30px 30px; }
.report-guidance { border-left:1px solid #ffffff0b; background:#ffffff02; }
.scan-report h3 { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:400; color:#e0d7e8; margin:0 0 20px; line-height:1.8; }
.report-section-number { color:#82738f; font-size:8px; font-variant-numeric:tabular-nums; }
.report-count { margin-left:auto; color:#bfb0cd; font-size:9px; background:#ffffff07; border:1px solid #ffffff0d; border-radius:6px; min-width:25px; padding:1px 7px; text-align:center; }
.report-evidence { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.report-evidence li { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid rgba(var(--signal-rgb),.13); border-radius:10px; background:rgba(var(--signal-rgb),.035); }
.report-evidence q { color:#cec1d6; font-size:11px; line-height:1.9; overflow-wrap:anywhere; quotes:'«' '»'; }
.evidence-dot { flex-shrink:0; width:4px; height:4px; border-radius:50%; background:var(--signal); margin-top:9px; }
.report-evidence .report-empty { color:#aaa0b6; font-size:11px; line-height:1.9; }
.report-advice { display:flex; align-items:flex-start; gap:14px; }
.report-advice>svg { flex-shrink:0; color:var(--signal); margin-top:4px; }
.scan-report .report-advice p { color:#c0b4cc; font-size:12px; line-height:2; margin:0; }
.report-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #ffffff0b; padding:17px 30px; }
.scan-report .report-footer p { display:flex; gap:8px; align-items:flex-start; color:#8e829b; font-size:8px; line-height:1.9; margin:0; max-width:520px; }
.report-footer p svg { flex-shrink:0; margin-top:1px; }
.report-footer>div { display:flex; flex-shrink:0; gap:8px; }
.report-footer button { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid #ffffff12; border-radius:8px; background:#ffffff04; color:#c5b7d4; font:inherit; font-size:8px; padding:9px 11px; min-height:40px; cursor:pointer; }
.report-footer button:hover { background:#ffffff0a; border-color:#ffffff28; color:#f1e8fa; }
.report-footer .report-reopen { color:var(--signal); border-color:rgba(var(--signal-rgb),.18); }
.critical-open { overflow:hidden; }
.critical-alert { position:fixed; inset:0; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; padding:max(92px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)); color:#fff0ee; background:radial-gradient(ellipse at 50% 42%,#622a2933,transparent 60%),#0d0b0ff5; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; box-sizing:border-box; }
.critical-alert[open] { display:flex; flex-direction:column; animation:critical-enter .32s ease-out both; }
.critical-alert::backdrop { background:#08070bec; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.critical-atmosphere { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.critical-atmosphere div { position:absolute; left:50%; top:45%; width:540px; height:540px; transform:translate(-50%,-50%); border:1px solid #d3978f0c; border-radius:50%; }
.critical-atmosphere div:nth-child(2) { width:820px; height:820px; }
.critical-atmosphere div:nth-child(3) { width:1150px; height:1150px; }
.critical-topbar { position:absolute; top:max(22px,env(safe-area-inset-top)); left:32px; right:32px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.critical-topbar>span { display:flex; align-items:center; gap:10px; font-size:13px; color:#c8bacb; }
.critical-topbar img { filter:saturate(.45); }
.critical-close { display:grid; place-items:center; width:44px; height:44px; background:#ffffff05; color:#ccbbc9; border:1px solid #ffffff16; border-radius:50%; cursor:pointer; }
.critical-close:hover { background:#ffffff0d; color:#fff; }
.critical-topbar .critical-close { width:44px; height:44px; padding:0; flex-shrink:0; }
.critical-content { position:relative; width:min(100%,760px); flex:1; align-self:center; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:25px 0 50px; text-align:center; }
.critical-label { display:flex; align-items:center; justify-content:center; gap:9px; color:#c3a4a5; font-size:9px; line-height:1.9; }
.critical-label>span:first-child { width:5px; height:5px; border-radius:50%; background:#ff9a8c; box-shadow:0 0 16px #f3906c55; flex-shrink:0; }
.critical-symbol { display:grid; place-items:center; margin:26px 0 23px; width:94px; height:94px; border-radius:28px; color:#ffad99; border:1px solid #ffb3a326; background:linear-gradient(150deg,#ffac8c13,#e1777b05); box-shadow:inset 0 1px #ffe1cc0c,0 0 80px #ff7b6a0a; }
.critical-content h2 { display:flex; flex-direction:column; margin:0; color:#f9e7e5; }
.critical-content h2>span { font-size:15px; font-weight:400; letter-spacing:.6em; padding-left:.6em; line-height:1.8; color:#d5afb0; }
.critical-content h2>strong { font-size:clamp(32px,10vw,90px); font-weight:500; letter-spacing:-.05em; line-height:1.3; color:#ffb6a6; background:linear-gradient(180deg,#ffe6ce,#ff9c91); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.critical-content #criticalDescription { max-width:560px; font-size:12px; color:#c3abb9; line-height:2; margin:21px 0 0; }
.critical-detected { display:grid; gap:9px; width:min(100%,560px); margin-top:27px; border:1px solid #f3b6a915; border-radius:13px; padding:15px 20px; background:linear-gradient(120deg,#ffffff05,#ffffff01); }
.critical-detected>span { font-size:8px; color:#a58594; }
.critical-detected>strong { color:#e1c2cc; font-size:11px; font-weight:400; line-height:1.9; overflow-wrap:anywhere; }
.critical-actions { width:min(100%,560px); display:flex; justify-content:center; gap:10px; margin-top:23px; }
.critical-actions button { font:inherit; font-size:10px; line-height:1.8; border-radius:9px; min-height:49px; padding:13px 20px; display:flex; align-items:center; justify-content:center; gap:16px; cursor:pointer; }
.critical-primary { background:linear-gradient(180deg,#f2b2a3,#d79492); border:1px solid #ffd4ba91; color:#281819; box-shadow:inset 0 1px #ffefdc80,0 5px 24px #b8514b12; }
.critical-primary:hover { background:linear-gradient(180deg,#ffcebb,#ecb2aa); }
.critical-secondary { background:#ffffff04; border:1px solid #ffffff14; color:#c9b4c6; }
.critical-secondary:hover { background:#ffffff0a; }
.critical-content .critical-note { max-width:510px; margin-top:19px; color:#947b8e; font-size:8px; line-height:2; }
.critical-bottom { position:relative; display:flex; justify-content:space-between; gap:20px; color:#796477; font-size:7px; line-height:2; letter-spacing:.04em; }
.critical-alert button:focus-visible { outline:2px solid #ffd2b7; outline-offset:5px; }
@keyframes critical-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:800px) {
  .report-topline { padding:18px 22px; }
  .report-signature { display:none; }
  .report-overview { grid-template-columns:64px minmax(0,1fr); gap:18px; padding:26px 22px; align-items:start; }
  .report-emblem { width:62px; height:74px; border-radius:18px; }
  .report-emblem>svg { width:30px; height:30px; }
  .emblem-orbit { inset:8px; border-radius:12px; }
  .scan-report h2 { font-size:20px; letter-spacing:-.4px; }
  .report-severity { font-size:9px; margin-bottom:9px; }
  .scan-report .report-summary { font-size:11px; }
  .report-scale { grid-column:1/-1; border-left:0; border-top:1px solid #ffffff0b; padding:18px 0 0; display:grid; grid-template-columns:1fr auto; gap:10px 18px; align-items:center; }
  .report-scale-bars { grid-column:1/-1; }
  .report-scale small { display:none; }
  .report-scale>strong { font-size:12px; }
  .report-details { grid-template-columns:1fr; }
  .report-findings,.report-guidance { padding:23px 22px; }
  .report-guidance { border-left:0; border-top:1px solid #ffffff0b; }
  .scan-report h3 { font-size:11px; }
  .scan-report .report-advice p { font-size:12px; }
  .report-footer { padding:18px 22px; flex-direction:column; align-items:stretch; gap:15px; }
  .report-footer>div { flex-wrap:wrap; }
  .report-footer button { min-height:44px; font-size:9px; }
  .critical-topbar { left:22px; right:22px; }
  .critical-content { padding:15px 0 38px; }
  .critical-content #criticalDescription { font-size:11px; }
  .critical-symbol { width:80px; height:80px; margin:23px 0 18px; }
  .critical-symbol svg { width:45px; height:45px; }
  .critical-actions { flex-direction:column; }
  .critical-actions button { font-size:11px; }
  .critical-bottom { flex-direction:column; align-items:center; gap:6px; }
}
@media(max-width:380px) {
  .report-overview { grid-template-columns:1fr; }
  .report-emblem { display:none; }
  .scan-report h2 { font-size:18px; }
  .report-advice { gap:10px; }
  .critical-alert { padding-left:18px; padding-right:18px; }
  .critical-label { font-size:8px; }
}
.telegram-miniapp .scan-report { padding:0; border-radius:18px; }
.telegram-miniapp .report-overview { grid-template-columns:1fr; }
.telegram-miniapp .report-emblem { display:none; }
.telegram-miniapp .report-details { grid-template-columns:1fr; }
.telegram-miniapp .report-guidance { border-left:0; border-top:1px solid #ffffff0b; }
.telegram-miniapp .report-scale { border-left:0; border-top:1px solid #ffffff0b; padding:18px 0 0; }
.telegram-miniapp .report-footer { flex-direction:column; align-items:stretch; }
.telegram-miniapp .report-footer>div { flex-wrap:wrap; }
@media(prefers-reduced-motion:reduce) { .critical-alert[open] { animation:none; } }
@media(prefers-reduced-transparency:reduce) { .scan-report { background:#16131b; backdrop-filter:none; } .critical-alert { background:#100d12; } .critical-alert::backdrop { backdrop-filter:none; } }
