@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Martian+Mono&display=swap'); :root { --pill-radius: 5px; --gray-300: hsl(0, 0%, 10%); /* property background */ --gray-350: hsl(0, 0%, 12%); --gray-400: hsl(0, 0%, 14%); /* disabled property */ --gray-500: hsl(0, 0%, 18%); /* standard property */ --gray-600: hsl(0, 0%, 22%); /* standard border */ --gray-700: hsl(0, 0%, 25%); /* hovered border */ --gray-800: hsl(0, 0%, 38%); --blue-400: hsl(190, 100%, 15%); --blue-450: hsl(190, 90%, 18%); --blue-500: hsl(190, 85%, 27%); --blue-600: hsl(190, 75%, 35%); --blue-700: hsl(190, 58%, 48%); --text-bright: white; --text-light: hsl(0, 0%, 85%); --text-standard: hsl(0, 0%, 66%); --text-dim: hsl(0, 0%, 45%); --text-dark: hsl(0, 0%, 33%); --vertical-divider: hsl(0, 0%, 14%); --border-radius: 5px; --property-height: 32px; --font-size-big: 14.96px; --font-size-standard: 13.6px; --font-size-small: 12.24px } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } body { margin: 0px; font-family: 'Rubik', sans-serif; overflow: hidden; user-select: none; } canvas { width: 100%; height: 100%; } .content { width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; } .split { width: 100%; height: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .gutter { cursor: col-resize; height: 100%; background: var(--gray-500); display: flex; justify-content: center; align-items: center; color: var(--gray-600); } .gutter:hover { background: var(--gray-600); color: var(--gray-800); } .gutter.gutter-vertical { cursor: row-resize; } .column-properties { background: var(--gray-300); overflow: auto; padding: 10px; } .column-canvas { cursor: grab; } .column-console { background: hsl(0, 0%, 5%); font-size: var(--font-size-small); color: var(--text-dim); font-family: 'Martian Mono'; } .column-sidebar { } .container-properties { display: flex; flex-direction: column; margin: 10px; } .component-group { padding: 5px 10px; border: 1px solid var(--gray-400); border-radius: 10px; width: 100%; } .container-checkbox { width: var(--property-height); height: var(--property-height); } .property { display: flex; flex-direction: row; align-items: center; color: var(--text-standard); font-size: var(--font-size-standard); padding: 5px 0px; border-bottom: 2px solid var(--gray-350); } .property:first-child { } .property:last-child { border-bottom: none; } /* .property:nth-of-type(2n) { border-radius: var(--border-radius); background: var(--gray-350); border-radius: 10px; } */ .container-button { display: flex; flex-direction: row; align-items: center; color: var(--text-standard); font-size: var(--font-size-standard); padding: 5px 0px; margin: 0px; } .container-group-heading { display: flex; flex-direction: row; align-items: flex-start; padding-top: 20px; } .group-heading { color: var(--gray-700); letter-spacing: 4px; font-size: var(--font-size-standard); padding: 12px 0px; } .prop-key-container { display: flex; align-items: center; padding: 0px 5px; width: 40%; height: var(--property-height); overflow: auto; } .prop-value-container { flex-grow: 1; display: flex; align-items: center; width: 0px; overflow-x: auto; } input { font-family: 'Rubik', sans-serif; text-align: center; font-size: var(--font-size-standard); outline: none; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type=number]:not(:disabled) { cursor: text; } input[type=text]:not(:disabled) { cursor: text; } ::placeholder { color: var(--text-dark); font-style: italic; } ::placeholder:hover { color: var(--text-standard) !important; } select { all: unset; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .checkbox-arrow { position: absolute; right: 8px; top: 9px; pointer-events: none; } .button { display: flex; align-items: center; justify-content: center; position: relative; } .button-progress { /*border: 1px solid green;*/ z-index: 5; background: white; opacity: 0.1; border-radius: var(--border-radius); position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 0%; transition: width 0.2s; } .struct-prop { display: flex; align-items: center; width: 100%; height: var(--property-height); border-radius: var(--border-radius); padding: 0px 10px; border-width: 1px; border-style: solid; } .struct-prop.disabled { border-color: var(--gray-500); color: var(--text-dark); background: var(--gray-400); cursor: inherit; } .struct-prop.hover { border-color: var(--gray-700); color: var(--text-light); background: var(--gray-600); cursor: pointer; } .struct-prop:not(.disabled):not(.hover) { border-color: var(--gray-600); color: var(--text-standard); background: var(--gray-500); } .struct-prop.active.disabled { border-color: var(--blue-450); color: var(--text-dim); background: var(--blue-400); cursor: inherit; } .struct-prop.active.hover { border-color: var(--blue-700); color: var(--text-bright); background: var(--blue-600); cursor: pointer; } .struct-prop.active:not(.disabled):not(.hover) { border-color: var(--blue-600); color: var(--text-bright); background: var(--blue-500); } .h-div { height: 0px; border-radius: 2px; background: var(--text-dark); } ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: var(--gray-350); } ::-webkit-scrollbar-thumb { background: var(--gray-500); border-radius: 10px; border: 1px solid var(--gray-600); } ::-webkit-scrollbar-thumb:hover { background: var(--gray-600); border: 1px solid var(--gray-700); } .spinbox-key { font-size: var(--font-size-standard); padding-right: 5px; } .spinbox-key-hover { border: rgba(255, 255, 255, 0.2) !important; filter: brightness(1.5); cursor: ew-resize; } .spinbox-key-disabled { filter: brightness(0.4); } .spinbox-value { display: flex; align-items: center; justify-content: center; flex-grow: 1; } .spinbox-value .inactive .hover { cursor: e-resize; } .toolbar { display: flex; position: relative; top: -100vh; width: 100%; flex-direction: row; justify-content: space-between; cursor: inherit; pointer-events: none; } .toolbar-column { display: flex; flex-direction: row; margin: 20px; gap: 20px; } .toolbar-column:last-child { flex-direction: row-reverse !important; } .toolbar-group { display: flex; flex-direction: row; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 16px; border-radius: var(--border-radius); } .container-icon-button { height: var(--property-height); display: flex; align-items: center; justify-content: center; padding: 0px; text-align: center; font-size: var(--font-size-standard); pointer-events: all; gap: 2px; } svg { width: 16px; height: 16px; stroke: currentColor; } .container-checkbox { justify-content: center; padding: 0px; width: calc(0.75 * var(--property-height)) !important; height: calc(0.75 * var(--property-height)) !important; } .button-loading { box-shadow: 0 0 0 0 rgba(0, 0, 0, 1); animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); } 70% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } .spin { animation: blinker 0.75s ease-in-out infinite; } @keyframes blinker { 0% { opacity: 100%; } 50% { opacity: 50%; } 100% { opacity: 100%; } } .progress-bar-container { width: 100%; height: 2px; } .progress-bar { background-color: var(--blue-500); height: 100%; transition: width 0.1s; } .colour-swatch { border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; width: 100%; height: var(--property-height); margin: 0px; padding: 0px; } .colour-swatch::-webkit-color-swatch-wrapper { border: none; margin: 0px; padding: 0px; } .colour-swatch::-webkit-color-swatch { border: none; margin: 0px; padding: 0px; border-radius: 5px; border: 1px solid var(--gray-600); } .colour-swatch:enabled::-webkit-color-swatch:hover { border: 1px solid var(--gray-700); filter: brightness(1.1); cursor: pointer; } .colour-swatch:disabled::-webkit-color-swatch { opacity: 0.25; } .texture-preview { border: 1px solid var(--gray-600); border-radius: 5px; width: 100%; } .texture-preview-missing { border-color: orange !important; } .texture-preview.disabled { filter: grayscale(0.5); opacity: 0.5; } .texture-preview-placeholder { border: 1px solid var(--gray-400); color: var(--text-dim); border-radius: 5px; width: 100%; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; } .texture-preview-placeholder.disabled { color: var(--text-dark); } .texture-hover { border-color: var(--text-standard) !important; } .material-container { } .checkbox-text { padding-left: 10px; color: var(--text-dim) } .checkbox-text.text-light { cursor: pointer; } .spinbox-main-container { display: flex; flex-direction: row; width: 100%; } .spinbox-element-container { display: flex; flex-direction: row; flex-grow: 1; height: 50%; align-items: center; padding-left: 5px; } .spinbox-element-container:first-child { padding-right: 0px; } .row-container { display: flex; flex-direction: column; gap: 2px; width: 100%; } .row-item { display: flex; flex-direction: row; align-items: center; } .col-container { display: flex; flex-direction: row; gap: 2px; align-items: center; } .col-item { display: flex; flex-direction: column; align-items: center; } .logo { width: 32px; margin-right: 10px; } .title { font-size: var(--font-size-big); } .subtitle { font-size: var(--font-size-small); color: var(--text-dim); } .header-cols { align-items: start; justify-content: space-between; width: 100%; color: var(--text-standard); font-size: var(--font-size-standard); padding-top: 5px; } .struct-prop.container-icon-button { border-radius: 0px; } .struct-prop.container-icon-button:first-child { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } .struct-prop.container-icon-button:last-child { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } .struct-prop.container-icon-button:only-of-type { border-radius: 5px; } .button-loading { box-shadow: 0 0 0 0 rgba(0, 0, 0, 1); } @keyframes pulse-opacity { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } } a { color: var(--blue-600) } .text-dark { color: var(--text-dark); } .text-standard { color: var(--text-standard); } .text-light { color: var(--text-light); } .text-success { color: green; } .text-info { color: var(--text-dim); } .text-warning { color: orange; } .text-error { color: red; } ::-webkit-scrollbar-corner { background: rgb(20, 20, 20); } .comp-slider-value { padding: 0px; width: 40%; margin-right: 5px; } .comp-slider-outer { flex-grow: 1; padding: 0px; } .comp-slider-inner { padding: 0px; } .comp-slider.enabled { cursor: e-resize; } .hide { display: none; } .tooltip-text { visibility: hidden; opacity: 0; position: absolute; z-index: 1; font-size: var(--font-size-small); color: var(--text-light); background-color: var(--gray-600); padding: 5px 10px; border-radius: 5px; border: 1px solid var(--gray-700); transition: 0.15s; pointer-events: none; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 16px; white-space: nowrap; } .hover-text:hover:not(.disabled) .tooltip-text { visibility: visible; opacity: 1; } .top { top: -40px; left: -50%; } .bottom { top: 25px; left: -50%; } .left { top: 1px; right: 120%; } .right { top: 2px; left: 120%; } .hover-text { position: relative; } .privacy-disclaimer { font-size: var(--font-size-small); color: var(--text-dim); } .announcement { border: 1px solid var(--blue-600); background: var(--blue-500); margin-bottom: 30px; padding: 10px; color: var(--text-bright); border-radius: 3px; font-size: smaller; }