/* Inline theme editor for notebook settings */ .inline-theme-editor { container-type: inline-size; display: flex; flex-direction: column; gap: 1rem; padding: 1rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 0; } .inline-theme-editor-heading { margin: 0; font-size: 1rem; font-weight: 600; color: var(--color-text); } .inline-theme-editor-presets { display: flex; flex-direction: column; gap: 0.25rem; } .inline-theme-editor-presets label { font-size: 0.875rem; color: var(--color-muted); } .inline-theme-editor-presets select { padding: 0.5rem; border: 1px solid var(--color-border); border-radius: 0; background: var(--color-base); color: var(--color-text); font-family: var(--font-ui); font-size: 0.875rem; } .inline-theme-editor-presets select:focus { outline: none; border-color: var(--color-primary); } /* Main theme controls section - two columns when wide */ .inline-theme-editor-main { display: flex; flex-direction: column; gap: 1rem; } @container (min-width: 32rem) { .inline-theme-editor-main { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; } } /* Left: colours and mode toggle */ .inline-theme-editor-main-left { display: flex; flex-direction: column; gap: 0.75rem; } /* Right: dropdowns */ .inline-theme-editor-main-right { display: flex; flex-direction: column; gap: 0.75rem; } .inline-theme-editor-colours { display: grid; grid-template-columns: 1fr; gap: 0.75rem; } @container (min-width: 20rem) { .inline-theme-editor-colours { grid-template-columns: repeat(2, 1fr); } } .inline-theme-editor-code-theme, .inline-theme-editor-mode { display: flex; flex-direction: column; gap: 0.25rem; } .inline-theme-editor-code-theme label, .inline-theme-editor-mode label { font-size: 0.875rem; color: var(--color-muted); } .inline-theme-editor-code-theme select { padding: 0.5rem; border: 1px solid var(--color-border); border-radius: 0; background: var(--color-base); color: var(--color-text); font-family: var(--font-ui); font-size: 0.875rem; } .inline-theme-editor-code-theme select:focus { outline: none; border-color: var(--color-primary); } .inline-theme-editor-mode { gap: 0.5rem; } /* Advanced colour options - hidden by default in narrow containers */ .inline-theme-editor-advanced { display: none; } /* Show advanced when container is wide enough */ @container (min-width: 40rem) { .inline-theme-editor-advanced { display: block; } } /* Force show advanced via class (for prop override) */ .inline-theme-editor-advanced.force-show { display: block; } /* Force hide advanced via class (for prop override) */ .inline-theme-editor-advanced.force-hide { display: none; } .inline-theme-editor-advanced-content { display: flex; flex-direction: column; gap: 1rem; padding: 0.75rem; background: var(--color-base); border: 1px solid var(--color-border); border-radius: 0; } /* Side-by-side variants when wide */ @container (min-width: 40rem) { .inline-theme-editor-advanced-content { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; } } .inline-theme-editor-variant { display: flex; flex-direction: column; gap: 0.5rem; } .inline-theme-editor-variant h5 { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--color-muted); } .inline-theme-editor-full-link { font-size: 0.875rem; color: var(--color-link); text-decoration: none; } .inline-theme-editor-full-link:hover { text-decoration: underline; } /* Preview section */ .inline-theme-editor-preview { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.5rem; border-top: 1px solid var(--color-border); padding-top: 1rem; } .inline-theme-editor-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .inline-theme-editor-preview-header h5 { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--color-muted); } .inline-theme-editor-preview .theme-preview { border: 1px solid var(--color-border); border-radius: 0; max-height: 20rem; overflow-y: auto; padding: 1rem; } .inline-theme-editor-preview .theme-preview--loading, .inline-theme-editor-preview .theme-preview--error { padding: 1rem; font-size: 0.875rem; color: var(--color-muted); }