@import "light-palette.css"; @import "dark-palette.css"; :root { --font-features: "calt" 1, "case" 0, "ccmp" 1, "ss03" 1, "cv01" 1, "cv05" 1, "cv06" 1, "cv08" 0, "cv11" 1, "cv12" 0, "cv13" 0; --text-large: 12pt; --text-small: 10pt; --window-margin: 10px; --window-width: 360px; /* Equal to width of add-ons panel */ --window-height: 515px; /* Equal to height add-ons panel */ --toggle-margin-left: 15px; --toggle-margin-right: 5px; --speed-fast: .1s; --speed-moderate: .2s; --speed-slow: .3s; --spacer-tiny: 2px; --spacer-small: 6px; --spacer-medium: 8px; --spacer-large: 12px; --spacer-select: 24px; --spacer-other: 18px; --spacer-button-grid: 34px; --border-radius-section: .5rem; --border-radius-input: .5rem; --total-height-other: 434px; --total-height-also-li: 26px; --total-height-prompt: 33.5px; } /* Light theme elements */ :root { --text-contrast: var(--color-l-gray-10); --text-state-enabled: var(--color-l-green-20); --text-state-disabled: var(--color-l-red-20); --button-bg: var(--background-primary); --button-bg-hover: var(--color-l-gray-10); --button-state-enabled-bg: var(--color-l-green-20); --button-state-enabled-bg-hover: var(--color-l-green-10); --button-state-disabled-bg: var(--color-l-red-20); --button-state-disabled-bg-hover: var(--color-l-red-10); --button-save-bg: var(--color-l-gray-90); --button-save-bg-hover: var(--color-l-gray-80); --select-icon: url("data:image/svg+xml,") no-repeat; } /* Dark theme elements */ @media (prefers-color-scheme: dark) { :root { --text-contrast: var(--color-d-gray-10); --text-state-enabled: var(--color-d-green-20); --text-state-disabled: var(--color-d-red-30); --button-bg: var(--background-primary); --button-bg-hover: var(--color-d-gray-90); --button-state-enabled-bg: var(--color-d-green-30); --button-state-enabled-bg-hover: var(--color-d-green-20); --button-state-disabled-bg: var(--color-d-red-40); --button-state-disabled-bg-hover: var(--color-d-red-30); --button-save-bg: var(--color-d-gray-70); --button-save-bg-hover: var(--color-d-gray-60); --select-icon: url("data:image/svg+xml,") no-repeat; } } /* Common */ html { scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg); } * { font-family: 'Inter', sans-serif; font-feature-settings: var(--font-features); font-size: var(--text-large); } *::selection { background-color: var(--text-selection); } body { background-color: var(--background-secondary); color: var(--text-normal); width: var(--window-width); height: var(--window-height); padding: 0 var(--window-margin); margin: auto; } section { background-color: var(--background-primary); padding: var(--text-large) var(--window-margin); border: 1px solid var(--background-modifier-border); border-radius: var(--border-radius-section); margin-top: var(--text-small); } ul { list-style: none; padding-left: 0; margin: 0; } /* Common button */ button { cursor: pointer; outline: none; } button:not(.delete) { font-weight: 600; border: 1px solid var(--background-modifier-border); padding: var(--spacer-small); box-shadow: var(--button-shadow); } button:not(.delete):hover { transition: var(--speed-slow); box-shadow: var(--button-shadow-hover); } button:not(.delete):focus-visible { transition: var(--speed-fast); box-shadow: var(--button-shadow-focus); } button:not(.delete):active { transition: var(--speed-slow); box-shadow: var(--button-shadow-active); } button:not(.delete) > svg { transform: translateY(-.15em); } button:not(.delete):active > svg { transition: var(--speed-slow); transform: translateY(0); } /* Site state section */ #site-state { display: flex; justify-content: space-between; } #site-details { min-width: 0; cursor: default; } #site-details h1 { font-size: var(--text-large); font-weight: 600; overflow: hidden; text-overflow: ellipsis; } #site-details p { color: var(--text-muted); } #state { color: var(--text-state-disabled); transition: var(--speed-slow); } #state.is-on { color: var(--text-state-enabled); transition: var(--speed-slow); } /* Toggle */ #toggle { border-radius: 100%; padding: var(--spacer-large); align-self: center; margin-left: var(--toggle-margin-left); margin-right: var(--toggle-margin-right); background-color: var(--button-state-disabled-bg); color: var(--text-contrast); } #toggle:hover { background-color: var(--button-state-disabled-bg-hover); } #toggle:active { background-color: var(--button-state-disabled-bg); } #toggle.is-on { background-color: var(--button-state-enabled-bg); color: var(--text-contrast); } #toggle.is-on:hover { background-color: var(--button-state-enabled-bg-hover); } #toggle.is-on:active { background-color: var(--button-state-enabled-bg); } /* Configuration section */ #config input, select { border: 1px solid var(--background-modifier-border); border-radius: var(--border-radius-input); font-size: var(--text-large); color: var(--text-normal); outline: none; } #config input { background-color: var(--background-modifier-form-field); box-sizing: border-box; width: 100%; padding: var(--spacer-tiny) var(--spacer-medium); } #config input::placeholder { color: var(--text-faint); } #config input:hover { border: 1px solid var(--background-modifier-border-hover); transition: var(--speed-fast); } #config input:focus { transition: var(--speed-fast); color: var(--text-input-color-focused); border: 1px solid var(--text-input-border-color); background-color: var(--text-input-bg-active); box-shadow: var(--text-input-shadow-active); } #config select { padding: var(--spacer-small); padding-right: var(--spacer-select); box-shadow: var(--button-shadow); appearance: none; background: var(--select-icon); background-position-x: calc(100% - 8px); background-position-y: calc(50% - 2px); background-color: var(--prompt-input-background); } #config select:focus-visible { transition-duration: var(--speed-fast); box-shadow: var(--button-shadow-focus); } #config select:active { outline: none; } #config label { font-size: var(--text-large); } .primary-prompt { display: flex; align-items: center; text-wrap: nowrap; gap: var(--spacer-small); align-content: center; height: var(--total-height-prompt); margin-bottom: var(--spacer-large); } /* Other pronouns */ #other { display: grid; overflow: hidden; margin-top: var(--spacer-medium); margin-left: var(--spacer-other); gap: var(--spacer-small); height: var(--total-height-other); } #other li { display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: var(--spacer-small); } #other li label { font-size: var(--text-small); color: var(--text-muted); text-align: right; text-wrap: nowrap; } #other li input { font-size: var(--text-small); } #other li select { font-size: var(--text-small); width: min-content; } #other-final { margin-bottom: var(--spacer-large); } /* Also replacements */ #prompt-final { margin-bottom: 0; } #also li { display: flex; align-items: center; gap: var(--spacer-small); margin-bottom: var(--spacer-small); height: var(--total-height-also-li); } #also li label { color: var(--text-muted); } .lhs { text-align: right; } .delete { color: var(--icon-color); background-color: transparent; width: fit-content; margin: 0; padding: 0; border: 0; visibility: block; scale: 1; transition: all var(--speed-fast) allow-discrete; } .delete:hover { color: var(--icon-color-hover); } .delete:focus { color: var(--icon-color-focused); } .delete:active { color: var(--icon-color-active); } /* Button grid */ #button-grid { display: grid; grid-template-columns: 7fr 5fr; gap: var(--spacer-medium); margin-top: var(--spacer-button-grid); } #button-grid button { display: flex; justify-content: center; align-items: center; border-radius: var(--border-radius-input); width: 100%; gap: var(--spacer-medium); } #button-grid button p { margin: 0; text-align: center; transform: translateY(-.15em); } #button-grid button:active p { transition: var(--speed-slow); transform: translateY(0); } /* Save */ #save { background-color: var(--button-save-bg); color: var(--text-contrast); box-shadow: var(--button-accent-shadow); } #save:hover { background-color: var(--button-save-bg-hover); box-shadow: var(--button-accent-shadow-hover); } #save:focus-visible { background-color: var(--button-save-bg-hover); box-shadow: var(--button-accent-shadow-focus); } #save:active { background-color: var(--button-save-bg); box-shadow: var(--button-accent-shadow-active); } /* Restore */ #restore { background-color: var(--button-bg); color: var(--text-normal); } #restore:hover { background-color: var(--button-bg-hover); } #restore:active { background-color: var(--button-bg); } /* Links section */ #links { text-align: right; padding: var(--text-small) 0; } #links li { margin-bottom: var(--spacer-small); } #links a { display: flex; justify-content: flex-end; text-align: right; color: var(--text-faint); text-decoration: underline; text-decoration-color: var(--underline-decoration-color); transition-duration: var(--speed-fast); } #links a:hover, #links a:focus{ color: var(--text-normal); outline: none; } #links a p { margin: 0; font-size: var(--text-small); } /* Accessibility */ .visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; } /* Transition elements */ .hide { visibility: hidden; scale: 0; } .shrink { scale: 0 !important; height: 0 !important; opacity: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; } .flat { height: 0 !important; overflow: hidden !important; opacity: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; } .reveal-slow { transition: all var(--speed-slow) ease-out !important; } .reveal-moderate { transition: all var(--speed-moderate) ease-out !important; } .reveal-fast { transition: all var(--speed-fast) ease-out !important; }