chattyness/apps/chattyness-owner/target/site/pkg/chattyness-owner.css

3543 lines
71 KiB
CSS

/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
:root, :host {
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--color-red-200: oklch(88.5% .062 18.334);
--color-red-300: oklch(80.8% .114 19.571);
--color-red-400: oklch(70.4% .191 22.216);
--color-red-500: oklch(63.7% .237 25.331);
--color-red-600: oklch(57.7% .245 27.325);
--color-red-700: oklch(50.5% .213 27.518);
--color-red-800: oklch(44.4% .177 26.899);
--color-red-900: oklch(39.6% .141 25.723);
--color-orange-600: oklch(64.6% .222 41.116);
--color-yellow-300: oklch(90.5% .182 98.111);
--color-yellow-400: oklch(85.2% .199 91.936);
--color-yellow-500: oklch(79.5% .184 86.047);
--color-yellow-600: oklch(68.1% .162 75.834);
--color-green-200: oklch(92.5% .084 155.995);
--color-green-400: oklch(79.2% .209 151.711);
--color-green-500: oklch(72.3% .219 149.579);
--color-green-600: oklch(62.7% .194 149.214);
--color-green-900: oklch(39.3% .095 152.535);
--color-blue-300: oklch(80.9% .105 251.813);
--color-blue-400: oklch(70.7% .165 254.624);
--color-blue-500: oklch(62.3% .214 259.815);
--color-blue-600: oklch(54.6% .245 262.881);
--color-blue-700: oklch(48.8% .243 264.376);
--color-purple-400: oklch(71.4% .203 305.504);
--color-gray-300: oklch(87.2% .01 258.338);
--color-gray-400: oklch(70.7% .022 261.325);
--color-gray-500: oklch(55.1% .027 264.364);
--color-gray-600: oklch(44.6% .03 256.802);
--color-gray-700: oklch(37.3% .034 259.733);
--color-gray-800: oklch(27.8% .033 256.848);
--color-gray-900: oklch(21% .034 264.665);
--color-black: #000;
--color-white: #fff;
--spacing: .25rem;
--container-md: 28rem;
--container-lg: 32rem;
--container-2xl: 42rem;
--container-4xl: 56rem;
--container-7xl: 80rem;
--text-xs: .75rem;
--text-xs--line-height: calc(1 / .75);
--text-sm: .875rem;
--text-sm--line-height: calc(1.25 / .875);
--text-lg: 1.125rem;
--text-lg--line-height: calc(1.75 / 1.125);
--text-xl: 1.25rem;
--text-xl--line-height: calc(1.75 / 1.25);
--text-2xl: 1.5rem;
--text-2xl--line-height: calc(2 / 1.5);
--text-3xl: 1.875rem;
--text-3xl--line-height: calc(2.25 / 1.875);
--text-4xl: 2.25rem;
--text-4xl--line-height: calc(2.5 / 2.25);
--text-6xl: 3.75rem;
--text-6xl--line-height: 1;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--radius-md: .375rem;
--radius-lg: .5rem;
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
--blur-sm: 8px;
--aspect-video: 16 / 9;
--default-transition-duration: .15s;
--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
--default-font-family: var(--font-sans);
--default-mono-font-family: var(--font-mono);
}
}
@layer base {
*, :after, :before, ::backdrop, ::file-selector-button {
box-sizing: border-box;
margin: 0;
padding: 0;
border: 0 solid;
}
html, :host {
line-height: 1.5;
-webkit-text-size-adjust: 100%;
tab-size: 4;
font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
font-feature-settings: var(--default-font-feature-settings, normal);
font-variation-settings: var(--default-font-variation-settings, normal);
-webkit-tap-highlight-color: transparent;
}
hr {
height: 0;
color: inherit;
border-top-width: 1px;
}
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: inherit;
}
a {
color: inherit;
-webkit-text-decoration: inherit;
text-decoration: inherit;
}
b, strong {
font-weight: bolder;
}
code, kbd, samp, pre {
font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
font-feature-settings: var(--default-mono-font-feature-settings, normal);
font-variation-settings: var(--default-mono-font-variation-settings, normal);
font-size: 1em;
}
small {
font-size: 80%;
}
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
table {
text-indent: 0;
border-color: inherit;
border-collapse: collapse;
}
:-moz-focusring {
outline: auto;
}
progress {
vertical-align: baseline;
}
summary {
display: list-item;
}
ol, ul, menu {
list-style: none;
}
img, svg, video, canvas, audio, iframe, embed, object {
display: block;
vertical-align: middle;
}
img, video {
max-width: 100%;
height: auto;
}
button, input, select, optgroup, textarea, ::file-selector-button {
font: inherit;
font-feature-settings: inherit;
font-variation-settings: inherit;
letter-spacing: inherit;
color: inherit;
border-radius: 0;
background-color: rgba(0, 0, 0, 0);
opacity: 1;
}
:where(select:is([multiple], [size])) optgroup {
font-weight: bolder;
}
:where(select:is([multiple], [size])) optgroup option {
padding-inline-start: 20px;
}
::file-selector-button {
margin-inline-end: 4px;
}
::placeholder {
opacity: 1;
}
@supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
::placeholder {
color: currentColor;
}
@supports (color: color-mix(in lab, red, red)) {
::placeholder {
color: color-mix(in oklab, currentcolor 50%, transparent);
}
}
}
textarea {
resize: vertical;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-date-and-time-value {
min-height: 1lh;
text-align: inherit;
}
::-webkit-datetime-edit {
display: inline-flex;
}
::-webkit-datetime-edit-fields-wrapper {
padding: 0;
}
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
padding-block: 0;
}
:-moz-ui-invalid {
box-shadow: none;
}
button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
appearance: button;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
height: auto;
}
[hidden]:where(:not([hidden="until-found"])) {
display: none !important;
}
}
@layer utilities {
.pointer-events-none {
pointer-events: none;
}
.collapse {
visibility: collapse;
}
.invisible {
visibility: hidden;
}
.visible {
visibility: visible;
}
.absolute {
position: absolute;
}
.fixed {
position: fixed;
}
.fixed\! {
position: fixed !important;
}
.relative {
position: relative;
}
.static {
position: static;
}
.sticky {
position: sticky;
}
.inset-0 {
inset: calc(var(--spacing) * 0);
}
.inset-y-0 {
inset-block: calc(var(--spacing) * 0);
}
.end-1 {
inset-inline-end: calc(var(--spacing) * 1);
}
.end-2 {
inset-inline-end: calc(var(--spacing) * 2);
}
.end-3 {
inset-inline-end: calc(var(--spacing) * 3);
}
.end-5 {
inset-inline-end: calc(var(--spacing) * 5);
}
.end-9 {
inset-inline-end: calc(var(--spacing) * 9);
}
.end-10 {
inset-inline-end: calc(var(--spacing) * 10);
}
.end-32 {
inset-inline-end: calc(var(--spacing) * 32);
}
.end-88 {
inset-inline-end: calc(var(--spacing) * 88);
}
.top-2 {
top: calc(var(--spacing) * 2);
}
.top-4 {
top: calc(var(--spacing) * 4);
}
.top-10 {
top: calc(var(--spacing) * 10);
}
.right-0 {
right: calc(var(--spacing) * 0);
}
.right-2 {
right: calc(var(--spacing) * 2);
}
.right-4 {
right: calc(var(--spacing) * 4);
}
.bottom-0 {
bottom: calc(var(--spacing) * 0);
}
.bottom-2 {
bottom: calc(var(--spacing) * 2);
}
.left-0 {
left: calc(var(--spacing) * 0);
}
.left-1 {
left: calc(var(--spacing) * 1);
}
.left-2 {
left: calc(var(--spacing) * 2);
}
.isolate {
isolation: isolate;
}
.z-4 {
z-index: 4;
}
.z-50 {
z-index: 50;
}
.col-span-2 {
grid-column: span 2 / span 2;
}
.container {
width: 100%;
}
@media (width >= 40rem) {
.container {
max-width: 40rem;
}
}
@media (width >= 48rem) {
.container {
max-width: 48rem;
}
}
@media (width >= 64rem) {
.container {
max-width: 64rem;
}
}
@media (width >= 80rem) {
.container {
max-width: 80rem;
}
}
@media (width >= 96rem) {
.container {
max-width: 96rem;
}
}
.mx-4 {
margin-inline: calc(var(--spacing) * 4);
}
.mx-auto {
margin-inline: auto;
}
.mt-1 {
margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
margin-top: calc(var(--spacing) * 2);
}
.mt-4 {
margin-top: calc(var(--spacing) * 4);
}
.mt-6 {
margin-top: calc(var(--spacing) * 6);
}
.mr-2 {
margin-right: calc(var(--spacing) * 2);
}
.mb-1 {
margin-bottom: calc(var(--spacing) * 1);
}
.mb-2 {
margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
margin-bottom: calc(var(--spacing) * 3);
}
.mb-4 {
margin-bottom: calc(var(--spacing) * 4);
}
.mb-6 {
margin-bottom: calc(var(--spacing) * 6);
}
.mb-8 {
margin-bottom: calc(var(--spacing) * 8);
}
.mb-16 {
margin-bottom: calc(var(--spacing) * 16);
}
.ml-1 {
margin-left: calc(var(--spacing) * 1);
}
.ml-2 {
margin-left: calc(var(--spacing) * 2);
}
.ml-6 {
margin-left: calc(var(--spacing) * 6);
}
.ml-auto {
margin-left: auto;
}
.block {
display: block;
}
.block\! {
display: block !important;
}
.contents {
display: contents;
}
.flex {
display: flex;
}
.grid {
display: grid;
}
.grid\! {
display: grid !important;
}
.hidden {
display: none;
}
.inline {
display: inline;
}
.inline-block {
display: inline-block;
}
.inline-flex {
display: inline-flex;
}
.table {
display: table;
}
.table\! {
display: table !important;
}
.table-row {
display: table-row;
}
.aspect-video {
aspect-ratio: var(--aspect-video);
}
.size-1 {
width: calc(var(--spacing) * 1);
height: calc(var(--spacing) * 1);
}
.h-1 {
height: calc(var(--spacing) * 1);
}
.h-2 {
height: calc(var(--spacing) * 2);
}
.h-4 {
height: calc(var(--spacing) * 4);
}
.h-6 {
height: calc(var(--spacing) * 6);
}
.h-8 {
height: calc(var(--spacing) * 8);
}
.h-10 {
height: calc(var(--spacing) * 10);
}
.h-12 {
height: calc(var(--spacing) * 12);
}
.h-16 {
height: calc(var(--spacing) * 16);
}
.h-20 {
height: calc(var(--spacing) * 20);
}
.h-32 {
height: calc(var(--spacing) * 32);
}
.h-64 {
height: calc(var(--spacing) * 64);
}
.h-auto {
height: auto;
}
.h-full {
height: 100%;
}
.max-h-32 {
max-height: calc(var(--spacing) * 32);
}
.max-h-48 {
max-height: calc(var(--spacing) * 48);
}
.max-h-64 {
max-height: calc(var(--spacing) * 64);
}
.min-h-\[50vh\] {
min-height: 50vh;
}
.min-h-screen {
min-height: 100vh;
}
.w-3 {
width: calc(var(--spacing) * 3);
}
.w-4 {
width: calc(var(--spacing) * 4);
}
.w-6 {
width: calc(var(--spacing) * 6);
}
.w-8 {
width: calc(var(--spacing) * 8);
}
.w-10 {
width: calc(var(--spacing) * 10);
}
.w-12 {
width: calc(var(--spacing) * 12);
}
.w-16 {
width: calc(var(--spacing) * 16);
}
.w-20 {
width: calc(var(--spacing) * 20);
}
.w-24 {
width: calc(var(--spacing) * 24);
}
.w-64 {
width: calc(var(--spacing) * 64);
}
.w-full {
width: 100%;
}
.max-w-2xl {
max-width: var(--container-2xl);
}
.max-w-4xl {
max-width: var(--container-4xl);
}
.max-w-7xl {
max-width: var(--container-7xl);
}
.max-w-lg {
max-width: var(--container-lg);
}
.max-w-md {
max-width: var(--container-md);
}
.flex-1 {
flex: 1;
}
.shrink {
flex-shrink: 1;
}
.grow {
flex-grow: 1;
}
.border-collapse {
border-collapse: collapse;
}
.scale-19 {
--tw-scale-x: 19%;
--tw-scale-y: 19%;
--tw-scale-z: 19%;
scale: var(--tw-scale-x) var(--tw-scale-y);
}
.scale-21 {
--tw-scale-x: 21%;
--tw-scale-y: 21%;
--tw-scale-z: 21%;
scale: var(--tw-scale-x) var(--tw-scale-y);
}
.transform {
transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
}
.cursor-crosshair {
cursor: crosshair;
}
.cursor-not-allowed {
cursor: not-allowed;
}
.cursor-pointer {
cursor: pointer;
}
.resize {
resize: both;
}
.resize-y {
resize: vertical;
}
.appearance-none {
appearance: none;
}
.grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-col {
flex-direction: column;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.items-start {
align-items: flex-start;
}
.justify-between {
justify-content: space-between;
}
.justify-center {
justify-content: center;
}
.gap-1 {
gap: calc(var(--spacing) * 1);
}
.gap-2 {
gap: calc(var(--spacing) * 2);
}
.gap-3 {
gap: calc(var(--spacing) * 3);
}
.gap-4 {
gap: calc(var(--spacing) * 4);
}
.gap-6 {
gap: calc(var(--spacing) * 6);
}
.gap-8 {
gap: calc(var(--spacing) * 8);
}
:where(.space-y-2 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-y-3 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-y-4 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-y-6 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.space-x-2 > :not(:last-child)) {
--tw-space-x-reverse: 0;
margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
}
:where(.space-x-3 > :not(:last-child)) {
--tw-space-x-reverse: 0;
margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
}
:where(.space-x-4 > :not(:last-child)) {
--tw-space-x-reverse: 0;
margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
}
.truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.overflow-auto {
overflow: auto;
}
.overflow-hidden {
overflow: hidden;
}
.overflow-y-auto {
overflow-y: auto;
}
.rounded {
border-radius: .25rem;
}
.rounded-full {
border-radius: 3.40282e38px;
}
.rounded-lg {
border-radius: var(--radius-lg);
}
.rounded-md {
border-radius: var(--radius-md);
}
.border {
border-style: var(--tw-border-style);
border-width: 1px;
}
.border\! {
border-style: var(--tw-border-style) !important;
border-width: 1px !important;
}
.border-0 {
border-style: var(--tw-border-style);
border-width: 0;
}
.border-2 {
border-style: var(--tw-border-style);
border-width: 2px;
}
.border-t {
border-top-style: var(--tw-border-style);
border-top-width: 1px;
}
.border-r {
border-right-style: var(--tw-border-style);
border-right-width: 1px;
}
.border-b {
border-bottom-style: var(--tw-border-style);
border-bottom-width: 1px;
}
.border-blue-500 {
border-color: var(--color-blue-500);
}
.border-gray-500\/50 {
border-color: rgba(106, 114, 130, .5);
}
@supports (color: color-mix(in lab, red, red)) {
.border-gray-500\/50 {
border-color: color-mix(in oklab, var(--color-gray-500) 50%, transparent);
}
}
.border-gray-600 {
border-color: var(--color-gray-600);
}
.border-gray-700 {
border-color: var(--color-gray-700);
}
.border-green-500 {
border-color: var(--color-green-500);
}
.border-green-500\/50 {
border-color: rgba(0, 199, 88, .5);
}
@supports (color: color-mix(in lab, red, red)) {
.border-green-500\/50 {
border-color: color-mix(in oklab, var(--color-green-500) 50%, transparent);
}
}
.border-red-800 {
border-color: var(--color-red-800);
}
.border-transparent {
border-color: rgba(0, 0, 0, 0);
}
.border-white {
border-color: var(--color-white);
}
.bg-black\/70 {
background-color: rgba(0, 0, 0, .7);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-black\/70 {
background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
}
}
.bg-blue-500\/10 {
background-color: rgba(48, 128, 255, .1);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-blue-500\/10 {
background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
}
}
.bg-blue-500\/30 {
background-color: rgba(48, 128, 255, .3);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-blue-500\/30 {
background-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
}
}
.bg-blue-600 {
background-color: var(--color-blue-600);
}
.bg-blue-600\/20 {
background-color: rgba(21, 93, 252, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-blue-600\/20 {
background-color: color-mix(in oklab, var(--color-blue-600) 20%, transparent);
}
}
.bg-gray-500\/20 {
background-color: rgba(106, 114, 130, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-gray-500\/20 {
background-color: color-mix(in oklab, var(--color-gray-500) 20%, transparent);
}
}
.bg-gray-600 {
background-color: var(--color-gray-600);
}
.bg-gray-700 {
background-color: var(--color-gray-700);
}
.bg-gray-800 {
background-color: var(--color-gray-800);
}
.bg-gray-900 {
background-color: var(--color-gray-900);
}
.bg-green-500 {
background-color: var(--color-green-500);
}
.bg-green-500\/20 {
background-color: rgba(0, 199, 88, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-green-500\/20 {
background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
}
}
.bg-green-600 {
background-color: var(--color-green-600);
}
.bg-green-900\/50 {
background-color: rgba(13, 84, 43, .5);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-green-900\/50 {
background-color: color-mix(in oklab, var(--color-green-900) 50%, transparent);
}
}
.bg-orange-600 {
background-color: var(--color-orange-600);
}
.bg-red-600 {
background-color: var(--color-red-600);
}
.bg-red-900\/20 {
background-color: rgba(130, 24, 26, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-red-900\/20 {
background-color: color-mix(in oklab, var(--color-red-900) 20%, transparent);
}
}
.bg-transparent {
background-color: rgba(0, 0, 0, 0);
}
.bg-yellow-500 {
background-color: var(--color-yellow-500);
}
.bg-yellow-600\/20 {
background-color: rgba(205, 137, 0, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.bg-yellow-600\/20 {
background-color: color-mix(in oklab, var(--color-yellow-600) 20%, transparent);
}
}
.bg-gradient-to-t {
--tw-gradient-position: to top in oklab;
background-image: linear-gradient(var(--tw-gradient-stops));
}
.from-black\/70 {
--tw-gradient-from: rgba(0, 0, 0, .7);
}
@supports (color: color-mix(in lab, red, red)) {
.from-black\/70 {
--tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
}
}
.from-black\/70 {
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-transparent {
--tw-gradient-to: transparent;
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.object-cover {
object-fit: cover;
}
.p-1 {
padding: calc(var(--spacing) * 1);
}
.p-2 {
padding: calc(var(--spacing) * 2);
}
.p-3 {
padding: calc(var(--spacing) * 3);
}
.p-4 {
padding: calc(var(--spacing) * 4);
}
.p-6 {
padding: calc(var(--spacing) * 6);
}
.p-8 {
padding: calc(var(--spacing) * 8);
}
.px-2 {
padding-inline: calc(var(--spacing) * 2);
}
.px-3 {
padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
padding-inline: calc(var(--spacing) * 4);
}
.px-6 {
padding-inline: calc(var(--spacing) * 6);
}
.px-8 {
padding-inline: calc(var(--spacing) * 8);
}
.py-0\.5 {
padding-block: calc(var(--spacing) * .5);
}
.py-1 {
padding-block: calc(var(--spacing) * 1);
}
.py-2 {
padding-block: calc(var(--spacing) * 2);
}
.py-3 {
padding-block: calc(var(--spacing) * 3);
}
.py-4 {
padding-block: calc(var(--spacing) * 4);
}
.py-8 {
padding-block: calc(var(--spacing) * 8);
}
.py-16 {
padding-block: calc(var(--spacing) * 16);
}
.pt-4 {
padding-top: calc(var(--spacing) * 4);
}
.pl-3 {
padding-left: calc(var(--spacing) * 3);
}
.pl-6 {
padding-left: calc(var(--spacing) * 6);
}
.text-center {
text-align: center;
}
.text-left {
text-align: left;
}
.font-mono {
font-family: var(--font-mono);
}
.text-2xl {
font-size: var(--text-2xl);
line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl {
font-size: var(--text-3xl);
line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-4xl {
font-size: var(--text-4xl);
line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-lg {
font-size: var(--text-lg);
line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
font-size: var(--text-sm);
line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
font-size: var(--text-xl);
line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
font-size: var(--text-xs);
line-height: var(--tw-leading, var(--text-xs--line-height));
}
.leading-0 {
--tw-leading: calc(var(--spacing) * 0);
line-height: calc(var(--spacing) * 0);
}
.font-bold {
--tw-font-weight: var(--font-weight-bold);
font-weight: var(--font-weight-bold);
}
.font-medium {
--tw-font-weight: var(--font-weight-medium);
font-weight: var(--font-weight-medium);
}
.font-semibold {
--tw-font-weight: var(--font-weight-semibold);
font-weight: var(--font-weight-semibold);
}
.text-blue-400 {
color: var(--color-blue-400);
}
.text-blue-500 {
color: var(--color-blue-500);
}
.text-gray-300 {
color: var(--color-gray-300);
}
.text-gray-400 {
color: var(--color-gray-400);
}
.text-gray-500 {
color: var(--color-gray-500);
}
.text-green-200 {
color: var(--color-green-200);
}
.text-green-400 {
color: var(--color-green-400);
}
.text-purple-400 {
color: var(--color-purple-400);
}
.text-red-300 {
color: var(--color-red-300);
}
.text-red-400 {
color: var(--color-red-400);
}
.text-white {
color: var(--color-white);
}
.text-yellow-400 {
color: var(--color-yellow-400);
}
.capitalize {
text-transform: capitalize;
}
.lowercase {
text-transform: lowercase;
}
.uppercase {
text-transform: uppercase;
}
.italic {
font-style: italic;
}
.ordinal {
--tw-ordinal: ordinal;
font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
}
.line-through {
text-decoration-line: line-through;
}
.underline {
text-decoration-line: underline;
}
.antialiased {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.accent-blue-500 {
accent-color: var(--color-blue-500);
}
.opacity-50 {
opacity: .5;
}
.shadow {
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-2xl {
--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgba(0, 0, 0, .25));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-xl {
--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 8px 10px -6px var(--tw-shadow-color, rgba(0, 0, 0, .1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring-2 {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring-blue-500 {
--tw-ring-color: var(--color-blue-500);
}
.ring-offset-2 {
--tw-ring-offset-width: 2px;
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
}
.ring-offset-gray-800 {
--tw-ring-offset-color: var(--color-gray-800);
}
.outline {
outline-style: var(--tw-outline-style);
outline-width: 1px;
}
.blur {
--tw-blur: blur(8px);
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
}
.grayscale {
--tw-grayscale: grayscale(100%);
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
}
.invert {
--tw-invert: invert(100%);
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
}
.filter {
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
}
.backdrop-blur-sm {
--tw-backdrop-blur: blur(var(--blur-sm));
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
}
.transition {
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-all {
transition-property: all;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-colors {
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-transform {
transition-property: transform, translate, scale, rotate;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.select-all {
-webkit-user-select: all;
user-select: all;
}
.select-none {
-webkit-user-select: none;
user-select: none;
}
.\[bad-link\:0\] {
bad-link: 0;
}
.\[driver\:nssock\] {
driver: nssock;
}
.\[hexley\:Tcl\/build\/tcl\] {
hexley: Tcl / build / tcl;
}
.\[hexley\:Tcl\/tk8\.5\.4\/macosx\] {
hexley: Tcl / tk8.5.4 / macosx;
}
.\[localhost\:\~\/Desktop\/c84bcopy\] {
localhost: ~ / Desktop / c84bcopy;
}
.\[localhost\:\~\/desktop\/c84bcopy\] {
localhost: ~ / desktop / c84bcopy;
}
.\[log\:log\] {
log: log;
}
.\[mailto\:eric\.tse\@intel\.com\] {
mailto: eric. tse@intel. com;
}
.\[mailto\:hlavana\@cisco\.com\] {
mailto: hlavana@cisco. com;
}
.\[mailto\:tcl-win-admin\@lists\.sourceforge\.net\] {
mailto: tcl-win-admin@lists. sourceforge. net;
}
.\[rowen\:\~\/tk8\.4\.6\/unix\] {
rowen: ~ / tk8.4.6 / unix;
}
.\[tk\:chooseColor\] {
tk: chooseColor;
}
.\[ttk\:PanedWindow\] {
ttk: PanedWindow;
}
.\[ttk\:PannedWindow\] {
ttk: PannedWindow;
}
.\[tz\:gettime\] {
tz: gettime;
}
@media (hover: hover) {
.group-hover\:text-blue-400:is(:where(.group):hover *) {
color: var(--color-blue-400);
}
}
@media (hover: hover) {
.hover\:scale-110:hover {
--tw-scale-x: 110%;
--tw-scale-y: 110%;
--tw-scale-z: 110%;
scale: var(--tw-scale-x) var(--tw-scale-y);
}
}
@media (hover: hover) {
.hover\:border-gray-500:hover {
border-color: var(--color-gray-500);
}
}
@media (hover: hover) {
.hover\:border-gray-600:hover {
border-color: var(--color-gray-600);
}
}
@media (hover: hover) {
.hover\:bg-blue-700:hover {
background-color: var(--color-blue-700);
}
}
@media (hover: hover) {
.hover\:bg-gray-600:hover {
background-color: var(--color-gray-600);
}
}
@media (hover: hover) {
.hover\:bg-gray-700:hover {
background-color: var(--color-gray-700);
}
}
@media (hover: hover) {
.hover\:bg-gray-700\/50:hover {
background-color: rgba(54, 65, 83, .5);
}
@supports (color: color-mix(in lab, red, red)) {
.hover\:bg-gray-700\/50:hover {
background-color: color-mix(in oklab, var(--color-gray-700) 50%, transparent);
}
}
}
@media (hover: hover) {
.hover\:bg-green-500\/30:hover {
background-color: rgba(0, 199, 88, .3);
}
@supports (color: color-mix(in lab, red, red)) {
.hover\:bg-green-500\/30:hover {
background-color: color-mix(in oklab, var(--color-green-500) 30%, transparent);
}
}
}
@media (hover: hover) {
.hover\:bg-red-700:hover {
background-color: var(--color-red-700);
}
}
@media (hover: hover) {
.hover\:bg-red-900\/20:hover {
background-color: rgba(130, 24, 26, .2);
}
@supports (color: color-mix(in lab, red, red)) {
.hover\:bg-red-900\/20:hover {
background-color: color-mix(in oklab, var(--color-red-900) 20%, transparent);
}
}
}
@media (hover: hover) {
.hover\:text-blue-300:hover {
color: var(--color-blue-300);
}
}
@media (hover: hover) {
.hover\:text-blue-400:hover {
color: var(--color-blue-400);
}
}
@media (hover: hover) {
.hover\:text-red-300:hover {
color: var(--color-red-300);
}
}
@media (hover: hover) {
.hover\:text-white:hover {
color: var(--color-white);
}
}
@media (hover: hover) {
.hover\:text-yellow-300:hover {
color: var(--color-yellow-300);
}
}
@media (hover: hover) {
.hover\:underline:hover {
text-decoration-line: underline;
}
}
@media (hover: hover) {
.hover\:opacity-80:hover {
opacity: .8;
}
}
@media (hover: hover) {
.hover\:ring-2:hover {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
}
@media (hover: hover) {
.hover\:ring-blue-500:hover {
--tw-ring-color: var(--color-blue-500);
}
}
.focus\:ring-2:focus {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.focus\:ring-blue-500:focus {
--tw-ring-color: var(--color-blue-500);
}
.disabled\:cursor-not-allowed:disabled {
cursor: not-allowed;
}
.disabled\:opacity-50:disabled {
opacity: .5;
}
@media (width >= 40rem) {
.sm\:flex-row {
flex-direction: row;
}
}
@media (width >= 40rem) {
.sm\:px-6 {
padding-inline: calc(var(--spacing) * 6);
}
}
@media (width >= 48rem) {
.md\:mt-0 {
margin-top: calc(var(--spacing) * 0);
}
}
@media (width >= 48rem) {
.md\:grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (width >= 48rem) {
.md\:grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (width >= 48rem) {
.md\:grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
@media (width >= 48rem) {
.md\:flex-row {
flex-direction: row;
}
}
@media (width >= 48rem) {
.md\:text-6xl {
font-size: var(--text-6xl);
line-height: var(--tw-leading, var(--text-6xl--line-height));
}
}
@media (width >= 64rem) {
.lg\:col-span-2 {
grid-column: span 2 / span 2;
}
}
@media (width >= 64rem) {
.lg\:grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (width >= 64rem) {
.lg\:px-8 {
padding-inline: calc(var(--spacing) * 8);
}
}
}
:root {
--color-text-primary: #fff;
--color-text-secondary: #9ca3af;
--color-text-muted: #6b7280;
--color-text-error: #ef4444;
--color-text-success: #22c55e;
--color-text-warning: #f59e0b;
--color-text-info: #3b82f6;
--color-bg-primary: #111827;
--color-bg-secondary: #1f2937;
--color-bg-tertiary: #374151;
--color-bg-hover: #374151;
--color-border: #374151;
--color-border-focus: #6366f1;
--color-accent: #6366f1;
--color-accent-hover: #4f46e5;
--color-accent-text: #fff;
--color-status-active: #22c55e;
--color-status-suspended: #f59e0b;
--color-status-banned: #ef4444;
--color-status-pending: #8b5cf6;
--color-status-inactive: #6b7280;
--color-role-owner: #f59e0b;
--color-role-admin: #ef4444;
--color-role-moderator: #8b5cf6;
--color-role-member: #3b82f6;
--color-role-guest: #6b7280;
--color-privacy-public: #22c55e;
--color-privacy-unlisted: #f59e0b;
--color-privacy-private: #ef4444;
--spacing-xs: .25rem;
--spacing-sm: .5rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--radius-sm: .25rem;
--radius-md: .5rem;
--radius-lg: .75rem;
--radius-full: 9999px;
--font-xs: .75rem;
--font-sm: .875rem;
--font-base: 1rem;
--font-lg: 1.125rem;
--font-xl: 1.25rem;
--font-2xl: 1.5rem;
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);
--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);
--transition-fast: .15s;
--transition-base: .2s;
--transition-slow: .3s;
}
* {
box-sizing: border-box;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--spacing-sm);
padding: var(--spacing-sm) var(--spacing-lg);
font-size: var(--font-sm);
font-weight: 500;
border-radius: var(--radius-md);
border: 1px solid rgba(0, 0, 0, 0);
cursor: pointer;
transition: all var(--transition-base);
text-decoration: none;
}
.btn:disabled, .btn-disabled {
opacity: .5;
cursor: not-allowed;
}
.btn-primary {
background-color: var(--color-accent);
color: var(--color-accent-text);
}
.btn-primary:hover:not(:disabled) {
background-color: var(--color-accent-hover);
}
.btn-secondary {
background-color: var(--color-bg-tertiary);
color: var(--color-text-primary);
border-color: var(--color-border);
}
.btn-secondary:hover:not(:disabled) {
background-color: var(--color-bg-hover);
}
.btn-danger {
background-color: var(--color-status-banned);
color: #fff;
}
.btn-danger:hover:not(:disabled) {
opacity: .9;
}
.btn-warning {
background-color: var(--color-status-suspended);
color: #fff;
}
.btn-warning:hover:not(:disabled) {
opacity: .9;
}
.form-group {
display: flex;
flex-direction: column;
gap: var(--spacing-xs);
}
.form-row {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-md);
}
.form-row > .form-group {
flex: 1;
min-width: 200px;
}
.form-label {
font-size: var(--font-sm);
font-weight: 500;
color: var(--color-text-primary);
}
.required-mark {
color: var(--color-text-error);
margin-left: var(--spacing-xs);
}
.form-input, .form-select, .form-textarea {
width: 100%;
padding: var(--spacing-sm) var(--spacing-md);
font-size: var(--font-base);
color: var(--color-text-primary);
background-color: var(--color-bg-tertiary);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: border-color var(--transition-fast);
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
outline: none;
border-color: var(--color-border-focus);
box-shadow: 0 0 0 2px rgba(99, 102, 241, .2);
}
.form-input::placeholder, .form-textarea::placeholder {
color: var(--color-text-muted);
}
.form-textarea {
resize: vertical;
min-height: 100px;
}
.form-color {
width: 100px;
height: 40px;
padding: 2px;
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
background: var(--color-bg-tertiary);
}
.form-help {
font-size: var(--font-xs);
color: var(--color-text-muted);
}
.checkbox-group {
display: flex;
flex-direction: column;
}
.checkbox-label {
display: flex;
align-items: flex-start;
gap: var(--spacing-sm);
cursor: pointer;
}
.form-checkbox {
width: 1rem;
height: 1rem;
margin-top: 2px;
accent-color: var(--color-accent);
}
.checkbox-text {
display: flex;
flex-direction: column;
color: var(--color-text-primary);
}
.checkbox-description {
font-size: var(--font-sm);
color: var(--color-text-muted);
}
.form-actions {
display: flex;
gap: var(--spacing-md);
margin-top: var(--spacing-lg);
}
.search-box {
display: flex;
gap: var(--spacing-sm);
}
.search-input {
flex: 1;
}
.card {
background-color: var(--color-bg-secondary);
border-radius: var(--radius-lg);
padding: var(--spacing-lg);
box-shadow: var(--shadow-md);
}
.card-title {
font-size: var(--font-xl);
font-weight: 600;
color: var(--color-text-primary);
margin-bottom: var(--spacing-lg);
}
.page-header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
gap: var(--spacing-md);
margin-bottom: var(--spacing-xl);
}
.page-header-text {
flex: 1;
}
.page-title {
font-size: var(--font-2xl);
font-weight: 700;
color: var(--color-text-primary);
margin: 0;
}
.page-subtitle {
font-size: var(--font-base);
color: var(--color-text-secondary);
margin: var(--spacing-xs) 0 0 0;
}
.page-header-actions {
display: flex;
gap: var(--spacing-sm);
}
.alert {
padding: var(--spacing-md);
border-radius: var(--radius-md);
margin-bottom: var(--spacing-md);
}
.alert p {
margin: 0;
}
.alert-error {
background-color: rgba(239, 68, 68, .1);
border: 1px solid var(--color-text-error);
color: var(--color-text-error);
}
.alert-success {
background-color: rgba(34, 197, 94, .1);
border: 1px solid var(--color-text-success);
color: var(--color-text-success);
}
.alert-warning {
background-color: rgba(245, 158, 11, .1);
border: 1px solid var(--color-text-warning);
color: var(--color-text-warning);
}
.alert-info {
background-color: rgba(59, 130, 246, .1);
border: 1px solid var(--color-text-info);
color: var(--color-text-info);
}
.status-badge, .role-badge, .privacy-badge, .badge, .nsfw-badge {
display: inline-flex;
align-items: center;
padding: var(--spacing-xs) var(--spacing-sm);
font-size: var(--font-xs);
font-weight: 500;
border-radius: var(--radius-full);
text-transform: capitalize;
}
.status-active {
background-color: rgba(34, 197, 94, .2);
color: var(--color-status-active);
}
.status-suspended {
background-color: rgba(245, 158, 11, .2);
color: var(--color-status-suspended);
}
.status-banned {
background-color: rgba(239, 68, 68, .2);
color: var(--color-status-banned);
}
.status-pending {
background-color: rgba(139, 92, 246, .2);
color: var(--color-status-pending);
}
.status-inactive {
background-color: rgba(107, 114, 128, .2);
color: var(--color-status-inactive);
}
.role-owner {
background-color: rgba(245, 158, 11, .2);
color: var(--color-role-owner);
}
.role-admin {
background-color: rgba(239, 68, 68, .2);
color: var(--color-role-admin);
}
.role-moderator {
background-color: rgba(139, 92, 246, .2);
color: var(--color-role-moderator);
}
.role-member {
background-color: rgba(59, 130, 246, .2);
color: var(--color-role-member);
}
.role-guest {
background-color: rgba(107, 114, 128, .2);
color: var(--color-role-guest);
}
.privacy-public {
background-color: rgba(34, 197, 94, .2);
color: var(--color-privacy-public);
}
.privacy-unlisted {
background-color: rgba(245, 158, 11, .2);
color: var(--color-privacy-unlisted);
}
.privacy-private {
background-color: rgba(239, 68, 68, .2);
color: var(--color-privacy-private);
}
.badge-primary {
background-color: rgba(99, 102, 241, .2);
color: var(--color-accent);
}
.badge-secondary {
background-color: rgba(107, 114, 128, .2);
color: var(--color-text-secondary);
}
.badge-success {
background-color: rgba(34, 197, 94, .2);
color: var(--color-text-success);
}
.badge-warning {
background-color: rgba(245, 158, 11, .2);
color: var(--color-text-warning);
}
.badge-error {
background-color: rgba(239, 68, 68, .2);
color: var(--color-text-error);
}
.nsfw-badge {
background-color: rgba(239, 68, 68, .2);
color: var(--color-status-banned);
text-transform: uppercase;
}
.table-container {
overflow-x: auto;
}
.data-table {
width: 100%;
border-collapse: collapse;
}
.data-table th, .data-table td {
padding: var(--spacing-sm) var(--spacing-md);
text-align: left;
border-bottom: 1px solid var(--color-border);
}
.data-table th {
font-size: var(--font-sm);
font-weight: 600;
color: var(--color-text-secondary);
background-color: var(--color-bg-tertiary);
}
.data-table td {
font-size: var(--font-sm);
color: var(--color-text-primary);
}
.data-table tbody tr:hover {
background-color: var(--color-bg-hover);
}
.table-row-clickable {
cursor: pointer;
}
.table-link {
color: var(--color-accent);
text-decoration: none;
}
.table-link:hover {
text-decoration: underline;
}
.pagination {
display: flex;
align-items: center;
justify-content: center;
gap: var(--spacing-md);
margin-top: var(--spacing-lg);
}
.pagination-info {
color: var(--color-text-secondary);
font-size: var(--font-sm);
}
.modal-overlay {
position: fixed;
inset: 0;
z-index: 50;
display: flex;
align-items: center;
justify-content: center;
}
.modal-backdrop {
position: absolute;
inset: 0;
background-color: rgba(0, 0, 0, .7);
backdrop-filter: blur(4px);
}
.modal-content {
position: relative;
background-color: var(--color-bg-secondary);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
max-width: 28rem;
width: calc(100% - 2rem);
margin: var(--spacing-md);
padding: var(--spacing-lg);
border: 1px solid var(--color-border);
}
.modal-content-large {
max-width: 42rem;
}
.modal-close {
position: absolute;
top: var(--spacing-md);
right: var(--spacing-md);
padding: var(--spacing-xs);
color: var(--color-text-muted);
background: none;
border: none;
cursor: pointer;
transition: color var(--transition-fast);
}
.modal-close:hover {
color: var(--color-text-primary);
}
.modal-close-icon {
width: 1.5rem;
height: 1.5rem;
}
.modal-body {
text-align: center;
}
.modal-title {
font-size: var(--font-xl);
font-weight: 700;
color: var(--color-text-primary);
margin: 0 0 var(--spacing-md) 0;
}
.modal-message {
color: var(--color-text-secondary);
margin: 0 0 var(--spacing-lg) 0;
}
.modal-actions {
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
}
@media (width >= 640px) {
.modal-actions {
flex-direction: row;
justify-content: center;
}
}
.modal-actions-center {
justify-content: center;
}
.admin-layout {
display: flex;
min-height: 100vh;
}
.admin-sidebar {
width: 16rem;
background-color: var(--color-bg-primary);
border-right: 1px solid var(--color-border);
display: flex;
flex-direction: column;
position: fixed;
height: 100vh;
left: 0;
top: 0;
}
.admin-content {
flex: 1;
margin-left: 16rem;
padding: var(--spacing-xl);
background-color: var(--color-bg-primary);
min-height: 100vh;
}
.sidebar-header {
padding: var(--spacing-lg);
border-bottom: 1px solid var(--color-border);
}
.sidebar-brand {
font-size: var(--font-xl);
font-weight: 700;
color: var(--color-text-primary);
text-decoration: none;
display: block;
}
.sidebar-brand:hover {
color: var(--color-accent);
}
.sidebar-subtitle {
font-size: var(--font-sm);
color: var(--color-text-muted);
display: block;
margin-top: var(--spacing-xs);
}
.sidebar-nav {
flex: 1;
padding: var(--spacing-md);
overflow-y: auto;
}
.nav-section {
margin-top: var(--spacing-lg);
}
.nav-section-title {
display: block;
font-size: var(--font-xs);
font-weight: 600;
color: var(--color-text-muted);
text-transform: uppercase;
letter-spacing: .05em;
padding: var(--spacing-sm) var(--spacing-md);
}
.nav-item {
display: flex;
align-items: center;
gap: var(--spacing-sm);
padding: var(--spacing-sm) var(--spacing-md);
color: var(--color-text-secondary);
text-decoration: none;
border-radius: var(--radius-md);
transition: all var(--transition-fast);
margin-bottom: var(--spacing-xs);
}
.nav-item:hover {
background-color: var(--color-bg-hover);
color: var(--color-text-primary);
}
.nav-item-active {
background-color: var(--color-accent);
color: var(--color-accent-text);
}
.nav-item-active:hover {
background-color: var(--color-accent-hover);
color: var(--color-accent-text);
}
.nav-icon {
width: 1.25rem;
height: 1.25rem;
}
.sidebar-footer {
padding: var(--spacing-md);
border-top: 1px solid var(--color-border);
}
.sidebar-link {
display: block;
padding: var(--spacing-sm) var(--spacing-md);
color: var(--color-text-muted);
text-decoration: none;
font-size: var(--font-sm);
text-align: center;
border-radius: var(--radius-md);
transition: all var(--transition-fast);
}
.sidebar-link:hover {
background-color: var(--color-bg-hover);
color: var(--color-text-primary);
}
.detail-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: var(--spacing-md);
}
.detail-item {
padding: var(--spacing-sm);
}
.detail-label {
font-size: var(--font-xs);
font-weight: 500;
color: var(--color-text-muted);
text-transform: uppercase;
letter-spacing: .05em;
margin-bottom: var(--spacing-xs);
}
.detail-value {
color: var(--color-text-primary);
}
.empty-state {
text-align: center;
padding: var(--spacing-xl);
color: var(--color-text-muted);
}
.empty-state p {
margin-bottom: var(--spacing-md);
}
.centered-layout {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: var(--spacing-md);
background-color: var(--color-bg-primary);
}
.loading-spinner {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--spacing-md);
padding: var(--spacing-xl);
}
.spinner {
width: 2rem;
height: 2rem;
border: 3px solid var(--color-border);
border-top-color: var(--color-accent);
border-radius: 50%;
animation: .8s linear infinite spin;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.loading-message {
color: var(--color-text-muted);
font-size: var(--font-sm);
}
.mt-4 {
margin-top: var(--spacing-md);
}
.mb-4 {
margin-bottom: var(--spacing-md);
}
.text-muted {
color: var(--color-text-muted);
}
.text-success {
color: var(--color-text-success);
}
.text-error {
color: var(--color-text-error);
}
:root {
--color-bg-primary: #1a1a2e;
--color-bg-secondary: #16213e;
--color-bg-tertiary: #0f3460;
--color-bg-hover: #1e3a5f;
--color-text-primary: #eee;
--color-text-secondary: #a0aec0;
--color-text-muted: #6b7280;
--color-border: #374151;
--color-border-focus: #7c3aed;
--color-accent: #7c3aed;
--color-accent-hover: #6d28d9;
--color-accent-text: #fff;
}
body.owner-app {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
background: var(--color-bg-primary);
color: var(--color-text-primary);
line-height: 1.6;
min-height: 100vh;
margin: 0;
padding: 0;
}
.admin-layout {
display: flex;
min-height: 100vh;
}
.sidebar {
width: 240px;
background: var(--color-bg-secondary);
border-right: 1px solid var(--color-border);
padding: 1.5rem 0;
position: fixed;
height: 100vh;
overflow-y: auto;
display: flex;
flex-direction: column;
}
.admin-content {
margin-left: 240px;
flex: 1;
padding: 2rem;
min-height: 100vh;
background: var(--color-bg-primary);
}
.sidebar-header {
padding: 0 1.5rem 1.5rem;
border-bottom: 1px solid var(--color-border);
margin-bottom: 1rem;
display: flex;
align-items: center;
gap: .5rem;
}
.sidebar-brand {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-accent);
text-decoration: none;
}
.sidebar-brand:hover {
opacity: .9;
}
.sidebar-badge {
font-size: .75rem;
padding: .125rem .5rem;
background: var(--color-accent);
color: #fff;
border-radius: .25rem;
text-transform: uppercase;
letter-spacing: .05em;
}
.nav-list {
list-style: none;
padding: 0;
margin: 0;
flex: 1;
}
.nav-item {
margin: .125rem 0;
}
.nav-link {
display: block;
padding: .5rem 1.5rem;
color: var(--color-text-secondary);
text-decoration: none;
transition: all .15s;
}
.nav-link:hover {
background: var(--color-bg-tertiary);
color: var(--color-text-primary);
}
.nav-item.active .nav-link {
background: var(--color-accent);
color: #fff;
}
.nav-section {
margin-top: 1rem;
}
.nav-section-title {
display: block;
padding: .5rem 1.5rem;
font-size: .75rem;
font-weight: 600;
color: var(--color-text-muted);
text-transform: uppercase;
letter-spacing: .05em;
}
.nav-sublist {
list-style: none;
padding: 0;
margin: 0;
}
.nav-sublist .nav-link {
padding-left: 2.5rem;
font-size: .875rem;
}
.sidebar-footer {
padding: var(--spacing-md);
border-top: 1px solid var(--color-border);
margin-top: auto;
}
.sidebar-link {
display: block;
padding: var(--spacing-sm) var(--spacing-md);
color: var(--color-text-muted);
text-decoration: none;
font-size: var(--font-sm);
text-align: center;
border-radius: var(--radius-md);
transition: all var(--transition-fast);
}
.sidebar-link:hover {
background-color: var(--color-bg-hover);
color: var(--color-text-primary);
}
.sidebar-logout {
width: 100%;
padding: var(--spacing-sm) var(--spacing-md);
margin-top: var(--spacing-sm);
background: none;
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
color: var(--color-text-muted);
font-size: var(--font-sm);
cursor: pointer;
transition: all var(--transition-fast);
}
.sidebar-logout:hover {
background-color: var(--color-bg-hover);
color: var(--color-text-primary);
}
.page-header {
padding-bottom: 1rem;
border-bottom: 1px solid var(--color-border);
margin-bottom: 2rem;
}
.card {
border: 1px solid var(--color-border);
}
.card-title {
color: var(--color-accent);
}
.data-table th {
text-transform: uppercase;
letter-spacing: .05em;
}
.table-link {
font-weight: 500;
}
.dashboard-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: var(--spacing-md);
margin-bottom: var(--spacing-xl);
}
.stat-card {
background: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: var(--spacing-lg);
text-align: center;
}
.stat-value {
font-size: 2rem;
font-weight: 700;
color: var(--color-accent);
}
.stat-title {
font-size: var(--font-sm);
color: var(--color-text-secondary);
margin-top: var(--spacing-xs);
}
.dashboard-sections {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--spacing-lg);
}
.quick-actions {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-sm);
}
.user-header, .realm-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1.5rem;
margin-bottom: 2rem;
}
.user-info h2, .realm-info h2 {
font-size: 1.5rem;
margin-bottom: .25rem;
}
.realm-badges {
display: flex;
gap: var(--spacing-sm);
}
.realm-description {
margin-top: var(--spacing-lg);
padding-top: var(--spacing-lg);
border-top: 1px solid var(--color-border);
}
.realm-description h4 {
font-size: var(--font-lg);
margin-bottom: var(--spacing-sm);
color: var(--color-text-secondary);
}
.section-title {
font-size: var(--font-lg);
font-weight: 600;
color: var(--color-accent);
margin: var(--spacing-lg) 0 var(--spacing-md) 0;
padding-bottom: var(--spacing-sm);
border-bottom: 1px solid var(--color-border);
}
.tab-buttons {
display: flex;
gap: var(--spacing-sm);
margin-bottom: var(--spacing-lg);
}
.required {
color: var(--color-text-error);
}
.temp-password {
display: block;
background: var(--color-bg-tertiary);
padding: var(--spacing-sm) var(--spacing-md);
border-radius: var(--radius-md);
font-family: monospace;
margin: var(--spacing-sm) 0;
word-break: break-all;
}
.action-buttons {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-sm);
margin-top: var(--spacing-md);
}
.login-layout {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: var(--spacing-md);
background: var(--color-bg-primary);
}
.login-card {
background: var(--color-bg-secondary);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 2rem;
width: 100%;
max-width: 400px;
}
.login-header {
text-align: center;
margin-bottom: 2rem;
}
.login-title {
font-size: 1.5rem;
font-weight: 700;
color: var(--color-text-primary);
margin-bottom: .5rem;
}
.login-subtitle {
color: var(--color-text-muted);
}
.config-section {
margin-bottom: var(--spacing-xl);
}
.config-section h3 {
font-size: var(--font-lg);
font-weight: 600;
margin-bottom: var(--spacing-md);
color: var(--color-accent);
}
.config-item {
margin-bottom: var(--spacing-md);
}
.config-item label {
display: block;
font-weight: 500;
margin-bottom: var(--spacing-xs);
}
.config-item .form-help {
margin-top: var(--spacing-xs);
}
@media (width <= 768px) {
.sidebar {
width: 100%;
position: relative;
height: auto;
}
.admin-content {
margin-left: 0;
padding: 1rem;
}
.dashboard-grid {
grid-template-columns: repeat(2, 1fr);
}
.form-row {
flex-direction: column;
}
.page-header {
flex-direction: column;
align-items: stretch;
}
.page-header-actions {
justify-content: flex-start;
}
}
@layer base {
:focus-visible {
outline-style: var(--tw-outline-style);
outline-width: 2px;
outline-offset: 2px;
outline-color: var(--color-blue-500);
}
@media (prefers-reduced-motion: reduce) {
*, :before, :after {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
}
}
@layer components {
.input-base {
width: 100%;
border-radius: var(--radius-lg);
border-style: var(--tw-border-style);
border-width: 1px;
border-color: var(--color-gray-600);
background-color: var(--color-gray-700);
padding-inline: calc(var(--spacing) * 4);
padding-block: calc(var(--spacing) * 3);
color: var(--color-white);
}
.input-base::placeholder {
color: var(--color-gray-400);
}
.input-base {
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
--tw-duration: .2s;
transition-duration: .2s;
}
.input-base:focus {
border-color: rgba(0, 0, 0, 0);
}
.input-base:focus {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.input-base:focus {
--tw-ring-color: var(--color-blue-500);
}
.btn-primary {
border-radius: var(--radius-lg);
background-color: var(--color-blue-600);
padding-inline: calc(var(--spacing) * 6);
padding-block: calc(var(--spacing) * 3);
--tw-font-weight: var(--font-weight-semibold);
font-weight: var(--font-weight-semibold);
color: var(--color-white);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
--tw-duration: .2s;
transition-duration: .2s;
}
@media (hover: hover) {
.btn-primary:hover {
background-color: var(--color-blue-700);
}
}
.btn-primary:focus {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.btn-primary:focus {
--tw-ring-color: var(--color-blue-500);
}
.btn-primary:focus {
--tw-ring-offset-width: 2px;
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
}
.btn-primary:focus {
--tw-ring-offset-color: var(--color-gray-800);
}
.btn-primary:focus {
--tw-outline-style: none;
outline-style: none;
}
.btn-primary:disabled {
cursor: not-allowed;
}
.btn-primary:disabled {
background-color: var(--color-gray-600);
}
.btn-secondary {
border-radius: var(--radius-lg);
background-color: var(--color-gray-600);
padding-inline: calc(var(--spacing) * 6);
padding-block: calc(var(--spacing) * 3);
--tw-font-weight: var(--font-weight-semibold);
font-weight: var(--font-weight-semibold);
color: var(--color-white);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
--tw-duration: .2s;
transition-duration: .2s;
}
@media (hover: hover) {
.btn-secondary:hover {
background-color: var(--color-gray-500);
}
}
.btn-secondary:focus {
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.btn-secondary:focus {
--tw-ring-color: var(--color-gray-400);
}
.btn-secondary:focus {
--tw-ring-offset-width: 2px;
--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
}
.btn-secondary:focus {
--tw-ring-offset-color: var(--color-gray-800);
}
.btn-secondary:focus {
--tw-outline-style: none;
outline-style: none;
}
.btn-secondary:disabled {
cursor: not-allowed;
}
.btn-secondary:disabled {
background-color: var(--color-gray-700);
}
.error-message {
border-radius: var(--radius-lg);
border-style: var(--tw-border-style);
border-width: 1px;
border-color: var(--color-red-500);
background-color: rgba(130, 24, 26, .5);
}
@supports (color: color-mix(in lab, red, red)) {
.error-message {
background-color: color-mix(in oklab, var(--color-red-900) 50%, transparent);
}
}
.error-message {
padding: calc(var(--spacing) * 4);
color: var(--color-red-200);
}
.card {
border-radius: var(--radius-lg);
background-color: var(--color-gray-800);
padding: calc(var(--spacing) * 6);
--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 8px 10px -6px var(--tw-shadow-color, rgba(0, 0, 0, .1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
}
@property --tw-scale-x {
syntax: "*";
inherits: false;
initial-value: 1;
}
@property --tw-scale-y {
syntax: "*";
inherits: false;
initial-value: 1;
}
@property --tw-scale-z {
syntax: "*";
inherits: false;
initial-value: 1;
}
@property --tw-rotate-x {
syntax: "*";
inherits: false
}
@property --tw-rotate-y {
syntax: "*";
inherits: false
}
@property --tw-rotate-z {
syntax: "*";
inherits: false
}
@property --tw-skew-x {
syntax: "*";
inherits: false
}
@property --tw-skew-y {
syntax: "*";
inherits: false
}
@property --tw-space-y-reverse {
syntax: "*";
inherits: false;
initial-value: 0;
}
@property --tw-space-x-reverse {
syntax: "*";
inherits: false;
initial-value: 0;
}
@property --tw-border-style {
syntax: "*";
inherits: false;
initial-value: solid;
}
@property --tw-gradient-position {
syntax: "*";
inherits: false
}
@property --tw-gradient-from {
syntax: "<color>";
inherits: false;
initial-value: rgba(0, 0, 0, 0);
}
@property --tw-gradient-via {
syntax: "<color>";
inherits: false;
initial-value: rgba(0, 0, 0, 0);
}
@property --tw-gradient-to {
syntax: "<color>";
inherits: false;
initial-value: rgba(0, 0, 0, 0);
}
@property --tw-gradient-stops {
syntax: "*";
inherits: false
}
@property --tw-gradient-via-stops {
syntax: "*";
inherits: false
}
@property --tw-gradient-from-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 0%;
}
@property --tw-gradient-via-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 50%;
}
@property --tw-gradient-to-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 100%;
}
@property --tw-leading {
syntax: "*";
inherits: false
}
@property --tw-font-weight {
syntax: "*";
inherits: false
}
@property --tw-ordinal {
syntax: "*";
inherits: false
}
@property --tw-slashed-zero {
syntax: "*";
inherits: false
}
@property --tw-numeric-figure {
syntax: "*";
inherits: false
}
@property --tw-numeric-spacing {
syntax: "*";
inherits: false
}
@property --tw-numeric-fraction {
syntax: "*";
inherits: false
}
@property --tw-shadow {
syntax: "*";
inherits: false;
initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-shadow-color {
syntax: "*";
inherits: false
}
@property --tw-shadow-alpha {
syntax: "<percentage>";
inherits: false;
initial-value: 100%;
}
@property --tw-inset-shadow {
syntax: "*";
inherits: false;
initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-inset-shadow-color {
syntax: "*";
inherits: false
}
@property --tw-inset-shadow-alpha {
syntax: "<percentage>";
inherits: false;
initial-value: 100%;
}
@property --tw-ring-color {
syntax: "*";
inherits: false
}
@property --tw-ring-shadow {
syntax: "*";
inherits: false;
initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-inset-ring-color {
syntax: "*";
inherits: false
}
@property --tw-inset-ring-shadow {
syntax: "*";
inherits: false;
initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-ring-inset {
syntax: "*";
inherits: false
}
@property --tw-ring-offset-width {
syntax: "<length>";
inherits: false;
initial-value: 0;
}
@property --tw-ring-offset-color {
syntax: "*";
inherits: false;
initial-value: #fff;
}
@property --tw-ring-offset-shadow {
syntax: "*";
inherits: false;
initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-outline-style {
syntax: "*";
inherits: false;
initial-value: solid;
}
@property --tw-blur {
syntax: "*";
inherits: false
}
@property --tw-brightness {
syntax: "*";
inherits: false
}
@property --tw-contrast {
syntax: "*";
inherits: false
}
@property --tw-grayscale {
syntax: "*";
inherits: false
}
@property --tw-hue-rotate {
syntax: "*";
inherits: false
}
@property --tw-invert {
syntax: "*";
inherits: false
}
@property --tw-opacity {
syntax: "*";
inherits: false
}
@property --tw-saturate {
syntax: "*";
inherits: false
}
@property --tw-sepia {
syntax: "*";
inherits: false
}
@property --tw-drop-shadow {
syntax: "*";
inherits: false
}
@property --tw-drop-shadow-color {
syntax: "*";
inherits: false
}
@property --tw-drop-shadow-alpha {
syntax: "<percentage>";
inherits: false;
initial-value: 100%;
}
@property --tw-drop-shadow-size {
syntax: "*";
inherits: false
}
@property --tw-backdrop-blur {
syntax: "*";
inherits: false
}
@property --tw-backdrop-brightness {
syntax: "*";
inherits: false
}
@property --tw-backdrop-contrast {
syntax: "*";
inherits: false
}
@property --tw-backdrop-grayscale {
syntax: "*";
inherits: false
}
@property --tw-backdrop-hue-rotate {
syntax: "*";
inherits: false
}
@property --tw-backdrop-invert {
syntax: "*";
inherits: false
}
@property --tw-backdrop-opacity {
syntax: "*";
inherits: false
}
@property --tw-backdrop-saturate {
syntax: "*";
inherits: false
}
@property --tw-backdrop-sepia {
syntax: "*";
inherits: false
}
@property --tw-duration {
syntax: "*";
inherits: false
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
@layer properties {
@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
*, :before, :after, ::backdrop {
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-scale-z: 1;
--tw-rotate-x: initial;
--tw-rotate-y: initial;
--tw-rotate-z: initial;
--tw-skew-x: initial;
--tw-skew-y: initial;
--tw-space-y-reverse: 0;
--tw-space-x-reverse: 0;
--tw-border-style: solid;
--tw-gradient-position: initial;
--tw-gradient-from: rgba(0, 0, 0, 0);
--tw-gradient-via: rgba(0, 0, 0, 0);
--tw-gradient-to: rgba(0, 0, 0, 0);
--tw-gradient-stops: initial;
--tw-gradient-via-stops: initial;
--tw-gradient-from-position: 0%;
--tw-gradient-via-position: 50%;
--tw-gradient-to-position: 100%;
--tw-leading: initial;
--tw-font-weight: initial;
--tw-ordinal: initial;
--tw-slashed-zero: initial;
--tw-numeric-figure: initial;
--tw-numeric-spacing: initial;
--tw-numeric-fraction: initial;
--tw-shadow: 0 0 rgba(0, 0, 0, 0);
--tw-shadow-color: initial;
--tw-shadow-alpha: 100%;
--tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
--tw-inset-shadow-color: initial;
--tw-inset-shadow-alpha: 100%;
--tw-ring-color: initial;
--tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
--tw-inset-ring-color: initial;
--tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
--tw-ring-inset: initial;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
--tw-outline-style: solid;
--tw-blur: initial;
--tw-brightness: initial;
--tw-contrast: initial;
--tw-grayscale: initial;
--tw-hue-rotate: initial;
--tw-invert: initial;
--tw-opacity: initial;
--tw-saturate: initial;
--tw-sepia: initial;
--tw-drop-shadow: initial;
--tw-drop-shadow-color: initial;
--tw-drop-shadow-alpha: 100%;
--tw-drop-shadow-size: initial;
--tw-backdrop-blur: initial;
--tw-backdrop-brightness: initial;
--tw-backdrop-contrast: initial;
--tw-backdrop-grayscale: initial;
--tw-backdrop-hue-rotate: initial;
--tw-backdrop-invert: initial;
--tw-backdrop-opacity: initial;
--tw-backdrop-saturate: initial;
--tw-backdrop-sepia: initial;
--tw-duration: initial;
}
}
}