/* ==========================================================================
   Tuka Live — neon backdrop
   --------------------------------------------------------------------------
   The Tuka screens are already the colourful half of the product. What they
   did not have is depth: every screen sat on a flat #161129 and the palette
   only existed where a component happened to be.

   This adds the same backdrop the rest of the site now has — a slow aurora
   and a fine grid — but in Tuka's own hues (magenta, violet, and the signal
   teal) rather than the emerald and cyan used on the PTC side. Both halves
   read as one product without either giving up its identity.

   Deliberately small. The Tuka UI is a compiled Tailwind build with its own
   tokens; this only paints behind it and touches nothing it already styles.
   ========================================================================== */

body {
    position: relative;
    background-color: #120e1a !important;
    background-image:
        linear-gradient(180deg, rgba(157, 78, 221, 0.16) 0%, transparent 320px),
        radial-gradient(120% 360px at 50% 0%, rgba(255, 45, 120, 0.14), transparent 70%),
        radial-gradient(900px 640px at 100% 96%, rgba(0, 245, 212, 0.10), transparent 64%);
    background-attachment: fixed !important;
}

/* Aurora. Same 34s cycle as the PTC side so the two halves breathe together. */
body::before {
    content: "";
    position: fixed;
    inset: -20vmax;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(36vmax 36vmax at 16% 14%, rgba(255, 45, 120, 0.22), transparent 60%),
        radial-gradient(34vmax 34vmax at 88% 30%, rgba(157, 78, 221, 0.26), transparent 62%),
        radial-gradient(30vmax 30vmax at 50% 94%, rgba(0, 245, 212, 0.16), transparent 64%);
    filter: blur(26px);
    animation: tukaNeonDrift 34s ease-in-out infinite alternate;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(157, 78, 221, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(157, 78, 221, 0.10) 1px, transparent 1px);
    background-size: 40px 40px;
    -webkit-mask-image: radial-gradient(120% 90% at 50% 0%, #000 0%, transparent 78%);
    mask-image: radial-gradient(120% 90% at 50% 0%, #000 0%, transparent 78%);
}

@keyframes tukaNeonDrift {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    50%  { transform: translate3d(2.5%, -2%, 0) scale(1.06); }
    100% { transform: translate3d(-2%, 2.5%, 0) scale(1.02); }
}

/* The room and the moments feed fill the screen with their own artwork, and
   a grid over a photograph is just dirt on the lens. */
body:has(#seatStage)::after,
body:has(#momentsFeed)::after { opacity: 0.2; }

/* Tuka's own surfaces are opaque tokens. Letting the two that cover the most
   area go slightly translucent is what lets the backdrop reach the middle of
   the screen instead of only the margins. */
.glass-1 { background-color: rgba(30, 23, 43, 0.76) !important; }
.glass-2 { background-color: rgba(26, 20, 38, 0.82) !important; }

@media (prefers-reduced-motion: reduce) {
    body::before { animation: none !important; }
}

@media (max-width: 575.98px) {
    body::before { filter: blur(18px); }
}

/* ==========================================================================
   The bottom nav, and the vault's send dock
   --------------------------------------------------------------------------
   Both were flat: a bar ruled off with a hairline, and a grey slab with a
   pill button on it. Neither carried any of the product's own light.

   Written as real CSS rather than utility classes on purpose. The Tuka half
   ships a COMPILED Tailwind build with no config in the checkout, so a class
   that is not already in that artifact simply does not exist -- which is how
   a sheet with `max-h-[72vh]` ended up 1350px tall. Anything new has to be
   written here.

   The nav is restyled entirely through selectors that already exist in the
   markup -- nav[aria-label="Primary"] and a[aria-current="page"] -- so no
   template changes, and nothing can drift out of sync with the blade.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Bottom nav — a floating capsule

   It keeps its 64px footprint exactly: the bar gives up its own background
   and the list inside becomes a 56px capsule with an 8px gap beneath it.
   Every Tuka screen pads its content by that same 64px, so the layout does
   not move a pixel.
   -------------------------------------------------------------------------- */
nav[aria-label="Primary"] {
    background: transparent !important;
    border-top: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding-inline: 10px;
}

nav[aria-label="Primary"] > ul {
    height: 56px !important;
    margin-bottom: 8px;
    padding-inline: 6px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(38, 28, 56, 0.92) 0%, rgba(20, 15, 30, 0.94) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    backdrop-filter: blur(22px) saturate(140%);
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.5),
        0 0 24px rgba(255, 45, 120, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

nav[aria-label="Primary"] a {
    gap: 2px;
    border-radius: 16px;
    transition: transform 0.18s ease, color 0.18s ease;
}

/* The glyph sits in a capsule that only fills in on the active tab. */
nav[aria-label="Primary"] a > span:first-child {
    border-radius: 14px;
    transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

nav[aria-label="Primary"] a[aria-current="page"] > span:first-child {
    background: linear-gradient(135deg, rgba(255, 45, 120, 0.28), rgba(157, 78, 221, 0.28));
    box-shadow:
        0 0 18px rgba(255, 45, 120, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
}

/* The blade paints its own soft pill behind the active glyph; with the
   capsule above it that reads as a muddy double layer. */
nav[aria-label="Primary"] a[aria-current="page"] > span:first-child > span[aria-hidden="true"]:first-child {
    background: transparent !important;
}

nav[aria-label="Primary"] a[aria-current="page"] {
    transform: translateY(-1px);
}

nav[aria-label="Primary"] a[aria-current="page"] > span:last-of-type {
    text-shadow: 0 0 12px rgba(255, 45, 120, 0.5);
}

/* A hairline of light along the top of the capsule, brightest in the middle,
   so the nav reads as lit rather than outlined. */
nav[aria-label="Primary"] > ul::before {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    top: 0;
    height: 1px;
    border-radius: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 45, 120, 0.55), rgba(157, 78, 221, 0.55), transparent);
    pointer-events: none;
}

nav[aria-label="Primary"] > ul { position: relative; }

@media (prefers-reduced-motion: reduce) {
    nav[aria-label="Primary"] a,
    nav[aria-label="Primary"] a > span:first-child { transition: none !important; }
}

/* --------------------------------------------------------------------------
   The vault's send dock

   A grey slab with a pill on it. It is the last thing a member looks at
   before spending coins, so it should read as a till, not a footer: the
   chosen gift on the left with its own glow, the price it will cost stated
   plainly, and one lit button.
   -------------------------------------------------------------------------- */
.tuka-dock {
    border-radius: 22px 22px 0 0;
    background:
        linear-gradient(180deg, rgba(44, 30, 62, 0.94) 0%, rgba(22, 16, 32, 0.96) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 0;
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);
    box-shadow:
        0 -14px 34px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Same lit hairline the nav carries, so the two read as one family. */
.tuka-dock::before {
    content: "";
    position: absolute;
    left: 22%;
    right: 22%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 45, 120, 0.6), rgba(157, 78, 221, 0.6), transparent);
    pointer-events: none;
}
.tuka-dock { position: sticky; }

/* The chosen gift. Lights up once something is picked. */
.tuka-dock__icon {
    background: linear-gradient(140deg, rgba(255, 45, 120, 0.18), rgba(157, 78, 221, 0.18)) !important;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 13px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.tuka-dock__icon[data-armed="1"] {
    box-shadow:
        0 0 20px rgba(255, 45, 120, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transform: scale(1.04);
}

.tuka-dock__preview {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.09);
    color: #ffd166 !important;
}
.tuka-dock__preview:disabled { opacity: 0.35; }

.tuka-dock__qty {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
}

.tuka-dock__target {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.tuka-dock__target:hover,
.tuka-dock__target:focus-visible {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 45, 120, 0.4);
}

/* The one lit control on the screen. */
.tuka-dock__cta {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(100deg, #ff2d78 0%, #b14bff 55%, #6d5dfc 100%);
    box-shadow:
        0 8px 26px rgba(255, 45, 120, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    letter-spacing: 0.01em;
}

/* A slow sheen so the button reads as live rather than painted. */
.tuka-dock__cta::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.30) 50%, transparent 65%);
    transform: translateX(-120%);
    animation: tukaDockSheen 3.6s ease-in-out infinite;
    pointer-events: none;
}

.tuka-dock__cta:disabled {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.45);
    box-shadow: none;
}
.tuka-dock__cta:disabled::after { animation: none; opacity: 0; }

@keyframes tukaDockSheen {
    0%, 62% { transform: translateX(-120%); }
    92%, 100% { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
    .tuka-dock__cta::after { animation: none !important; opacity: 0; }
    .tuka-dock__icon { transition: none !important; }
}

/* --------------------------------------------------------------------------
   The room's action bar

   A flat grey strip with three identical grey circles and a pulsing pink
   blob. Nothing said which control mattered, and the pulse was on the one
   button that spends money, which is the wrong thing to nag about.

   Same family as the nav and the vault dock: one lit surface, one lit
   control, everything else quiet.
   -------------------------------------------------------------------------- */
.tuka-roombar {
    position: sticky;
    border-radius: 22px 22px 0 0;
    background: linear-gradient(180deg, rgba(42, 29, 60, 0.94) 0%, rgba(20, 15, 30, 0.96) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 0;
    -webkit-backdrop-filter: blur(22px) saturate(150%);
    backdrop-filter: blur(22px) saturate(150%);
    box-shadow:
        0 -14px 32px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.tuka-roombar::before {
    content: "";
    position: absolute;
    left: 22%;
    right: 22%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 45, 120, 0.6), rgba(157, 78, 221, 0.6), transparent);
    pointer-events: none;
}

.tuka-roombar__input {
    min-height: 44px;
    padding: 0 16px;
    color: #f4f0ff;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.09);
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.tuka-roombar__input::placeholder { color: rgba(244, 240, 255, 0.42); }
.tuka-roombar__input:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 45, 120, 0.45);
    box-shadow: 0 0 0 3px rgba(255, 45, 120, 0.13);
}

.tuka-roombar__btn {
    color: #e7e0f5;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.09);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.18s ease;
}
.tuka-roombar__btn:hover { background: rgba(255, 255, 255, 0.10); }

/* Seated is a state worth showing: the chair reads as on. */
.tuka-roombar__btn[data-on="1"] {
    color: #00f5d4;
    border-color: rgba(0, 245, 212, 0.45);
    background: rgba(0, 245, 212, 0.12);
    box-shadow: 0 0 14px rgba(0, 245, 212, 0.25);
}

.tuka-roombar__btn--heart { color: #ff6b9d; }
.tuka-roombar__btn--heart:active {
    color: #fff;
    background: rgba(255, 45, 120, 0.22);
    border-color: rgba(255, 45, 120, 0.5);
    transform: scale(1.12);
}

/* The one lit control. No pulse: a button that spends coins should invite,
   not nag. */
.tuka-roombar__gift {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(100deg, #ff2d78 0%, #b14bff 60%, #6d5dfc 100%);
    border: 0;
    box-shadow:
        0 6px 20px rgba(255, 45, 120, 0.40),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.tuka-roombar__gift:active { transform: scale(0.96); }
.tuka-roombar__gift::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.28) 50%, transparent 65%);
    transform: translateX(-130%);
    animation: tukaDockSheen 4.2s ease-in-out infinite;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .tuka-roombar__gift::after { animation: none !important; opacity: 0; }
    .tuka-roombar__btn, .tuka-roombar__gift { transition: none !important; }
}

/* ==================================================================
   Theme -- the live palette, everywhere

   tuka.css is a compiled Tailwind file with no colour variables in
   it: every semantic class has its colour baked in. Nothing could
   be re-themed while that was true, so each of those rules is
   re-declared below against a custom property, and the palette
   becomes the :root block -- one place instead of 228.

   Each rule keeps the alpha expression Tailwind emitted, so the
   opacity variants (bg-primary/15, bg-surface-container-lowest/90)
   go on working untouched.

   Generated from tuka.css. If that file is ever rebuilt, generate
   this block again rather than editing it by hand.
   ================================================================== */

:root {
    /* The ground */
    --tk-surface:                    16 21 30;
    --tk-surface-dim:                16 21 30;
    --tk-surface-bright:             46 56 73;
    --tk-surface-container-lowest:   10 14 20;
    --tk-surface-container-low:      22 28 39;
    --tk-surface-container:          28 35 49;
    --tk-surface-container-high:     36 44 60;
    --tk-surface-container-highest:  46 56 73;
    --tk-surface-variant:            46 56 73;

    /* Lines */
    --tk-outline:                    124 138 160;
    --tk-outline-variant:            42 51 66;

    /* Text */
    --tk-on-surface:                 233 238 247;
    --tk-on-surface-variant:         163 177 198;

    /* Pink, the lead */
    --tk-primary:                    255 143 174;
    --tk-primary-container:          255 76 131;
    --tk-primary-fixed:              255 217 223;
    --tk-primary-fixed-dim:          255 143 174;
    --tk-on-primary:                 61 0 24;
    --tk-on-primary-container:       90 0 35;
    --tk-on-primary-fixed:           63 0 23;

    /* Purple */
    --tk-secondary:                  222 183 255;
    --tk-secondary-container:        107 19 175;
    --tk-secondary-fixed:            241 219 255;
    --tk-secondary-fixed-dim:        222 183 255;
    --tk-on-secondary-container:     212 165 255;

    /* Amber, for value */
    --tk-tertiary:                   255 186 39;
    --tk-tertiary-container:         189 135 0;
    --tk-tertiary-fixed:             255 222 169;
    --tk-tertiary-fixed-dim:         255 186 39;
    --tk-on-tertiary:                66 44 0;
    --tk-on-tertiary-container:      57 38 0;
    --tk-on-tertiary-fixed:          39 25 0;

    /* Mint and red */
    --tk-signal:                     0 245 212;
    --tk-error:                      255 180 171;
    --tk-error-container:            147 0 10;
    --tk-on-error-container:         255 218 214;

}

/* The 228 rules that were carrying the palette. */
.\!text-error{--tw-text-opacity:1!important;color:rgb(var(--tk-error)/var(--tw-text-opacity,1))!important}
.active\:bg-primary-container:active{--tw-bg-opacity:1;background-color:rgb(var(--tk-primary-container)/var(--tw-bg-opacity,1))}
.active\:bg-surface-container:active{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container)/var(--tw-bg-opacity,1))}
.active\:text-on-primary:active{--tw-text-opacity:1;color:rgb(var(--tk-on-primary)/var(--tw-text-opacity,1))}
.bg-error-container\/10{background-color:rgb(var(--tk-error-container)/.1)}
.bg-error-container\/25{background-color:rgb(var(--tk-error-container)/.25)}
.bg-error-container\/30{background-color:rgb(var(--tk-error-container)/.3)}
.bg-error-container\/40{background-color:rgb(var(--tk-error-container)/.4)}
.bg-error-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-error-container)/var(--tw-bg-opacity,1))}
.bg-error{--tw-bg-opacity:1;background-color:rgb(var(--tk-error)/var(--tw-bg-opacity,1))}
.bg-on-surface-variant\/10{background-color:rgb(var(--tk-on-surface-variant)/.1)}
.bg-on-surface-variant\/15{background-color:rgb(var(--tk-on-surface-variant)/.15)}
.bg-on-surface-variant\/20{background-color:rgb(var(--tk-on-surface-variant)/.2)}
.bg-on-surface-variant\/40{background-color:rgb(var(--tk-on-surface-variant)/.4)}
.bg-on-surface-variant{--tw-bg-opacity:1;background-color:rgb(var(--tk-on-surface-variant)/var(--tw-bg-opacity,1))}
.bg-outline{--tw-bg-opacity:1;background-color:rgb(var(--tk-outline)/var(--tw-bg-opacity,1))}
.bg-primary-container\/10{background-color:rgb(var(--tk-primary-container)/.1)}
.bg-primary-container\/15{background-color:rgb(var(--tk-primary-container)/.15)}
.bg-primary-container\/20{background-color:rgb(var(--tk-primary-container)/.2)}
.bg-primary-container\/25{background-color:rgb(var(--tk-primary-container)/.25)}
.bg-primary-container\/30{background-color:rgb(var(--tk-primary-container)/.3)}
.bg-primary-container\/40{background-color:rgb(var(--tk-primary-container)/.4)}
.bg-primary-container\/90{background-color:rgb(var(--tk-primary-container)/.9)}
.bg-primary-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-primary-container)/var(--tw-bg-opacity,1))}
.bg-primary\/10{background-color:rgb(var(--tk-primary)/.1)}
.bg-primary\/15{background-color:rgb(var(--tk-primary)/.15)}
.bg-primary\/20{background-color:rgb(var(--tk-primary)/.2)}
.bg-primary\/70{background-color:rgb(var(--tk-primary)/.7)}
.bg-primary\/80{background-color:rgb(var(--tk-primary)/.8)}
.bg-primary{--tw-bg-opacity:1;background-color:rgb(var(--tk-primary)/var(--tw-bg-opacity,1))}
.bg-secondary-container\/20{background-color:rgb(var(--tk-secondary-container)/.2)}
.bg-secondary-container\/25{background-color:rgb(var(--tk-secondary-container)/.25)}
.bg-secondary-container\/30{background-color:rgb(var(--tk-secondary-container)/.3)}
.bg-secondary-container\/40{background-color:rgb(var(--tk-secondary-container)/.4)}
.bg-secondary-container\/50{background-color:rgb(var(--tk-secondary-container)/.5)}
.bg-secondary-container\/60{background-color:rgb(var(--tk-secondary-container)/.6)}
.bg-secondary-container\/80{background-color:rgb(var(--tk-secondary-container)/.8)}
.bg-secondary-container\/90{background-color:rgb(var(--tk-secondary-container)/.9)}
.bg-secondary-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-secondary-container)/var(--tw-bg-opacity,1))}
.bg-secondary-fixed{--tw-bg-opacity:1;background-color:rgb(var(--tk-secondary-fixed)/var(--tw-bg-opacity,1))}
.bg-secondary\/10{background-color:rgb(var(--tk-secondary)/.1)}
.bg-secondary\/15{background-color:rgb(var(--tk-secondary)/.15)}
.bg-secondary\/20{background-color:rgb(var(--tk-secondary)/.2)}
.bg-secondary{--tw-bg-opacity:1;background-color:rgb(var(--tk-secondary)/var(--tw-bg-opacity,1))}
.bg-signal\/10{background-color:rgb(var(--tk-signal)/.1)}
.bg-signal\/15{background-color:rgb(var(--tk-signal)/.15)}
.bg-signal\/20{background-color:rgb(var(--tk-signal)/.2)}
.bg-signal{--tw-bg-opacity:1;background-color:rgb(var(--tk-signal)/var(--tw-bg-opacity,1))}
.bg-surface-bright{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-bright)/var(--tw-bg-opacity,1))}
.bg-surface-container-high\/30{background-color:rgb(var(--tk-surface-container-high)/.3)}
.bg-surface-container-high\/50{background-color:rgb(var(--tk-surface-container-high)/.5)}
.bg-surface-container-high\/60{background-color:rgb(var(--tk-surface-container-high)/.6)}
.bg-surface-container-high\/70{background-color:rgb(var(--tk-surface-container-high)/.7)}
.bg-surface-container-high\/80{background-color:rgb(var(--tk-surface-container-high)/.8)}
.bg-surface-container-high\/90{background-color:rgb(var(--tk-surface-container-high)/.9)}
.bg-surface-container-highest\/50{background-color:rgb(var(--tk-surface-container-highest)/.5)}
.bg-surface-container-highest\/70{background-color:rgb(var(--tk-surface-container-highest)/.7)}
.bg-surface-container-highest\/80{background-color:rgb(var(--tk-surface-container-highest)/.8)}
.bg-surface-container-highest{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-highest)/var(--tw-bg-opacity,1))}
.bg-surface-container-high{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-high)/var(--tw-bg-opacity,1))}
.bg-surface-container-low\/90{background-color:rgb(var(--tk-surface-container-low)/.9)}
.bg-surface-container-low\/95{background-color:rgb(var(--tk-surface-container-low)/.95)}
.bg-surface-container-lowest\/50{background-color:rgb(var(--tk-surface-container-lowest)/.5)}
.bg-surface-container-lowest\/60{background-color:rgb(var(--tk-surface-container-lowest)/.6)}
.bg-surface-container-lowest\/70{background-color:rgb(var(--tk-surface-container-lowest)/.7)}
.bg-surface-container-lowest\/75{background-color:rgb(var(--tk-surface-container-lowest)/.75)}
.bg-surface-container-lowest\/80{background-color:rgb(var(--tk-surface-container-lowest)/.8)}
.bg-surface-container-lowest\/85{background-color:rgb(var(--tk-surface-container-lowest)/.85)}
.bg-surface-container-lowest\/90{background-color:rgb(var(--tk-surface-container-lowest)/.9)}
.bg-surface-container-lowest{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-lowest)/var(--tw-bg-opacity,1))}
.bg-surface-container-low{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-low)/var(--tw-bg-opacity,1))}
.bg-surface-container\/60{background-color:rgb(var(--tk-surface-container)/.6)}
.bg-surface-container\/70{background-color:rgb(var(--tk-surface-container)/.7)}
.bg-surface-container\/90{background-color:rgb(var(--tk-surface-container)/.9)}
.bg-surface-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container)/var(--tw-bg-opacity,1))}
.bg-surface-dim{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-dim)/var(--tw-bg-opacity,1))}
.bg-surface-variant{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-variant)/var(--tw-bg-opacity,1))}
.bg-surface\/60{background-color:rgb(var(--tk-surface)/.6)}
.bg-surface\/85{background-color:rgb(var(--tk-surface)/.85)}
.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface)/var(--tw-bg-opacity,1))}
.bg-tertiary-container\/20{background-color:rgb(var(--tk-tertiary-container)/.2)}
.bg-tertiary-container\/30{background-color:rgb(var(--tk-tertiary-container)/.3)}
.bg-tertiary-container\/40{background-color:rgb(var(--tk-tertiary-container)/.4)}
.bg-tertiary-container\/70{background-color:rgb(var(--tk-tertiary-container)/.7)}
.bg-tertiary-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-tertiary-container)/var(--tw-bg-opacity,1))}
.bg-tertiary\/10{background-color:rgb(var(--tk-tertiary)/.1)}
.bg-tertiary\/15{background-color:rgb(var(--tk-tertiary)/.15)}
.bg-tertiary\/20{background-color:rgb(var(--tk-tertiary)/.2)}
.bg-tertiary\/25{background-color:rgb(var(--tk-tertiary)/.25)}
.bg-tertiary{--tw-bg-opacity:1;background-color:rgb(var(--tk-tertiary)/var(--tw-bg-opacity,1))}
.border-error{--tw-border-opacity:1;border-color:rgb(var(--tk-error)/var(--tw-border-opacity,1))}
.border-on-surface-variant{--tw-border-opacity:1;border-color:rgb(var(--tk-on-surface-variant)/var(--tw-border-opacity,1))}
.border-outline-variant\/50{border-color:rgb(var(--tk-outline-variant)/.5)}
.border-outline-variant\/60{border-color:rgb(var(--tk-outline-variant)/.6)}
.border-outline-variant{--tw-border-opacity:1;border-color:rgb(var(--tk-outline-variant)/var(--tw-border-opacity,1))}
.border-outline\/30{border-color:rgb(var(--tk-outline)/.3)}
.border-primary{--tw-border-opacity:1;border-color:rgb(var(--tk-primary)/var(--tw-border-opacity,1))}
.border-secondary{--tw-border-opacity:1;border-color:rgb(var(--tk-secondary)/var(--tw-border-opacity,1))}
.border-signal\/40{border-color:rgb(var(--tk-signal)/.4)}
.border-signal{--tw-border-opacity:1;border-color:rgb(var(--tk-signal)/var(--tw-border-opacity,1))}
.border-t-tertiary{--tw-border-opacity:1;border-top-color:rgb(var(--tk-tertiary)/var(--tw-border-opacity,1))}
.border-tertiary\/40{border-color:rgb(var(--tk-tertiary)/.4)}
.border-tertiary{--tw-border-opacity:1;border-color:rgb(var(--tk-tertiary)/var(--tw-border-opacity,1))}
.focus\:bg-surface-container-high:focus{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-high)/var(--tw-bg-opacity,1))}
.focus\:bg-surface-container-low:focus{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-low)/var(--tw-bg-opacity,1))}
.focus\:ring-primary-container:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-primary-container)/var(--tw-ring-opacity,1))}
.from-error-container{--tw-gradient-from:#93000a var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-error-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-outline{--tw-gradient-from:#ab888e var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-outline)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-primary-container\/30{--tw-gradient-from:rgb(var(--tk-primary-container)/.3) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-primary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-primary-container\/90{--tw-gradient-from:rgb(var(--tk-primary-container)/.9) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-primary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-primary-container{--tw-gradient-from:#ff4c83 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-primary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-primary{--tw-gradient-from:#ffb1c0 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-secondary-container\/40{--tw-gradient-from:rgb(var(--tk-secondary-container)/.4) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-secondary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-secondary-container\/50{--tw-gradient-from:rgb(var(--tk-secondary-container)/.5) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-secondary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-secondary-container\/60{--tw-gradient-from:rgb(var(--tk-secondary-container)/.6) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-secondary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-secondary-container{--tw-gradient-from:#6b13af var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-secondary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-secondary{--tw-gradient-from:#deb7ff var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-secondary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-high\/90{--tw-gradient-from:rgb(var(--tk-surface-container-high)/.9) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-high)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-highest{--tw-gradient-from:#393240 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-highest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-high{--tw-gradient-from:#2e2735 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-high)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-lowest\/80{--tw-gradient-from:rgb(var(--tk-surface-container-lowest)/.8) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-lowest{--tw-gradient-from:#110c18 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container-low{--tw-gradient-from:#1f1926 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container-low)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface-container{--tw-gradient-from:#231d2a var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-surface{--tw-gradient-from:#16111d var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-surface)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-tertiary-container{--tw-gradient-from:#bd8700 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-tertiary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-tertiary\/10{--tw-gradient-from:rgb(var(--tk-tertiary)/.1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-tertiary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-tertiary\/25{--tw-gradient-from:rgb(var(--tk-tertiary)/.25) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-tertiary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-tertiary{--tw-gradient-from:#ffba27 var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--tk-tertiary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.group:hover .group-hover\:bg-surface-bright{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-bright)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-bright:hover{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-bright)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-container-high:hover{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-high)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-container-highest:hover{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-highest)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-container-low:hover{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container-low)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-container:hover{--tw-bg-opacity:1;background-color:rgb(var(--tk-surface-container)/var(--tw-bg-opacity,1))}
.hover\:bg-surface-variant\/30:hover{background-color:rgb(var(--tk-surface-variant)/.3)}
.hover\:text-on-surface:hover{--tw-text-opacity:1;color:rgb(var(--tk-on-surface)/var(--tw-text-opacity,1))}
.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(var(--tk-primary)/var(--tw-text-opacity,1))}
.peer:checked~.peer-checked\:bg-primary-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-primary-container)/var(--tw-bg-opacity,1))}
.peer:checked~.peer-checked\:bg-secondary-container{--tw-bg-opacity:1;background-color:rgb(var(--tk-secondary-container)/var(--tw-bg-opacity,1))}
.placeholder-on-surface-variant::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(var(--tk-on-surface-variant)/var(--tw-placeholder-opacity,1))}
.placeholder-on-surface-variant::placeholder{--tw-placeholder-opacity:1;color:rgb(var(--tk-on-surface-variant)/var(--tw-placeholder-opacity,1))}
.placeholder-on-surface-variant\/40::-moz-placeholder{color:rgb(var(--tk-on-surface-variant)/.4)}
.placeholder-on-surface-variant\/40::placeholder{color:rgb(var(--tk-on-surface-variant)/.4)}
.placeholder-on-surface-variant\/50::-moz-placeholder{color:rgb(var(--tk-on-surface-variant)/.5)}
.placeholder-on-surface-variant\/50::placeholder{color:rgb(var(--tk-on-surface-variant)/.5)}
.placeholder-outline::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(var(--tk-outline)/var(--tw-placeholder-opacity,1))}
.placeholder-outline::placeholder{--tw-placeholder-opacity:1;color:rgb(var(--tk-outline)/var(--tw-placeholder-opacity,1))}
.placeholder\:text-outline::-moz-placeholder{--tw-text-opacity:1;color:rgb(var(--tk-outline)/var(--tw-text-opacity,1))}
.placeholder\:text-outline::placeholder{--tw-text-opacity:1;color:rgb(var(--tk-outline)/var(--tw-text-opacity,1))}
.ring-on-surface-variant{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-on-surface-variant)/var(--tw-ring-opacity,1))}
.ring-primary-container{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-primary-container)/var(--tw-ring-opacity,1))}
.ring-primary\/60{--tw-ring-color:rgb(var(--tk-primary)/.6)}
.ring-primary\/70{--tw-ring-color:rgb(var(--tk-primary)/.7)}
.ring-primary{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-primary)/var(--tw-ring-opacity,1))}
.ring-secondary-container{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-secondary-container)/var(--tw-ring-opacity,1))}
.ring-secondary\/40{--tw-ring-color:rgb(var(--tk-secondary)/.4)}
.ring-secondary\/70{--tw-ring-color:rgb(var(--tk-secondary)/.7)}
.ring-secondary{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-secondary)/var(--tw-ring-opacity,1))}
.ring-signal{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-signal)/var(--tw-ring-opacity,1))}
.ring-surface-container-high{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-surface-container-high)/var(--tw-ring-opacity,1))}
.ring-surface-container-lowest{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-surface-container-lowest)/var(--tw-ring-opacity,1))}
.ring-tertiary-container{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-tertiary-container)/var(--tw-ring-opacity,1))}
.ring-tertiary\/50{--tw-ring-color:rgb(var(--tk-tertiary)/.5)}
.ring-tertiary\/60{--tw-ring-color:rgb(var(--tk-tertiary)/.6)}
.ring-tertiary{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--tk-tertiary)/var(--tw-ring-opacity,1))}
.text-error{--tw-text-opacity:1;color:rgb(var(--tk-error)/var(--tw-text-opacity,1))}
.text-on-error-container{--tw-text-opacity:1;color:rgb(var(--tk-on-error-container)/var(--tw-text-opacity,1))}
.text-on-primary-container{--tw-text-opacity:1;color:rgb(var(--tk-on-primary-container)/var(--tw-text-opacity,1))}
.text-on-primary-fixed{--tw-text-opacity:1;color:rgb(var(--tk-on-primary-fixed)/var(--tw-text-opacity,1))}
.text-on-primary{--tw-text-opacity:1;color:rgb(var(--tk-on-primary)/var(--tw-text-opacity,1))}
.text-on-secondary-container{--tw-text-opacity:1;color:rgb(var(--tk-on-secondary-container)/var(--tw-text-opacity,1))}
.text-on-surface-variant\/50{color:rgb(var(--tk-on-surface-variant)/.5)}
.text-on-surface-variant\/60{color:rgb(var(--tk-on-surface-variant)/.6)}
.text-on-surface-variant\/70{color:rgb(var(--tk-on-surface-variant)/.7)}
.text-on-surface-variant\/80{color:rgb(var(--tk-on-surface-variant)/.8)}
.text-on-surface-variant{--tw-text-opacity:1;color:rgb(var(--tk-on-surface-variant)/var(--tw-text-opacity,1))}
.text-on-surface{--tw-text-opacity:1;color:rgb(var(--tk-on-surface)/var(--tw-text-opacity,1))}
.text-on-tertiary-container{--tw-text-opacity:1;color:rgb(var(--tk-on-tertiary-container)/var(--tw-text-opacity,1))}
.text-on-tertiary-fixed{--tw-text-opacity:1;color:rgb(var(--tk-on-tertiary-fixed)/var(--tw-text-opacity,1))}
.text-on-tertiary{--tw-text-opacity:1;color:rgb(var(--tk-on-tertiary)/var(--tw-text-opacity,1))}
.text-outline\/60{color:rgb(var(--tk-outline)/.6)}
.text-outline\/70{color:rgb(var(--tk-outline)/.7)}
.text-outline{--tw-text-opacity:1;color:rgb(var(--tk-outline)/var(--tw-text-opacity,1))}
.text-primary-container\/45{color:rgb(var(--tk-primary-container)/.45)}
.text-primary-container{--tw-text-opacity:1;color:rgb(var(--tk-primary-container)/var(--tw-text-opacity,1))}
.text-primary-fixed-dim{--tw-text-opacity:1;color:rgb(var(--tk-primary-fixed-dim)/var(--tw-text-opacity,1))}
.text-primary-fixed{--tw-text-opacity:1;color:rgb(var(--tk-primary-fixed)/var(--tw-text-opacity,1))}
.text-primary\/45{color:rgb(var(--tk-primary)/.45)}
.text-primary{--tw-text-opacity:1;color:rgb(var(--tk-primary)/var(--tw-text-opacity,1))}
.text-secondary,.text-secondary-fixed-dim{--tw-text-opacity:1;color:rgb(var(--tk-secondary)/var(--tw-text-opacity,1))}
.text-secondary\/45{color:rgb(var(--tk-secondary)/.45)}
.text-signal{--tw-text-opacity:1;color:rgb(var(--tk-signal)/var(--tw-text-opacity,1))}
.text-surface-container-highest{--tw-text-opacity:1;color:rgb(var(--tk-surface-container-highest)/var(--tw-text-opacity,1))}
.text-surface{--tw-text-opacity:1;color:rgb(var(--tk-surface)/var(--tw-text-opacity,1))}
.text-tertiary-container{--tw-text-opacity:1;color:rgb(var(--tk-tertiary-container)/var(--tw-text-opacity,1))}
.text-tertiary-fixed-dim{--tw-text-opacity:1;color:rgb(var(--tk-tertiary-fixed-dim)/var(--tw-text-opacity,1))}
.text-tertiary-fixed{--tw-text-opacity:1;color:rgb(var(--tk-tertiary-fixed)/var(--tw-text-opacity,1))}
.text-tertiary\/45{color:rgb(var(--tk-tertiary)/.45)}
.text-tertiary{--tw-text-opacity:1;color:rgb(var(--tk-tertiary)/var(--tw-text-opacity,1))}
.to-primary-container\/30{--tw-gradient-to:rgb(var(--tk-primary-container)/.3) var(--tw-gradient-to-position)}
.to-primary-container\/40{--tw-gradient-to:rgb(var(--tk-primary-container)/.4) var(--tw-gradient-to-position)}
.to-secondary-container\/30{--tw-gradient-to:rgb(var(--tk-secondary-container)/.3) var(--tw-gradient-to-position)}
.to-surface-container-low\/90{--tw-gradient-to:rgb(var(--tk-surface-container-low)/.9) var(--tw-gradient-to-position)}
.to-surface-container-lowest\/40{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/.4) var(--tw-gradient-to-position)}
.to-surface-container-lowest\/50{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/.5) var(--tw-gradient-to-position)}
.to-surface-container-lowest\/80{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/.8) var(--tw-gradient-to-position)}
.to-surface-container-lowest\/95{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/.95) var(--tw-gradient-to-position)}
.via-primary-container\/10{--tw-gradient-to:rgb(var(--tk-primary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-primary-container)/.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-primary-container{--tw-gradient-to:rgb(var(--tk-primary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ff4c83 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-primary{--tw-gradient-to:rgb(var(--tk-primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffb1c0 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-secondary-container{--tw-gradient-to:rgb(var(--tk-secondary-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#6b13af var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-secondary{--tw-gradient-to:rgb(var(--tk-secondary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#deb7ff var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-bright{--tw-gradient-to:rgb(var(--tk-surface-bright)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#3d3645 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-high\/90{--tw-gradient-to:rgb(var(--tk-surface-container-high)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-high)/.9) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-high{--tw-gradient-to:rgb(var(--tk-surface-container-high)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#2e2735 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-low\/40{--tw-gradient-to:rgb(var(--tk-surface-container-low)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-low)/.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-lowest\/20{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-lowest)/.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-lowest\/30{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-lowest)/.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-lowest\/40{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-lowest)/.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-lowest\/80{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container-lowest)/.8) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container-lowest{--tw-gradient-to:rgb(var(--tk-surface-container-lowest)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#110c18 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container\/70{--tw-gradient-to:rgb(var(--tk-surface-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface-container)/.7) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface-container{--tw-gradient-to:rgb(var(--tk-surface-container)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#231d2a var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface\/40{--tw-gradient-to:rgb(var(--tk-surface)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface)/.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface\/60{--tw-gradient-to:rgb(var(--tk-surface)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--tk-surface)/.6) var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-surface{--tw-gradient-to:rgb(var(--tk-surface)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#16111d var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-tertiary,.via-tertiary-fixed-dim{--tw-gradient-to:rgb(var(--tk-tertiary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffba27 var(--tw-gradient-via-position),var(--tw-gradient-to)}


/* Three component classes that carry palette colours without being named
   after a token, so the generator above cannot see them. */
.btn-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 20px -2px rgb(var(--tk-primary-container)/.45);--tw-shadow-colored:0 4px 20px -2px var(--tw-shadow-color);background:linear-gradient(90deg,rgb(var(--tk-primary-container)),rgb(var(--tk-primary)))}
.btn-ghost{--tw-text-opacity:1;color:rgb(var(--tk-on-surface-variant)/var(--tw-text-opacity,1))}
.input-tuka{--tw-text-opacity:1;color:rgb(var(--tk-on-surface)/var(--tw-text-opacity,1))}

/* The page wash sits on the new ground too. The colour was pinned to the old
   purple-black at the top of this file, which would have left a band of the
   previous scheme behind everything else. */
body {
    background-color: rgb(var(--tk-surface)) !important;
}
