.modal-overlay{z-index:200;background-color:#0006;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out ios-fade-in;display:flex;position:fixed;inset:0}@keyframes ios-fade-in{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--bg-primary);border-radius:14px;width:100%;max-width:480px;max-height:calc(100vh - 32px);padding:16px;animation:.25s cubic-bezier(.2,.8,.2,1) ios-scale-in;overflow-y:auto}@keyframes ios-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal__title{color:var(--text-primary);font-size:17px;font-weight:600;font-family:var(--font-sans)}.modal__close{cursor:pointer;width:30px;height:30px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:background-color .15s;display:flex}.modal__close:hover{background-color:var(--border)}.modal--action-sheet{border-radius:14px;max-width:400px;padding:0;overflow:hidden}.modal--action-sheet .modal__action{min-height:57px;color:var(--accent);border-bottom:.5px solid var(--border-light);cursor:pointer;font-size:20px;font-weight:400;font-family:var(--font-sans);justify-content:center;align-items:center;padding:0 16px;transition:background-color .1s;display:flex}.modal--action-sheet .modal__action:last-child{border-bottom:none}.modal--action-sheet .modal__action:active{background:var(--bg-tertiary)}.modal--action-sheet .modal__action--destructive{color:var(--accent-error)}.modal--action-sheet .modal__action--cancel{font-weight:600}.modal--alert{text-align:center;border-radius:14px;max-width:270px;padding:0}.modal--alert .modal__alert-title{margin-bottom:4px;font-size:17px;font-weight:600}.modal--alert .modal__alert-message{color:var(--text-tertiary);font-size:13px;line-height:1.4}.modal--alert .modal__alert-actions{border-top:.5px solid var(--border-light);display:flex}.modal--alert .modal__alert-btn{min-height:44px;color:var(--accent);cursor:pointer;border-right:.5px solid var(--border-light);font-size:17px;font-family:var(--font-sans);flex:1;justify-content:center;align-items:center;display:flex}.modal--alert .modal__alert-btn:last-child{border-right:none}.modal--alert .modal__alert-btn:active{background:var(--bg-tertiary)}.modal--alert .modal__alert-btn--destructive{color:var(--accent-error)}.modal--alert .modal__alert-btn--primary{font-weight:600}@media (prefers-color-scheme:dark){.modal--action-sheet .modal__action{color:var(--accent)}.modal--action-sheet .modal__action--destructive{color:var(--accent-error)}.modal--alert .modal__alert-btn{color:var(--accent)}.modal--alert .modal__alert-btn--destructive{color:var(--accent-error)}}.modal-overlay{background-color:var(--color-overlay);animation:ios-fade-in var(--dur-base) var(--ease-out)}.modal{background-color:var(--surface-modal,var(--bg-primary));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);max-height:calc(100dvh - 32px);animation:ios-scale-in var(--dur-base) var(--ease-out)}.modal__title{letter-spacing:-.01em;font-size:20px}.modal__close{background:0 0;width:44px;height:44px;margin:-8px -8px -8px 0}.modal--action-sheet,.modal--alert{border-radius:var(--radius-xl)}.modal--alert{max-width:320px}.modal--alert .modal__alert-body{padding:var(--space-6) var(--space-4)}.modal--action-sheet .modal__action{min-height:56px;font-size:17px}@media (max-width:600px){.modal{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.modal,.modal-overlay{animation:none}}
