:root { --green:#815d15; --green-d:#43392d; --green-l:#9a6f19; --orange:#f2891f; --bg:#f5f3ee; --text:#231f1a; --muted:#69645d; --line:#e7e3db; --danger:#c2410c; --success:#9a6f19; --shadow:0 24px 70px rgba(38, 32, 25, .16); }
    * { box-sizing:border-box; margin:0; padding:0; }
    html, body { min-height:100%; }
    body { min-height:100vh; display:grid; place-items:center; padding:24px; font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:radial-gradient(circle at top left, rgba(154, 111, 25, .16), transparent 30rem), radial-gradient(circle at bottom right, rgba(242,137,31,.10), transparent 28rem), linear-gradient(160deg,#faf8f4 0%, var(--bg) 55%, #f3f0ea 100%); }
    .verification { position:relative; width:min(100%,462px); padding:32px 28px 24px; border:1px solid rgba(231, 227, 219, .9); border-radius:26px; background:rgba(255,255,255,.94); box-shadow:var(--shadow); text-align:center; backdrop-filter:blur(14px); overflow:hidden; }
    .verification::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,var(--green),var(--green-l) 55%, var(--orange)); }
    .brand-logo { height:52px; width:auto; margin:6px auto 16px; display:block; }
    .badge-secure { display:inline-flex; align-items:center; gap:6px; margin:0 auto; padding:5px 12px; border-radius:100px; background:rgba(154, 111, 25, .10); color:var(--green-d); font-size:11.5px; font-weight:700; letter-spacing:.2px; }
    .badge-secure svg { width:13px; height:13px; }
    h1 { margin:14px 0 8px; font-family:'Sora',sans-serif; font-size:clamp(1.4rem,4.4vw,1.72rem); font-weight:800; line-height:1.18; color:var(--text); }
    p.sub { max-width:33ch; margin:0 auto; color:var(--muted); font-size:.98rem; line-height:1.5; }
    .loader { width:72px; height:72px; position:relative; margin:26px auto 22px; }
    .loader::before, .loader::after { content:""; position:absolute; inset:0; border-radius:50%; }
    .loader::before { border:5px solid #f1eee7; }
    .loader::after { border:5px solid transparent; border-top-color:var(--green-l); border-right-color:var(--green-l); animation:.9s linear infinite spin; }
    .loader.is-complete::before { border-color:rgba(154, 111, 25, .2); background:rgba(154, 111, 25, .09); }
    .loader.is-complete::after { width:27px; height:14px; inset:23px 0 0 21px; border:0; border-left:5px solid var(--success); border-bottom:5px solid var(--success); border-radius:0; animation:.28s ease 1 forwards checkIn; }
    .status { min-height:22px; color:var(--text); font-size:.92rem; font-weight:600; }
    .status.is-error { color:var(--danger); }
    .progress { height:8px; overflow:hidden; margin-top:20px; border-radius:999px; background:#f1eee7; }
    .progress span { display:block; width:0%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--green),var(--green-l) 70%, var(--orange)); transition:width .25s; }
    .challenge { display:none; margin-top:20px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#faf9f5; text-align:left; }
    .challenge.is-visible { display:block; }
    .challenge label { display:block; margin-bottom:8px; color:var(--text); font-size:.9rem; font-weight:700; }
    .challenge-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
    .challenge input { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:#fff; font:700 1rem 'Plus Jakarta Sans',sans-serif; }
    .challenge button, .continue-button { min-height:46px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--green-l),var(--green-d)); cursor:pointer; font:800 .95rem 'Sora',sans-serif; }
    .challenge button { padding:0 16px; }
    .continue-button { width:100%; min-height:54px; display:none; align-items:center; justify-content:center; gap:9px; margin-top:22px; font-size:1.02rem; box-shadow:rgba(154, 111, 25, .3) 0 14px 26px; transition:transform .2s, box-shadow .2s; }
    .continue-button:hover { transform:translateY(-1px); box-shadow:rgba(154, 111, 25, .36) 0 18px 34px; }
    .continue-button.is-visible { display:flex; }
    .continue-button svg { width:19px; height:19px; }
    .foot { margin-top:20px; padding-top:16px; border-top:1px solid #f4f2ee; }
    .foot-row { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
    .foot-row span { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:11px; font-weight:600; }
    .foot-row svg { width:13px; height:13px; color:var(--green); }
    .foot-note { color:#a19c96; font-size:11px; line-height:1.4; }
    noscript { width:min(100%,462px); display:block; margin-top:16px; padding:14px 16px; border:1px solid #fed7aa; border-radius:14px; color:#7c2d12; background:#fff7ed; text-align:center; font:600 .95rem system-ui,sans-serif; }
    @keyframes spin { 100% { transform:rotate(360deg); } }
    @keyframes checkIn { 0% { opacity:0; transform:rotate(-45deg) scale(.78); } 100% { opacity:1; transform:rotate(-45deg) scale(1); } }
    @media (max-width:420px) { body { padding:18px; } .verification { padding:28px 20px 22px; border-radius:22px; } .challenge-row { grid-template-columns:1fr; } }