/* The verdict moment: a tense scanner, a stamp that slams, then the share studio. Loaded after story.css,
   so the stamp keyframes here replace the gentler ones there. Everything still lands instantly under reduced motion. */

/* ---------- scanner: evidence log, polygraph, progress, alarm ---------- */
.scan-polygraph{position:absolute;left:0;right:0;top:20%;height:60%;width:100%;overflow:visible;pointer-events:none}
.scan-polygraph path{fill:none;stroke:#ff8a63;stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:trace 1.9s .1s linear forwards;filter:drop-shadow(0 0 3px #ff8a6399)}
.scan-log{list-style:none;margin:6px auto 0;padding:0;width:min(86%,420px);text-align:left;font:12px/1.5 var(--mono);color:#cfe3bd}
.scan-log li{display:flex;gap:9px;align-items:baseline;padding:3px 0;border-bottom:1px dashed #4b5844;opacity:0;animation:log-in .35s ease-out forwards}
.scan-log li:nth-child(1){animation-delay:.2s}.scan-log li:nth-child(2){animation-delay:.75s}.scan-log li:nth-child(3){animation-delay:1.3s}
.scan-log b{color:#ffb38f;font-weight:700;opacity:0;animation:tick .2s ease-out forwards}
.scan-log li:nth-child(1) b{animation-delay:.6s}.scan-log li:nth-child(2) b{animation-delay:1.15s}.scan-log li:nth-child(3) b{animation-delay:1.7s}
.scan-progress{display:block;width:min(78%,370px);height:6px;margin:14px auto 0;border-radius:6px;background:#3c4736;overflow:hidden}
.scan-progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#c3e590,#ffb38f 70%,#ff6b4a);transform-origin:left;transform:scaleX(0);animation:fill 2.05s cubic-bezier(.5,.1,.6,1) forwards}
.machine.running .scan-screen{animation:alarm .22s 1.8s 2 steps(1,end)}
@keyframes trace{to{stroke-dashoffset:0}}
@keyframes log-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes tick{from{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}
@keyframes fill{to{transform:scaleX(1)}}
@keyframes alarm{0%{border-color:#ff5a3c;box-shadow:0 0 0 3px #ff5a3c66,inset 0 0 40px #ff5a3c55}50%{border-color:#6e8164;box-shadow:none}}

/* ---------- the score and the red flags behind it ---------- */
.verdict-score{position:relative;margin:16px 0 6px;font:700 12.5px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.verdict-rank{position:relative;display:inline-block;margin:2px 0 8px;padding:5px 12px;border:1px dashed currentColor;font:700 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.field-name{margin:6px 0 0;font:700 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field-name b{color:var(--red);font-weight:700}
.field-name span{white-space:nowrap}
.evidence{margin:18px 0 0;padding:14px 16px 6px;border:1px solid #d7cdb3;background:#fbf7ea;border-radius:3px}
.evidence>.eyebrow{margin-bottom:8px}
.evidence ol{list-style:none;margin:0;padding:0}
.evidence li{padding:10px 0;border-top:1px dashed #d7cdb3}
.evidence li:first-child{border-top:0;padding-top:2px}
.evidence-label{margin:0;font:700 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.evidence-answer{margin:3px 0 0;font:17px/1.4 var(--serif);color:var(--ink)}
.evidence-note{margin:4px 0 0;font:13.5px/1.5 var(--sans);color:var(--muted)}
.evidence-none{margin:0 0 8px;font:16px/1.5 var(--serif);color:var(--muted)}

/* ---------- the slam ---------- */
.verdict-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 42%,#fffdf4 0,#fffdf4cc 22%,transparent 62%)}
.stamp-in .verdict-flash{animation:flash .55s .3s ease-out both}
.stamp-in .verdict-stamp{animation:slam .62s .08s cubic-bezier(.17,.89,.32,1) both}
.verdict-stamp::before{content:'';position:absolute;inset:-55% -18%;pointer-events:none;opacity:0;background:radial-gradient(circle at 8% 30%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 92% 22%,var(--accent) 0 4px,transparent 5px),radial-gradient(circle at 14% 82%,var(--accent) 0 3px,transparent 4px),radial-gradient(circle at 88% 78%,var(--accent) 0 6px,transparent 7px),radial-gradient(circle at 50% 4%,var(--accent) 0 3px,transparent 4px),radial-gradient(circle at 46% 98%,var(--accent) 0 4px,transparent 5px),radial-gradient(circle at 2% 58%,var(--accent) 0 2px,transparent 3px),radial-gradient(circle at 99% 50%,var(--accent) 0 3px,transparent 4px)}
.stamp-in .verdict-stamp::before{animation:burst .7s .38s ease-out both}
.stamp-in.verdict-file{animation:shake .45s .36s both}
.stamp-in .verdict-score,.stamp-in .verdict-rank,.stamp-in .verdict-sub{animation:rise .5s .8s both}
.stamp-in .verdict-cta{animation:rise .55s 1.05s both}
.stamp-in .verdict-cta .btn.primary{animation:pulse 1.4s 1.8s 2}
@keyframes slam{0%{opacity:0;transform:scale(3.2) rotate(-16deg);filter:blur(7px)}48%{opacity:1;transform:scale(.9) rotate(-2deg);filter:blur(0)}64%{transform:scale(1.06) rotate(-3.5deg)}82%{transform:scale(.985) rotate(-3deg)}100%{opacity:1;transform:scale(1) rotate(-3deg)}}
@keyframes flash{0%{opacity:0}18%{opacity:.85}100%{opacity:0}}
@keyframes burst{0%{opacity:0;transform:scale(.45)}30%{opacity:.95}100%{opacity:.35;transform:scale(1.12)}}
@keyframes shake{0%,100%{transform:none}15%{transform:translate(-7px,3px) rotate(-.4deg)}30%{transform:translate(6px,-4px) rotate(.35deg)}45%{transform:translate(-4px,2px)}60%{transform:translate(3px,-1px)}75%{transform:translate(-1px,1px)}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 2px 0 #a53422,0 0 0 0 #cb422b88}50%{box-shadow:0 2px 0 #a53422,0 0 0 12px #cb422b00}}

/* ---------- call to action under the stamp ---------- */
.verdict-cta{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.verdict-cta .btn{min-height:52px;font-size:16px}
.verdict-cta .btn:not(.primary){color:#fcf7e5;border-color:#8f957f}
.verdict-cta .btn:not(.primary):hover{background:#3a4033}
.verdict-cta svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}

/* ---------- share studio ---------- */
.kit{margin-top:30px;padding:clamp(16px,3vw,26px);border:1px solid #d3cbb3;border-radius:4px;background:linear-gradient(180deg,#f6f1e1,#efe8d4)}
.kit-head h3{font:600 clamp(21px,2.6vw,27px)/1.2 var(--serif);letter-spacing:-.03em;margin:6px 0 0}
.kit-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,3vw,30px);margin-top:18px;align-items:start}
.kit-preview{margin:0;text-align:center}
.kit-img{display:block;width:100%;margin:0 auto;background:#e9e1cb;border-radius:3px;box-shadow:0 18px 40px -16px rgba(38,39,32,.5),0 2px 0 rgba(38,39,32,.12);transform:rotate(-1.2deg);aspect-ratio:1}
.kit-img[data-ratio="story"]{max-width:300px;aspect-ratio:9/16}
.kit-img[data-ratio="wide"]{aspect-ratio:16/9}
.kit-preview figcaption{margin-top:12px;font:12px var(--mono);color:var(--muted)}
.kit-formats{grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-bottom:12px}
.kit-primary{display:flex;flex-wrap:wrap;gap:8px}
.kit-primary .btn{flex:1 1 150px}
.kit-primary svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.kit-label{margin:18px 0 8px;font:700 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kit-btn{text-decoration:none;display:flex;align-items:center;gap:9px;min-height:46px;padding:8px 11px;border:1px solid #c9bfa4;border-radius:6px;background:#fffdf6;font:600 13px/1.2 var(--sans);color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.kit-btn:hover,.kit-btn:focus-visible{transform:translateY(-1px);border-color:var(--ink);box-shadow:0 3px 0 #26272022}
.kit-btn svg{flex:none;width:26px;height:26px;padding:5px;border-radius:7px;fill:#fff;background:#262720}
.kit-btn svg.kit-stroke{fill:none;stroke:#fff;stroke-width:2.2}
.kit-ig-story svg,.kit-ig-post svg{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 92%)}
.kit-whatsapp svg{background:#25d366}.kit-sms svg{background:#34c759}.kit-telegram svg{background:#27a7e7}.kit-line svg{background:#06c755}
.kit-facebook svg{background:#1877f2}.kit-reddit svg{background:#ff4500}.kit-linkedin svg{background:#0a66c2}
.kit-copy svg{background:#8a8574}
.kit-caption{display:grid;gap:6px;margin-top:18px;font:600 13px var(--sans)}
.kit-caption small{font-weight:400;color:var(--muted)}
.kit-caption textarea{width:100%;resize:vertical;min-height:110px;padding:11px 12px;border:1px solid #b8af96;border-radius:4px;background:#fffdf6;font:15px/1.5 var(--serif);color:var(--ink)}
.kit-caption textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.kit-caption-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.kit-caption-actions .btn{min-height:42px;padding:8px 14px}
.kit-link{font:12px var(--mono);color:var(--muted);overflow-wrap:anywhere}
.kit-status{min-height:1.4em;margin:12px 0 0;font:600 13px/1.45 var(--sans);color:#1f5b3a}
@media(max-width:820px){.kit-body{grid-template-columns:1fr}.kit-img{max-width:440px}}
@media(max-width:470px){.kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verdict-cta .btn{width:100%}}

@media(prefers-reduced-motion:reduce){
  .scan-polygraph path{animation:none;stroke-dashoffset:0}
  .scan-log li,.scan-log b{animation:none;opacity:1}
  .scan-progress i{animation:none;transform:none}
  .machine.running .scan-screen,.stamp-in .verdict-flash,.stamp-in .verdict-stamp,.stamp-in .verdict-stamp::before,.stamp-in.verdict-file,.stamp-in .verdict-score,.stamp-in .verdict-rank,.stamp-in .verdict-sub,.stamp-in .verdict-cta,.stamp-in .verdict-cta .btn.primary{animation:none}
  .kit-btn,.kit-img{transition:none;transform:none}
}
