/* ============ KYC page + automatic verification wizard ============ */
.kyc-hero{text-align:center;padding:18px 10px 8px}
.kyc-hero .ic{font-size:56px;margin-bottom:10px}
.kyc-hero h3{font-size:20px;margin-bottom:6px}
.kyc-hero p{color:var(--sub);font-size:13px;line-height:1.5}
.kyc-hero small{display:block;color:var(--sub);opacity:.7;font-size:11px;margin-top:6px}
.kyc-warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);border-radius:12px;padding:12px 14px;margin:14px 0;font-size:12.5px;color:#f59e0b}
.kyc-sec{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin:18px 2px 10px}
.kyc-method{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line);cursor:pointer;margin-bottom:10px;transition:border-color .15s}
.kyc-method:hover{border-color:var(--gold)}
.kyc-method.dim{opacity:.55;pointer-events:none}
.kyc-method .mi{width:46px;height:46px;border-radius:14px;background:var(--gold-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto}
.kyc-method .mi.alt{background:var(--card2);color:var(--sub);border:1px solid var(--line)}
.kyc-method .mt{flex:1;min-width:0}
.kyc-method .mt b{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}
.kyc-method .mt small{display:block;color:var(--sub);font-size:11.5px;line-height:1.5;margin-top:2px}
.kyc-method .rec{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:20px;background:rgba(34,195,142,.15);color:var(--green);text-transform:uppercase;letter-spacing:.4px}
.kyc-method .ch{color:var(--sub)}
.kyc-steps{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.kyc-steps span{font-size:10.5px;padding:4px 8px;border-radius:8px;background:var(--card2);border:1px solid var(--line);color:var(--sub)}
.kyc-steps span i{margin-right:4px;color:var(--gold)}
.kyc-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-top:14px}
.kyc-card>i{color:var(--gold);font-size:18px;margin-top:2px}
.kyc-card.ok>i{color:var(--green)}
.kyc-card b{display:block;font-size:13px}.kyc-card small{color:var(--sub);font-size:11.5px;line-height:1.5}

/* wizard */
.kw-bg{position:fixed;inset:0;z-index:120;background:var(--bg);display:flex;justify-content:center;animation:kwIn .2s}
@keyframes kwIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kw{width:100%;max-width:560px;display:flex;flex-direction:column;height:100%;overflow:hidden}
.kw-head{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 12px;font-size:16px;font-weight:800;border-bottom:1px solid var(--line)}
.kw-head i{cursor:pointer;color:var(--sub);font-size:18px;padding:4px}
.kw-head b{flex:1;text-align:center}
.kw-steps{display:flex;padding:12px 16px 4px;gap:4px}
.kw-steps div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}
.kw-steps div::before{content:'';position:absolute;top:12px;left:-50%;right:50%;height:2px;background:var(--line);z-index:0}
.kw-steps div:first-child::before{display:none}
.kw-steps div.done::before,.kw-steps div.cur::before{background:var(--gold)}
.kw-steps span{width:24px;height:24px;border-radius:50%;background:var(--card2);border:1px solid var(--line);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;color:var(--sub)}
.kw-steps .cur span{background:var(--gold-grad);color:#fff;border-color:transparent}
.kw-steps .done span{background:var(--green);color:#fff;border-color:transparent}
.kw-steps small{font-size:9.5px;color:var(--sub)}
.kw-steps .cur small{color:var(--txt);font-weight:700}
.kw-body{flex:1;overflow-y:auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom,0px))}
.kw-body h3{font-size:19px;font-weight:800;margin-bottom:4px}
.kw-body>p,.kw-body .kw-note{color:var(--sub);font-size:13px;line-height:1.5;margin-bottom:14px}
.kw-note{font-size:11.5px!important;margin-top:12px;text-align:center}
.kw-search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 12px;height:44px;margin-bottom:10px}
.kw-search input{flex:1;background:transparent;border:0;outline:none;color:var(--txt);font-size:14px;font-family:inherit}
.kw-search i{color:var(--sub)}
.kw-clist{max-height:50vh;overflow-y:auto;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.kw-clist div{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--line)}
.kw-clist div:last-child{border-bottom:0}
.kw-clist div span{font-size:20px}
.kw-clist div.sel{background:var(--gold-grad-soft);color:var(--gold);font-weight:700}
.kw-clist div .fa-check{margin-left:auto}
.kw-empty{color:var(--sub);text-align:center;padding:20px;font-size:13px}
.kw-btn{width:100%;margin-top:14px;border:0;border-radius:14px;padding:15px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;background:var(--gold-grad);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.kw-btn:disabled{opacity:.45;cursor:not-allowed}
.kw-btn.ghost{background:var(--card2);color:var(--txt);border:1px solid var(--line)}
.kw-row{display:flex;gap:10px}
.kw-docs div{display:flex;align-items:center;gap:14px;padding:16px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);cursor:pointer;margin-bottom:10px}
.kw-docs div.sel,.kw-docs div:hover{border-color:var(--gold)}
.kw-docs div>i:first-child{width:44px;height:44px;border-radius:12px;background:var(--card2);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:19px}
.kw-docs div>div{flex:1}
.kw-docs b{display:block;font-size:14px}.kw-docs small{color:var(--sub);font-size:11.5px}
.kw-docs .ch{color:var(--sub)}
.kw-tips{margin-top:12px;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:12.5px}
.kw-tips b{display:block;margin-bottom:8px;font-size:13px}.kw-tips b i{color:var(--gold)}
.kw-tips ul{padding-left:18px;color:var(--sub);line-height:1.7}
.kw-cam{position:relative;width:100%;aspect-ratio:3/2;background:#000;border-radius:18px;overflow:hidden}
.kw-cam.face{aspect-ratio:3/4;max-height:58vh;margin:0 auto}
.kw-cam video{width:100%;height:100%;object-fit:cover;display:block}
.kw-cam video.mirror{transform:scaleX(-1)}
.kw-frame{position:absolute;inset:8% 6%;pointer-events:none}
.kw-frame i{position:absolute;width:28px;height:28px;border:3px solid #fff;border-radius:4px}
.kw-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.kw-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.kw-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.kw-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.kw-oval{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2000px rgba(0,0,0,.55);-webkit-mask:radial-gradient(ellipse 36% 44% at 50% 46%,transparent 98%,#000 100%);mask:radial-gradient(ellipse 36% 44% at 50% 46%,transparent 98%,#000 100%)}
.kw-oval svg{position:absolute;left:14%;top:2%;width:72%;height:88%;overflow:visible}
.kw-oval circle{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:1.2;transform:scale(1,1.22);transform-origin:50% 50%}
.kw-oval circle#kwRing{stroke:#22c38e;stroke-opacity:1;stroke-width:2.2;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .25s;stroke-linecap:round}
.kw-oval.ok{box-shadow:inset 0 0 0 2000px rgba(0,0,0,.45)}
.kw-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(0,0,0,.65);color:#fff;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:20px;white-space:nowrap;backdrop-filter:blur(4px);display:flex;gap:8px;align-items:center;max-width:94%}
.kw-hint.big{font-size:14px;padding:10px 16px}
.kw-hint.good{background:rgba(34,195,142,.85)}
.kw-hint.warn{background:rgba(245,158,11,.9);color:#1a1200}
.kw-preview img{width:100%;border-radius:18px;display:block;border:1px solid var(--line)}
.kw-q{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:12.5px;font-weight:600}
.kw-q .ok{color:var(--green)}.kw-q .bad{color:var(--red)}
.kw-chal{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.kw-chal div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:13px;color:var(--sub)}
.kw-chal div i{width:18px;text-align:center}
.kw-chal div.cur{color:var(--txt);border-color:var(--gold);font-weight:700}
.kw-chal div.done{color:var(--green);text-decoration:line-through;opacity:.8}
.kw-verify{text-align:center;padding:30px 10px}
.kw-scan{position:relative;width:110px;height:110px;margin:0 auto 18px;border-radius:28px;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:44px;color:var(--gold);overflow:hidden}
.kw-scan span{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:kwScan 1.6s ease-in-out infinite}
@keyframes kwScan{0%{top:8%}50%{top:88%}100%{top:8%}}
.kw-verify h3{font-size:19px}
.kw-verify p{color:var(--txt);font-size:13.5px;min-height:20px;margin:6px 0 16px}
.kw-verify small{display:block;color:var(--sub);font-size:12px;line-height:1.5;margin-top:14px}
.kw-bar{height:5px;background:var(--line);border-radius:4px;overflow:hidden;max-width:260px;margin:0 auto}
.kw-bar i{display:block;height:100%;width:40%;background:var(--gold-grad);border-radius:4px;animation:kwBar 1.4s ease-in-out infinite}
@keyframes kwBar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.kw-result{text-align:center;padding:24px 6px}
.kw-result .ic{font-size:64px;margin-bottom:12px}
.kw-result h3{font-size:21px}
.kw-result p{color:var(--sub);font-size:13.5px;line-height:1.55;margin:6px 0 14px}
.kw-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;margin:10px 0}
.kw-card div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.kw-card div:first-child{grid-column:1/-1}
.kw-card small{display:block;color:var(--sub);font-size:10px;text-transform:uppercase;letter-spacing:.4px}
.kw-card b{font-size:13.5px}
.kw-why{background:rgba(240,90,110,.1);border:1px solid rgba(240,90,110,.35);border-radius:12px;padding:10px 12px;font-size:12.5px;color:var(--red);text-align:left;margin-bottom:6px}
@media(min-width:900px){.kw-bg{align-items:center;background:rgba(0,0,0,.6)}.kw{height:92vh;max-height:860px;border-radius:24px;border:1px solid var(--line);background:var(--bg)}}
