// ScenePresetPanel component styles // Story 3.2: Scene Auto-Apply & ConfirmationBar // // Import rule: All selectors scoped under .scrying-pool or .directors-board namespace // Use --sp-* semantic tokens only, never Foundry tokens directly // Panel container .directors-board__preset-panel { background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: var(--sp-dialog-radius); padding: 10px 12px 12px; margin-top: 8px; display: flex; flex-direction: column; gap: 0; font-size: 13px; line-height: 1.4; color: var(--sp-text-primary); } // Panel header .directors-board__preset-panel-header { margin-bottom: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--sp-border-subtle); } .directors-board__preset-panel-title { margin: 0; font-size: 13px; font-weight: 600; color: var(--sp-text-primary); letter-spacing: 0.02em; text-transform: uppercase; opacity: 0.75; } // Panel body .directors-board__preset-panel-body { display: flex; flex-direction: column; gap: 8px; } // Panel row — single horizontal line .directors-board__preset-panel-row { display: flex; align-items: center; gap: 8px; width: 100%; &--hint { font-size: 11px; color: var(--sp-text-secondary); margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--sp-border-subtle); opacity: 0.7; } } // Panel label — wraps control + text in a horizontal flex row .directors-board__preset-panel-label { display: flex; align-items: center; gap: 8px; flex: 1; cursor: default; user-select: none; white-space: nowrap; } // Toggle checkbox — compact and styled .directors-board__preset-panel-toggle { flex-shrink: 0; appearance: none; -webkit-appearance: none; width: 14px; height: 14px; border: 1.5px solid var(--sp-border); border-radius: 3px; background-color: var(--sp-surface); cursor: pointer; position: relative; transition: background-color 120ms ease, border-color 120ms ease; margin: 0; &:checked { background-color: var(--sp-accent); border-color: var(--sp-accent); &::after { content: ''; position: absolute; top: 1px; left: 3px; width: 5px; height: 8px; border: 2px solid white; border-top: none; border-left: none; transform: rotate(40deg); } } &:focus { outline: 2px solid var(--sp-focus); outline-offset: 2px; } } // Preset selector — fills remaining space .directors-board__preset-panel-select { flex: 1; min-width: 0; background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 4px; padding: 4px 6px; font-family: inherit; font-size: 12px; color: var(--sp-text-primary); cursor: pointer; transition: border-color 120ms ease; &:hover:not(:disabled) { border-color: var(--sp-accent); } &:focus { outline: none; border-color: var(--sp-focus); } &:disabled { opacity: 0.45; cursor: not-allowed; } } // Pre-delay section — label | value badge | slider .directors-board__preset-panel-delay-value { flex-shrink: 0; min-width: 38px; text-align: right; font-family: monospace; font-size: 11px; color: var(--sp-text-secondary); background: rgba(0,0,0,0.2); border-radius: 3px; padding: 1px 4px; } .directors-board__preset-panel-slider { flex: 1; -webkit-appearance: none; appearance: none; height: 4px; background: rgba(255,255,255,0.12); border-radius: 2px; outline: none; cursor: pointer; margin: 0; &::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; background: var(--sp-accent); border-radius: 50%; cursor: pointer; transition: transform 120ms ease; &:hover { transform: scale(1.2); } } &::-moz-range-thumb { width: 12px; height: 12px; background: var(--sp-accent); border-radius: 50%; cursor: pointer; border: none; transition: transform 120ms ease; &:hover { transform: scale(1.2); } } } // Panel message (when no scene active) .directors-board__preset-panel-message { margin: 4px 0 0; color: var(--sp-text-secondary); font-style: italic; text-align: center; font-size: 12px; } // Reduced motion @media (prefers-reduced-motion: reduce) { .directors-board__preset-panel-toggle, .directors-board__preset-panel-select, .directors-board__preset-panel-slider::-webkit-slider-thumb, .directors-board__preset-panel-slider::-moz-range-thumb { transition: none; } .directors-board__preset-panel-slider::-webkit-slider-thumb:hover, .directors-board__preset-panel-slider::-moz-range-thumb:hover { transform: none; } }