/* Canonical CSS owner: feedback. Historical layers consolidated 2026-08-02. */ @keyframes row-enter { 0% { opacity: 0; transform: translateY(4px); } 100% { opacity: 1; transform: translateY(0px); } } .loading-message p { color: var(--text-muted); } @keyframes breathe-core { 0%, 100% { transform: scale(0.86); } 50% { transform: scale(1); } } .empty-line { opacity: 0.45; } @keyframes line-arrive { 0% { opacity: 0; transform: scaleX(0.45); } 100% { opacity: 1; transform: scaleX(1); } } .loading-overlay { position: fixed; inset: 0px; z-index: 50; display: grid; place-items: center; background: rgba(244, 246, 248, 0.65); backdrop-filter: blur(2px); animation: overlay-enter var(--motion-fast) ease both; } .loading-overlay[hidden] { display: none; } @keyframes loading-box-enter { 0% { opacity: 0; transform: translateY(5px) scale(0.985); } 100% { opacity: 1; transform: translateY(0px) scale(1); } } .spinner { width: 22px; height: 22px; border-width: 3px; border-style: solid; border-right-color: rgb(217, 228, 233); border-bottom-color: rgb(217, 228, 233); border-left-color: rgb(217, 228, 233); border-image: none; border-top-color: var(--blue); border-radius: 50%; animation: 700ms linear 0s infinite normal none running spin; } @keyframes spin { 100% { transform: rotate(360deg); } } #toast.toast { position: fixed; inset: auto 18px 48px auto; z-index: 60; width: max-content; height: auto; max-width: min(420px, -36px + 100vw); padding: 11px 14px; border-radius: 4px; background: rgb(33, 49, 60); color: rgb(255, 255, 255); box-shadow: var(--shadow); opacity: 1; pointer-events: none; transform: none; animation: toast-enter var(--motion-medium) var(--ease-out) both; } #toast.toast[hidden] { display: none; } @keyframes toast-enter { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: translateY(0px); } } @media (max-width: 720px) { @keyframes command-menu-enter { 0% { opacity: 0; transform: translateY(-5px) scale(0.98); } 100% { opacity: 1; transform: translateY(0px) scale(1); } } #toast.toast { inset: auto 10px 76px auto; width: max-content; height: auto; max-width: calc(-20px + 100vw); transform: none; } } .loading-box { min-width: 220px; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); box-shadow: var(--shadow); animation: loading-box-enter var(--motion-medium) var(--ease-out) both; width: min(320px, -32px + 100vw); min-height: 92px; display: grid; grid-template-columns: 30px minmax(0px, 1fr); grid-template-rows: auto auto; justify-content: stretch; padding: 18px 20px; } .loading-copy { min-width: 0px; } .loading-copy strong { display: block; font-size: 14px; line-height: 1.45; } .loading-copy small { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 11px; line-height: 1.45; } .loading-progress { grid-column: 1 / -1; height: 3px; margin-top: 13px; overflow: hidden; border-radius: 2px; background: rgb(229, 234, 238); } .loading-progress i { width: 44%; height: 100%; display: block; background: var(--action); animation: 1.25s ease-in-out 0s infinite normal none running loading-progress; } .loading-overlay[data-context="screener"] .loading-box { width: min(430px, -32px + 100vw); min-height: 138px; padding: 24px 26px; border-color: rgb(200, 214, 228); box-shadow: rgba(24, 34, 45, 0.18) 0px 20px 50px; } .loading-overlay[data-context="screener"] .spinner { width: 28px; height: 28px; } .loading-overlay[data-context="screener"] .loading-copy strong { font-size: 16px; } .loading-overlay[data-context="screener"] .loading-copy small { margin-top: 7px; font-size: 12px; } @keyframes loading-progress { 0% { transform: translateX(-110%); } 100% { transform: translateX(250%); } } @keyframes account-menu-in { 0% { opacity: 0; transform: translateY(-5px) scale(0.98); } 100% { opacity: 1; transform: translateY(0px) scale(1); } } @keyframes assistant-caret { 50% { opacity: 0; } } @keyframes xb-view-enter { 0% { opacity: 0.35; transform: translateY(3px); } 100% { opacity: 1; transform: none; } } .empty-state { text-align: center; min-height: 170px; display: grid; place-items: center; padding: 24px; color: var(--text-tertiary); font-size: 11.5px; } @keyframes stage18-dialog-enter { 0% { opacity: 0; transform: translateY(7px) scale(0.992); } 100% { opacity: 1; transform: translateY(0px) scale(1); } } :root[data-theme="dark"] :is(.sub, .muted, .dtag, .table-muted, small, .empty-state) { color: var(--text-secondary); }