.cm-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);animation:cm-fade-in .2s ease;padding:16px}@keyframes cm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cm-slide-up{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cm-modal{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:420px;padding:32px;background:var(--panel,#fff);border-radius:16px;box-shadow:0 20px 48px rgba(0,0,0,.14);animation:cm-slide-up .25s ease;font-family:var(--font-inter),sans-serif}.cm-modal--centered{align-items:center;text-align:center}.cm-close-btn{position:absolute;top:10px;right:10px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border,#e2e8f0);border-radius:8px;background:transparent;color:var(--muted,#475569);cursor:pointer;transition:background .15s,color .15s}.cm-close-btn:hover:not(:disabled){background:var(--bg-secondary,#f1f5f9);color:var(--text,#0f172a)}.cm-close-btn:disabled{opacity:.4;cursor:not-allowed}.cm-keys-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;margin-bottom:4px}.cm-keys-icon svg{width:36px;height:36px}.cm-keys-badge{position:absolute;bottom:-4px;right:-4px;background:var(--accent,#d97706);color:#fff;font-size:12px;font-weight:700;line-height:1;padding:3px 6px;border-radius:10px;border:2px solid var(--panel,#fff)}.cm-title{font-size:20px;font-weight:700;color:var(--text,#0f172a);margin:0;line-height:1.3}.cm-desc{font-size:15px;color:var(--muted,#475569);margin:0;line-height:1.5}.cm-desc--bold{font-size:16px;font-weight:600;color:var(--text,#0f172a)}.cm-question{font-size:15px;color:var(--text,#0f172a);margin:0;line-height:1.55}.cm-hint{font-size:13px;color:var(--muted,#475569);margin:0;line-height:1.5}.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s,transform .1s;border:none;white-space:nowrap}.cm-btn:disabled{opacity:.5;cursor:not-allowed}.cm-btn:not(:disabled):active{transform:scale(.97)}.cm-btn--primary{background:var(--primary,#2563eb);color:#fff;width:100%}.cm-btn--primary:hover:not(:disabled){background:var(--primary-hover,#1d4ed8)}.cm-survey-actions{display:flex;gap:10px;width:100%}.cm-btn--yes{flex:1 1;background:var(--success,#059669);color:#fff}.cm-btn--yes:hover:not(:disabled){background:#047857}.cm-btn--no{flex:1 1;background:var(--danger,#dc2626);color:#fff}.cm-btn--no:hover:not(:disabled){background:#b91c1c}.cm-btn--skip{width:100%;background:transparent;color:var(--muted,#475569);border:1px solid var(--border,#e2e8f0);font-weight:500}.cm-btn--skip:hover:not(:disabled){background:var(--bg-secondary,#f1f5f9);color:var(--text,#0f172a)}@media (max-width:480px){.cm-overlay{align-items:flex-end;padding:0}.cm-modal{max-width:100%;border-radius:20px 20px 0 0;padding:24px 20px calc(20px + env(safe-area-inset-bottom, 0px));animation:cm-slide-up-mobile .28s ease}@keyframes cm-slide-up-mobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cm-title{font-size:18px}.cm-btn{height:48px;font-size:15px}.cm-close-btn{width:40px;height:40px}}