.kbd-modal.vision-modal{color:#e8e2da;background:#1a1714;border-color:#ffffff14;box-shadow:0 20px 60px #00000080}.kbd-modal.vision-modal .kbd-modal-header{border-color:#ffffff0f}.kbd-modal.vision-modal .kbd-modal-header h2{color:#e8e2da}.kbd-modal.vision-modal .kbd-close{color:#999}.kbd-modal.vision-modal .kbd-close:hover{color:#e8e2da;background:#ffffff0f}.vision-modal-loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5em;padding:1.5em 0;font-size:.85em;display:flex}.vision-modal-clean{padding:var(--space-xl)0;text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.vision-modal-clean p{color:var(--text-primary);margin:0;font-size:.9em}.vision-modal-intro{color:var(--text-secondary);margin:0 0 1em;font-size:.85em;line-height:1.5}.vision-modal-gaps{gap:var(--space-sm);flex-direction:column;display:flex}.vision-modal-gap{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;gap:.5em;padding:.6em 1em;display:flex}.vision-modal-gap--answered{border-color:var(--gold-020);background:var(--gold-005)}.vision-modal-gap-row{align-items:flex-start;gap:var(--space-sm);display:flex}.vision-modal-gap-icon{flex-shrink:0;margin-top:.15em;font-size:.9em}.vision-modal-gap-content{flex-direction:column;flex:1;gap:2px;display:flex}.vision-modal-gap-desc{color:var(--text-primary);font-size:.8em;font-weight:500;line-height:1.4}.vision-modal-gap-question{color:var(--gold);font-size:.75em;font-style:italic;line-height:1.3}.vision-modal-required{color:var(--accent-red);flex-shrink:0;font-size:.9em;font-weight:700}.vision-modal-check{color:var(--gold);flex-shrink:0;font-size:.85em}.vision-modal-suggestions{flex-wrap:wrap;gap:.35em;padding-left:1.6em;display:flex}.vision-modal-chip{border-radius:var(--radius-xl);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;max-width:100%;padding:.25em .7em;font-size:.7em;line-height:1.4}.vision-modal-chip:hover{background:var(--bg-input-focus);border-color:var(--gold-020);color:var(--text-primary)}.vision-modal-chip--active{background:var(--gold-010);border-color:var(--gold-040);color:var(--gold)}.vision-modal-answer{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;min-height:2.5em;transition:border-color var(--transition-fast);margin-left:1.6em;padding:.5em;font-family:inherit;font-size:.8em}.vision-modal-answer:focus{border-color:var(--gold-030);background:var(--bg-input-focus);outline:none}.vision-modal-answer::placeholder{color:var(--text-muted)}.vision-modal-progress{align-items:center;gap:var(--space-sm);padding-top:var(--space-xs);display:flex}.vision-modal-progress span{color:var(--text-muted);white-space:nowrap;font-size:.7em}.vision-modal-progress-bar{background:var(--border-subtle);border-radius:1px;flex:1;height:2px;overflow:hidden}.vision-modal-progress-fill{background:var(--gold);height:100%;transition:width .3s var(--ease-out);border-radius:1px}.vision-modal-footer{align-items:center;gap:var(--space-lg);padding:var(--space-sm)var(--space-md);border-top:1px solid var(--border-subtle);justify-content:space-between;display:flex}.vision-modal-skip{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.3em .5em;font-size:.8em}.vision-modal-skip:hover{background:var(--bg-input);color:var(--text-secondary)}.vision-modal-continue{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-muted);cursor:not-allowed;opacity:.5;transition:all var(--transition-fast);padding:.3em 1em;font-size:.8em}.vision-modal-continue--ready{background:var(--gold-015);border-color:var(--gold-030);color:var(--gold);cursor:pointer;opacity:1}.vision-modal-continue--ready:hover{background:var(--gold-020)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
