/* ---------------------------------------- */ /* Theme Variables */ /* ---------------------------------------- */ .mixin-theme-light-variables { --color-scheme: light; --color-text-emphatic: var(--color-dark-1); --color-text-primary: var(--color-dark-2); --color-text-secondary: var(--color-dark-3); --color-text-subtle: var(--color-dark-5); --color-text-selection: var(--color-light-1); --color-text-selection-bg: var(--color-dark-6); --hr-border: 2px groove var(--color-light-2); --hr-gradient: none; --fa-inverse: var(--color-light-1); --chat-input-border: 1px dashed var(--color-dark-1); /* Autocomplete */ #autocomplete, &#autocomplete { --background-color: white; --border-color: black; --active-background-color: #0078d7; --active-color: var(--color-light-1); } /* Context Menu */ #context-menu, &#context-menu { --background-color: #d9d8c8; --border-color: #999; --text-color: var(--color-text-secondary); --hover-text-color: var(--color-text-emphatic); --group-separator: #999; --hover-entry-border: #999; --hover-entry-background: #f0f0e0; } // Content Links & Inline Rolls --content-link-background: #ddd; --content-link-border-color: var(--color-dark-4); --content-link-icon-color: var(--color-dark-6); --content-link-text-color: var(--color-dark-2); /* UI */ --sidebar-background: url("../ui/parchment.jpg"); --sidebar-separator: 2px groove var(--color-light-2); --sidebar-entry-hover-bg: rgb(255 255 255 / 25%); --sidebar-folder-color: #a19e78; &.compendium-directory, .compendium-directory { --header-mask: none; --header-border: 2px groove var(--color-light-2); } .ui-control, .placeable-hud, #measurement .waypoint-label { --control-bg-color: rgb(255 255 255 / 60%); --control-border-color: rgb(255 255 255 / 80%); --control-icon-color: var(--color-dark-2); --control-hover-bg-color: rgb(255 255 255 / 85%); --control-hover-border-color: rgb(255 255 255 / 90%); --control-hover-icon-color: var(--color-dark-1); --control-active-bg-color: rgb(255 255 255 / 85%); --control-active-border-color: var(--color-warm-2); --control-active-icon-color: var(--color-dark-1); --control-button-border-color: var(--color-warm-1); --control-button-hover-bg-color: var(--color-warm-2); --control-button-hover-border-color: var(--color-light-1); --toggle-bg-color: rgb(255 255 255 / 60%); --toggle-border-color: #5252d7; --toggle-active-bg-color: #5252d7; --toggle-active-border-color: #8484ff; &:disabled { --control-hover-bg-color: var(--control-bg-color); --control-hover-border-color: var(--control-border-color); --control-hover-icon-color: var(--control-icon-color); } } .placeable-hud, #measurement .waypoint-label { --control-icon-color: rgba(0 0 0 / 70%); --control-active-icon-color: rgba(0 0 0 / 70%); --control-hover-icon-color: #000; --control-active-icon-color: #000; --control-icon-filter: invert(1); } #hotbar { --slot-color: rgb(255 255 255 / 60%); --key-bg-color-empty: transparent; --key-bg-color-full: rgb(255 255 255 / 60%); --key-text-color: var(--color-dark-1); --page-control-color: rgb(255 255 255 / 80%); } #chat-message { --text-color: var(--color-dark-2); --placeholder-color: var(--color-dark-4); --background-color: rgb(255 255 255 / 60%); --border-color: rgb(255 255 255 / 80%); --menu-background: var(--background-color); } #players { --background-color: rgb(255 255 255 / 60%); --border-color: rgb(255 255 255 / 80%); --player-name-idle-color: var(--color-text-subtle); --player-name-self-color: var(--color-text-emphatic); --color-rating-good: #1e7e34; --color-rating-fair: #cc9a06; --color-rating-poor: #a72a35; button { --button-text-color: var(--color-text-emphatic); --button-hover-text-color: var(--button-text-color); } } .combat-tracker { --active-input-bg-color: rgb(0 0 0 / 5%); --entry-hover-bg: rgb(255 255 255 / 25%); --entry-active-bg: rgb(255 255 255 / 35%); --token-effect-filter: invert(1); } #token-hud, #measurement { --hud-icon-filter: invert(1); } /* AV */ #camera-views, &#camera-views { --av-background-color: rgb(255 255 255 / 20%); --av-border-color: rgb(255 255 255 / 10%); } } /* ---------------------------------------- */ /* Applications */ /* ---------------------------------------- */ .mixin-theme-light-application { --background: url("../ui/parchment.jpg") repeat; --color-header-background: var(--color-dark-3); --color-border: var(--color-cool-4); --color-tabs-border: var(--color-dark-5); --color-fieldset-border: var(--color-light-2); --color-form-label: var(--color-dark-2); --color-form-label-hover: var(--color-dark-1); --color-form-hint: var(--color-dark-4); --color-form-hint-hover: var(--color-dark-2); --color-select-option-bg: var(--color-light-1); --color-data-border: var(--color-dark-4); --color-data-background: #ddd; } /* ---------------------------------------- */ /* Forms and Form Elements */ /* ---------------------------------------- */ .mixin-theme-light-forms { input, select, textarea, code-mirror, formula-input, color-picker, file-picker, document-tags, string-tags { --input-border-color: var(--color-dark-6); --input-box-shadow: inset 0 0 6px var(--input-background-color); --input-text-color: var(--color-dark-2); --input-focus-outline-color: var(--color-warm-2); &:disabled { --input-background-color: rgb(0 0 0 / 20%); --input-border-color: transparent; --input-box-shadow: none; --input-text-color: var(--color-dark-3); } } input, select, textarea, formula-input, color-picker, file-picker, document-tags, string-tags { --input-background-color: rgb(0 0 0 / 10%); --input-placeholder-color: var(--color-dark-4); &:focus { --input-text-color: var(--color-dark-1); } } code-mirror { --input-background-color: var(--color-light-1); --input-focus-text-color: var(--color-dark-1); --gutter-background-color: #f5f5f5; --gutter-border-color: #ddd; --gutter-text-color: var(--color-dark-5); --active-line-color: #cceeff44; &:disabled { --gutter-background-color: rgb(0 0 0 / 10%); --gutter-border-color: var(--input-border-color); --gutter-text-color: var(--color-dark-4); } // JS(ON) --syntax-keyword-color: #708; --syntax-comment-color: var(--color-dark-3); --syntax-operator-color: var(--input-text-color); --syntax-var-name-color: #00f; --syntax-func-name-color: var(--syntax-var-name-color); --syntax-method-name-color: var(--syntax-func-name-color); --syntax-local-var-color: #30a; --syntax-class-name-color: #167; --syntax-prop-def-color: #00c; --syntax-prop-name-color: var(--input-text-color); --syntax-boolean-color: #219; --syntax-number-color: #164; --syntax-string-color: #a11; --syntax-regexp-color: #e40; --syntax-invalid-color: #f00; // HTML --syntax-angle-bracket-color: var(--syntax-separator-color); --syntax-tag-color: #085; --syntax-attr-name-color: var(--syntax-prop-name-color); --syntax-attr-value-color: var(--syntax-string-color); // Markdown --syntax-meta-color: var(--syntax-tag-color); --syntax-separator-color: #00f; } code, code.block { --color-code-bg: #cceeff44; --color-code-border: var(--color-dark-6); } // Checkboxes and Radio Buttons input[type=checkbox], input[type=radio] { --checkbox-font-weight: unset; --checkbox-background-color: var(--color-dark-6); --checkbox-checked-color: var(--color-warm-1); --checkbox-checkmark-color: var(--color-dark-1); &:disabled, &[readonly] { --checkbox-font-weight: bold; --checkbox-checkmark-color: transparent; --checkbox-disabled-color: var(--color-dark-6); } } label.icon { --input-background-color: rgb(0 0 0 / 10%); --input-border-color: var(--color-dark-6); --input-text-color: var(--color-dark-2); --input-focus-outline-color: var(--color-warm-2); &:focus-within { --input-text-color: var(--color-dark-1); } &:has(> input:disabled) { --input-background-color: rgb(0 0 0 / 20%); --input-border-color: transparent; --input-text-color: var(--color-dark-3); } } // Readonly Text Input input[readonly] { --input-background-color: rgb(0 0 0 / 20%); --input-border-color: transparent; --input-text-color: var(--color-dark-3); } // Buttons a.button, button, kbd { --button-background-color: rgba(0 0 0 / 10%); --button-border-color: var(--color-dark-5); --button-text-color: var(--color-dark-1); --button-focus-outline-color: var(--color-warm-2); --button-hover-background-color: var(--color-warm-2); --button-hover-text-color: var(--color-light-1); &[disabled] { --button-background-color: rgba(0 0 0 / 20%); --button-border-color: transparent; --button-text-color: var(--color-dark-3); --button-hover-background-color: var(--button-background-color); --button-hover-border-color: var(--button-border-color); --button-hover-text-color: var(--button-text-color); } } // Tables --table-background-color: none; --table-header-bg-color: rgb(0 0 0 / 10%); --table-header-border-color: var(--color-dark-1); --table-header-text-color: inherit; --table-row-color-even: rgb(0 0 0 / 10%); --table-row-color-odd: transparent; --table-row-color-highlight: var(--color-cool-5-75); // ProseMirror .prosemirror, prose-mirror, #prosemirror-dropdown, .menu-dialog.prosemirror, &#prosemirror-dropdown, &.menu-dialog.prosemirror { --color-control-hover: #f0f0e0; --menu-background: rgb(0 0 0 / 10%); --dropdown-background: #d9d8c8; --dropdown-border: #999; --dialog-background: var(--dropdown-background); --dialog-border: transparent; --color-form-label-hover: var(--color-dark-1); --button-text-color: var(--color-text-primary); } } /* ---------------------------------------- */ /* Theme Layers */ /* ---------------------------------------- */ // General rules that apply when using this theme @layer general { // The overall theme body body.theme-light { .mixin-theme-light-variables(); .mixin-theme-light-forms(); } // An application within the theme body.theme-light .application { .mixin-theme-light-application(); } } // Specific rules that take precedence for apps which override to this theme @layer specific { // An application that is overridden to explicitly use the theme .themed.theme-light { .mixin-theme-light-variables(); .mixin-theme-light-forms(); color-scheme: var(--color-scheme); } .application.theme-light { .mixin-theme-light-application(); } // A V1 application that is overridden to explicitly use the theme // @deprecated since v13 until v15 .app.theme-light .standard-form { .mixin-theme-light-variables(); .mixin-theme-light-application(); .mixin-theme-light-forms(); } }