.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-index-modal);background-color:var(--color-background)}.loading-animation,.loading-overlay{display:flex;align-items:center;justify-content:center}.loading-animation{flex-direction:column}@media (max-width:480px){.loading-animation{transform:scale(.8)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--an-backdrop-dim);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);opacity:0;transition:opacity var(--an-drift-ms) var(--an-ease-carry)}.modal-overlay.show{opacity:1}.modal-overlay.hide{opacity:0}.modal-container{width:90%;max-width:600px;border-radius:var(--an-radius-xl);background:var(--an-glass-2-bg);backdrop-filter:blur(var(--an-glass-2-blur));box-shadow:var(--an-shadow-e2);transform:translateY(-20px);transition:transform var(--an-drift-ms) var(--an-ease-carry);overflow:hidden;border:1px solid var(--an-line-strong)}.modal-container.show{transform:translateY(0)}.modal-container.hide{transform:translateY(-20px)}.modal-close-button{background:none;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-lg);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-circle);transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close-button:hover{color:var(--color-text-primary);background-color:var(--color-surface-light)}.modal-close-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-content{padding:var(--spacing-lg);max-height:calc(80vh - 80px);overflow-y:auto}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:var(--color-surface-medium);border-radius:3px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.modal-button{display:flex;padding:var(--spacing-sm) var(--spacing-md);justify-content:center;align-items:center;gap:var(--spacing-sm);border-radius:var(--an-radius-md);position:relative;overflow:hidden;background:var(--gradient-primary);color:var(--color-text-primary);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:normal;border:none;cursor:pointer;box-shadow:var(--shadow-button);transition:opacity var(--transition-fast)}.modal-button:after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;background:var(--an-grad-glint);transform:translateX(-120%);pointer-events:none}.modal-button:focus-visible:after,.modal-button:hover:not(:disabled):after{animation:an-gust-sweep 1.4s var(--an-ease-settle)}.modal-button:disabled{opacity:.5;cursor:not-allowed}.modal-button-secondary:after{content:none}.modal-button-secondary{background:var(--color-surface-medium);border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.modal-input-container{position:relative;width:100%;margin-bottom:var(--spacing-md)}.modal-input{width:100%;border-radius:var(--an-radius-sm);background:var(--an-bg-well);border:1px solid var(--an-line);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);outline:none;transition:border-color var(--an-gust-ms) var(--an-ease-gust),box-shadow var(--an-gust-ms) var(--an-ease-gust)}.modal-input:focus{border-color:var(--an-input-focus-border);box-shadow:var(--an-input-focus-glow)}.modal-label{display:block;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.modal-error-text{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}@media (max-width:480px){.modal-container{width:95%}.modal-header{padding:var(--spacing-sm) var(--spacing-md)}.modal-content{padding:var(--spacing-md)}}@media (prefers-reduced-motion:reduce){.modal-container,.modal-overlay{transition:none}}