/* src/base.css */ #home-page { --background-transparent: hsla(0, 0%, 100%, 40%); --surface: hsla(0, 0%, 100%, 40%); --surface-hover: hsla(0, 0%, 91%, 40%); --surface-active: hsla(0, 0%, 78%, 40%); } @media (prefers-color-scheme: dark) { #home-page { --background-transparent: hsla(0, 0%, 5%, 30%); --surface: hsla(0, 0%, 5%, 30%); --surface-hover: hsla(0, 0%, 20%, 30%); --surface-active: hsla(0, 0%, 44%, 30%); } } #background { position: fixed; top: 0px; left: var(--safe-area-left); right: var(--safe-area-right); bottom: 0px; z-index: 1; pointer-events: none; overflow: hidden; opacity: 0.2; } main { z-index: 2; } #background::after, #background::before { content: ""; position: absolute; z-index: -1; pointer-events: none; filter: blur(60px); } @media (prefers-color-scheme: dark) { #background { background-image: linear-gradient( 120deg, hsla(210, 100%, 50%, 60%), hsla(210, 100%, 50%, 55%), transparent 60%); } } @media (display-mode: standalone) { @media (prefers-color-scheme: dark) { #background { background-image: linear-gradient( 120deg, hsla(210, 100%, 50%, 80%), hsla(210, 100%, 50%, 75%), transparent 60%); } } } @media (prefers-color-scheme: light) { #background { background-image: linear-gradient( 120deg, hsla(210, 100%, 50%, 60%), hsla(210, 100%, 50%, 30%)); } #background::before { top: -130%; left: -150%; right: -800%; bottom: -20%; background-image: radial-gradient( transparent 60%, hsla(110, 100%, 40%, 50%) 60%, hsla(110, 100%, 20%, 40%)); } #background::after { top: -100%; left: 0%; right: -500%; bottom: -50%; background-image: radial-gradient( transparent 70%, hsla(110, 100%, 30%, 90%) 70%, hsla(110, 100%, 10%, 70%)); } } /* src/colors.css */ [color]:not([color=standard]) { --primary: hsl(var(--hue), 100%, var(--accent-luma)); --text-on-color: hsl(0, 0%, var(--accent-text-luma)); --link: hsl(var(--hue), 100%, var(--accent-luma)); } @media (prefers-color-scheme: dark) { [color]:not([color=standard]) { --accent-luma: var(--accent-luma-dark); --accent-text-luma: var(--accent-text-luma-dark); } } [color]:not([color=standard]).tile { --gradient-luma-1: 70%; --gradient-luma-2: 90%; --hover-luma: 75%; --active-luma: 80%; --text-luma: 20%; --surface: linear-gradient( 120deg, hsl(var(--hue), 100%, var(--gradient-luma-1)), hsl(var(--hue), 100%, var(--gradient-luma-2)) ); --surface-hover: hsl(var(--hue), 100%, var(--hover-luma)); --surface-active: hsl(var(--hue), 100%, var(--active-luma)); --text-normal: hsl(var(--hue), 100%, var(--text-luma)); } @media (prefers-color-scheme: dark) { [color]:not([color=standard]).tile { --gradient-luma-1: 20%; --gradient-luma-2: 15%; --hover-luma: 25%; --active-luma: 30%; --text-luma: 90%; } } [color]:not([color=standard]).fill-color { color: white; background-color: var(--primary); } [color]:not([color=standard])[selected].fill-color { color: var(--primary); background-color: var(--surface); } [color=coral] { --hue: 20; --accent-luma: 50%; --accent-luma-dark: 70%; --accent-text-luma: 100%; --accent-text-luma-dark: 100%; } [color=yellow] { --hue: 50; --accent-luma: 50%; --accent-luma-dark: 60%; --accent-text-luma: 100%; --accent-text-luma-dark: 0%; } [color=mint] { --hue: 150; --accent-luma: 40%; --accent-luma-dark: 60%; --accent-text-luma: 100%; --accent-text-luma-dark: 0%; } [color=lightblue] { --hue: 180; --accent-luma: 40%; --accent-luma-dark: 60%; --accent-text-luma: 100%; --accent-text-luma-dark: 0%; } [color=blue] { --hue: 220; --accent-luma: 50%; --accent-luma-dark: 70%; --accent-text-luma: 100%; --accent-text-luma-dark: 100%; } [color=purple] { --hue: 280; --accent-luma: 50%; --accent-luma-dark: 70%; --accent-text-luma: 100%; --accent-text-luma-dark: 100%; } /* src/View/chatPage.css */ #chat-page-wrapper { display: none; } #chat-page-wrapper[open] { display: flex; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: var(--background); z-index: 2; } #chat-page { --ribbon-size: calc(var(--control-height) + 2 * var(--gap-between-tiles)); } #chat-page #ribbon, #chat-page .toolbar, #chat-page #main, #chat-page #main .content { display: flex; } #chat-page > div { padding: 0px; overflow: hidden; display: flex; } #chat-page #main { display: flex; flex-direction: column; width: 100%; height: 100%; flex: 1; } #chat-page #main > div, #chat-page #main .content { width: 100%; height: 100%; } #chat-page #main .content { overflow: auto; padding: var(--content-padding); } #chat-page #ribbon, #chat-page #main, #chat-page #main .content { flex-direction: column; } #chat-page #ribbon { width: var(--ribbon-size); border-right: 1px solid var(--border); overflow: auto; justify-content: space-between; padding-bottom: var(--safe-area-bottom); } #chat-page #main .toolbar { height: var(--ribbon-size); border-bottom: 1px solid var(--border); overflow-x: auto; padding-left: var(--content-padding); border-top: 1px solid var(--border); } #chat-page #ribbon, #chat-page .toolbar { align-items: center; } #chat-page #ribbon > span, #chat-page .toolbar > span { display: flex; flex-direction: column; padding: var(--gap-between-tiles); gap: var(--gap-between-tiles); } #chat-page #ribbon > span { width: 100%; } #chat-page #ribbon button, #chat-page .toolbar button { padding: 0px; width: 100%; max-width: var(--control-height); height: var(--control-height); align-items: center; justify-content: center; } /* src/View/homePage.css */ #home-page > div { display: flex; flex-direction: row; gap: var(--large-gap); scroll-snap-type: x mandatory; scroll-behavior: smooth; overflow: hidden; overflow-x: scroll; padding: 0px; } #home-page > div > div { display: flex; flex-direction: column; justify-content: start; gap: var(--gap-between-tiles); padding: var(--content-padding); padding-top: calc(var(--header-height) + var(--content-margin)); width: 100%; min-width: 100%; height: 100%; overflow: scroll; scroll-snap-align: center; } #home-page #overview-section { padding-bottom: calc(var(--content-padding) + var(--safe-area-bottom)); } #home-page #chat-grid { margin-top: var(--content-padding); display: grid; gap: var(--gap-between-tiles); grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); } @media (min-width: 640px) { #home-page #overview-section { width: 20rem; min-width: 20rem; } #home-page #chat-section { flex: 1; min-width: unset; } } @media (min-width: 1200px) { #home-page #overview-section, #home-page #chat-section { padding-left: 3rem; padding-right: 3rem; } #home-page #chat-grid { margin-top: 3rem; } #home-page #overview-section { width: var(--max-input-width); min-width: var(--max-input-width); } } /* src/View/Components/chatEntry.css */ .chat-entry { position: relative; display: flex; align-items: flex-end !important; justify-content: start; height: 8rem; overflow: hidden; } .chat-entry h2 { margin: 0px; } .chat-entry .shadow { position: absolute; left: -15px; bottom: -45px; font-size: 6rem; opacity: 0.1; white-space: nowrap; }