storytellurx-v1/main.css
2025-07-13 22:01:50 +02:00

530 lines
No EOL
15 KiB
CSS

@import url('/public/assets/fonts/Right_Serif_Mono/stylesheet.css');
@import url('/public/assets/fonts/Arizona/stylesheet.css');
@import url('/public/assets/fonts/GTZirkon/stylesheet.css');
@import url('/public/assets/fonts/Signifier-1.004/stylesheet.css');
@import url('/public/assets/fonts/Ortica/stylesheet.css');
@import url('/public/assets/fonts/NotoMusic/stylesheet.css');
@import "tailwindcss";
@import "tailwindcss-intersect";
@plugin "@tailwindcss/typography";
@custom-variant light (&:is(.light *));
@custom-variant fixed (&:is(.layout-fixed *));
@theme inline {
--breakpoint-3xl: 1600px;
--breakpoint-4xl: 2000px;
--font-sans: var(--font-sans);
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--font-music: 'Noto Music', sans-serif;
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--color-background: var(--background);
--color-mix-background: var(--mix-background);
--color-foreground: var(--foreground);
--color-thinking: var(--thinking);
--color-thinking-foreground: var(--thinking-foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
--color-surface: var(--surface);
--color-surface-foreground: var(--surface-foreground);
--color-code: var(--code);
--color-code-foreground: var(--code-foreground);
--color-code-highlight: var(--code-highlight);
--color-code-number: var(--code-number);
--color-selection: var(--selection);
--color-selection-foreground: var(--selection-foreground);
}
/* Base theme & storytellurx_gateway */
:root {
--font-sans: var(--font-mono);
--selection: black;
--selection-foreground: white;
--background: oklch(0.145 0 0);
--mix-background: oklch(0.145 0 0);
--foreground: #aaa;
--primary: #29216d;
--primary-foreground: rgb(170, 170, 170);
--secondary: oklch(0.269 0 0);
--secondary-foreground: oklch(0.985 0 0);
--muted: oklch(0.269 0 0);
--muted-foreground: rgb(115, 115, 115);
--accent: oklch(0.371 0 0);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216);
--destructive-foreground: oklch(0.985 0 0);
--border: oklch(44.953% 0.00005 271.152);
--input: oklch(1 0 0 / 15%);
--ring: oklch(0.556 0 0);
--text-glow-low: 0 0 2px oklch(from var(--primary) l a h / 30%);
--text-glow-medium: 0 0 5px oklch(from var(--primary) l a h / 60%);
--text-glow-high: 0 0 8px oklch(from var(--primary) l a h / 80%), 0 0 12px oklch(from var(--accent) l a h / 50%);
}
.classical {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 0;
--srff: 0.061;
--variation-settings: "wght" 350, "slnt" var(--snlt), "SRFF" var(--srff);
--accent-foreground: oklch(66.984% 0.00008 271.152);
--background: oklch(36.301% 0.00412 16.797);
--foreground: oklch(100% 0.00011 271.152);
--bg-grid: conic-gradient(from 90deg at 1px 1px, #00000000 90deg, #262626 0) 0 0 / 10px 10px;
}
.samantha69 {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 0;
--srff: 0.0816;
--variation-settings: "wght" 350, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(0.85 0.08 354.36);
--mix-background: oklch(0.85 0.08 354.36);
--foreground: oklch(62.606% 0.25692 29.223);
--secondary: oklch(0.96 0.03 351.72);
--thinking: transparent;
--thinking-foreground: oklab(48.159% 0.17289 0.09526);
--secondary-foreground: var(--foreground);
--primary: var(--foreground);
--primary-foreground: var(--background);
--muted: oklch(0.9 0.06 354.36);
--muted-foreground: oklch(70% 0.15 10);
--accent: transparent;
--accent-foreground: oklch(100% 0 0);
--destructive: oklch(65% 0.25 25);
--destructive-foreground: var(--secondary);
--border: var(--primary);
--input: var(--muted);
--ring: var(--primary);
}
.hisoka {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 0;
--srff: 0.0816;
--variation-settings: "wght" 350, "slnt" var(--snlt), "SRFF" var(--srff);
/* Regular weight */
--background: oklch(18% 0 0);
/* Dark grey, like a gym floor */
--mix-background: oklch(18% 0 0);
--foreground: oklch(96% 0.005 240);
/* Cool off-white */
--primary: oklch(70% 0.22 255);
/* Energetic, electric blue */
--primary-foreground: oklch(98% 0 0);
/* White for text on primary */
--secondary: oklch(25% 0 0);
/* Slightly lighter grey for elements */
--secondary-foreground: var(--foreground);
--muted: oklch(30% 0 0);
--muted-foreground: oklch(75% 0.005 240);
/* Lighter grey for muted text */
--accent: var(--primary);
--accent-foreground: var(--primary-foreground);
--destructive: oklch(65% 0.25 15);
/* A stark, warning red */
--destructive-foreground: oklch(98% 0 0);
--border: oklch(1 0 0 / 20%);
--input: transparent;
--ring: oklch(from var(--primary) l c h / 60%);
}
.polaire {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 0;
--srff: 0;
--variation-settings: "wght" 300, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(0.1 0 0);
--mix-background: oklch(0.19 0.05 127.53);
--foreground: oklch(0.92 0.01 138.12);
--primary: oklch(0.9 0.25 130);
--primary-foreground: oklch(0.1 0 0);
--secondary: oklch(0.15 0.01 130);
--secondary-foreground: oklch(0.9 0.25 130);
--muted: oklch(0.2 0.01 130);
--muted-foreground: oklch(0.7 0.1 130);
--accent: transparent;
--accent-foreground: oklch(100% 0 0);
--destructive: oklch(0.7 0.25 40);
--destructive-foreground: oklch(0.1 0 0);
--border: oklch(0.9 0.25 130 / 50%);
--input: transparent;
--ring: oklch(0.9 0.25 130);
}
.cybelle {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 0;
--srff: 0.01;
--variation-settings: "wght" 400, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(0.99 0.005 100);
--mix-background: oklch(85.142% 0.0001 271.152);
--foreground: oklch(39.124% 0.07804 358.097);
--primary: oklch(39.124% 0.07804 358.097);
--primary-foreground: oklch(0.99 0.005 100);
--secondary: transparent;
--secondary-foreground: oklch(39.124% 0.07804 358.097);
--muted: oklch(0.95 0.005 100);
--muted-foreground: oklch(39.124% 0.07804 358.097);
--accent: oklch(0.9 0.05 30);
--accent-foreground: oklch(0.15 0 0);
--destructive: oklch(62.991% 0.25566 28.977);
--destructive-foreground: oklch(0.99 0.005 100);
--border: oklch(39.124% 0.07804 358.097);
--input: transparent;
--ring: oklch(62.991% 0.25566 28.977);
--confetti-1: oklch(62.991% 0.25566 28.977);
--confetti-2: oklch(80.533% 0.16677 79.938);
--confetti-3: oklch(75.447% 0.25185 142.998);
--confetti-4: oklch(66.966% 0.18306 249.141);
}
.xixi {
--font-display: 'ABC Arizona Plus', sans-serif;
/* A sharp, elegant serif */
--snlt: 0;
--srff: 0.5;
--variation-settings: "wght" 300, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(0.1 0.01 270);
/* Deep, near-black violet */
--mix-background: oklch(0.2 0.05 280);
--foreground: oklch(0.9 0.02 260);
/* Pale lavender/off-white */
--primary: oklch(0.8 0.15 280);
/* A sharp, crystalline violet for highlights */
--primary-foreground: oklch(0.1 0.01 270);
--secondary: oklch(0.18 0.02 270);
/* Dark, shimmering secondary */
--secondary-foreground: var(--foreground);
--muted-foreground: oklch(0.6 0.03 270);
--border: oklch(1 0 0 / 15%);
--input: transparent;
--ring: var(--primary);
/* New variables for Kintsugi effect */
--kintsugi-gold: oklch(85% 0.15 90);
--tear-glisten: oklch(80% 0.1 240 / 60%);
}
.nelly {
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 1;
--srff: 0;
--variation-settings: "wght" 500, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(31.739% 0.18789 281.658);
--mix-background: oklch(31.739% 0.18789 281.658);
--foreground: oklch(0.95 0.02 200);
--primary: oklch(0.8 0.15 195);
--primary-foreground: oklch(0.1 0.01 250);
--secondary: oklch(0.15 0.05 240);
--secondary-foreground: var(--primary);
--muted: oklch(0.2 0.05 240);
--muted-foreground: oklch(0.7 0.1 210);
--accent: transparent;
--accent-foreground: oklch(0.95 0.02 200);
--destructive: oklch(0.7 0.25 20);
--destructive-foreground: oklch(0.95 0.02 200);
--border: oklch(0.8 0.15 195 / 50%);
--input: transparent;
--ring: oklch(0.8 0.15 195);
}
.galatee {
--winter-color-1: oklch(70% 0.10 250);
--winter-color-2: oklch(80% 0.08 260);
--winter-color-3: oklch(60% 0.15 240);
--spring-color-1: oklch(69.4% 0.19 145);
--spring-color-2: oklch(94.147% 0.11647 138.824);
--spring-color-3: oklch(69.4% 0.19 145);
--autumn-color-1: oklch(65% 0.15 50);
--autumn-color-2: oklch(75% 0.12 60);
--autumn-color-3: oklch(55% 0.18 45);
--summer-color-1: oklch(85% 0.18 100);
--summer-color-2: oklch(90% 0.15 110);
--summer-color-3: oklch(75% 0.20 95);
--gradient-color-1: var(--winter-color-1);
--gradient-color-2: var(--winter-color-2);
--gradient-color-3: var(--winter-color-3);
--font-display: 'ABC Arizona Plus', sans-serif;
--snlt: 1;
--srff: 0;
--variation-settings: "wght" 500, "slnt" var(--snlt), "SRFF" var(--srff);
--background: oklch(0.97 0.005 90);
/* Off-white, like marble or canvas */
--mix-background: var(--gradient-color-2);
--foreground: var(--gradient-color-1);
/* Charcoal black for text */
--primary: var(--gradient-color-1);
/* A deep, visceral red/ochre */
--primary-foreground: var(--gradient-color-2);
--secondary: var(--gradient-color-2);
/* Light grey for secondary elements */
--secondary-foreground: var(--gradient-color-1);
--muted: oklch(0.85 0.005 90);
--muted-foreground: var(--gradient-color-3);
--accent: var(--primary);
--accent-foreground: var(--primary-foreground);
--destructive: var(--primary);
--destructive-foreground: var(--primary-foreground);
--input: transparent;
--ring: var(--primary);
--border: var(--gradient-color-1);
&[data-arousal-peak-potential=low] {
--gradient-color-1: var(--autumn-color-1);
--gradient-color-2: var(--autumn-color-2);
--gradient-color-3: var(--autumn-color-3);
}
&[data-arousal-peak-potential=medium] {
--gradient-color-1: var(--spring-color-1);
--gradient-color-2: var(--spring-color-2);
--gradient-color-3: var(--spring-color-3);
}
&[data-arousal-peak-potential=high] {
--gradient-color-1: var(--summer-color-1);
--gradient-color-2: var(--summer-color-2);
--gradient-color-3: var(--summer-color-3);
}
}
@utility font-normal {
font-variation-settings: 'wght' var(--font-weight-normal, 400), "slnt" var(--snlt), "SRFF" var(--srff);
}
@utility font-medium {
font-variation-settings: 'wght' var(--font-weight-medium, 500), "slnt" var(--snlt), "SRFF" var(--srff);
}
@utility scrollbar-hidden {
-ms-overflow-style: none;
scrollbar-width: none;
&::-webkit-scrollbar {
display: none;
}
}
@keyframes animatedTextGradient {
to {
background-position: 200% center;
}
}
@utility animate-text-gradient {
background: linear-gradient(to right,
var(--gradient-color-3),
var(--gradient-color-1),
var(--gradient-color-3));
background-size: 200% auto;
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: animatedTextGradient 3s linear infinite;
}
@keyframes pulse-border {
0%,
100% {
border-color: oklch(from var(--border) l c h / 70%);
box-shadow: 0 0 4px oklch(from var(--primary) l c h / 0);
}
50% {
border-color: oklch(from var(--primary) l c h);
box-shadow: 0 0 8px 1px oklch(from var(--primary) l c h / 0.4);
}
}
@keyframes pulse-bg {
0%,
100% {
opacity: 0.8;
}
50% {
opacity: 1;
}
}
@keyframes text-flicker {
0% {
text-shadow: var(--text-glow-high);
opacity: 0.8;
}
5% {
text-shadow: none;
opacity: 0.5;
}
10% {
text-shadow: var(--text-glow-high);
opacity: 1;
}
15% {
text-shadow: none;
opacity: 0.7;
}
20% {
text-shadow: var(--text-glow-high);
opacity: 1;
}
80% {
text-shadow: var(--text-glow-high);
opacity: 1;
}
90% {
text-shadow: none;
opacity: 0.4;
}
100% {
text-shadow: var(--text-glow-high);
opacity: 0.9;
}
}
@keyframes wave-text {
0%,
100% {
transform: translateY(0) scale(1.0, 1.0);
}
50% {
transform: translateY(-1px) scale(1.02, 0.98);
}
}
@keyframes border-dance {
0% {
background-position: 0px 0px;
}
100% {
background-position: 10px 10px;
}
}
@keyframes ripple-shadow {
0% {
box-shadow: 0 0 0 0 oklch(from var(--primary) l c h / 0.5);
}
70% {
box-shadow: 0 0 0 10px oklch(from var(--primary) l c h / 0);
}
100% {
box-shadow: 0 0 0 0 oklch(from var(--primary) l c h / 0);
}
}
@keyframes jiggle {
0% {
transform: translate(1px, 1px) rotate(0deg);
}
25% {
transform: translate(-1px, 2px) rotate(-1deg);
}
50% {
transform: translate(-2px, 0px) rotate(1deg);
}
75% {
transform: translate(2px, 1px) rotate(0deg);
}
100% {
transform: translate(1px, -1px) rotate(1deg);
}
}
@layer base {
* {
@apply border-border outline-ring/50;
}
::selection {
@apply bg-selection text-selection-foreground;
}
html {
@apply scroll-smooth;
}
body,
.shell {
font-synthesis-weight: none;
text-rendering: optimizeLegibility;
font-family: var(--font-display);
font-variation-settings: var(--variation-settings);
background-color: var(--background);
color: var(--foreground);
transition: background-color 0.5s ease, color 0.5s ease;
}
@supports (font: -apple-system-body) and (-webkit-appearance: none) {
[data-wrapper] {
@apply min-[1800px]:border-t;
}
}
a:active,
button:active {
@apply opacity-60 md:opacity-100;
}
}