/* ---------------------------------------- */ /* Font Declarations */ /* ---------------------------------------- */ // Modesto @font-face { font-family: 'Modesto Condensed'; font-style: normal; font-weight: 400; src: url('../fonts/modesto-condensed/modesto-condensed.woff2') format('woff2'); } @font-face { font-family: 'Modesto Condensed'; font-style: normal; font-weight: 700; src: url('../fonts/modesto-condensed/modesto-condensed-bold.woff2') format('woff2'); } // Amiri @font-face { font-family: 'Amiri'; font-style: normal; font-weight: 400; src: url("../fonts/amiri/amiri-regular.woff2") format('woff2'); } @font-face { font-family: 'Amiri'; font-style: normal; font-weight: 700; src: url("../fonts/amiri/amiri-bold.woff2") format('woff2'); } // Signika @font-face { font-family: 'Signika'; src: url('../fonts/signika/signika-regular.woff2') format('woff2'); font-style: normal; font-weight: 400; } @font-face { font-family: 'Signika'; src: url('../fonts/signika/signika-bold.woff2') format('woff2'); font-style: normal; font-weight: 700; } // Bruno Ace @font-face { font-family: 'Bruno Ace'; src: url('../fonts/bruno-ace/bruno-ace.woff2') format('woff2'); font-style: normal; font-weight: 400; } // Bruno Ace SC @font-face { font-family: 'Bruno Ace SC'; src: url('../fonts/bruno-ace/bruno-ace-sc.woff2') format('woff2'); font-style: normal; font-weight: 400; } /* ---------------------------------------- */ /* Cursors */ /* ---------------------------------------- */ :root { --cursor-default: default; --cursor-default-down: default; --cursor-pointer: pointer; --cursor-pointer-down: pointer; --cursor-grab: grab; --cursor-grab-down: grabbing; --cursor-text: text; --cursor-text-down: text; } /* ---------------------------------------- */ /* Colors */ /* ---------------------------------------- */ body { --color-scheme: dark; // Warm Color Spectrum --color-warm-1: #ee9b3a; --color-warm-2: #c9593f; --color-warm-3: #5d142b; // Cool Color Spectrum --color-cool-3: #584a75; --color-cool-4: #302831; --color-cool-5: #0b0a13; --color-cool-5-25: rgb(11 10 19 / 25%); --color-cool-5-50: rgb(11 10 19 / 50%); --color-cool-5-75: rgb(11 10 19 / 75%); --color-cool-5-90: rgb(11 10 19 / 90%); // Light Color Spectrum --color-light-1: #f7f3e8; --color-light-2: #efe6d8; --color-light-3: #e7d1b1; --color-light-4: #d0b8a3; --color-light-5: #9f8475; --color-light-6: #816b66; // Dark Color Spectrum --color-dark-1: #111; --color-dark-2: #222; --color-dark-3: #333; --color-dark-4: #444; --color-dark-5: #555; --color-dark-6: #666; // Notification Levels --color-level-error: #ce0707; --color-level-error-bg: rgb(105 0 8 / 80%); --color-level-error-border: #750003; --color-level-info: #59a1f6; --color-level-info-bg: rgb(47 80 132 / 80%); --color-level-info-border: #5c87b9; --color-level-success: #26b231; --color-level-success-bg: rgb(26 107 34 / 80%); --color-level-success-border: #1b8f23; --color-level-warning: #ee9b3a; --color-level-warning-bg: rgb(214 150 0 / 80%); --color-level-warning-border: #b18404; --color-scrollbar: #5d142b; --color-scrollbar-track: transparent; // Ownership Levels --color-ownership-none: #5500ff; --color-ownership-observer: #7a7971; --color-ownership-owner: #b5b3a4; // Preferred Text Colors --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-4); --color-text-accent: var(--color-warm-1); --color-text-selection: var(--color-light-1); --color-text-selection-bg: var(--color-dark-6); // Text or Drop Shadow Colors --color-shadow-dark: var(--color-dark-1); --color-shadow-primary: var(--color-warm-2); --color-shadow-highlight: var(--color-warm-1); // Font Awesome --fa-inverse: var(--color-cool-5); } /* ---------------------------------------- */ /* Typography */ /* ---------------------------------------- */ body { // Font Families --font-sans: "Signika", ui-sans-serif, sans-serif; --font-serif: "Amiri", serif; --font-body: var(--font-sans); --font-awesome: "Font Awesome 7 Pro"; --font-awesome-duotone: "Font Awesome 7 Duotone"; --font-monospace: monospace; --font-blockquote: "Signika", ui-sans-serif, sans-serif; // Font Sizing --font-size-10: .625rem; // 10px --font-size-11: .6875rem; // 11px --font-size-12: .75rem; // 12px --font-size-13: .8125rem; // 13px --font-size-14: .875rem; // 14px --font-size-15: .9375rem; // 15px --font-size-16: 1rem; // 16px --font-size-18: 1.125rem; // 18px --font-size-20: 1.25rem; // 20px --font-size-24: 1.5rem; // 24px --font-size-28: 1.75rem; // 28px --font-size-32: 2rem; // 32px --font-size-36: 2.25rem; // 36px --font-size-40: 2.5rem; // 40px --font-size-48: 3rem; // 48px --font-size-64: 4rem; // 64px --font-size-80: 5rem; // 80px // Header Fonts --font-h1: "Modesto Condensed", serif; --font-h2: "Amiri", serif; --font-h3: "Signika", ui-sans-serif, sans-serif; --font-h4: var(--font-h1); --font-h5: var(--font-h2); --font-h6: var(--font-h3); // Header Sizing --font-h1-size: var(--font-size-48); --font-h2-size: var(--font-size-32); --font-h3-size: var(--font-size-28); --font-h4-size: var(--font-size-24); --font-h5-size: var(--font-size-20); --font-h6-size: var(--font-size-16); // Rules --hr-border: 0; --hr-gradient: linear-gradient(90deg, transparent 0%, rgb(231, 209, 177) 50%, transparent 100%); } section.secret { --color-secret-bg: rgb(53 0 121 / 5%); --color-revealed-bg: rgb(0 53 0 / 5%); --color-secret-border: var(--color-dark-6); } code, code.block { --color-code-bg: var(--color-cool-4); --color-code-border: var(--color-cool-3); } /* ---------------------------------------- */ /* Layout */ /* ---------------------------------------- */ body { --input-height: 2rem; --hotbar-height: 52px; --sidebar-width: 300px; --chat-input-height: 128px; --chat-menu-height: 0px; // UI Configuration --ui-scale: 1.0; --ui-fade-opacity: 0.4; --ui-fade-duration: 0.5s; --ui-fade-delay: 0.5s; // Z-indices --z-index-background: -1; --z-index-main: 0; --z-index-canvas: 0; --z-index-app: 30; --z-index-ui: 60; --z-index-window: 100; --z-index-tooltip: 9999; --z-index-notification: 99999; // Spacers --spacer-16: 1rem; --spacer-12: .75rem; --spacer-8: .5rem; --spacer-4: .25rem; --spacer-2: .125rem; } /* ---------------------------------------- */ /* Aesthetics */ /* ---------------------------------------- */ body { --background-url: url("../ui/backgrounds/setup.webp"); --main-logo: url("../icons/vtt-512.png"); --chat-input-border: none; } /* ---------------------------------------- */ /* Applications */ /* ---------------------------------------- */ // Application V1 and V2 .window-app, .application { --header-height: 36px; --minimized-width: 200px; --background: var(--color-cool-5-90); --color-header-background: rgb(0 0 0 / 50%); --color-border: var(--color-cool-4); --color-tabs-border: var(--color-light-5); --color-fieldset-border: var(--color-light-6); --color-form-hint: var(--color-light-5); --color-form-hint-hover: var(--color-light-4); --color-form-label: var(--color-light-4); --color-form-label-hover: var(--color-light-2); --color-select-option-bg: transparent; --color-data-border: var(--color-cool-3); --color-data-background: var(--color-cool-4); } /* ----------------------------------------- */ /* Content Links and Inline Rolls */ /* ----------------------------------------- */ body { --content-link-background: rgb(0 0 0 / 10%); --content-link-border-color: var(--color-light-6); --content-link-icon-color: var(--color-light-3); --content-link-text-color: var(--color-light-2); } /* ---------------------------------------- */ /* Forms and Form Elements */ /* ---------------------------------------- */ input, select, textarea, code-mirror, formula-input, color-picker, file-picker, document-tags, string-tags { --input-background-color: var(--color-cool-4); --input-border-color: transparent; --input-box-shadow: none; --input-focus-outline-color: var(--color-cool-3); &:disabled { --input-background-color: var(--color-cool-5); --input-border-color: var(--color-cool-4); --input-text-color: var(--color-light-4); } } input, select, textarea, search { --input-text-color: var(--color-light-3); --input-placeholder-color: var(--color-light-5); &:focus { --input-text-color: var(--color-light-1); } } .standard-form label.icon, search { --input-background-color: var(--color-cool-4); --input-border-color: transparent; --input-text-color: var(--color-light-3); --input-focus-outline-color: var(--color-cool-3); &:focus-within { --input-text-color: var(--color-light-1); } &:has(> input:disabled) { --input-background-color: var(--color-cool-5); --input-border-color: var(--color-cool-4); --input-text-color: var(--color-light-4); } } // Readonly Text Input input[readonly] { --input-background-color: var(--color-cool-5); --input-border-color: var(--color-cool-4); --input-text-color: var(--color-light-4); } // Checkboxes Specifically input[type="checkbox"] { --checkbox-checked-color: var(--color-warm-1); --checkbox-disabled-color: var(--color-cool-3); --checkbox-background-color: var(--color-cool-4); --checkbox-checkmark-color: transparent; --checkbox-font-weight: bold; } // Range Inputs input[type=range] { --range-track-color: var(--input-background-color); --range-track-border-color: var(--input-border-color); --range-thumb-background-color: rgb(11 10 19 / 90%); --range-thumb-border-color: var(--color-warm-1); } // Buttons a.button, button, kbd { --button-size: 2em; --button-background-color: var(--color-cool-5-50); --button-border-color: var(--color-light-5); --button-text-color: var(--color-light-3); --button-focus-outline-color: var(--color-warm-2); --button-hover-background-color: var(--color-warm-2); --button-hover-border-color: var(--color-light-3); --button-hover-text-color: var(--color-light-1); &[disabled] { --button-background-color: var(--color-cool-5); --button-border-color: transparent; --button-text-color: var(--color-light-5); --button-hover-background-color: var(--button-background-color); --button-hover-border-color: var(--button-border-color); --button-hover-text-color: var(--button-text-color); } } // Bright buttons a.button.bright, button.bright { --button-background-color: var(--color-warm-1); --button-border-color: var(--color-cool-5); --button-text-color: var(--color-cool-5); --button-hover-background-color: #fda948; --button-hover-border-color: var(--color-warm-3);; --button-hover-text-color: #000000; // Disabled Bright Buttons &:disabled { --button-background-color: var(--color-cool-4); } } // ProseMirror .prosemirror, #prosemirror-dropdown, prose-mirror { --menu-background: var(--color-cool-4); --dropdown-background: var(--color-cool-4); --dropdown-border: var(--color-cool-3); --dialog-background: var(--color-cool-5); --dialog-border: var(--color-cool-4); --color-control-hover: rgb(0 0 0 / 25%); --color-form-label-hover: var(--color-light-2); --button-text-color: var(--color-light-3); --menu-button-height: 26px; --menu-padding: 8px; --menu-height: calc(var(--menu-button-height) + var(--menu-padding) * 2); --min-height: 150px; } /* ---------------------------------------- */ /* Chat Cards */ /* ---------------------------------------- */ .chat-message { --color-blind-background: #f5eaf5; --color-blind-border: #6b476b; --color-emote-background: #f3edde; --color-emote-border: #887c5d; --color-whisper-background: #e8e8ef; --color-whisper-border: #545469; --chat-message-background: url(../ui/parchment.jpg) repeat; --chat-message-border-color: #6f6c66; } /* ---------------------------------------- */ /* Setup Views Specifically */ /* ---------------------------------------- */ body.auth { --header-size: 160px; --header-font-size: var(--font-size-80); --form-padding: 1.5rem; --max-width: 600px; } /* ---------------------------------------- */ /* Tables */ /* ---------------------------------------- */ body { --table-background-color: var(--color-cool-5-50); --table-header-bg-color: var(--color-cool-4); --table-header-border-color: var(--color-cool-4); --table-header-text-color: inherit; --table-row-color-even: rgb(255 255 255 / 10%); --table-row-color-odd: transparent; --table-row-color-highlight: var(--color-cool-3); } /* ---------------------------------------- */ /* UI */ /* ---------------------------------------- */ #autocomplete { --background-color: var(--color-cool-4); --border-color: var(--color-cool-3); --active-background-color: var(--color-cool-5); --active-color: var(--color-text-primary); } #context-menu { --background-color: var(--color-cool-5); --border-color: var(--color-cool-3); --text-color: var(--color-text-secondary); --hover-text-color: var(--color-text-emphatic); --group-separator: var(--color-cool-4); --hover-entry-border: var(--color-cool-4); --hover-entry-background: var(--color-dark-1); } .ui-control, .placeable-hud, #measurement .waypoint-label { --control-size: 32px; --control-bg-color: var(--color-cool-5-75); --control-border-color: var(--color-cool-4); --control-icon-color: var(--color-light-2); --control-hover-bg-color: var(--color-cool-5); --control-hover-border-color: var(--color-cool-3); --control-hover-icon-color: var(--color-light-1); --control-active-bg-color: var(--color-cool-5); --control-active-border-color: var(--color-warm-2); --control-active-icon-color: var(--color-light-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(34 34 72 / 75%); --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 { --control-icon-color: rgba(255 255 255 / 70%); --control-active-icon-color: rgba(255 255 255 / 70%); --control-hover-icon-color: #FFF; --control-active-icon-color: #FFF; --control-icon-filter: none; } #players { --background-color: var(--color-cool-5-75); --border-color: var(--color-cool-4); --text-color: var(--color-text-secondary); --player-name-color: var(--color-text-primary); --player-name-idle-color: #baaddc; --player-name-self-color: #c0eddb; --color-rating-good: #58e558; --color-rating-fair: #e3e365; --color-rating-poor: #e85555; button { --button-text-color: var(--color-text-emphatic); --button-hover-text-color: var(--button-text-color); } } /* ---------------------------------------- */ /* CodeMirror */ /* ---------------------------------------- */ code-mirror { --active-line-color: #2f393c44; --gutter-background-color: var(--color-dark-2); --gutter-border-color: var(--color-dark-3); --gutter-text-color: var(--color-light-2); --tooltip-background-color: var(--color-light-1); --tooltip-text-color: var(--color-dark-2); &:disabled { --gutter-background-color: var(--input-background-color); --gutter-border-color: var(--input-text-color); --gutter-text-color: var(--color-light-4); } // JS(ON) --syntax-keyword-color: #c678dd; --syntax-comment-color: var(--color-light-4); --syntax-operator-color: #56b6c2; --syntax-separator-color: var(--syntax-operator-color); --syntax-brace-color: var(--input-text-color); --syntax-parenthesis-color: var(--syntax-brace-color); --syntax-square-bracket-color: var(--input-brace-color); --syntax-var-name-color: #e06c75; --syntax-func-name-color: #61afef; --syntax-method-name-color: var(--syntax-func-name-color); --syntax-local-var-color: #fff; --syntax-class-name-color: #e5c07b; --syntax-prop-def-color: #e06c75; --syntax-prop-name-color: var(--input-text-color); --syntax-boolean-color: #d19a66; --syntax-number-color: #e5c07b; --syntax-string-color: #98c379; --syntax-regexp-color: #56b6c2; // HTML --syntax-angle-bracket-color: var(--input-text-color); --syntax-tag-color: var(--syntax-class-name-color); --syntax-attr-name-color: var(--syntax-prop-def-color); --syntax-attr-value-color: var(--syntax-string-color); // Markdown --syntax-meta-color: var(--syntax-tag-color); --syntax-separator-color: var(--syntax-meta-color); --syntax-link-color: var(--input-text-color); --syntax-link-url-color: var(--syntax-string-color); --syntax-blockquote-color: var(--syntax-string-color); --syntax-code-bg-color: var(--syntax-code-bg-color); }