/* Mokosh popup — D-04 loom palette via canonical tokens.css. Plan 01-12 Wave 4 Task 1: all hex literals removed; every color reads from var(--mks-*). Imports the canonical token system from src/shared/tokens.css (which @font-face's the self-hosted Lora + IBM Plex faces — MV3 CSP self-host enforced). */ @import "../shared/tokens.css"; * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--mks-font-ui); background: var(--mks-surface); color: var(--mks-fg-1); min-width: var(--mks-popup-w); padding: var(--mks-space-4); } .container { display: flex; flex-direction: column; align-items: center; gap: var(--mks-space-3); } .save-button { width: 100%; padding: var(--mks-space-3) var(--mks-space-5); font-family: var(--mks-font-ui); font-size: var(--mks-text-sm); font-weight: var(--mks-weight-semibold); border: none; border-radius: var(--mks-radius-lg); background: var(--mks-rec); color: var(--mks-fg-inverse); cursor: pointer; transition: all var(--mks-dur-base) var(--mks-ease-out); box-shadow: var(--mks-shadow-1); } .save-button:hover:not(:disabled) { background: var(--mks-madder-700); box-shadow: var(--mks-shadow-2); transform: translateY(-1px); } .save-button:active:not(:disabled) { transform: translateY(0); box-shadow: var(--mks-shadow-1); } .save-button:disabled { background: var(--mks-fg-disabled); cursor: not-allowed; box-shadow: none; opacity: 0.6; } .save-button.saving { background: var(--mks-amber-600); cursor: wait; } .save-button.done { background: var(--mks-moss-600); } .info-text { font-family: var(--mks-font-ui); font-size: var(--mks-text-xs); color: var(--mks-fg-2); text-align: center; } .status-message { font-family: var(--mks-font-ui); font-size: var(--mks-text-sm); font-weight: var(--mks-weight-medium); min-height: 20px; text-align: center; } .status-message.error { color: var(--mks-error); } .status-message.success { color: var(--mks-success); } .status-message.info { color: var(--mks-warning); }