.yz-cap-btn{position:relative;display:flex;align-items:center;width:100%;height:44px;padding:0 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;user-select:none;box-sizing:border-box;font-family:inherit}
.yz-cap-btn:hover:not(.yz-state-loading):not(.yz-state-success){border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.08)}
.yz-cap-btn:focus-visible{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.yz-cap-btn .yz-btn-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:10px;flex-shrink:0}
.yz-cap-btn .yz-btn-icon svg{width:20px;height:20px}
.yz-cap-btn .yz-btn-text{flex:1;text-align:left}
.yz-cap-btn .yz-btn-arrow{display:flex;align-items:center;color:#94a3b8;transition:transform .2s}
.yz-cap-btn .yz-btn-arrow svg{width:16px;height:16px}
.yz-cap-btn:hover .yz-btn-arrow{transform:translateX(3px)}
.yz-cap-btn.yz-state-loading{cursor:wait;background:#f8fafc}
.yz-cap-btn.yz-state-success{border-color:#bbf7d0;background:#f0fdf4;color:#16a34a}
.yz-cap-btn.yz-state-success .yz-btn-arrow{display:none}
.yz-cap-btn .yz-btn-spinner{width:16px;height:16px;border:2px solid rgba(99,102,241,.25);border-top-color:#6366f1;border-radius:50%;animation:yz-cap-spin .8s linear infinite}
@keyframes yz-cap-spin{to{transform:rotate(360deg)}}
.yz-cap-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}
.yz-cap-overlay.yz-open{opacity:1;pointer-events:auto}
.yz-cap-panel{width:352px;max-width:calc(100vw - 24px);background:#fff;border-radius:14px;box-shadow:0 24px 48px -12px rgba(15,23,42,.35);overflow:hidden;transform:translateY(12px) scale(.97);transition:transform .22s cubic-bezier(.34,1.4,.64,1)}
.yz-cap-overlay.yz-open .yz-cap-panel{transform:translateY(0) scale(1)}
.yz-cap-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f1f5f9}
.yz-cap-tip{font-size:13px;color:#64748b;line-height:1.5;display:flex;align-items:center;flex-wrap:wrap;gap:2px}
.yz-cap-tip b{color:#0f172a;font-size:16px;margin:0 1px;font-weight:700}
.yz-cap-tip .yz-tip-num{color:#6366f1;font-size:12px;margin-left:5px}
.yz-cap-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#94a3b8;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}
.yz-cap-close:hover{background:#f1f5f9;color:#475569}
.yz-cap-close svg{width:16px;height:16px}
.yz-cap-body{position:relative;width:auto;height:auto;aspect-ratio:16/9;margin:14px 16px 0;border-radius:10px;overflow:hidden;background:#e2e8f0;cursor:crosshair;touch-action:manipulation}
.yz-cap-body img{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none;pointer-events:none}
.yz-cap-body.yz-img-loading::before{content:"";position:absolute;inset:0;background:#e2e8f0}
.yz-cap-body .yz-body-spinner{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:yz-cap-spin .8s linear infinite}
.yz-cap-marker{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:rgba(79,70,229,.92);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(15,23,42,.35);animation:yz-cap-pop .18s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
@keyframes yz-cap-pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.yz-cap-body.yz-flash-error{animation:yz-cap-shake .35s ease}
@keyframes yz-cap-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.yz-cap-status{min-height:20px;padding:8px 16px 0;font-size:12px;line-height:20px;color:#94a3b8;text-align:center}
.yz-cap-status.yz-status-error{color:#ef4444}
.yz-cap-status.yz-status-success{color:#16a34a}
.yz-cap-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 14px}
.yz-cap-actions{display:flex;gap:6px}
.yz-cap-act{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s;font-family:inherit}
.yz-cap-act:hover:not(:disabled){border-color:#6366f1;color:#6366f1;background:#eef2ff}
.yz-cap-act:disabled{opacity:.5;cursor:not-allowed}
.yz-cap-act svg{width:13px;height:13px}
.yz-cap-brand{font-size:11px;color:#cbd5e1;letter-spacing:.5px;user-select:none}
@media(max-width:360px){.yz-cap-overlay{padding:12px}.yz-cap-brand{display:none}.yz-cap-foot{padding:10px 12px 12px}}
@media (prefers-color-scheme:dark){
.yz-cap-auto .yz-cap-btn{background:#162136;border-color:#24314e;color:#a8b6cc}
.yz-cap-auto .yz-cap-btn:hover:not(.yz-state-loading):not(.yz-state-success){background:#1c2942}
.yz-cap-auto .yz-cap-btn.yz-state-success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#4ade80}
.yz-cap-auto .yz-cap-btn.yz-state-loading{background:#162136}
.yz-cap-auto .yz-cap-panel{background:#101a2e;box-shadow:0 24px 48px -12px rgba(0,0,0,.6)}
.yz-cap-auto .yz-cap-head{border-bottom-color:#1c2942}
.yz-cap-auto .yz-cap-tip{color:#8b9bb4}
.yz-cap-auto .yz-cap-tip b{color:#e6edf9}
.yz-cap-auto .yz-cap-close{color:#71839d}
.yz-cap-auto .yz-cap-close:hover{background:#1c2942;color:#a8b6cc}
.yz-cap-auto .yz-cap-body{background:#24314e}
.yz-cap-auto .yz-cap-act{background:#162136;border-color:#24314e;color:#a8b6cc}
.yz-cap-auto .yz-cap-act:hover:not(:disabled){border-color:#818cf8;color:#a5b4fc;background:#1c2942}
}
html.dark .yz-cap-btn{background:#162136;border-color:#24314e;color:#a8b6cc}
html.dark .yz-cap-btn:hover:not(.yz-state-loading):not(.yz-state-success){background:#1c2942}
html.dark .yz-cap-btn.yz-state-success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#4ade80}
html.dark .yz-cap-btn.yz-state-loading{background:#162136}
html.dark .yz-cap-panel{background:#101a2e;box-shadow:0 24px 48px -12px rgba(0,0,0,.6)}
html.dark .yz-cap-head{border-bottom-color:#1c2942}
html.dark .yz-cap-tip{color:#8b9bb4}
html.dark .yz-cap-tip b{color:#e6edf9}
html.dark .yz-cap-close{color:#71839d}
html.dark .yz-cap-close:hover{background:#1c2942;color:#a8b6cc}
html.dark .yz-cap-body{background:#24314e}
html.dark .yz-cap-act{background:#162136;border-color:#24314e;color:#a8b6cc}
html.dark .yz-cap-act:hover:not(:disabled){border-color:#818cf8;color:#a5b4fc;background:#1c2942}
