Files
starr-philproperties/apps/web/src/index.css
T
kennethobsequio b37218f90e merge new_starr_app@qas history into apps/web
git-subtree-dir: apps/web
git-subtree-mainline: eaa6d2276a
git-subtree-split: 459af9d46a
2026-08-24 12:21:16 +08:00

713 lines
19 KiB
CSS

/**
* ╔══════════════════════════════════════════════════════════════════════════════╗
* ║ index.css ║
* ╠══════════════════════════════════════════════════════════════════════════════╣
* ║ Author : rgrgogu ║
* ║ Date Created : Oct. 10, 2025 ║
* ║ Date Modified : May 31, 2026 (by Kenneth Obsequio) ║
* ╠══════════════════════════════════════════════════════════════════════════════╣
* ║ Changelog ║
* ║ - Added: 'system' theme support ║
* ║ - Added: @import "shadcn/tailwind.css" support from docs ║
* ╚══════════════════════════════════════════════════════════════════════════════╝
*/
@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";
@import "./styles/typeset.css";
@custom-variant dark (&:is(.dark *));
@theme inline {
/* From myself */
--font-geist: "Instrument Sans", sans-serif;
--font-tier-ads: "Abril Fatface", serif;
--breakpoint-xs: 320px;
/* white fixed */
--motion-card-hover: oklch(0.985 0 0);
--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-foreground: var(--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-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--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);
--animate-rippling: rippling var(--duration) ease-out;
--animate-pulse: pulse var(--duration) ease-out infinite;
/** from https://github.com/shadcn-ui/ui/issues/2053 **/
--animate-collapsible-down: collapsible-down 0.2s ease-out;
--animate-collapsible-up: collapsible-up 0.2s ease-out;
@keyframes collapsible-down {
from {
height: 0;
opacity: 0;
}
to {
height: var(--radix-collapsible-content-height);
opacity: 1;
}
}
@keyframes collapsible-up {
from {
height: var(--radix-collapsible-content-height);
opacity: 1;
}
to {
height: 0;
opacity: 0;
}
}
@keyframes rippling {
0% {
opacity: 1;
}
100% {
transform: scale(2);
opacity: 0;
}
}
@keyframes pulse {
0%,
100% {
boxShadow: 0 0 0 0 var(--pulse-color);
}
50% {
boxShadow: 0 0 0 8px var(--pulse-color);
}
}
@keyframes pulse {
0%,
100% {
boxShadow: 0 0 0 0 var(--pulse-color);
}
50% {
boxShadow: 0 0 0 8px var(--pulse-color);
}
}
--animate-aurora: aurora 60s linear infinite;
--color-warning-foreground: var(--warning-foreground);
--color-warning: var(--warning);
--color-success-foreground: var(--success-foreground);
--color-success: var(--success);
--color-info-foreground: var(--info-foreground);
--color-info: var(--info);
--color-destructive-foreground: var(--destructive-foreground);
@keyframes aurora {
from {
backgroundPosition: 50% 50%, 50% 50%;
}
to {
backgroundPosition: 350% 50%, 350% 50%;
}
}
}
:root {
--radius: 0.65rem;
--background: oklch(1 0 0);
--foreground: oklch(0.141 0.005 285.823);
--card: oklch(1 0 0);
--card-foreground: oklch(0.141 0.005 285.823);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.141 0.005 285.823);
--primary: oklch(0.2617 0.0575 259.89);
--primary-foreground: oklch(0.97 0.014 254.604);
--secondary: oklch(0.967 0.001 286.375);
--secondary-foreground: oklch(0.21 0.006 285.885);
--muted: oklch(0.967 0.001 286.375);
--muted-foreground: oklch(0.552 0.016 285.938);
--accent: oklch(0.967 0.001 286.375);
--accent-foreground: oklch(0.21 0.006 285.885);
--destructive: oklch(0.577 0.245 27.325);
--border: oklch(0.92 0.004 286.32);
--input: oklch(0.92 0.004 286.32);
--ring: oklch(0.623 0.214 259.815);
--chart-1: oklch(0.646 0.222 41.116);
--chart-2: oklch(0.6 0.118 184.704);
--chart-3: oklch(0.398 0.07 227.392);
--chart-4: oklch(0.828 0.189 84.429);
--chart-5: oklch(0.769 0.188 70.08);
--sidebar: oklch(0.985 0 0);
--sidebar-foreground: oklch(0.141 0.005 285.823);
--sidebar-primary: oklch(0.623 0.214 259.815);
--sidebar-primary-foreground: oklch(0.97 0.014 254.604);
--sidebar-accent: oklch(0.967 0.001 286.375);
--sidebar-accent-foreground: oklch(0.21 0.006 285.885);
--sidebar-border: oklch(0.92 0.004 286.32);
--sidebar-ring: oklch(0.623 0.214 259.815);
--destructive-foreground: var(--color-red-700);
--info: var(--color-blue-500);
--info-foreground: var(--color-blue-700);
--success: var(--color-emerald-500);
--success-foreground: var(--color-emerald-700);
--warning: var(--color-amber-500);
--warning-foreground: var(--color-amber-700);
}
.dark {
--background: oklch(0.17 0.035 278);
--foreground: oklch(0.97 0.01 280);
--card: oklch(0.2 0.045 280);
--card-foreground: oklch(0.97 0.01 280);
--popover: oklch(0.2 0.045 280);
--popover-foreground: oklch(0.97 0.01 280);
--primary: oklch(0.63 0.25 302);
--primary-green: oklch(79.2% 0.209 151.711);
--primary-foreground: oklch(0.98 0.012 302);
--secondary: oklch(0.25 0.04 280);
--secondary-foreground: oklch(0.97 0.01 280);
--muted: oklch(0.22 0.035 280);
--muted-foreground: oklch(0.68 0.03 280);
--accent: oklch(0.28 0.06 285);
--accent-foreground: oklch(0.97 0.01 280);
--destructive: oklch(0.704 0.191 22.216);
--border: oklch(0.55 0.08 280 / 15%);
--input: oklch(0.55 0.08 280 / 20%);
--ring: oklch(0.63 0.25 302);
--chart-1: oklch(0.63 0.25 302);
--chart-2: oklch(0.68 0.28 330);
--chart-3: oklch(0.62 0.21 260);
--chart-4: oklch(0.7 0.18 200);
--chart-5: oklch(0.75 0.19 70);
--sidebar: oklch(0.13 0.03 280);
--sidebar-foreground: oklch(0.97 0.01 280);
--sidebar-primary: oklch(0.63 0.25 302);
--sidebar-primary-foreground: oklch(0.98 0.012 302);
--sidebar-accent: oklch(0.22 0.05 280);
--sidebar-accent-foreground: oklch(0.97 0.01 280);
--sidebar-border: oklch(0.55 0.08 280 / 12%);
--sidebar-ring: oklch(0.63 0.25 302);
--destructive-foreground: var(--color-red-400);
--info: var(--color-blue-500);
--info-foreground: var(--color-blue-400);
--success: var(--color-emerald-500);
--success-foreground: var(--color-emerald-400);
--warning: var(--color-amber-500);
--warning-foreground: var(--color-amber-400);
}
@layer base {
* {
@apply border-border outline-ring/50;
font-family: var(--font-geist);
}
body {
@apply bg-background text-foreground;
}
/* Suppress Edge/IE's native password reveal & clear icons so they don't overlap our custom eye toggle */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
display: none;
}
}
/* Admin route: hardcoded violet accent for dark mode (temporary, reuses existing .dark violet tokens) */
.dark #philproperties-admin {
--primary: oklch(0.63 0.25 302);
--primary-foreground: oklch(0.98 0.012 302);
--ring: oklch(0.63 0.25 302);
--sidebar-ring: oklch(0.63 0.25 302);
}
/* For our Tier Plans call */
.tier_plans_banner {
background-color: hsla(173, 77%, 83%, 1);
background-image: radial-gradient(circle at 5% 1%, hsla(250, 76%, 61%, 1) 7%, transparent 84%), radial-gradient(circle at 7% 81%, hsla(184, 91%, 91%, 1) 16%, transparent 53%), radial-gradient(circle at 11% 29%, hsla(213, 97%, 75%, 1) 8%, transparent 74%), radial-gradient(circle at 39% 52%, hsla(149, 93%, 64%, 1) 6%, transparent 68%), radial-gradient(circle at 90% 50%, hsla(118, 94%, 89%, 1) 2%, transparent 85%);
background-blend-mode: normal, normal, normal, normal, normal;
}
.dark .tier_plans_banner {
--x-0: 93%;
--y-0: 93%;
--c-0: hsla(212, 0%, 0%, 1);
--y-1: 9%;
--x-1: 26%;
--c-1: hsla(212, 0%, 0%, 1);
--c-2: hsla(257, 91%, 27%, 0.35);
--x-2: 15%;
--y-2: 79%;
--c-3: hsla(212, 100%, 50%, 0.5);
--y-3: 104%;
--x-3: 40%;
--x-4: 0%;
--y-4: 60%;
--c-4: hsla(224, 72%, 36%, 1);
--c-5: hsla(248, 52%, 24%, 1);
--y-5: 37%;
--x-5: 92%;
--c-6: hsla(212, 100%, 50%, 0.19);
--y-6: 16%;
--x-6: 101%;
--y-7: 13%;
--x-7: 90%;
--c-7: hsla(227, 98%, 53%, 1);
--c-8: hsla(166, 71%, 60%, 0.32);
--x-8: 104%;
--y-8: 56%;
--x-9: 97%;
--y-9: 19%;
--c-9: hsla(219, 83%, 23%, 0.18);
background-color: hsla(305, 0%, 0%, 1);
background-image: radial-gradient(circle at var(--x-0) var(--y-0), var(--c-0) var(--s-start-0), transparent var(--s-end-0)), radial-gradient(circle at var(--x-1) var(--y-1), var(--c-1) var(--s-start-1), transparent var(--s-end-1)), radial-gradient(circle at var(--x-2) var(--y-2), var(--c-2) var(--s-start-2), transparent var(--s-end-2)), radial-gradient(circle at var(--x-3) var(--y-3), var(--c-3) var(--s-start-3), transparent var(--s-end-3)), radial-gradient(circle at var(--x-4) var(--y-4), var(--c-4) var(--s-start-4), transparent var(--s-end-4)), radial-gradient(circle at var(--x-5) var(--y-5), var(--c-5) var(--s-start-5), transparent var(--s-end-5)), radial-gradient(circle at var(--x-6) var(--y-6), var(--c-6) var(--s-start-6), transparent var(--s-end-6)), radial-gradient(circle at var(--x-7) var(--y-7), var(--c-7) var(--s-start-7), transparent var(--s-end-7)), radial-gradient(circle at var(--x-8) var(--y-8), var(--c-8) var(--s-start-8), transparent var(--s-end-8)), radial-gradient(circle at var(--x-9) var(--y-9), var(--c-9) var(--s-start-9), transparent var(--s-end-9));
animation: tier_anim 10s linear infinite alternate;
background-blend-mode: normal, normal, normal, normal, normal, normal, normal, normal, normal, normal;
will-change: transform, opacity;
contain: paint;
}
@keyframes tier_anim {
0% {
--x-0: 93%;
--y-0: 93%;
--s-start-0: 14.489998991212337%;
--s-end-0: 72%;
--c-0: hsla(212, 0%, 0%, 1);
--y-1: 9%;
--x-1: 26%;
--s-start-1: 0%;
--s-end-1: 45%;
--c-1: hsla(212, 0%, 0%, 1);
--s-start-2: 2.9253667596993065%;
--s-end-2: 22.388851682060018%;
--c-2: hsla(257, 91%, 27%, 0.35);
--x-2: 15%;
--y-2: 79%;
--s-start-3: 3.985353824694249%;
--s-end-3: 47.580278608924694%;
--c-3: hsla(212, 100%, 50%, 0.5);
--y-3: 104%;
--x-3: 40%;
--x-4: 0%;
--y-4: 60%;
--s-start-4: 2.391200382592061%;
--s-end-4: 29.307684556768592%;
--c-4: hsla(224, 72%, 36%, 1);
--s-start-5: 2.9253667596993065%;
--s-end-5: 22.388851682060018%;
--c-5: hsla(248, 52%, 24%, 1);
--y-5: 37%;
--x-5: 92%;
--s-start-6: 13.173642363290591%;
--s-end-6: 31.747336520355095%;
--c-6: hsla(212, 100%, 50%, 0.19);
--y-6: 16%;
--x-6: 101%;
--y-7: 13%;
--x-7: 90%;
--s-start-7: 1%;
--s-end-7: 31%;
--c-7: hsla(227, 98%, 53%, 1);
--s-start-8: 3.985353824694249%;
--s-end-8: 13.103042116379756%;
--c-8: hsla(166, 71%, 60%, 0.32);
--x-8: 104%;
--y-8: 56%;
--x-9: 97%;
--y-9: 19%;
--s-start-9: 18.597054544690312%;
--s-end-9: 31%;
--c-9: hsla(219, 83%, 23%, 0.18);
}
100% {
--x-0: 7%;
--y-0: 9%;
--s-start-0: 2.391200382592061%;
--s-end-0: 43.902064173373226%;
--c-0: hsla(306, 0%, 0%, 1);
--y-1: 93%;
--x-1: 96%;
--s-start-1: 9%;
--s-end-1: 54.805582404585024%;
--c-1: hsla(306, 0%, 0%, 1);
--s-start-2: 3%;
--s-end-2: 26.722813338714598%;
--c-2: hsla(166, 72%, 60%, 1);
--x-2: -2%;
--y-2: 103%;
--s-start-3: 2.391200382592061%;
--s-end-3: 32.0689540200964%;
--c-3: hsla(180, 100%, 50%, 0.26);
--y-3: 82%;
--x-3: 33%;
--x-4: 37%;
--y-4: 81%;
--s-start-4: 4.40642490323111%;
--s-end-4: 37.23528104246256%;
--c-4: hsla(212, 88%, 26%, 0.58);
--s-start-5: 3%;
--s-end-5: 32.537089799783296%;
--c-5: hsla(271, 98%, 53%, 0.31);
--y-5: 99%;
--x-5: 54%;
--s-start-6: 6%;
--s-end-6: 42.501105312974815%;
--c-6: hsla(262, 100%, 50%, 0.15);
--y-6: 43%;
--x-6: 104%;
--y-7: -16%;
--x-7: 104%;
--s-start-7: 5%;
--s-end-7: 13.10107024898374%;
--c-7: hsla(298, 36%, 23%, 1);
--s-start-8: 2.391200382592061%;
--s-end-8: 27.141813016850573%;
--c-8: hsla(180, 100%, 50%, 0.11);
--x-8: 97%;
--y-8: 30%;
--x-9: 78%;
--y-9: 4%;
--s-start-9: 5%;
--s-end-9: 21.32164536610654%;
--c-9: hsla(219, 83%, 23%, 0.59);
}
}
@property --x-0 {
syntax: '<percentage>';
inherits: false;
initial-value: 93%
}
@property --y-0 {
syntax: '<percentage>';
inherits: false;
initial-value: 93%
}
@property --s-start-0 {
syntax: '<percentage>';
inherits: false;
initial-value: 14.489998991212337%
}
@property --s-end-0 {
syntax: '<percentage>';
inherits: false;
initial-value: 72%
}
@property --c-0 {
syntax: '<color>';
inherits: false;
initial-value: hsla(212, 0%, 0%, 1)
}
@property --y-1 {
syntax: '<percentage>';
inherits: false;
initial-value: 9%
}
@property --x-1 {
syntax: '<percentage>';
inherits: false;
initial-value: 26%
}
@property --s-start-1 {
syntax: '<percentage>';
inherits: false;
initial-value: 0%
}
@property --s-end-1 {
syntax: '<percentage>';
inherits: false;
initial-value: 45%
}
@property --c-1 {
syntax: '<color>';
inherits: false;
initial-value: hsla(212, 0%, 0%, 1)
}
@property --s-start-2 {
syntax: '<percentage>';
inherits: false;
initial-value: 2.9253667596993065%
}
@property --s-end-2 {
syntax: '<percentage>';
inherits: false;
initial-value: 22.388851682060018%
}
@property --c-2 {
syntax: '<color>';
inherits: false;
initial-value: hsla(257, 91%, 27%, 0.35)
}
@property --x-2 {
syntax: '<percentage>';
inherits: false;
initial-value: 15%
}
@property --y-2 {
syntax: '<percentage>';
inherits: false;
initial-value: 79%
}
@property --s-start-3 {
syntax: '<percentage>';
inherits: false;
initial-value: 3.985353824694249%
}
@property --s-end-3 {
syntax: '<percentage>';
inherits: false;
initial-value: 47.580278608924694%
}
@property --c-3 {
syntax: '<color>';
inherits: false;
initial-value: hsla(212, 100%, 50%, 0.5)
}
@property --y-3 {
syntax: '<percentage>';
inherits: false;
initial-value: 104%
}
@property --x-3 {
syntax: '<percentage>';
inherits: false;
initial-value: 40%
}
@property --x-4 {
syntax: '<percentage>';
inherits: false;
initial-value: 0%
}
@property --y-4 {
syntax: '<percentage>';
inherits: false;
initial-value: 60%
}
@property --s-start-4 {
syntax: '<percentage>';
inherits: false;
initial-value: 2.391200382592061%
}
@property --s-end-4 {
syntax: '<percentage>';
inherits: false;
initial-value: 29.307684556768592%
}
@property --c-4 {
syntax: '<color>';
inherits: false;
initial-value: hsla(224, 72%, 36%, 1)
}
@property --s-start-5 {
syntax: '<percentage>';
inherits: false;
initial-value: 2.9253667596993065%
}
@property --s-end-5 {
syntax: '<percentage>';
inherits: false;
initial-value: 22.388851682060018%
}
@property --c-5 {
syntax: '<color>';
inherits: false;
initial-value: hsla(248, 52%, 24%, 1)
}
@property --y-5 {
syntax: '<percentage>';
inherits: false;
initial-value: 37%
}
@property --x-5 {
syntax: '<percentage>';
inherits: false;
initial-value: 92%
}
@property --s-start-6 {
syntax: '<percentage>';
inherits: false;
initial-value: 13.173642363290591%
}
@property --s-end-6 {
syntax: '<percentage>';
inherits: false;
initial-value: 31.747336520355095%
}
@property --c-6 {
syntax: '<color>';
inherits: false;
initial-value: hsla(212, 100%, 50%, 0.19)
}
@property --y-6 {
syntax: '<percentage>';
inherits: false;
initial-value: 16%
}
@property --x-6 {
syntax: '<percentage>';
inherits: false;
initial-value: 101%
}
@property --y-7 {
syntax: '<percentage>';
inherits: false;
initial-value: 13%
}
@property --x-7 {
syntax: '<percentage>';
inherits: false;
initial-value: 90%
}
@property --s-start-7 {
syntax: '<percentage>';
inherits: false;
initial-value: 1%
}
@property --s-end-7 {
syntax: '<percentage>';
inherits: false;
initial-value: 31%
}
@property --c-7 {
syntax: '<color>';
inherits: false;
initial-value: hsla(227, 98%, 53%, 1)
}
@property --s-start-8 {
syntax: '<percentage>';
inherits: false;
initial-value: 3.985353824694249%
}
@property --s-end-8 {
syntax: '<percentage>';
inherits: false;
initial-value: 13.103042116379756%
}
@property --c-8 {
syntax: '<color>';
inherits: false;
initial-value: hsla(166, 71%, 60%, 0.32)
}
@property --x-8 {
syntax: '<percentage>';
inherits: false;
initial-value: 104%
}
@property --y-8 {
syntax: '<percentage>';
inherits: false;
initial-value: 56%
}
@property --x-9 {
syntax: '<percentage>';
inherits: false;
initial-value: 97%
}
@property --y-9 {
syntax: '<percentage>';
inherits: false;
initial-value: 19%
}
@property --s-start-9 {
syntax: '<percentage>';
inherits: false;
initial-value: 18.597054544690312%
}
@property --s-end-9 {
syntax: '<percentage>';
inherits: false;
initial-value: 31%
}
@property --c-9 {
syntax: '<color>';
inherits: false;
initial-value: hsla(219, 83%, 23%, 0.18)
}