/** * styles/components/_preset-load-dialog.less * * Layout for the Preset Load Dialog. * All selectors scoped under .scrying-pool. * Uses --sp-* tokens only — no Foundry --color-* / --font-* / --border-* tokens. */ // The ApplicationV2 window root already has .scrying-pool .preset-load-dialog applied // via DEFAULT_OPTIONS.classes. The content lives inside PARTS. .scrying-pool.preset-load-dialog { background: var(--sp-surface); color: var(--sp-text-primary); // ── Content wrapper ──────────────────────────────────────────────────── .preset-load-dialog__content { display: flex; flex-direction: column; height: 100%; gap: 0; } // ── Header ──────────────────────────────────────────────────────────── .preset-load-dialog__header { padding: 12px 16px; border-bottom: 1px solid var(--sp-border); flex-shrink: 0; } .preset-load-dialog__title { margin: 0; font-size: 14px; font-weight: bold; color: var(--sp-text, inherit); } // ── Body ────────────────────────────────────────────────────────────── .preset-load-dialog__body { padding: 16px; overflow-y: auto; flex: 1 1 auto; } // ── Empty state ──────────────────────────────────────────────────────── .preset-load-dialog__empty { text-align: center; color: var(--sp-text-muted); font-size: 13px; padding: 24px 0; margin: 0; } // ── Preset list ──────────────────────────────────────────────────────── .preset-load-dialog__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; } .preset-load-dialog__item { margin: 0; padding: 0; } .preset-load-dialog__btn { width: 100%; text-align: left; font-size: 13px; padding: 8px 12px; border-radius: 3px; cursor: pointer; transition: background-color 0.15s, border-color 0.15s; // Load button — primary &--load { background: var(--sp-accent, #4a6f9c); color: #fff; border: none; &:hover { opacity: 0.85; } &:active { opacity: 0.7; } } // Cancel button — secondary &--cancel { background: transparent; color: var(--sp-text-muted); border: 1px solid var(--sp-border); &:hover { color: var(--sp-text, inherit); border-color: currentColor; } } } // ── Footer ──────────────────────────────────────────────────────────── .preset-load-dialog__footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--sp-border); flex-shrink: 0; } }