.sort-modal-overlay{position:fixed;inset:0;z-index:var(--ds-z-modal);display:flex;align-items:center;justify-content:center;background-color:var(--ds-scrim);font-family:var(--ds-font-sans);color:var(--ds-text);animation:sort-modal-fadeIn var(--ds-dur-base) var(--ds-ease-enter) backwards}.sort-modal-content{display:flex;flex-direction:column;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-sizing:border-box;background:var(--ds-surface-raised);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-modal);animation:sort-modal-slideUp var(--ds-dur-base) var(--ds-ease-enter) backwards}.sort-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ds-space-5);border-bottom:1px solid var(--ds-border)}.sort-modal-header h3{margin:0;font-size:var(--ds-text-h3);font-weight:var(--ds-weight-semibold);line-height:var(--ds-leading-snug);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text)}.sort-modal-header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--ds-radius-md);background:none;color:var(--ds-text-muted);cursor:pointer;transition:background-color var(--ds-dur-fast) var(--ds-ease-enter),color var(--ds-dur-fast) var(--ds-ease-enter)}.sort-modal-header button:hover{background-color:var(--ds-surface-sunken);color:var(--ds-text)}.sort-modal-header button:focus-visible{outline:2px solid var(--ds-focus);outline-offset:var(--ds-focus-offset)}.sort-modal-body{flex:1 1;overflow-y:auto;padding:var(--ds-space-5)}.sort-modal-footer{display:flex;justify-content:flex-end;gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-5);border-top:1px solid var(--ds-border)}.sort-modal-options{display:flex;flex-direction:column;gap:var(--ds-space-3)}.sort-modal-option{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);background:var(--ds-surface-sunken)}.sort-modal-option span{font-size:var(--ds-text-ui);font-weight:var(--ds-weight-medium);color:var(--ds-text)}.sort-modal-buttons{display:flex;gap:var(--ds-space-2)}@keyframes sort-modal-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sort-modal-slideUp{0%{opacity:0;transform:scale(var(--ds-scale-enter))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sort-modal-content{animation-name:sort-modal-fadeIn}}