/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --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-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --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-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --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;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --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-orange-400: oklch(75% .183 55.934);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-950: oklch(27.9% .077 45.635);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-teal-200: oklch(91% .096 180.426);
    --color-teal-300: oklch(85.5% .138 181.071);
    --color-teal-400: oklch(77.7% .152 181.912);
    --color-teal-500: oklch(70.4% .14 182.503);
    --color-teal-600: oklch(60% .118 184.704);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-sky-400: oklch(74.6% .16 232.661);
    --color-sky-500: oklch(68.5% .169 237.323);
    --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-indigo-300: oklch(78.5% .115 274.713);
    --color-indigo-400: oklch(67.3% .182 276.935);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-purple-200: oklch(90.2% .063 306.703);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --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-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --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-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tighter: -.05em;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-sm: .25rem;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    --drop-shadow-sm: 0 1px 2px #00000026;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-3xl: 64px;
    --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 {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;
    -webkit-text-decoration: 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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  :root {
    --glass-bg: linear-gradient(135deg, #ffffff1f 0%, #ffffff08 100%), #0c181685;
    --glass-border: #ffffff2e;
    --glass-highlight: #ffffff38;
    --glass-shadow: 0 12px 36px -4px #00000059;
  }

  * {
    box-sizing: border-box;
  }

  body {
    color: #f1f5f9;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-user-select: none;
    user-select: none;
    letter-spacing: -.015em;
    background-color: #090d16;
    margin: 0;
    padding: 0;
    font-family: Inter, -apple-system, BlinkMacSystemFont, SF Pro Display, SF Pro Text, system-ui, sans-serif;
    overflow-x: hidden;
  }

  .tabular-nums {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1, "zero" 0;
    letter-spacing: -.01em;
    font-family: Inter, -apple-system, BlinkMacSystemFont, SF Pro Display, SF Pro Text, system-ui, sans-serif;
  }
}

@layer components;

@layer utilities {
  .\@container-size {
    container-type: size;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .\!visible {
    visibility: visible !important;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-4 {
    inset: calc(var(--spacing) * 4);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .-top-24 {
    top: calc(var(--spacing) * -24);
  }

  .top-0 {
    top: 0;
  }

  .top-1 {
    top: var(--spacing);
  }

  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .top-full {
    top: 100%;
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .right-0 {
    right: 0;
  }

  .right-0\.5 {
    right: calc(var(--spacing) * .5);
  }

  .right-1 {
    right: var(--spacing);
  }

  .right-1\.5 {
    right: calc(var(--spacing) * 1.5);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-2\.5 {
    right: calc(var(--spacing) * 2.5);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .-bottom-1 {
    bottom: calc(var(--spacing) * -1);
  }

  .bottom-0 {
    bottom: 0;
  }

  .bottom-0\.5 {
    bottom: calc(var(--spacing) * .5);
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .bottom-full {
    bottom: 100%;
  }

  .left-0 {
    left: 0;
  }

  .left-1 {
    left: var(--spacing);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-2 {
    left: calc(var(--spacing) * 2);
  }

  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .isolate {
    isolation: isolate;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[2\] {
    z-index: 2;
  }

  .z-\[3\] {
    z-index: 3;
  }

  .col-span-full {
    grid-column: 1 / -1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-6 {
    margin: calc(var(--spacing) * 6);
  }

  .m-63 {
    margin: calc(var(--spacing) * 63);
  }

  .mx-3 {
    margin-inline: calc(var(--spacing) * 3);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-1 {
    margin-block: var(--spacing);
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }

  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }

  .my-auto {
    margin-block: auto;
  }

  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }

  .mt-0 {
    margin-top: 0;
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mr-0 {
    margin-right: 0;
  }

  .mr-0\.5 {
    margin-right: calc(var(--spacing) * .5);
  }

  .mr-1 {
    margin-right: var(--spacing);
  }

  .mr-1\.5 {
    margin-right: calc(var(--spacing) * 1.5);
  }

  .mb-0 {
    margin-bottom: 0;
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-2\.5 {
    margin-bottom: calc(var(--spacing) * 2.5);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-3\.5 {
    margin-bottom: calc(var(--spacing) * 3.5);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .ml-0 {
    margin-left: 0;
  }

  .ml-0\.5 {
    margin-left: calc(var(--spacing) * .5);
  }

  .ml-1 {
    margin-left: var(--spacing);
  }

  .ml-1\.5 {
    margin-left: calc(var(--spacing) * 1.5);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .inline-grid {
    display: inline-grid;
  }

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .h-1 {
    height: var(--spacing);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-28 {
    height: calc(var(--spacing) * 28);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-72 {
    height: calc(var(--spacing) * 72);
  }

  .h-96 {
    height: calc(var(--spacing) * 96);
  }

  .h-\[420px\] {
    height: 420px;
  }

  .h-\[520px\] {
    height: 520px;
  }

  .h-dvh {
    height: 100dvh;
  }

  .h-fit {
    height: fit-content;
  }

  .h-full {
    height: 100%;
  }

  .max-h-36 {
    max-height: calc(var(--spacing) * 36);
  }

  .max-h-40 {
    max-height: calc(var(--spacing) * 40);
  }

  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }

  .max-h-72 {
    max-height: calc(var(--spacing) * 72);
  }

  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }

  .max-h-\[50vh\] {
    max-height: 50vh;
  }

  .max-h-\[85dvh\] {
    max-height: 85dvh;
  }

  .max-h-\[85vh\] {
    max-height: 85vh;
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .max-h-\[460px\] {
    max-height: 460px;
  }

  .max-h-\[500px\] {
    max-height: 500px;
  }

  .max-h-\[520px\] {
    max-height: 520px;
  }

  .max-h-\[600px\] {
    max-height: 600px;
  }

  .min-h-0 {
    min-height: 0;
  }

  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }

  .min-h-\[44px\] {
    min-height: 44px;
  }

  .min-h-\[300px\] {
    min-height: 300px;
  }

  .min-h-dvh {
    min-height: 100dvh;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-1 {
    width: var(--spacing);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-44 {
    width: calc(var(--spacing) * 44);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-96 {
    width: calc(var(--spacing) * 96);
  }

  .w-\[200px\] {
    width: 200px;
  }

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-\[80\%\] {
    max-width: 80%;
  }

  .max-w-\[85\%\] {
    max-width: 85%;
  }

  .max-w-\[140px\] {
    max-width: 140px;
  }

  .max-w-\[190px\] {
    max-width: 190px;
  }

  .max-w-\[200px\] {
    max-width: 200px;
  }

  .max-w-\[calc\(100vw-32px\)\] {
    max-width: calc(100vw - 32px);
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: 0;
  }

  .min-w-11 {
    min-width: calc(var(--spacing) * 11);
  }

  .min-w-48 {
    min-width: calc(var(--spacing) * 48);
  }

  .min-w-\[56px\] {
    min-width: 56px;
  }

  .min-w-\[240px\] {
    min-width: 240px;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .flex-shrink-0 {
    flex-shrink: 0;
  }

  .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .flex-grow, .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .-translate-x-1 {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-5 {
    --tw-translate-x: calc(var(--spacing) * 5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1 {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .-rotate-90 {
    rotate: -90deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .transform\! {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, ) !important;
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-ping {
    animation: var(--animate-ping);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-text {
    cursor: text;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-row-reverse {
    flex-direction: row-reverse;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-items-center {
    place-items: center;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .gap-0 {
    gap: 0;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :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-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2.5) * 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-3\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3.5) * 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-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * 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)));
  }

  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }

  .gap-y-1 {
    row-gap: var(--spacing);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-black > :not(:last-child)) {
    border-color: var(--color-black);
  }

  :where(.divide-white > :not(:last-child)) {
    border-color: var(--color-white);
  }

  :where(.divide-white\/10 > :not(:last-child)) {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-white\/10 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .self-center {
    align-self: center;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .\!rounded-full {
    border-radius: 3.40282e38px !important;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-\[inherit\] {
    border-radius: inherit;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }

  .rounded-tl-sm {
    border-top-left-radius: var(--radius-sm);
  }

  .rounded-tr-sm {
    border-top-right-radius: var(--radius-sm);
  }

  .rounded-br-none {
    border-bottom-right-radius: 0;
  }

  .rounded-bl-none {
    border-bottom-left-radius: 0;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .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-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-b-4 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 4px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-\[\#c6d7b6\]\/25 {
    border-color: oklab(85.7499% -.0307997 .0371245 / .25);
  }

  .border-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_24\%\,transparent\)\] {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_24\%\,transparent\)\] {
      border-color: color-mix(in srgb,var(--sanctra-sage) 24%,transparent);
    }
  }

  .border-\[var\(--sanctra-glass-border\)\] {
    border-color: var(--sanctra-glass-border);
  }

  .border-\[var\(--sanctra-sage\)\], .border-\[var\(--sanctra-sage\)\]\/25 {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--sanctra-sage\)\]\/25 {
      border-color: color-mix(in oklab, var(--sanctra-sage) 25%, transparent);
    }
  }

  .border-\[var\(--sanctra-sage\)\]\/30 {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--sanctra-sage\)\]\/30 {
      border-color: color-mix(in oklab, var(--sanctra-sage) 30%, transparent);
    }
  }

  .border-\[var\(--sanctra-sage\)\]\/35 {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--sanctra-sage\)\]\/35 {
      border-color: color-mix(in oklab, var(--sanctra-sage) 35%, transparent);
    }
  }

  .border-\[var\(--sanctra-sage\)\]\/40 {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--sanctra-sage\)\]\/40 {
      border-color: color-mix(in oklab, var(--sanctra-sage) 40%, transparent);
    }
  }

  .border-\[var\(--sanctra-sage\)\]\/50 {
    border-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--sanctra-sage\)\]\/50 {
      border-color: color-mix(in oklab, var(--sanctra-sage) 50%, transparent);
    }
  }

  .border-amber-400 {
    border-color: var(--color-amber-400);
  }

  .border-amber-400\/30 {
    border-color: #fcbb004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-400\/30 {
      border-color: color-mix(in oklab, var(--color-amber-400) 30%, transparent);
    }
  }

  .border-amber-500 {
    border-color: var(--color-amber-500);
  }

  .border-amber-500\/20 {
    border-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/20 {
      border-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .border-amber-500\/30 {
    border-color: #f99c004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/30 {
      border-color: color-mix(in oklab, var(--color-amber-500) 30%, transparent);
    }
  }

  .border-black {
    border-color: var(--color-black);
  }

  .border-blue-500 {
    border-color: var(--color-blue-500);
  }

  .border-cyan-400 {
    border-color: var(--color-cyan-400);
  }

  .border-cyan-400\/30 {
    border-color: #00d2ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/30 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
    }
  }

  .border-cyan-500 {
    border-color: var(--color-cyan-500);
  }

  .border-cyan-500\/40 {
    border-color: #00b7d766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/40 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 40%, transparent);
    }
  }

  .border-emerald-400 {
    border-color: var(--color-emerald-400);
  }

  .border-emerald-500 {
    border-color: var(--color-emerald-500);
  }

  .border-emerald-500\/20 {
    border-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/20 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .border-emerald-500\/25 {
    border-color: #00bb7f40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/25 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);
    }
  }

  .border-emerald-500\/30 {
    border-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/30 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .border-emerald-500\/40 {
    border-color: #00bb7f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/40 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 40%, transparent);
    }
  }

  .border-emerald-500\/50 {
    border-color: #00bb7f80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
    }
  }

  .border-emerald-800 {
    border-color: var(--color-emerald-800);
  }

  .border-emerald-800\/50 {
    border-color: #005f4680;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-800\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-800) 50%, transparent);
    }
  }

  .border-indigo-500 {
    border-color: var(--color-indigo-500);
  }

  .border-indigo-500\/40 {
    border-color: #625fff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-indigo-500\/40 {
      border-color: color-mix(in oklab, var(--color-indigo-500) 40%, transparent);
    }
  }

  .border-pink-500 {
    border-color: var(--color-pink-500);
  }

  .border-purple-500 {
    border-color: var(--color-purple-500);
  }

  .border-purple-500\/25 {
    border-color: #ac4bff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-purple-500\/25 {
      border-color: color-mix(in oklab, var(--color-purple-500) 25%, transparent);
    }
  }

  .border-purple-500\/30 {
    border-color: #ac4bff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-purple-500\/30 {
      border-color: color-mix(in oklab, var(--color-purple-500) 30%, transparent);
    }
  }

  .border-purple-500\/40 {
    border-color: #ac4bff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-purple-500\/40 {
      border-color: color-mix(in oklab, var(--color-purple-500) 40%, transparent);
    }
  }

  .border-red-500 {
    border-color: var(--color-red-500);
  }

  .border-red-500\/20 {
    border-color: #fb2c3633;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-500\/20 {
      border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .border-rose-500 {
    border-color: var(--color-rose-500);
  }

  .border-rose-500\/20 {
    border-color: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/20 {
      border-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }

  .border-rose-500\/30 {
    border-color: #ff23574d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/30 {
      border-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent);
    }
  }

  .border-rose-500\/40 {
    border-color: #ff235766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/40 {
      border-color: color-mix(in oklab, var(--color-rose-500) 40%, transparent);
    }
  }

  .border-rose-500\/50 {
    border-color: #ff235780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/50 {
      border-color: color-mix(in oklab, var(--color-rose-500) 50%, transparent);
    }
  }

  .border-rose-800 {
    border-color: var(--color-rose-800);
  }

  .border-rose-800\/40 {
    border-color: #a3003766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-800\/40 {
      border-color: color-mix(in oklab, var(--color-rose-800) 40%, transparent);
    }
  }

  .border-sky-400 {
    border-color: var(--color-sky-400);
  }

  .border-sky-400\/30 {
    border-color: #00bcfe4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-400\/30 {
      border-color: color-mix(in oklab, var(--color-sky-400) 30%, transparent);
    }
  }

  .border-sky-500 {
    border-color: var(--color-sky-500);
  }

  .border-sky-500\/20 {
    border-color: #00a5ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-500\/20 {
      border-color: color-mix(in oklab, var(--color-sky-500) 20%, transparent);
    }
  }

  .border-sky-500\/30 {
    border-color: #00a5ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-500\/30 {
      border-color: color-mix(in oklab, var(--color-sky-500) 30%, transparent);
    }
  }

  .border-slate-600 {
    border-color: var(--color-slate-600);
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .border-slate-800\/40 {
    border-color: #1d293d66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/40 {
      border-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
    }
  }

  .border-slate-800\/60 {
    border-color: #1d293d99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/60 {
      border-color: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
    }
  }

  .border-slate-800\/80 {
    border-color: #1d293dcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-800\/80 {
      border-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
    }
  }

  .border-slate-950 {
    border-color: var(--color-slate-950);
  }

  .border-teal-500 {
    border-color: var(--color-teal-500);
  }

  .border-teal-500\/30 {
    border-color: #00baa74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-teal-500\/30 {
      border-color: color-mix(in oklab, var(--color-teal-500) 30%, transparent);
    }
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-white\/5 {
    border-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/5 {
      border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/12 {
    border-color: #ffffff1f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/12 {
      border-color: color-mix(in oklab, var(--color-white) 12%, transparent);
    }
  }

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-white\/20 {
    border-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/20 {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .border-white\/30 {
    border-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/30 {
      border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .bg-\[\#070b13\] {
    background-color: #070b13;
  }

  .bg-\[\#090d16\] {
    background-color: #090d16;
  }

  .bg-\[\#14221f\]\/95 {
    background-color: oklab(23.7984% -.0202069 .000143126 / .95);
  }

  .bg-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_12\%\,transparent\)\] {
    background-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_12\%\,transparent\)\] {
      background-color: color-mix(in srgb,var(--sanctra-sage) 12%,transparent);
    }
  }

  .bg-\[var\(--sanctra-sage\)\], .bg-\[var\(--sanctra-sage\)\]\/10 {
    background-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--sanctra-sage\)\]\/10 {
      background-color: color-mix(in oklab, var(--sanctra-sage) 10%, transparent);
    }
  }

  .bg-\[var\(--sanctra-sage\)\]\/15 {
    background-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--sanctra-sage\)\]\/15 {
      background-color: color-mix(in oklab, var(--sanctra-sage) 15%, transparent);
    }
  }

  .bg-\[var\(--sanctra-sage\)\]\/20 {
    background-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--sanctra-sage\)\]\/20 {
      background-color: color-mix(in oklab, var(--sanctra-sage) 20%, transparent);
    }
  }

  .bg-\[var\(--sanctra-surface\)\] {
    background-color: var(--sanctra-surface);
  }

  .bg-amber-400 {
    background-color: var(--color-amber-400);
  }

  .bg-amber-400\/10 {
    background-color: #fcbb001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-400\/10 {
      background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);
    }
  }

  .bg-amber-400\/15 {
    background-color: #fcbb0026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-400\/15 {
      background-color: color-mix(in oklab, var(--color-amber-400) 15%, transparent);
    }
  }

  .bg-amber-400\/20 {
    background-color: #fcbb0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-400\/20 {
      background-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);
    }
  }

  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }

  .bg-amber-500\/10 {
    background-color: #f99c001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/10 {
      background-color: color-mix(in oklab, var(--color-amber-500) 10%, transparent);
    }
  }

  .bg-amber-500\/20 {
    background-color: #f99c0033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/20 {
      background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }

  .bg-amber-950 {
    background-color: var(--color-amber-950);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/20 {
    background-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/20 {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .bg-black\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-black\/70 {
    background-color: #000000b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/70 {
      background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }

  .bg-black\/75 {
    background-color: #000000bf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/75 {
      background-color: color-mix(in oklab, var(--color-black) 75%, transparent);
    }
  }

  .bg-black\/80 {
    background-color: #000c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/80 {
      background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }

  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-cyan-400 {
    background-color: var(--color-cyan-400);
  }

  .bg-cyan-400\/20 {
    background-color: #00d2ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-400\/20 {
      background-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
    }
  }

  .bg-cyan-500 {
    background-color: var(--color-cyan-500);
  }

  .bg-cyan-500\/10 {
    background-color: #00b7d71a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 10%, transparent);
    }
  }

  .bg-emerald-200 {
    background-color: var(--color-emerald-200);
  }

  .bg-emerald-200\/10 {
    background-color: #a4f4cf1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-200\/10 {
      background-color: color-mix(in oklab, var(--color-emerald-200) 10%, transparent);
    }
  }

  .bg-emerald-300 {
    background-color: var(--color-emerald-300);
  }

  .bg-emerald-400 {
    background-color: var(--color-emerald-400);
  }

  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }

  .bg-emerald-500\/10 {
    background-color: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/10 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
    }
  }

  .bg-emerald-500\/15 {
    background-color: #00bb7f26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/15 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 15%, transparent);
    }
  }

  .bg-emerald-500\/20 {
    background-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/20 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .bg-emerald-500\/\[0\.04\] {
    background-color: #00bb7f0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/\[0\.04\] {
      background-color: color-mix(in oklab, var(--color-emerald-500) 4%, transparent);
    }
  }

  .bg-emerald-600 {
    background-color: var(--color-emerald-600);
  }

  .bg-emerald-950 {
    background-color: var(--color-emerald-950);
  }

  .bg-emerald-950\/60 {
    background-color: #002c2299;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-950\/60 {
      background-color: color-mix(in oklab, var(--color-emerald-950) 60%, transparent);
    }
  }

  .bg-emerald-950\/80 {
    background-color: #002c22cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-950\/80 {
      background-color: color-mix(in oklab, var(--color-emerald-950) 80%, transparent);
    }
  }

  .bg-green-500 {
    background-color: var(--color-green-500);
  }

  .bg-indigo-500 {
    background-color: var(--color-indigo-500);
  }

  .bg-indigo-500\/10 {
    background-color: #625fff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-indigo-500\/10 {
      background-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);
    }
  }

  .bg-pink-500 {
    background-color: var(--color-pink-500);
  }

  .bg-purple-400 {
    background-color: var(--color-purple-400);
  }

  .bg-purple-500 {
    background-color: var(--color-purple-500);
  }

  .bg-purple-500\/10 {
    background-color: #ac4bff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/10 {
      background-color: color-mix(in oklab, var(--color-purple-500) 10%, transparent);
    }
  }

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/20 {
      background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .bg-purple-500\/\[0\.04\] {
    background-color: #ac4bff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/\[0\.04\] {
      background-color: color-mix(in oklab, var(--color-purple-500) 4%, transparent);
    }
  }

  .bg-red-500 {
    background-color: var(--color-red-500);
  }

  .bg-red-500\/10 {
    background-color: #fb2c361a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-500\/10 {
      background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
    }
  }

  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }

  .bg-rose-500\/10 {
    background-color: #ff23571a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/10 {
      background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
    }
  }

  .bg-rose-500\/15 {
    background-color: #ff235726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/15 {
      background-color: color-mix(in oklab, var(--color-rose-500) 15%, transparent);
    }
  }

  .bg-rose-500\/20 {
    background-color: #ff235733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/20 {
      background-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }

  .bg-rose-600 {
    background-color: var(--color-rose-600);
  }

  .bg-rose-600\/25 {
    background-color: #e7004440;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-600\/25 {
      background-color: color-mix(in oklab, var(--color-rose-600) 25%, transparent);
    }
  }

  .bg-rose-600\/30 {
    background-color: #e700444d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-600\/30 {
      background-color: color-mix(in oklab, var(--color-rose-600) 30%, transparent);
    }
  }

  .bg-rose-950 {
    background-color: var(--color-rose-950);
  }

  .bg-rose-950\/20 {
    background-color: #4d021833;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-950\/20 {
      background-color: color-mix(in oklab, var(--color-rose-950) 20%, transparent);
    }
  }

  .bg-rose-950\/70 {
    background-color: #4d0218b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-950\/70 {
      background-color: color-mix(in oklab, var(--color-rose-950) 70%, transparent);
    }
  }

  .bg-rose-950\/80 {
    background-color: #4d0218cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-950\/80 {
      background-color: color-mix(in oklab, var(--color-rose-950) 80%, transparent);
    }
  }

  .bg-sky-400 {
    background-color: var(--color-sky-400);
  }

  .bg-sky-400\/20 {
    background-color: #00bcfe33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-400\/20 {
      background-color: color-mix(in oklab, var(--color-sky-400) 20%, transparent);
    }
  }

  .bg-sky-500 {
    background-color: var(--color-sky-500);
  }

  .bg-sky-500\/10 {
    background-color: #00a5ef1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-500\/10 {
      background-color: color-mix(in oklab, var(--color-sky-500) 10%, transparent);
    }
  }

  .bg-sky-500\/20 {
    background-color: #00a5ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-500\/20 {
      background-color: color-mix(in oklab, var(--color-sky-500) 20%, transparent);
    }
  }

  .bg-slate-300 {
    background-color: var(--color-slate-300);
  }

  .bg-slate-400 {
    background-color: var(--color-slate-400);
  }

  .bg-slate-500 {
    background-color: var(--color-slate-500);
  }

  .bg-slate-500\/20 {
    background-color: #62748e33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-500\/20 {
      background-color: color-mix(in oklab, var(--color-slate-500) 20%, transparent);
    }
  }

  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }

  .bg-slate-700\/40 {
    background-color: #31415866;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/40 {
      background-color: color-mix(in oklab, var(--color-slate-700) 40%, transparent);
    }
  }

  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }

  .bg-slate-800\/50 {
    background-color: #1d293d80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/50 {
      background-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
    }
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-900\/30 {
    background-color: #0f172b4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/30 {
      background-color: color-mix(in oklab, var(--color-slate-900) 30%, transparent);
    }
  }

  .bg-slate-900\/40 {
    background-color: #0f172b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/40 {
      background-color: color-mix(in oklab, var(--color-slate-900) 40%, transparent);
    }
  }

  .bg-slate-900\/60 {
    background-color: #0f172b99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/60 {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }

  .bg-slate-900\/70 {
    background-color: #0f172bb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/70 {
      background-color: color-mix(in oklab, var(--color-slate-900) 70%, transparent);
    }
  }

  .bg-slate-900\/80 {
    background-color: #0f172bcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/80 {
      background-color: color-mix(in oklab, var(--color-slate-900) 80%, transparent);
    }
  }

  .bg-slate-900\/90 {
    background-color: #0f172be6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/90 {
      background-color: color-mix(in oklab, var(--color-slate-900) 90%, transparent);
    }
  }

  .bg-slate-900\/95 {
    background-color: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/95 {
      background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }

  .bg-slate-950\/40 {
    background-color: #02061866;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/40 {
      background-color: color-mix(in oklab, var(--color-slate-950) 40%, transparent);
    }
  }

  .bg-slate-950\/60 {
    background-color: #02061899;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/60 {
      background-color: color-mix(in oklab, var(--color-slate-950) 60%, transparent);
    }
  }

  .bg-slate-950\/70 {
    background-color: #020618b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/70 {
      background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);
    }
  }

  .bg-slate-950\/80 {
    background-color: #020618cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/80 {
      background-color: color-mix(in oklab, var(--color-slate-950) 80%, transparent);
    }
  }

  .bg-teal-300 {
    background-color: var(--color-teal-300);
  }

  .bg-teal-400 {
    background-color: var(--color-teal-400);
  }

  .bg-teal-500 {
    background-color: var(--color-teal-500);
  }

  .bg-teal-500\/15 {
    background-color: #00baa726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-teal-500\/15 {
      background-color: color-mix(in oklab, var(--color-teal-500) 15%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-white\/15 {
    background-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/15 {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .bg-white\/20 {
    background-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .bg-white\/\[0\.01\] {
    background-color: #ffffff03;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.01\] {
      background-color: color-mix(in oklab, var(--color-white) 1%, transparent);
    }
  }

  .bg-white\/\[0\.02\] {
    background-color: #ffffff05;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.02\] {
      background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
    }
  }

  .bg-white\/\[0\.03\] {
    background-color: #ffffff08;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.03\] {
      background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
    }
  }

  .bg-white\/\[0\.04\] {
    background-color: #ffffff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.04\] {
      background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
    }
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-tr {
    --tw-gradient-position: to top right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[var\(--sanctra-sage\)\]\/15 {
    --tw-gradient-from: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-\[var\(--sanctra-sage\)\]\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--sanctra-sage) 15%, transparent);
    }
  }

  .from-\[var\(--sanctra-sage\)\]\/15 {
    --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));
  }

  .from-\[var\(--sanctra-surface\)\]\/90 {
    --tw-gradient-from: var(--sanctra-surface);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-\[var\(--sanctra-surface\)\]\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--sanctra-surface) 90%, transparent);
    }
  }

  .from-\[var\(--sanctra-surface\)\]\/90 {
    --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));
  }

  .from-amber-500 {
    --tw-gradient-from: var(--color-amber-500);
    --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));
  }

  .from-blue-500 {
    --tw-gradient-from: var(--color-blue-500);
    --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));
  }

  .from-cyan-500 {
    --tw-gradient-from: var(--color-cyan-500);
    --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));
  }

  .from-emerald-500 {
    --tw-gradient-from: var(--color-emerald-500);
    --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));
  }

  .from-emerald-500\/10 {
    --tw-gradient-from: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
    }
  }

  .from-emerald-500\/10 {
    --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));
  }

  .from-purple-400 {
    --tw-gradient-from: var(--color-purple-400);
    --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));
  }

  .from-slate-950 {
    --tw-gradient-from: var(--color-slate-950);
    --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));
  }

  .from-slate-950\/90 {
    --tw-gradient-from: #020618e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-950\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-950) 90%, transparent);
    }
  }

  .from-slate-950\/90 {
    --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));
  }

  .from-white {
    --tw-gradient-from: var(--color-white);
    --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));
  }

  .from-white\/\[0\.05\] {
    --tw-gradient-from: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-white\/\[0\.05\] {
      --tw-gradient-from: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .from-white\/\[0\.05\] {
    --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));
  }

  .via-\[var\(--sanctra-sage\)\]\/5 {
    --tw-gradient-via: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-\[var\(--sanctra-sage\)\]\/5 {
      --tw-gradient-via: color-mix(in oklab, var(--sanctra-sage) 5%, transparent);
    }
  }

  .via-\[var\(--sanctra-sage\)\]\/5 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-\[var\(--sanctra-sage\)\]\/\[0\.04\] {
    --tw-gradient-via: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-\[var\(--sanctra-sage\)\]\/\[0\.04\] {
      --tw-gradient-via: color-mix(in oklab, var(--sanctra-sage) 4%, transparent);
    }
  }

  .via-\[var\(--sanctra-sage\)\]\/\[0\.04\] {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-emerald-500 {
    --tw-gradient-via: var(--color-emerald-500);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-emerald-500\/10 {
    --tw-gradient-via: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-emerald-500\/10 {
      --tw-gradient-via: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
    }
  }

  .via-emerald-500\/10 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-950 {
    --tw-gradient-via: var(--color-slate-950);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-950\/30 {
    --tw-gradient-via: #0206184d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-950\/30 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-950) 30%, transparent);
    }
  }

  .via-slate-950\/30 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white\/\[0\.04\] {
    --tw-gradient-via: #ffffff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-white\/\[0\.04\] {
      --tw-gradient-via: color-mix(in oklab, var(--color-white) 4%, transparent);
    }
  }

  .via-white\/\[0\.04\] {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-amber-600 {
    --tw-gradient-to: var(--color-amber-600);
    --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-black {
    --tw-gradient-to: var(--color-black);
    --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-black\/40 {
    --tw-gradient-to: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-black\/40 {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .to-black\/40 {
    --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-emerald-600 {
    --tw-gradient-to: var(--color-emerald-600);
    --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-indigo-400 {
    --tw-gradient-to: var(--color-indigo-400);
    --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-orange-400 {
    --tw-gradient-to: var(--color-orange-400);
    --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-slate-900 {
    --tw-gradient-to: var(--color-slate-900);
    --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-slate-900\/40 {
    --tw-gradient-to: #0f172b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-slate-900\/40 {
      --tw-gradient-to: color-mix(in oklab, var(--color-slate-900) 40%, transparent);
    }
  }

  .to-slate-900\/40 {
    --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-teal-400 {
    --tw-gradient-to: var(--color-teal-400);
    --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-teal-600 {
    --tw-gradient-to: var(--color-teal-600);
    --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));
  }

  .bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
  }

  .fill-\[var\(--sanctra-ink\)\] {
    fill: var(--sanctra-ink);
  }

  .fill-\[var\(--sanctra-sage\)\] {
    fill: var(--sanctra-sage);
  }

  .fill-current {
    fill: currentColor;
  }

  .fill-slate-950 {
    fill: var(--color-slate-950);
  }

  .stroke-\[2\.5\] {
    stroke-width: 2.5px;
  }

  .stroke-\[3\] {
    stroke-width: 3px;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: 0;
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-10 {
    padding: calc(var(--spacing) * 10);
  }

  .p-12 {
    padding: calc(var(--spacing) * 12);
  }

  .px-1 {
    padding-inline: var(--spacing);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .py-0 {
    padding-block: 0;
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-0 {
    padding-top: 0;
  }

  .pt-1 {
    padding-top: var(--spacing);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pr-1 {
    padding-right: var(--spacing);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pb-1 {
    padding-bottom: var(--spacing);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-px {
    padding-bottom: 1px;
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-7 {
    padding-left: calc(var(--spacing) * 7);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .align-bottom {
    vertical-align: bottom;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .font-serif {
    font-family: var(--font-serif);
  }

  .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-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--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));
  }

  .text-\[8px\] {
    font-size: 8px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .leading-\[0\.9\] {
    --tw-leading: .9;
    line-height: .9;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

  .tracking-\[\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }

  .tracking-\[\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

  .tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

  .tracking-\[0\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }

  .tracking-\[0\.16em\] {
    --tw-tracking: .16em;
    letter-spacing: .16em;
  }

  .tracking-\[0\.22em\] {
    --tw-tracking: .22em;
    letter-spacing: .22em;
  }

  .tracking-\[1\.5\] {
    --tw-tracking: 1.5;
    letter-spacing: 1.5px;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-balance {
    text-wrap: balance;
  }

  .text-wrap {
    text-wrap: wrap;
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .wrap-anywhere {
    overflow-wrap: anywhere;
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-\[\#f3f1e7\] {
    color: #f3f1e7;
  }

  .text-\[var\(--sanctra-ink\)\] {
    color: var(--sanctra-ink);
  }

  .text-\[var\(--sanctra-muted\)\] {
    color: var(--sanctra-muted);
  }

  .text-\[var\(--sanctra-paper\)\], .text-\[var\(--sanctra-paper\)\]\/90 {
    color: var(--sanctra-paper);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[var\(--sanctra-paper\)\]\/90 {
      color: color-mix(in oklab, var(--sanctra-paper) 90%, transparent);
    }
  }

  .text-\[var\(--sanctra-sage\)\], .text-\[var\(--sanctra-sage\)\]\/80 {
    color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[var\(--sanctra-sage\)\]\/80 {
      color: color-mix(in oklab, var(--sanctra-sage) 80%, transparent);
    }
  }

  .text-\[var\(--sanctra-sage\)\]\/90 {
    color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-\[var\(--sanctra-sage\)\]\/90 {
      color: color-mix(in oklab, var(--sanctra-sage) 90%, transparent);
    }
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-emerald-200 {
    color: var(--color-emerald-200);
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-emerald-300\/90 {
    color: #5ee9b5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-300\/90 {
      color: color-mix(in oklab, var(--color-emerald-300) 90%, transparent);
    }
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-400\/80 {
    color: #00d294cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-400\/80 {
      color: color-mix(in oklab, var(--color-emerald-400) 80%, transparent);
    }
  }

  .text-emerald-400\/90 {
    color: #00d294e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-400\/90 {
      color: color-mix(in oklab, var(--color-emerald-400) 90%, transparent);
    }
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-indigo-300 {
    color: var(--color-indigo-300);
  }

  .text-indigo-400 {
    color: var(--color-indigo-400);
  }

  .text-pink-400 {
    color: var(--color-pink-400);
  }

  .text-purple-200 {
    color: var(--color-purple-200);
  }

  .text-purple-300 {
    color: var(--color-purple-300);
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-red-200 {
    color: var(--color-red-200);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-rose-200 {
    color: var(--color-rose-200);
  }

  .text-rose-200\/80 {
    color: #ffccd3cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-rose-200\/80 {
      color: color-mix(in oklab, var(--color-rose-200) 80%, transparent);
    }
  }

  .text-rose-300 {
    color: var(--color-rose-300);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-rose-400\/80 {
    color: #ff667fcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-rose-400\/80 {
      color: color-mix(in oklab, var(--color-rose-400) 80%, transparent);
    }
  }

  .text-sky-300 {
    color: var(--color-sky-300);
  }

  .text-sky-400 {
    color: var(--color-sky-400);
  }

  .text-slate-100 {
    color: var(--color-slate-100);
  }

  .text-slate-200 {
    color: var(--color-slate-200);
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

  .text-slate-300\/80 {
    color: #cad5e2cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-300\/80 {
      color: color-mix(in oklab, var(--color-slate-300) 80%, transparent);
    }
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .text-slate-500 {
    color: var(--color-slate-500);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

  .text-slate-950 {
    color: var(--color-slate-950);
  }

  .text-teal-200 {
    color: var(--color-teal-200);
  }

  .text-teal-300 {
    color: var(--color-teal-300);
  }

  .text-teal-400 {
    color: var(--color-teal-400);
  }

  .text-transparent {
    color: #0000;
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/30 {
    color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/30 {
      color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .text-white\/50 {
    color: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/50 {
      color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    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;
  }

  .placeholder-slate-500::placeholder {
    color: var(--color-slate-500);
  }

  .accent-\[var\(--sanctra-sage\)\] {
    accent-color: var(--sanctra-sage);
  }

  .accent-blue-500 {
    accent-color: var(--color-blue-500);
  }

  .accent-emerald-400 {
    accent-color: var(--color-emerald-400);
  }

  .accent-emerald-500 {
    accent-color: var(--color-emerald-500);
  }

  .accent-teal-500 {
    accent-color: var(--color-teal-500);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-100 {
    opacity: 1;
  }

  .opacity-\[0\.03\] {
    opacity: .03;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    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, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    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, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow\/elevation {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring, .ring-1 {
    --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);
  }

  .shadow-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_25\%\,transparent\)\] {
    --tw-shadow-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-\[color-mix\(in_srgb\,var\(--sanctra-sage\)_25\%\,transparent\)\] {
      --tw-shadow-color: color-mix(in oklab, color-mix(in srgb,var(--sanctra-sage) 25%,transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-amber-500 {
    --tw-shadow-color: oklch(76.9% .188 70.08);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-500 {
      --tw-shadow-color: color-mix(in oklab, var(--color-amber-500) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black {
    --tw-shadow-color: #000;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black {
      --tw-shadow-color: color-mix(in oklab, var(--color-black) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black\/20 {
    --tw-shadow-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black\/30 {
    --tw-shadow-color: #0000004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-black\/40 {
    --tw-shadow-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-400 {
    --tw-shadow-color: oklch(76.5% .177 163.223);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-400 {
      --tw-shadow-color: color-mix(in oklab, var(--color-emerald-400) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-400\/20 {
    --tw-shadow-color: #00d29433;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-400\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-400) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500 {
    --tw-shadow-color: oklch(69.6% .17 162.48);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500 {
      --tw-shadow-color: color-mix(in oklab, var(--color-emerald-500) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/5 {
    --tw-shadow-color: #00bb7f0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/5 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 5%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/10 {
    --tw-shadow-color: #00bb7f1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/20 {
    --tw-shadow-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-500\/25 {
    --tw-shadow-color: #00bb7f40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-500\/25 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-900 {
    --tw-shadow-color: oklch(37.8% .077 168.94);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-900 {
      --tw-shadow-color: color-mix(in oklab, var(--color-emerald-900) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-900\/30 {
    --tw-shadow-color: #004e3b4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-900\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-900) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-purple-500 {
    --tw-shadow-color: oklch(62.7% .265 303.9);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-purple-500 {
      --tw-shadow-color: color-mix(in oklab, var(--color-purple-500) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-purple-500\/50 {
    --tw-shadow-color: #ac4bff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-purple-500\/50 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 50%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-rose-600 {
    --tw-shadow-color: oklch(58.6% .253 17.585);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-rose-600 {
      --tw-shadow-color: color-mix(in oklab, var(--color-rose-600) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-rose-600\/30 {
    --tw-shadow-color: #e700444d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-rose-600\/30 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-600) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-\[var\(--sanctra-sage\)\]\/20 {
    --tw-ring-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-\[var\(--sanctra-sage\)\]\/20 {
      --tw-ring-color: color-mix(in oklab, var(--sanctra-sage) 20%, transparent);
    }
  }

  .ring-\[var\(--sanctra-sage\)\]\/30 {
    --tw-ring-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-\[var\(--sanctra-sage\)\]\/30 {
      --tw-ring-color: color-mix(in oklab, var(--sanctra-sage) 30%, transparent);
    }
  }

  .ring-\[var\(--sanctra-sage\)\]\/40 {
    --tw-ring-color: var(--sanctra-sage);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-\[var\(--sanctra-sage\)\]\/40 {
      --tw-ring-color: color-mix(in oklab, var(--sanctra-sage) 40%, transparent);
    }
  }

  .ring-\[var\(--sanctra-surface\)\] {
    --tw-ring-color: var(--sanctra-surface);
  }

  .ring-amber-400 {
    --tw-ring-color: var(--color-amber-400);
  }

  .ring-amber-400\/40 {
    --tw-ring-color: #fcbb0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-amber-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-amber-400) 40%, transparent);
    }
  }

  .ring-emerald-200 {
    --tw-ring-color: var(--color-emerald-200);
  }

  .ring-emerald-200\/50 {
    --tw-ring-color: #a4f4cf80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-200\/50 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-200) 50%, transparent);
    }
  }

  .ring-emerald-300 {
    --tw-ring-color: var(--color-emerald-300);
  }

  .ring-emerald-400 {
    --tw-ring-color: var(--color-emerald-400);
  }

  .ring-emerald-400\/30 {
    --tw-ring-color: #00d2944d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-400\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 30%, transparent);
    }
  }

  .ring-emerald-400\/40 {
    --tw-ring-color: #00d29466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 40%, transparent);
    }
  }

  .ring-emerald-500 {
    --tw-ring-color: var(--color-emerald-500);
  }

  .ring-emerald-500\/20 {
    --tw-ring-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-500\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .ring-slate-400 {
    --tw-ring-color: var(--color-slate-400);
  }

  .ring-slate-400\/20 {
    --tw-ring-color: #90a1b933;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-slate-400\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-slate-400) 20%, transparent);
    }
  }

  .ring-teal-300 {
    --tw-ring-color: var(--color-teal-300);
  }

  .ring-teal-300\/30 {
    --tw-ring-color: #46ecd54d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-teal-300\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-teal-300) 30%, transparent);
    }
  }

  .ring-teal-400 {
    --tw-ring-color: var(--color-teal-400);
  }

  .ring-teal-400\/30 {
    --tw-ring-color: #00d3bd4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-teal-400\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-teal-400) 30%, transparent);
    }
  }

  .ring-white {
    --tw-ring-color: var(--color-white);
  }

  .ring-white\/15 {
    --tw-ring-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/15 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .ring-white\/20 {
    --tw-ring-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .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-slate-950 {
    --tw-ring-offset-color: var(--color-slate-950);
  }

  .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, );
  }

  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    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, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    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, );
  }

  .drop-shadow-sm {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #00000026));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));
    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, );
  }

  .sepia {
    --tw-sepia: sepia(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-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -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, );
  }

  .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, );
  }

  .backdrop-filter {
    -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, 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-\[width\,transform\] {
    transition-property: width, transform;
    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-opacity {
    transition-property: opacity;
    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));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[catalog\:google-font-licenses\] {
    catalog: google-font-licenses;
  }

  .\[catalog\:google-fonts\] {
    catalog: google-fonts;
  }

  .\[catalog\:phosphor\] {
    catalog: phosphor;
  }

  .\[catalog\:summary\] {
    catalog: summary;
  }

  .\[content-visibility\:auto\] {
    content-visibility: auto;
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:rotate-45:is(:where(.group):hover *) {
      rotate: 45deg;
    }

    .group-hover\:text-\[var\(--sanctra-sage\)\]:is(:where(.group):hover *) {
      color: var(--sanctra-sage);
    }

    .group-hover\:text-emerald-300:is(:where(.group):hover *) {
      color: var(--color-emerald-300);
    }

    .group-hover\:text-slate-200:is(:where(.group):hover *) {
      color: var(--color-slate-200);
    }

    .group-hover\:text-slate-300:is(:where(.group):hover *) {
      color: var(--color-slate-300);
    }

    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .selection\:bg-emerald-500\/30 ::selection {
    background-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-emerald-500\/30 ::selection {
      background-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .selection\:bg-emerald-500\/30::selection {
    background-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .selection\:bg-emerald-500\/30::selection {
      background-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  @media (hover: hover) {
    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-\[1\.02\]:hover {
      scale: 1.02;
    }

    .hover\:border-\[var\(--sanctra-sage\)\]\/40:hover {
      border-color: var(--sanctra-sage);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[var\(--sanctra-sage\)\]\/40:hover {
        border-color: color-mix(in oklab, var(--sanctra-sage) 40%, transparent);
      }
    }

    .hover\:border-\[var\(--sanctra-sage\)\]\/45:hover {
      border-color: var(--sanctra-sage);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[var\(--sanctra-sage\)\]\/45:hover {
        border-color: color-mix(in oklab, var(--sanctra-sage) 45%, transparent);
      }
    }

    .hover\:border-amber-400\/50:hover {
      border-color: #fcbb0080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-amber-400\/50:hover {
        border-color: color-mix(in oklab, var(--color-amber-400) 50%, transparent);
      }
    }

    .hover\:border-emerald-200\/30:hover {
      border-color: #a4f4cf4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-200\/30:hover {
        border-color: color-mix(in oklab, var(--color-emerald-200) 30%, transparent);
      }
    }

    .hover\:border-emerald-400\/40:hover {
      border-color: #00d29466;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-400\/40:hover {
        border-color: color-mix(in oklab, var(--color-emerald-400) 40%, transparent);
      }
    }

    .hover\:border-emerald-600\/50:hover {
      border-color: #00976780;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-600\/50:hover {
        border-color: color-mix(in oklab, var(--color-emerald-600) 50%, transparent);
      }
    }

    .hover\:border-rose-400\/50:hover {
      border-color: #ff667f80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-rose-400\/50:hover {
        border-color: color-mix(in oklab, var(--color-rose-400) 50%, transparent);
      }
    }

    .hover\:border-rose-500\/30:hover {
      border-color: #ff23574d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-rose-500\/30:hover {
        border-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent);
      }
    }

    .hover\:border-slate-700:hover {
      border-color: var(--color-slate-700);
    }

    .hover\:border-white\/15:hover {
      border-color: #ffffff26;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/15:hover {
        border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
      }
    }

    .hover\:border-white\/20:hover {
      border-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/20:hover {
        border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:border-white\/25:hover {
      border-color: #ffffff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/25:hover {
        border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
      }
    }

    .hover\:border-white\/30:hover {
      border-color: #ffffff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/30:hover {
        border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
      }
    }

    .hover\:border-white\/40:hover {
      border-color: #fff6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/40:hover {
        border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
      }
    }

    .hover\:bg-\[var\(--sanctra-sage\)\]\/10:hover {
      background-color: var(--sanctra-sage);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[var\(--sanctra-sage\)\]\/10:hover {
        background-color: color-mix(in oklab, var(--sanctra-sage) 10%, transparent);
      }
    }

    .hover\:bg-cyan-500\/10:hover {
      background-color: #00b7d71a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-cyan-500) 10%, transparent);
      }
    }

    .hover\:bg-emerald-300:hover {
      background-color: var(--color-emerald-300);
    }

    .hover\:bg-emerald-400:hover {
      background-color: var(--color-emerald-400);
    }

    .hover\:bg-emerald-500:hover {
      background-color: var(--color-emerald-500);
    }

    .hover\:bg-emerald-500\/5:hover {
      background-color: #00bb7f0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/5:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 5%, transparent);
      }
    }

    .hover\:bg-emerald-500\/10:hover {
      background-color: #00bb7f1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
      }
    }

    .hover\:bg-emerald-500\/20:hover {
      background-color: #00bb7f33;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
      }
    }

    .hover\:bg-emerald-500\/25:hover {
      background-color: #00bb7f40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/25:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);
      }
    }

    .hover\:bg-emerald-500\/30:hover {
      background-color: #00bb7f4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/30:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
      }
    }

    .hover\:bg-rose-500:hover {
      background-color: var(--color-rose-500);
    }

    .hover\:bg-rose-500\/10:hover {
      background-color: #ff23571a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-500\/10:hover {
        background-color: color-mix(in oklab, var(--color-rose-500) 10%, transparent);
      }
    }

    .hover\:bg-rose-500\/15:hover {
      background-color: #ff235726;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-500\/15:hover {
        background-color: color-mix(in oklab, var(--color-rose-500) 15%, transparent);
      }
    }

    .hover\:bg-rose-500\/20:hover {
      background-color: #ff235733;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-500\/20:hover {
        background-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
      }
    }

    .hover\:bg-rose-600:hover {
      background-color: var(--color-rose-600);
    }

    .hover\:bg-rose-600\/35:hover {
      background-color: #e7004459;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-600\/35:hover {
        background-color: color-mix(in oklab, var(--color-rose-600) 35%, transparent);
      }
    }

    .hover\:bg-rose-600\/50:hover {
      background-color: #e7004480;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-600\/50:hover {
        background-color: color-mix(in oklab, var(--color-rose-600) 50%, transparent);
      }
    }

    .hover\:bg-rose-950\/40:hover {
      background-color: #4d021866;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-950\/40:hover {
        background-color: color-mix(in oklab, var(--color-rose-950) 40%, transparent);
      }
    }

    .hover\:bg-slate-700:hover {
      background-color: var(--color-slate-700);
    }

    .hover\:bg-slate-700\/60:hover {
      background-color: #31415899;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-700\/60:hover {
        background-color: color-mix(in oklab, var(--color-slate-700) 60%, transparent);
      }
    }

    .hover\:bg-slate-800:hover {
      background-color: var(--color-slate-800);
    }

    .hover\:bg-slate-800\/80:hover {
      background-color: #1d293dcc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/80:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
      }
    }

    .hover\:bg-slate-900:hover {
      background-color: var(--color-slate-900);
    }

    .hover\:bg-slate-900\/20:hover {
      background-color: #0f172b33;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-900\/20:hover {
        background-color: color-mix(in oklab, var(--color-slate-900) 20%, transparent);
      }
    }

    .hover\:bg-slate-900\/60:hover {
      background-color: #0f172b99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-900\/60:hover {
        background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
      }
    }

    .hover\:bg-white\/5:hover {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/5:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .hover\:bg-white\/15:hover {
      background-color: #ffffff26;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/15:hover {
        background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
      }
    }

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:bg-white\/\[0\.02\]:hover {
      background-color: #ffffff05;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.02\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
      }
    }

    .hover\:bg-white\/\[0\.03\]:hover {
      background-color: #ffffff08;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.03\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
      }
    }

    .hover\:bg-white\/\[0\.04\]:hover {
      background-color: #ffffff0a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.04\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
      }
    }

    .hover\:bg-white\/\[0\.06\]:hover {
      background-color: #ffffff0f;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/\[0\.06\]:hover {
        background-color: color-mix(in oklab, var(--color-white) 6%, transparent);
      }
    }

    .hover\:text-\[var\(--sanctra-paper\)\]:hover {
      color: var(--sanctra-paper);
    }

    .hover\:text-\[var\(--sanctra-sage\)\]:hover {
      color: var(--sanctra-sage);
    }

    .hover\:text-cyan-300:hover {
      color: var(--color-cyan-300);
    }

    .hover\:text-emerald-200:hover {
      color: var(--color-emerald-200);
    }

    .hover\:text-emerald-300:hover {
      color: var(--color-emerald-300);
    }

    .hover\:text-emerald-400:hover {
      color: var(--color-emerald-400);
    }

    .hover\:text-red-300:hover {
      color: var(--color-red-300);
    }

    .hover\:text-rose-200:hover {
      color: var(--color-rose-200);
    }

    .hover\:text-rose-300:hover {
      color: var(--color-rose-300);
    }

    .hover\:text-rose-400:hover {
      color: var(--color-rose-400);
    }

    .hover\:text-slate-200:hover {
      color: var(--color-slate-200);
    }

    .hover\:text-slate-950:hover {
      color: var(--color-slate-950);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:brightness-105:hover {
      --tw-brightness: brightness(105%);
      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, );
    }

    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      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, );
    }

    .hover\:brightness-125:hover {
      --tw-brightness: brightness(125%);
      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, );
    }
  }

  .focus\:border-\[var\(--sanctra-sage\)\]:focus {
    border-color: var(--sanctra-sage);
  }

  .focus\:border-emerald-400:focus {
    border-color: var(--color-emerald-400);
  }

  .focus\:border-emerald-500:focus {
    border-color: var(--color-emerald-500);
  }

  .focus\:ring-\[var\(--sanctra-sage\)\]:focus {
    --tw-ring-color: var(--sanctra-sage);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:translate-x-\[2px\]:active {
    --tw-translate-x: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .active\:translate-y-\[2px\]:active {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .active\:bg-black:active {
    background-color: var(--color-black);
  }

  .active\:text-white:active {
    color: var(--color-white);
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  @media (min-width: 40rem) {
    .sm\:my-3 {
      margin-block: calc(var(--spacing) * 3);
    }

    .sm\:my-5 {
      margin-block: calc(var(--spacing) * 5);
    }

    .sm\:my-6 {
      margin-block: calc(var(--spacing) * 6);
    }

    .sm\:mt-7 {
      margin-top: calc(var(--spacing) * 7);
    }

    .sm\:block {
      display: block;
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:inline {
      display: inline;
    }

    .sm\:inline-block {
      display: inline-block;
    }

    .sm\:h-84 {
      height: calc(var(--spacing) * 84);
    }

    .sm\:w-24 {
      width: calc(var(--spacing) * 24);
    }

    .sm\:w-56 {
      width: calc(var(--spacing) * 56);
    }

    .sm\:w-80 {
      width: calc(var(--spacing) * 80);
    }

    .sm\:w-84 {
      width: calc(var(--spacing) * 84);
    }

    .sm\:w-auto {
      width: auto;
    }

    .sm\:max-w-md {
      max-width: var(--container-md);
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:items-center {
      align-items: center;
    }

    .sm\:items-end {
      align-items: flex-end;
    }

    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }

    .sm\:gap-3\.5 {
      gap: calc(var(--spacing) * 3.5);
    }

    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .sm\:p-4 {
      padding: calc(var(--spacing) * 4);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:p-7 {
      padding: calc(var(--spacing) * 7);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .sm\:px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .sm\:py-6 {
      padding-block: calc(var(--spacing) * 6);
    }

    .sm\:py-8 {
      padding-block: calc(var(--spacing) * 8);
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .sm\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .md\:inline {
      display: inline;
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
  }

  @media (min-width: 64rem) {
    .lg\:static {
      position: static;
    }

    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:col-span-6 {
      grid-column: span 6 / span 6;
    }

    .lg\:block {
      display: block;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:w-64 {
      width: calc(var(--spacing) * 64);
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[1\.5fr_1fr\] {
      grid-template-columns: 1.5fr 1fr;
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
  }

  @media (min-width: 80rem) {
    .xl\:block {
      display: block;
    }

    .xl\:flex {
      display: flex;
    }

    .xl\:hidden {
      display: none;
    }
  }
}

.font-display {
  font-family: Playfair Display, Georgia, Cambria, Times New Roman, Times, serif;
}

.glass-panel {
  background: var(--sanctra-glass-bg, var(--glass-bg));
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  border: 1px solid var(--sanctra-glass-border, var(--glass-border));
  box-shadow: var(--sanctra-glass-shadow, var(--glass-shadow)), inset 0 1px 1.5px 0 #ffffff38;
}

.glass-card {
  background: var(--sanctra-glass-bg, #0d142080);
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  border: 1px solid var(--sanctra-glass-border, #ffffff2e);
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  box-shadow: 0 12px 36px -4px #00000052, inset 0 1px 1.5px #ffffff38;
}

.glass-card:hover {
  border-color: var(--sanctra-glass-border-hover, #ffffff47);
  background: var(--sanctra-glass-bg-hover, #121c2c9e);
  transform: translateY(-2px);
  box-shadow: 0 16px 44px -4px #0000006b, inset 0 1px 2px #ffffff52;
}

.glass-specular {
  background: var(--sanctra-glass-bg, #0f172a8c);
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%);
  border: 1px solid var(--sanctra-glass-border, #ffffff2e);
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  box-shadow: 0 12px 36px -6px #00000059, inset 0 1px 1.5px #ffffff38;
}

.glass-specular:hover {
  border-color: var(--sanctra-glass-border-hover, #ffffff47);
  transform: translateY(-2px);
  box-shadow: 0 18px 48px -8px #00000073, inset 0 1px 2px #ffffff52;
}

.glass-modal {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(170%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(170%);
  background: linear-gradient(145deg, #ffffff1a 0%, #ffffff05 100%), #090e18b8;
  border: 1px solid #fff3;
  box-shadow: 0 32px 80px -10px #000000bf, inset 0 1px 1.5px #ffffff47;
}

.glass-pill {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(140%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(140%);
  background: #ffffff14;
  border: 1px solid #ffffff29;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  box-shadow: inset 0 1px 1px #fff3, 0 2px 8px #0003;
}

.glass-pill:hover {
  background: #ffffff24;
  border-color: #ffffff47;
  transform: translateY(-1px);
  box-shadow: inset 0 1px 1px #ffffff47, 0 4px 16px #00000047;
}

.glass-pill:active {
  transform: translateY(0) scale(.98);
}

.btn-sheen {
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  overflow: hidden;
}

.btn-sheen:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(60deg, #0000 35%, #ffffff2e 50%, #0000 65%);
  width: 200%;
  height: 200%;
  transition: transform .65s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: -50%;
  left: -50%;
  transform: translateX(-120%) rotate(25deg);
}

.btn-sheen:hover:after {
  transform: translateX(120%) rotate(25deg);
}

.btn-sheen:hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 6px 20px -4px #10b98147;
}

.btn-sheen:active {
  transform: translateY(0) scale(.98);
}

.btn-sheen-indigo:hover {
  box-shadow: 0 6px 20px -4px #6366f159;
}

.btn-sheen-subtle {
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  overflow: hidden;
}

.btn-sheen-subtle:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(60deg, #0000 40%, #ffffff1a 50%, #0000 60%);
  width: 200%;
  height: 200%;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: -50%;
  left: -50%;
  transform: translateX(-120%) rotate(25deg);
}

.btn-sheen-subtle:hover:after {
  transform: translateX(120%) rotate(25deg);
}

.btn-sheen-subtle:hover {
  border-color: #ffffff40;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px -2px #00000059;
}

.btn-sheen-subtle:active {
  transform: translateY(0) scale(.98);
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: #ffffff26;
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: #ffffff40;
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: .6;
    filter: drop-shadow(0 0 15px #10b98166);
  }

  50% {
    opacity: 1;
    filter: drop-shadow(0 0 25px #10b981b3);
  }
}

.animate-pulse-glow {
  animation: 2.5s ease-in-out infinite pulse-glow;
}

@keyframes subtle-float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-3px);
  }
}

.animate-float {
  animation: 4s ease-in-out infinite subtle-float;
}

@keyframes progressIndeterminate {
  0% {
    width: 30%;
    transform: translateX(-100%);
  }

  50% {
    width: 60%;
    transform: translateX(50%);
  }

  100% {
    width: 30%;
    transform: translateX(200%);
  }
}

.animate-progress-indeterminate {
  animation: 1.2s ease-in-out infinite progressIndeterminate;
}

.timer-content {
  justify-content: space-evenly;
  gap: 6px;
  padding-block: 8px;
}

.timer-content > * {
  flex-shrink: 0;
}

.timer-content .timer-quote, .timer-content .timer-metrics, .timer-content .timer-dial {
  margin-block: 0;
}

.timer-content .timer-ring {
  width: clamp(160px, 39dvh, 336px);
  height: clamp(160px, 39dvh, 336px);
}

.timer-content .timer-actions {
  margin-top: 12px;
}

.timer-stage footer {
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: none;
  border: 0;
}

@media (max-height: 760px) {
  .timer-content .timer-metrics > button {
    padding: 10px;
  }

  .timer-content .timer-metrics > button > div:first-child {
    width: 28px;
    height: 28px;
    margin-bottom: 4px;
  }

  .timer-content .guest-notice {
    margin-bottom: 0;
    padding-block: 6px;
  }

  .timer-content .timer-actions button {
    padding-block: 9px;
  }
}

@media (max-height: 540px) {
  .timer-content .timer-quote {
    display: none;
  }

  .timer-content .timer-ring {
    width: 150px;
    height: 150px;
  }

  .timer-content .timer-ring .tabular-nums {
    font-size: 24px;
  }

  .timer-content .timer-ring button {
    padding: 4px;
    font-size: 8px;
  }

  .timer-content .timer-ring span {
    font-size: 8px;
  }

  .timer-stage footer {
    display: none;
  }
}

.analytics-card {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(150%);
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(150%);
  background: #0d14208c;
  border: 1px solid #ffffff1a;
  border-radius: 20px;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  box-shadow: inset 0 1px 1px #ffffff14, 0 8px 32px -4px #00000059;
}

.analytics-button {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  color: #e2e8f0;
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff1f;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 12px;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  box-shadow: inset 0 1px .5px #ffffff1a;
}

.analytics-button:hover {
  color: #fff;
  background: #ffffff1f;
  border-color: #ffffff3d;
  transform: translateY(-1px);
}

.analytics-icon {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 8px;
  transition: all .2s;
  display: flex;
}

.analytics-icon:hover {
  background: #ffffff1a;
  border-color: #ffffff2e;
}

.analytics-select {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px));
  color: #e2e8f0;
  background: #0f172a99;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 12px;
}

@media (min-width: 1280px) {
  .group-panels {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    align-items: start;
    gap: 20px;
    display: grid;
  }

  .group-left {
    grid-column: 1;
  }

  .group-chat {
    grid-area: 1 / 2;
    height: min(680px, 80dvh);
    position: sticky;
    top: 16px;
  }
}

.group-room .glass-panel, .group-room .glass-card {
  box-shadow: none;
  border-radius: 18px;
}

.timer-stage footer {
  display: none;
}

@media (max-height: 760px) {
  .timer-content .timer-metrics > * {
    padding: 10px;
  }

  .timer-content .timer-metrics > * > div:first-child {
    width: 28px;
    height: 28px;
    margin-bottom: 4px;
  }

  .timer-content .timer-ring {
    width: clamp(150px, 35dvh, 300px);
    height: clamp(150px, 35dvh, 300px);
  }
}

@media (max-width: 767px) {
  .timer-content .timer-metrics > * {
    padding: 8px 3px;
  }

  .timer-content .timer-metrics > * > div:first-child {
    display: none;
  }
}

html {
  scroll-behavior: smooth;
}

.app-page-content {
  flex: none;
  min-height: calc(100dvh - 100px);
  padding-top: 24px;
  padding-bottom: 32px;
}

.app-page-content > * {
  flex-shrink: 0;
  min-width: 0;
}

.app-scroll-stage > header {
  position: sticky;
  top: 0;
  background: linear-gradient(180deg, var(--sanctra-surface, #14221f), var(--sanctra-surface, #14221f)) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .app-scroll-stage > header {
    background: linear-gradient(180deg, color-mix(in srgb, var(--sanctra-surface, #14221f) 32%, color-mix(in srgb, var(--sanctra-ink, #0c1816) 54%, transparent)), color-mix(in srgb, var(--sanctra-surface, #14221f) 24%, color-mix(in srgb, var(--sanctra-ink, #0c1816) 44%, transparent))) !important;
  }
}

.app-scroll-stage > header {
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%) !important;
  backdrop-filter: blur(var(--sanctra-panel-blur, 12px)) saturate(160%) !important;
  border-bottom: 1px solid var(--sanctra-sage, #c6d7b6) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .app-scroll-stage > header {
    border-bottom: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 14%, #ffffff1f) !important;
  }
}

.app-scroll-stage > header {
  z-index: 30;
}

.app-scroll-stage footer {
  flex-shrink: 0;
  position: static;
}

.planner-view .glass-card:hover {
  transform: none;
}

@media (max-width: 640px) {
  .app-page-content {
    padding: 16px 12px 28px;
  }

  .planner-view {
    padding-inline: 0;
  }

  .planner-view form {
    flex-wrap: wrap;
  }

  .planner-view form input[type="text"] {
    flex-basis: 100%;
    min-width: 0;
  }

  .group-room {
    padding-inline: 0;
  }
}

.inbox-input {
  color: #f1f5f9;
  background: #091218;
  border: 1px solid #fff2;
  border-radius: 10px;
  width: 100%;
  padding: 12px;
  display: block;
}

.group-switcher-menu {
  background: #111f26;
  box-shadow: 0 20px 50px #0008;
}

.group-chat input {
  min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-divide-y-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: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@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-tracking {
  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 #0000;
}

@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 #0000;
}

@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 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@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 #0000;
}

@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
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
/* Sanctra: forest, paper, and motion. The application’s existing flows stay intact. */
:root {
  --sanctra-ink:#0c1816;
  --sanctra-surface:#14221f;
  --sanctra-paper:#f3f1e7;
  --sanctra-sage:#c6d7b6;
  --sanctra-muted:#a7b6ad;
  --font-display:'Playfair Display',Georgia,serif;
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --motion-quick:180ms;
  --motion-enter:480ms;
  --sanctra-glass-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.015) 100%), color-mix(in srgb, var(--sanctra-surface) 12%, color-mix(in srgb,var(--sanctra-ink) 32%,transparent));
  --sanctra-glass-bg-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.025) 100%), color-mix(in srgb, var(--sanctra-surface) 16%, color-mix(in srgb,var(--sanctra-ink) 38%,transparent));
  --sanctra-glass-border: color-mix(in srgb, var(--sanctra-sage) 20%, rgba(255, 255, 255, 0.18));
  --sanctra-glass-border-hover: color-mix(in srgb, var(--sanctra-sage) 36%, rgba(255, 255, 255, 0.30));
  --sanctra-glass-blur: blur(var(--sanctra-panel-blur,12px)) saturate(110%);
  --sanctra-glass-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.12), inset 0 -1px 1px rgba(0, 0, 0, 0.12), 0 12px 36px -4px rgba(0, 0, 0, 0.32);
  --sanctra-glass-shadow-hover: inset 0 1px 2px rgba(255, 255, 255, 0.32), 0 16px 44px -4px rgba(0, 0, 0, 0.42), 0 0 20px color-mix(in srgb, var(--sanctra-sage) 18%, transparent);
}
body { user-select:auto; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:not(:disabled),a { cursor:pointer; }
:where(button,a,input,textarea,select):focus-visible { outline:2px solid var(--sanctra-sage); outline-offset:4px; }
.sanctra-brand { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; color:var(--sanctra-paper); }
.sanctra-brand-mark { display:flex; align-items:center; justify-content:center; width:36px; height:36px; }
.sanctra-brand-mark img { width:100%; height:100%; object-fit:contain; }
.sanctra-wordmark { font-family:'Playfair Display',Georgia,serif; font-size:29px; font-weight:500; letter-spacing:-1.6px; line-height:1; }
.sanctra-brand-period { color:var(--sanctra-sage); }
.sanctra-brand-compact .sanctra-wordmark { font-size:24px; }
.sanctra-brand-compact .sanctra-brand-mark { width:29px; height:29px; }
.sanctra-landing { background:var(--sanctra-ink); color:var(--sanctra-paper); width:100%; overflow:hidden; font-family:Inter,system-ui,sans-serif; }
.sanctra-landing h1,.sanctra-landing h2 { font-family:'Playfair Display',Georgia,serif; font-weight:400; letter-spacing:-.045em; text-wrap:balance; }
.sanctra-landing em { font-weight:400; color:var(--sanctra-sage); }
.sanctra-landing button { font-family:inherit; }
.skip-link { position:fixed; top:8px; left:12px; z-index:100; padding:12px 18px; background:var(--sanctra-paper); color:var(--sanctra-ink); transform:translateY(-160%); border-radius:8px; }
.skip-link:focus { transform:translateY(0); }
.landing-header { height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1440px; margin:auto; padding:0 6%; position:relative; z-index:10; border-bottom:1px solid color-mix(in srgb,var(--sanctra-sage) 11.0%,transparent); }
.landing-header>a { text-decoration:none; }
.landing-header nav { display:flex; gap:30px; }
.landing-header nav a { text-decoration:none; font-size:13px; color:var(--sanctra-muted); position:relative; padding:10px 0; }
.landing-header nav a::after { content:''; position:absolute; bottom:4px; left:0; width:100%; height:1px; background:var(--sanctra-sage); transform:scaleX(0); transform-origin:left; transition:transform 260ms var(--motion-ease); }
.landing-header nav a:hover::after { transform:scaleX(1); }
.landing-header-actions { display:flex; gap:23px; align-items:center; }
.landing-signin { background:none; border:0; color:var(--sanctra-paper); font-size:13px; padding:12px 0; }
.landing-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:17px 24px; background:var(--sanctra-sage); color:var(--sanctra-ink); border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:600; transition:transform 240ms var(--motion-ease),background 240ms,box-shadow 240ms; }
.landing-button:hover { transform:translateY(-3px); background:var(--sanctra-muted); box-shadow:0 8px 30px #0002; }
.landing-button:active { transform:scale(.97); }
.landing-button.small { padding:12px 18px; font-size:12px; gap:18px; }
.landing-button svg,.landing-text-button svg { transition:transform 260ms var(--motion-ease); }
.landing-button:hover svg,.landing-text-button:hover svg { transform:translate(3px,-2px); }
.landing-text-button { display:inline-flex; align-items:center; gap:15px; padding:14px 0; color:var(--sanctra-paper); background:none; border:0; font-size:14px; }
.landing-hero { position:relative; isolation:isolate; }
.hero-art { position:absolute; inset:0; z-index:-3; background:radial-gradient(ellipse at 75% 35%,color-mix(in srgb,var(--sanctra-sage) 46.7%,transparent),transparent 50%),linear-gradient(135deg,var(--sanctra-ink),var(--sanctra-ink)); background-image:url('/backgrounds/sanctra-abstract-sage.webp'); background-size:cover; background-position:center; }
.hero-art-shade { position:absolute; inset:0; background:linear-gradient(90deg,color-mix(in srgb,var(--sanctra-sage) 72.2%,transparent) 0%,color-mix(in srgb,var(--sanctra-sage) 20.8%,transparent) 55%,color-mix(in srgb,var(--sanctra-sage) 15.7%,transparent)),linear-gradient(0deg,var(--sanctra-ink),transparent 25%); z-index:-2; }
.hero-inner { max-width:1440px; margin:auto; padding:80px 6% 70px; display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:8%; min-height:640px; }
.landing-eyebrow { display:flex; align-items:center; gap:8px; color:var(--sanctra-sage); font-size:10px; font-weight:500; letter-spacing:2.2px; line-height:1.8; }
.hero-copy h1 { font-size:clamp(48px,5.4vw,84px); line-height:1.09; margin:28px 0 25px; }
.hero-copy>p { max-width:380px; color:var(--sanctra-muted); font-size:15px; line-height:1.8; }
.hero-cta { display:flex; align-items:center; gap:25px; margin-top:32px; flex-wrap:wrap; }
.hero-footnote { display:block; margin-top:18px; font-size:11px; color:var(--sanctra-muted); }
.hero-preview { width:100%; max-width:440px; justify-self:end; border-radius:24px; padding:22px; border:1px solid color-mix(in srgb,var(--sanctra-sage) 22.0%,transparent); background:linear-gradient(145deg,color-mix(in srgb,var(--sanctra-sage) 60.0%,transparent),color-mix(in srgb,var(--sanctra-sage) 85.5%,transparent)); backdrop-filter:blur(var(--sanctra-panel-blur,12px)); box-shadow:0 30px 90px #0004,inset 0 1px color-mix(in srgb,var(--sanctra-sage) 13.3%,transparent); position:relative; }
.preview-top { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:9px; letter-spacing:1.1px; color:var(--sanctra-muted); }
.preview-top>span:first-child { display:flex; align-items:center; gap:7px; }
.preview-dot { width:5px; height:5px; border-radius:100%; background:var(--sanctra-sage); }
.preview-label { color:var(--sanctra-muted); letter-spacing:0; font-size:10px; border:1px solid #ffffff16; padding:5px 8px; border-radius:100px; }
.preview-clock { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:260px; height:260px; margin:26px auto 12px; }
.preview-ring { position:absolute; inset:0; border-radius:50%; border:1px solid color-mix(in srgb,var(--sanctra-sage) 26.3%,transparent); box-shadow:inset 0 0 32px color-mix(in srgb,var(--sanctra-sage) 3.1%,transparent); }
.preview-ring::before { content:''; position:absolute; inset:6px; border-radius:50%; border:3px solid color-mix(in srgb,var(--sanctra-sage) 9.8%,transparent); border-top-color:var(--sanctra-sage); border-right-color:var(--sanctra-sage); transform:rotate(-40deg); transition:transform 1s var(--motion-ease); }
.preview-active .preview-ring::before { transform:rotate(140deg); }
.preview-mode { font-size:9px; letter-spacing:2.3px; color:var(--sanctra-muted); }
.preview-time { font-size:60px; font-weight:300; letter-spacing:-3px; font-variant-numeric:tabular-nums; margin:12px 0; }
.preview-subject { font-size:11px; display:flex; gap:6px; align-items:center; color:var(--sanctra-muted); }
.preview-subject>span { width:5px; height:5px; border-radius:100%; background:var(--sanctra-sage); }
.preview-modes { display:flex; justify-content:center; gap:8px; margin-bottom:16px; }
.preview-modes button { background:#ffffff07; border:1px solid #ffffff12; color:var(--sanctra-muted); border-radius:100px; font-size:10px; padding:6px 12px; transition:background 200ms,border-color 200ms; }
.preview-modes button[aria-pressed=true] { background:color-mix(in srgb,var(--sanctra-sage) 10.2%,transparent); border-color:color-mix(in srgb,var(--sanctra-sage) 36.1%,transparent); color:var(--sanctra-paper); }
.preview-actions { display:flex; justify-content:center; gap:10px; }
.preview-start,.preview-reset { border-radius:100px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid color-mix(in srgb,var(--sanctra-sage) 20.0%,transparent); font-size:12px; padding:12px 20px; background:var(--sanctra-sage); color:var(--sanctra-ink); }
.preview-reset { padding:12px; color:var(--sanctra-paper); background:#ffffff08; }
.preview-disclaimer { font-size:10px; text-align:center; color:var(--sanctra-muted); margin:13px 0 22px; }
.preview-caption { display:flex; align-items:center; justify-content:center; gap:9px; padding-top:16px; border-top:1px solid #ffffff14; color:var(--sanctra-muted); font-size:11px; }
.hero-bottom { max-width:1268px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:22px 0; border-bottom:1px solid #ffffff15; }
.hero-bottom>span { font-size:9px; letter-spacing:2px; color:var(--sanctra-muted); }
.hero-bottom a { display:flex; gap:14px; align-items:center; color:var(--sanctra-muted); text-decoration:none; font-size:11px; }
.landing-section { max-width:1268px; padding:100px 0; margin:auto; scroll-margin-top:30px; }
.section-heading { margin-bottom:46px; }
.section-heading h2,.together-copy h2,.faq-heading h2 { font-size:clamp(36px,4vw,56px); line-height:1.13; margin:19px 0; }
.section-heading p { max-width:410px; color:var(--sanctra-muted); font-size:14px; line-height:1.8; }
.landing-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.landing-feature { padding:30px; border:1px solid color-mix(in srgb,var(--sanctra-sage) 12.5%,transparent); border-radius:20px; background:var(--sanctra-ink); transition:transform 360ms var(--motion-ease),border-color 300ms,background 300ms; min-width:0; }
.landing-feature:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--sanctra-sage) 36.1%,transparent); background:var(--sanctra-ink); }
.feature-kicker { display:flex; justify-content:space-between; align-items:center; color:var(--sanctra-muted); }
.feature-kicker span { font-size:9px; letter-spacing:1.8px; }
.landing-feature h3 { font-size:19px; font-weight:500; letter-spacing:-.5px; margin:20px 0 10px; }
.landing-feature p { font-size:13px; color:var(--sanctra-muted); line-height:1.85; max-width:440px; margin:0; }
.feature-timer-art,.feature-group-art,.feature-task-art,.feature-chart-art { height:150px; margin:22px 0 10px; display:flex; align-items:center; justify-content:center; position:relative; }
.feature-timer-art { flex-direction:column; gap:12px; background:radial-gradient(ellipse,color-mix(in srgb,var(--sanctra-sage) 3.9%,transparent),transparent 70%); }
.feature-timer-art>span { font-size:40px; font-weight:300; font-variant-numeric:tabular-nums; letter-spacing:-1px; }
.feature-timer-art>div { width:200px; height:2px; background:linear-gradient(90deg,var(--sanctra-muted) 60%,color-mix(in srgb,var(--sanctra-sage) 13.3%,transparent) 60%); }
.feature-timer-art small { font-size:8px; letter-spacing:1.5px; color:var(--sanctra-muted); }
.feature-group-art { padding-bottom:35px; }
.feature-group-art>span { display:flex; justify-content:center; align-items:center; width:59px; height:59px; margin-left:-8px; border-radius:50%; background:var(--sanctra-ink); border:3px solid var(--sanctra-ink); font-size:18px; color:var(--sanctra-sage); }
.feature-group-art>span:nth-child(2) { background:var(--sanctra-ink); color:var(--sanctra-muted); }
.feature-group-art>span:nth-child(3) { background:var(--sanctra-muted); color:var(--sanctra-ink); font-size:12px; }
.feature-group-art>div { position:absolute; bottom:25px; color:var(--sanctra-muted); font-size:11px; display:flex; gap:7px; align-items:center; }
.feature-group-art>div>span { width:5px; height:5px; background:var(--sanctra-sage); border-radius:100%; }
.feature-task-art { flex-direction:column; align-items:stretch; gap:10px; padding:0 10px; }
.feature-task-art>span { display:flex; gap:10px; align-items:center; padding:12px; font-size:12px; color:var(--sanctra-muted); border-bottom:1px solid #ffffff0c; }
.task-check { display:block; width:14px; height:14px; border:1px solid var(--sanctra-muted); border-radius:4px; }
.feature-task-art small { color:var(--sanctra-muted); font-size:9px; padding-left:12px; }
.feature-chart-art { align-items:flex-end; gap:14px; padding:10px 25px 25px; }
.feature-chart-art>span { width:28px; border-radius:4px 4px 0 0; background:linear-gradient(0deg,color-mix(in srgb,var(--sanctra-sage) 33.3%,transparent),var(--sanctra-muted)); transform-origin:bottom; }
.feature-chart-art small { position:absolute; bottom:0; font-size:9px; color:var(--sanctra-muted); }
.together-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:10%; border-top:1px solid #ffffff14; }
.together-art { position:relative; min-width:0; border-radius:22px; overflow:hidden; height:420px; background:var(--sanctra-ink); }
.together-art img { width:100%; height:100%; object-fit:cover; }
.together-art-caption { position:absolute; bottom:24px; left:24px; right:24px; padding:20px; border-radius:14px; display:flex; gap:15px; align-items:center; background:color-mix(in srgb,var(--sanctra-sage) 72.2%,transparent); border:1px solid #ffffff22; backdrop-filter:blur(var(--sanctra-panel-blur,12px)); font-size:12px; line-height:1.6; }
.together-art-caption strong { font-weight:500; }
.together-copy>p { font-size:14px; line-height:1.85; color:var(--sanctra-muted); }
.together-copy ul { list-style:none; padding:0; margin:26px 0 16px; }
.together-copy li { font-size:12px; color:var(--sanctra-muted); display:flex; align-items:center; gap:12px; margin:15px 0; }
.together-copy li svg { color:var(--sanctra-sage); flex-shrink:0; }
.start-section { border-top:1px solid #ffffff14; }
.start-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }
.step-number { font-family:'Playfair Display',Georgia,serif; font-size:40px; color:var(--sanctra-ink); }
.start-steps h3 { margin:20px 0 12px; font-size:17px; font-weight:500; }
.start-steps p { font-size:13px; line-height:1.85; color:var(--sanctra-muted); }
.faq-section { display:grid; grid-template-columns:1fr 1.4fr; gap:10%; border-top:1px solid #ffffff14; }
.faq-item { border-bottom:1px solid #ffffff1c; }
.faq-item h3 { margin:0; }
.faq-item button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 0; color:var(--sanctra-paper); background:none; border:0; font-size:14px; font-weight:400; text-align:left; }
.faq-item button svg { flex-shrink:0; color:var(--sanctra-sage); }
.faq-answer { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows 380ms var(--motion-ease),opacity 260ms; }
.faq-answer.is-open { grid-template-rows:1fr; opacity:1; }
.faq-answer>div { overflow:hidden; min-height:0; }
.faq-answer p { color:var(--sanctra-muted); font-size:13px; line-height:1.85; margin:0 0 24px; max-width:510px; }
.landing-final { padding:95px 24px; text-align:center; position:relative; isolation:isolate; border-top:1px solid #ffffff14; }
.final-art { position:absolute; inset:0; z-index:-2; background:linear-gradient(color-mix(in srgb,var(--sanctra-sage) 37.6%,transparent),color-mix(in srgb,var(--sanctra-sage) 69.0%,transparent)),url('/backgrounds/sanctra-abstract-warm.webp') center 65%/cover; }
.landing-final .landing-eyebrow { justify-content:center; }
.landing-final h2 { margin:22px 0; font-size:clamp(40px,5vw,70px); line-height:1.1; }
.landing-final p { color:var(--sanctra-muted); font-size:13px; margin-bottom:30px; }
.landing-footer { max-width:1268px; margin:auto; display:flex; align-items:center; justify-content:space-between; padding:30px 0; gap:20px; }
.landing-footer>span { font-size:11px; color:var(--sanctra-muted); }
.landing-footer button { display:flex; gap:10px; align-items:center; background:none; border:0; color:var(--sanctra-muted); font-size:12px; }
.motion-reveal { opacity:1; transform:none; }
.motion-reveal[data-motion=waiting] { opacity:0; transform:translateY(24px); }
.motion-reveal[data-motion=ready] { transition:opacity 650ms var(--motion-ease) var(--reveal-delay),transform 650ms var(--motion-ease) var(--reveal-delay); }
@media(min-width:1600px) { .hero-inner { min-height:720px; } }
@media(max-width:1400px) { .landing-section,.hero-bottom,.landing-footer { margin-inline:6%; } }
@media(max-width:1000px) { .landing-header nav { display:none; } .hero-inner { gap:5%; padding-block:60px; } .hero-preview { padding:18px; } .preview-clock { width:220px; height:220px; } .preview-time { font-size:52px; } .hero-cta { gap:12px; } .together-section { gap:6%; } }
@media(max-width:700px) { .landing-header { height:72px; padding-inline:5%; gap:14px; } .landing-header-actions { gap:14px; } .landing-signin { font-size:12px; } .landing-header .landing-button { display:none; } .hero-inner { padding:44px 6% 30px; grid-template-columns:1fr; gap:40px; } .hero-copy h1 { font-size:54px; } .hero-copy>p { max-width:360px; } .hero-preview { max-width:420px; justify-self:center; } .preview-clock { width:240px; height:240px; } .hero-bottom { padding:22px 0; gap:15px; } .hero-bottom>span { font-size:8px; letter-spacing:1px; max-width:150px; } .hero-bottom a { font-size:10px; gap:6px; } .landing-section { padding-block:64px; } .landing-feature-grid { grid-template-columns:1fr; gap:16px; } .landing-feature { padding:24px; } .together-section { grid-template-columns:1fr; gap:40px; } .together-art { height:320px; } .start-steps { grid-template-columns:1fr; gap:22px; } .start-steps>div { padding-bottom:16px; border-bottom:1px solid #ffffff14; } .start-steps h3 { margin-top:10px; } .faq-section { grid-template-columns:1fr; gap:20px; } .landing-final { padding-block:72px; } .landing-footer>span { display:none; } }
/* App motion: animate panels, never remount data subscriptions or the running timer. */
.sanctra-app main> :is(.planner-view,.group-room,.analytics-view),.sanctra-app main>[class]:not(.timer-dial,.timer-metrics,.timer-quote,.guest-notice,.hidden) { animation:panel-arrive var(--motion-enter) var(--motion-ease) backwards; }
@keyframes panel-arrive { from { transform:translateY(14px); } to { transform:translateY(0); } }
.sanctra-app .timer-quote { animation:panel-arrive 500ms var(--motion-ease) backwards; }
.sanctra-app .timer-metrics>* { animation:panel-arrive 560ms var(--motion-ease) backwards; }
.sanctra-app .timer-metrics>*:nth-child(2) { animation-delay:45ms; }
.sanctra-app .timer-metrics>*:nth-child(3) { animation-delay:90ms; }
.sanctra-app .timer-metrics>*:nth-child(4) { animation-delay:135ms; }
.sanctra-app .timer-dial { animation:panel-arrive 650ms var(--motion-ease) backwards; }
.sanctra-app .glass-modal { animation:dialog-arrive 380ms var(--motion-ease) backwards; }
@keyframes dialog-arrive { from { opacity:0; transform:translateY(16px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
.sanctra-app :is(.glass-pill,.glass-card,.glass-specular,.analytics-button,.btn-sheen,.btn-sheen-subtle) { transition-timing-function:var(--motion-ease); }
.sanctra-app button:not(:disabled):active { scale:.97; }
.sanctra-app button { transition:background-color 220ms,border-color 220ms,box-shadow 220ms,transform 240ms var(--motion-ease),scale 160ms var(--motion-ease); }
.sanctra-app .glass-panel { --glass-bg:rgba(14,28,23,.78); --glass-border:rgba(211,226,198,.13); --glass-shadow:0 12px 36px #0002; }
.sanctra-app .glass-card,.sanctra-app .analytics-card { background:rgba(18,34,28,.72); border-color:color-mix(in srgb,var(--sanctra-sage) 13%,transparent); box-shadow:inset 0 1px #e7f0df0d,0 8px 24px #0002; }
.sanctra-app .glass-card:hover { background:rgba(29,48,37,.85); border-color:color-mix(in srgb,var(--sanctra-sage) 29%,transparent); }
.sanctra-app .glass-modal { background:rgba(15,28,23,.96); border-color:color-mix(in srgb,var(--sanctra-sage) 17%,transparent); }
.sanctra-app .timer-ring { border-radius:50%; background:radial-gradient(ellipse at 35% 20%,color-mix(in srgb,var(--sanctra-sage) 4%,transparent),color-mix(in srgb,var(--sanctra-ink) 27%,transparent)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sanctra-sage) 4%,transparent),0 24px 70px #0002; }
.sanctra-app .timer-ring svg circle { stroke-width:4px; }
.sanctra-app .timer-actions>button:not(:first-child) { color:var(--sanctra-muted); background:color-mix(in srgb,var(--sanctra-sage) 4%,transparent); border-color:color-mix(in srgb,var(--sanctra-sage) 16%,transparent); box-shadow:none; }
.sanctra-app .timer-actions>button:not(:first-child)>svg { color:var(--sanctra-muted); }
.sanctra-app .timer-actions>button:first-child { background:var(--sanctra-sage); color:var(--sanctra-ink); box-shadow:0 8px 28px #0002; --tw-ring-color:transparent; }
.sanctra-app .timer-actions>button:first-child:hover { background:color-mix(in srgb,var(--sanctra-sage) 85%,white); }
.sanctra-app .timer-actions>button:first-child svg { fill:var(--sanctra-ink); }
.sanctra-app .timer-actions>button:first-child>span:last-child:not(:nth-child(2)) { color:var(--sanctra-ink); }
.sanctra-app .timer-dial[data-running=true] .timer-ring::before { content:''; position:absolute; inset:-9px; border-radius:50%; border:1px solid color-mix(in srgb,var(--sanctra-sage) 17%,transparent); animation:focus-breathe 6s ease-in-out 3; pointer-events:none; }
@keyframes focus-breathe { 0%,100% { transform:scale(.985); opacity:.35; } 50% { transform:scale(1.025); opacity:.8; } }
.sanctra-app .timer-metrics>button>div:first-child { background:color-mix(in srgb,var(--sanctra-sage) 4%,transparent); border-color:color-mix(in srgb,var(--sanctra-sage) 15%,transparent); }
.sanctra-app .timer-metrics>button>div:first-child>svg { color:var(--sanctra-sage); }
.sanctra-app .timer-metrics>button>span { color:var(--sanctra-muted); }
.sanctra-app .timer-metrics>button>div:last-child { color:var(--sanctra-muted); }
.sanctra-app .guest-notice { background:color-mix(in srgb,var(--sanctra-sage) 5%,transparent); border-color:color-mix(in srgb,var(--sanctra-sage) 13%,transparent); color:var(--sanctra-muted); }
.sanctra-app .guest-notice button { background:var(--sanctra-sage); color:var(--sanctra-ink); }
.sanctra-app .app-scroll-stage>header { background:#10221aeb; }
.sanctra-app .app-sidebar { transition:display 380ms allow-discrete,transform 380ms var(--motion-ease),opacity 240ms; }
@starting-style { .sanctra-app .app-sidebar { opacity:0; transform:translateX(-28px); } }
.sanctra-app .app-sidebar nav button { position:relative; }
.sanctra-app .app-sidebar nav button:hover { transform:translateX(3px); }
.wallpaper-layer { animation:wallpaper-arrive 700ms ease-out backwards; }
@keyframes wallpaper-arrive { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .motion-reveal[data-motion] { opacity:1; transform:none; } }
.sanctra-app .quote-line { animation:quote-arrive 350ms var(--motion-ease) backwards; }
@keyframes quote-arrive { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1024px) { .sanctra-app .app-sidebar[data-hidden=true] { opacity:0; transform:translateX(-28px); } }
.sanctra-app .group-switcher-menu { animation:dialog-arrive 280ms var(--motion-ease) backwards; transform-origin:top left; }
.sanctra-app .group-room .group-chat { background:#13241cd9; }
.sanctra-app .timer-dial .timer-ring button { min-height:32px; }
.sanctra-app header button { min-height:40px; min-width:40px; }
@media(prefers-reduced-motion:reduce) { .sanctra-app .quote-line { animation:none; } }
/* One continuous gradient canvas, rather than scenery boxed into sections. */
.sanctra-landing { position:relative; isolation:isolate; background:transparent; }
.sanctra-landing::before { content:''; position:fixed; inset:0; z-index:-1; background:linear-gradient(90deg,#0c181688,#0c181647),url('/backgrounds/sanctra-abstract-sage.webp') center/cover; pointer-events:none; }
.landing-header { background:transparent; }
.hero-art,.hero-art-shade,.final-art { display:none; }
.landing-feature { background:#12251d87; backdrop-filter:blur(var(--sanctra-panel-blur,12px)); }
.landing-feature:hover { background:#233e2dab; }
.hero-preview { background:linear-gradient(145deg,#29433170,#102219ac); }
.together-glass { border:1px solid #d8e8ca36; border-radius:24px; padding:28px; background:linear-gradient(145deg,#29433175,#102219ab); backdrop-filter:blur(var(--sanctra-panel-blur,12px)); box-shadow:0 24px 60px #0002,inset 0 1px #e9f2db18; }
.together-preview-header { display:flex; gap:12px; align-items:center; color:#d5e0ca; font-size:13px; padding-bottom:26px; border-bottom:1px solid #ffffff18; }
.together-preview-header .preview-label { margin-left:auto; font-size:9px; }
.together-preview-row { display:flex; align-items:center; gap:16px; padding:24px 0; border-bottom:1px solid #ffffff14; }
.circle-avatar { display:flex; align-items:center; justify-content:center; width:54px; height:54px; background:#c6d7b620; color:#d5e2c7; border:1px solid #c6d7b62e; border-radius:16px; flex-shrink:0; }
.circle-avatar.secondary { background:#ede0b918; color:#dfd9bf; }
.together-preview-row>div { display:flex; flex-direction:column; gap:7px; min-width:0; flex:1; }
.together-preview-row strong { font-size:14px; font-weight:500; }
.together-preview-row>div>span { color:#b2c2b0; font-size:11px; line-height:1.6; }
.group-home-tag { padding:6px 9px; border-radius:100px; background:#c6d7b625; color:#dce7ce; font-size:10px; }
.together-preview-note { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:25px; font-size:11px; color:#c9d7bf; }
@media(max-width:700px) { .together-glass { padding:22px; } .together-preview-row { gap:12px; } .circle-avatar { width:44px; height:44px; } .together-preview-header { gap:8px; font-size:12px; } .together-preview-header .preview-label { font-size:8px; } }
/* One shared glass material for the desk and all companion screens. */
.sanctra-app { color:var(--sanctra-paper); }
.sanctra-app :is(.glass-panel,.glass-card,.glass-specular,.analytics-card,.glass-pill,.analytics-button,.analytics-icon,.analytics-select) { background:var(--sanctra-glass-bg); border-color:var(--sanctra-glass-border); -webkit-backdrop-filter:var(--sanctra-glass-blur); backdrop-filter:var(--sanctra-glass-blur); box-shadow:var(--sanctra-glass-shadow); }
.sanctra-app :is(.glass-card,.glass-specular,.analytics-card) { border-radius:20px; }
.sanctra-app :is(.glass-card,.glass-specular,.analytics-card):hover { background:var(--sanctra-glass-bg-hover); border-color:var(--sanctra-glass-border-hover); box-shadow:var(--sanctra-glass-shadow-hover); }
.sanctra-app .app-sidebar { -webkit-backdrop-filter:var(--sanctra-glass-blur); backdrop-filter:var(--sanctra-glass-blur); }
.sanctra-app>div>header { background:transparent; border:0; }
.sanctra-app .app-scroll-stage>header { background:linear-gradient(180deg, color-mix(in srgb, var(--sanctra-surface) 32%, color-mix(in srgb, var(--sanctra-ink) 54%, transparent)), color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 44%, transparent))) !important; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(160%) !important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(160%) !important; border-bottom:1px solid color-mix(in srgb, var(--sanctra-sage) 14%, rgba(255, 255, 255, 0.12)) !important; }
.sanctra-app :is(.text-emerald-400,.text-emerald-300,.text-emerald-200) { color:var(--sanctra-sage); }
.sanctra-app button:is(.bg-emerald-500,.from-emerald-500) { background:var(--sanctra-sage); color:var(--sanctra-ink); border-color:color-mix(in srgb,var(--sanctra-sage) 22%,transparent); box-shadow:0 8px 24px #0002; }
.sanctra-app button:is(.bg-emerald-500,.from-emerald-500):hover { background:color-mix(in srgb,var(--sanctra-sage) 85%,white); }
.sanctra-app .ring-emerald-200\/50 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 50%,transparent); }
.sanctra-app .text-slate-400 { color:var(--sanctra-muted); }
.sanctra-app h1 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(30px,3vw,42px); font-weight:400; letter-spacing:-.035em; }
.sanctra-app .app-page-content { padding-top:32px; }
.sanctra-app :is(input:not([type=checkbox],[type=range]),textarea,select) { background-color:#11251b99; border-color:color-mix(in srgb,var(--sanctra-sage) 19%,transparent); color:var(--sanctra-paper); border-radius:12px; }
.sanctra-app input::placeholder,.sanctra-app textarea::placeholder { color:var(--sanctra-muted); }
.sanctra-app :is(input,textarea,select):focus { border-color:color-mix(in srgb,var(--sanctra-sage) 63%,transparent); }
.sanctra-app .timer-quote .glass-pill { background:#10261b55; box-shadow:none; border-color:color-mix(in srgb,var(--sanctra-sage) 15%,transparent); }
.sanctra-app .timer-dial .tabular-nums { font-weight:300; letter-spacing:-.055em; }
.sanctra-app .timer-metrics { max-width:920px; }
.sanctra-app .timer-metrics>* { padding-block:20px; }
.sanctra-app .timer-metrics>button>div:first-child { width:32px; height:32px; border-radius:10px; margin-bottom:9px; }
.sanctra-app .timer-actions { gap:12px; }
.sanctra-app .timer-actions>button { font-size:12px; font-weight:500; letter-spacing:.025em; }
.sanctra-app .timer-ring { background:color-mix(in srgb,var(--sanctra-ink) 15%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sanctra-sage) 9%,transparent),0 20px 60px #0001; }
.sanctra-app .guest-notice { max-width:920px; }
.sanctra-app .analytics-card button[aria-pressed=true],.sanctra-app button[aria-pressed=true].analytics-card { background:color-mix(in srgb,var(--sanctra-sage) 15%,transparent); border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent); }
.sanctra-app .inbox-view article,.sanctra-app .inbox-view form { animation:dialog-arrive 350ms var(--motion-ease) backwards; }
.sanctra-app .planner-view .glass-card:hover { transform:none; }
.sanctra-app .group-room .glass-card,.sanctra-app .group-room .glass-panel { background:#10271cd0; }
@media(max-height:760px) { .sanctra-app .timer-metrics>* { padding-block:10px; } }
@media(max-width:767px) { .sanctra-app .app-page-content { padding-top:20px; } .sanctra-app .timer-metrics>* { padding-block:10px; } .sanctra-app .timer-metrics>button>div:first-child { display:none; } }
.sanctra-app .planner-view button:is(.from-cyan-500,.bg-cyan-500,.bg-purple-400) { background:var(--sanctra-sage); color:var(--sanctra-ink); box-shadow:none; }
.sanctra-app .app-sidebar button[title="Sanctra"] { background:none; }
.sanctra-app .inbox-view .analytics-card:hover { background:linear-gradient(140deg,#38563b70,#142a20b8); }
@media(prefers-reduced-motion:reduce) { .sanctra-app :is(.glass-modal,.group-switcher-menu,.inbox-view article,.inbox-view form) { animation:none; } }
@media(max-height:540px) {
  .sanctra-app .timer-content .guest-notice,.sanctra-app .timer-content .timer-quote { display:none; }
  .sanctra-app .timer-metrics>* { padding:7px 10px; }
  .sanctra-app .timer-metrics>button>div:first-child,.sanctra-app .timer-metrics>div>div:first-child { display:none; }
  .sanctra-app .timer-metrics>button>span { font-size:9px; }
  .sanctra-app .timer-content .timer-ring { width:150px; height:150px; }
  .sanctra-app .timer-content .timer-ring button { min-height:24px; }
  .sanctra-app .timer-content .timer-actions>button { padding-block:8px; }
}
/* Coordinated themes: neutral glass carries the interface, color stays in accents. */
.sanctra-app { --sanctra-paper:#f2f1ee; color:var(--sanctra-paper); }
.sanctra-app :is(.glass-panel,.glass-card,.glass-specular,.glass-pill,.analytics-card,.analytics-button,.analytics-icon,.analytics-select,.group-chat) {
 background:var(--sanctra-glass-bg)!important;
 border-color:var(--sanctra-glass-border)!important; -webkit-backdrop-filter:var(--sanctra-glass-blur)!important; backdrop-filter:var(--sanctra-glass-blur)!important; box-shadow:var(--sanctra-glass-shadow);
}
.sanctra-app .glass-modal { background:linear-gradient(145deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.02) 100%), color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 48%, transparent))!important; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%)!important; border-color:color-mix(in srgb, var(--sanctra-sage) 26%, rgba(255, 255, 255, 0.22))!important; }
.sanctra-app :is(.text-slate-400,.text-slate-300) { color:var(--sanctra-muted); }
.sanctra-app :is(input:not([type=checkbox],[type=range]),textarea,select) { background:color-mix(in srgb,var(--sanctra-ink) 60%,transparent); border-color:#ffffff28; }
.sanctra-app :is(.text-emerald-400,.text-cyan-400,.text-blue-400,.text-purple-400,.text-amber-400,.text-amber-300,.text-amber-200) { color:var(--sanctra-sage); }
.sanctra-app :is(.bg-emerald-500,.bg-emerald-400,.bg-blue-500,.bg-blue-400,.bg-cyan-500,.bg-purple-500,.bg-purple-600,.bg-amber-500,.bg-amber-400) { background:var(--sanctra-sage); color:var(--sanctra-ink); }
.sanctra-app [class*="bg-emerald-500/"],.sanctra-app [class*="bg-blue-500/"],.sanctra-app [class*="bg-purple-500/"],.sanctra-app [class*="bg-amber-500/"],.sanctra-app [class*="bg-amber-400/"] { background:color-mix(in srgb,var(--sanctra-sage) 9%,transparent); }
.sanctra-app :is(.border-emerald-400,.border-emerald-500,.border-blue-500,.border-purple-500,.border-amber-400,.border-amber-500) { border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent); }
.sanctra-app [class*="border-amber-400/"],.sanctra-app [class*="border-amber-500/"] { border-color:color-mix(in srgb,var(--sanctra-sage) 28%,transparent); }
.sanctra-app [class*="ring-amber-400/"] { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent); }
.sanctra-app .timer-actions>button:first-child:hover { background:color-mix(in srgb,var(--sanctra-sage) 85%,white); }
.sanctra-app .timer-actions>button:first-child,.sanctra-app .timer-actions>button:first-child>span { color:var(--sanctra-ink); }
.sanctra-app .timer-actions>button:first-child svg { fill:currentColor; }
.sanctra-app .timer-metrics>*>div:first-child { width:32px;height:32px;margin-inline:auto;background:#ffffff07;border-color:#ffffff22; }
.sanctra-app .timer-metrics>*>div:first-child svg:not(.text-rose-400) { width:17px;height:17px;color:var(--sanctra-sage); }
.sanctra-app .timer-metrics>*>div:first-child svg.text-rose-400 { width:17px;height:17px; }
.sanctra-app .timer-metrics>*>span,.sanctra-app .timer-metrics>*>div:last-child { color:var(--sanctra-muted); }
.sanctra-app .app-sidebar { width:256px;flex:0 0 256px;overflow:hidden;background:linear-gradient(180deg,#ffffff06,#ffffff02),color-mix(in srgb,var(--sanctra-ink) 92%,transparent)!important;opacity:1;transform:none;transition:width 420ms var(--motion-ease),flex-basis 420ms var(--motion-ease),transform 420ms var(--motion-ease),opacity 300ms!important; }
.sanctra-app .app-sidebar>div { min-width:256px; }
.sanctra-app .app-sidebar nav button:hover { background:#ffffff09; }
@media(min-width:1024px) { .sanctra-app .app-sidebar[data-hidden=true] {width:0;flex-basis:0;opacity:0;transform:none;border-width:0;pointer-events:none;visibility:hidden;transition:width 420ms var(--motion-ease),flex-basis 420ms var(--motion-ease),opacity 300ms,visibility 0s 420ms!important;} }
@media(max-width:1023px) { .sanctra-app .app-sidebar[data-mobile-open=false] {transform:translateX(-100%);visibility:hidden;transition:transform 420ms var(--motion-ease),visibility 0s 420ms!important;} }
.settings-overlay[data-closing=true] { animation:settings-fade-out 280ms ease both;pointer-events:none; }
.settings-overlay[data-closing=true] .glass-modal { animation:settings-out 280ms var(--motion-ease) both; }
@keyframes settings-out {to{opacity:0;transform:translateY(12px) scale(.97)}}
@keyframes settings-fade-out {to{opacity:0}}
.sanctra-app .planner-calendar { display:grid;grid-template-columns:36px minmax(0,560px) 36px;justify-content:center;gap:12px; }
.sanctra-app .planner-days {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible;gap:8px;}
.sanctra-app .planner-days button {min-width:0;padding-inline:4px;}
.sanctra-app .planner-calendar>button:last-child {grid-column:2;justify-self:center;margin:0;min-width:92px;}
@media(max-width:500px){.sanctra-app .planner-calendar{grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;padding:12px 6px}.sanctra-app .planner-days{gap:3px}.sanctra-app .planner-days button{padding-inline:1px}.sanctra-app .planner-days button>span:first-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){.sanctra-app .app-sidebar,.settings-overlay,.settings-overlay .glass-modal{transition:none!important;animation:none!important}}
.sanctra-app .app-scroll-stage>header { background:linear-gradient(180deg, color-mix(in srgb, var(--sanctra-surface) 32%, color-mix(in srgb, var(--sanctra-ink) 54%, transparent)), color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 44%, transparent))) !important; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(160%) !important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(160%) !important; border-bottom:1px solid color-mix(in srgb, var(--sanctra-sage) 14%, rgba(255, 255, 255, 0.12)) !important; }
.sanctra-app .settings-overlay button[aria-pressed=true] {border-color:var(--sanctra-sage)!important;--tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 22%,transparent);--tw-shadow-color:transparent;box-shadow:0 0 0 2px #ffffff12!important}
.sanctra-app .timer-metrics>*>div:first-child {border-radius:10px;margin-bottom:9px;}
@media(max-width:767px){.sanctra-app .timer-metrics>*>div:first-child{display:none}}
.scenic-illustration {animation:scenic-drift 45s ease-in-out infinite alternate!important;transform-origin:center;}
@keyframes scenic-drift {from{transform:scale(1.025) translateX(-.3%)}to{transform:scale(1.05) translateX(.3%)}}
@media(prefers-reduced-motion:reduce){.scenic-illustration{animation:none!important;transform:none}}
.sanctra-app .glass-modal [class*="bg-slate-"],.sanctra-app .glass-modal [class*="bg-emerald-500/"],.sanctra-app .glass-modal [class*="bg-purple-500/"],.sanctra-app .glass-modal [class*="bg-blue-500/"],.sanctra-app .glass-modal [class*="bg-amber-500/"],.sanctra-app .glass-modal [class*="bg-amber-400/"] {background:color-mix(in srgb,var(--sanctra-ink) 42%,#ffffff06)}
.sanctra-app .glass-modal button:is(.bg-blue-500,.bg-purple-600,.bg-emerald-500,.bg-amber-500,.bg-amber-400) {background:var(--sanctra-sage);color:var(--sanctra-ink)}
.sanctra-app .glass-modal :is(.text-purple-300,.text-blue-300,.text-emerald-300,.text-amber-300,.text-amber-200) {color:var(--sanctra-sage)}
.sanctra-app .glass-modal :is(input,textarea,select):focus {border-color:var(--sanctra-sage)}
.sanctra-app .sanctra-brand-mark img {filter:grayscale(1);opacity:.85}
.sanctra-app .planner-calendar button.from-cyan-500 {color:var(--sanctra-ink)}
.sanctra-landing::before {background:linear-gradient(90deg,#00000044,#00000022),var(--landing-gradient);}
.sanctra-landing :is(.hero-preview,.landing-feature,.together-glass) {background:linear-gradient(135deg,#ffffff08,#ffffff02),color-mix(in srgb,var(--sanctra-ink) 65%,transparent);border-color:#ffffff26;}
.sanctra-landing .landing-feature:hover {background:color-mix(in srgb,var(--sanctra-ink) 80%,transparent);border-color:#ffffff40;}
.sanctra-landing :is(.hero-copy>p,.hero-footnote,.preview-top,.preview-mode,.preview-subject,.preview-disclaimer,.preview-caption,.preview-label,.landing-header nav a,.together-copy li,.landing-final p,.landing-footer>span) {color:var(--sanctra-muted);}
.sanctra-landing :is(.landing-button,.preview-start) {color:var(--sanctra-ink)}
.sanctra-landing .landing-button:hover {background:color-mix(in srgb,var(--sanctra-sage) 88%,white)}
.sanctra-landing .preview-ring::before {border-color:#ffffff12;border-top-color:var(--sanctra-sage);border-right-color:var(--sanctra-sage)}
.sanctra-landing .preview-modes button[aria-pressed=true] {background:#ffffff0d;border-color:var(--sanctra-sage)}
/* Clear navigation, sculpted backgrounds, and light-catching glass. */
.sanctra-app .app-header,.sanctra-app .app-scroll-stage>.app-header {background:transparent!important;-webkit-backdrop-filter:none!important; backdrop-filter:none!important;border:0;box-shadow:none;min-height:64px;}
.sanctra-app .app-header-control {display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #ffffff18;border-radius:11px;background:#ffffff05;color:var(--sanctra-paper);box-shadow:none;}
.sanctra-app .app-header-control:hover {background:#ffffff0f;border-color:#ffffff35;transform:translateY(-1px);}
.sanctra-app .header-brand-status {height:36px;gap:18px;}
.sanctra-app .header-brand-status .sanctra-brand {height:36px;align-items:center;gap:9px;}
.sanctra-app .header-brand-status .sanctra-wordmark {line-height:36px;transform:translateY(-2px);}
.sanctra-app .header-status {height:36px;line-height:36px;gap:8px;padding:0;}
.sanctra-app .header-status>span:first-child {flex-shrink:0;}
.sanctra-app .app-sidebar {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.01) 100%),
              color-mix(in srgb, var(--sanctra-surface) 28%, color-mix(in srgb, var(--sanctra-ink) 48%, transparent)) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(130%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(130%) !important;
  box-shadow: none !important;
  border-right: none !important;
}
.sanctra-app :is(.glass-card,.glass-specular,.analytics-card,.glass-pill,.group-chat) {
  background: var(--sanctra-glass-bg) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border-color: var(--sanctra-glass-border) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
}
.sanctra-app .glass-modal { background:linear-gradient(145deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.02) 100%), color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 48%, transparent))!important; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%)!important; border-color:color-mix(in srgb, var(--sanctra-sage) 26%, rgba(255, 255, 255, 0.22))!important; }
.sanctra-app .glass-modal button.google-auth-action {background:#f3f2ef!important;color:#19202b!important;border:1px solid #ffffff80;box-shadow:0 5px 20px #0002;}
.sanctra-app .glass-modal button.google-auth-action:hover {background:white!important;}
.abstract-ribbons {position:absolute;inset:-5%;width:110%;height:110%;pointer-events:none;animation:ribbon-drift 35s ease-in-out infinite alternate;}
@keyframes ribbon-drift {from{transform:translate(-1%,-1%) rotate(-2deg)}to{transform:translate(1%,1%) rotate(2deg)}}
.landing-abstract-layer {position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
.sanctra-loading {position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;color:#f3f1e7;background:radial-gradient(ellipse at 65% 25%,var(--sanctra-surface),transparent 70%),var(--sanctra-ink);}
.loading-copy {position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;animation:dialog-arrive 700ms var(--motion-ease) both;}
.loading-copy .sanctra-brand {gap:14px;}.loading-copy .sanctra-brand-mark {width:48px;height:48px}.loading-copy .sanctra-wordmark {font-size:48px;letter-spacing:-2.5px;}
.loading-copy p {font-size:13px;color:var(--sanctra-muted);margin:23px 0 32px;letter-spacing:.04em;}
.loading-track {width:120px;height:2px;border-radius:4px;background:#ffffff12;overflow:hidden;}
.loading-track span {display:block;width:45%;height:100%;background:var(--sanctra-sage);animation:loading-glide 1.8s ease-in-out infinite;}
@keyframes loading-glide {from{transform:translateX(-110%)}to{transform:translateX(330%)}}
.loading-status {font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sanctra-muted);margin-top:17px;}
.loading-brand-orbit {position:absolute;width:360px;height:360px;pointer-events:none;}
.loading-brand-orbit span {position:absolute;inset:0;border:1px solid #ffffff09;border-radius:50%;transform:rotate(-20deg) scaleY(.78);}
.loading-brand-orbit span:nth-child(2) {inset:-28px;transform:rotate(25deg) scaleY(.8);border-color:#ffffff05;}
.loading-brand-orbit span:nth-child(3) {inset:-60px;transform:rotate(-10deg) scaleY(.82);border-color:#ffffff04;}
@media(max-width:500px){.sanctra-app .header-brand-status{gap:12px}.loading-brand-orbit{width:280px;height:280px}.loading-copy .sanctra-wordmark{font-size:40px}}
@media(prefers-reduced-motion:reduce){.abstract-ribbons,.loading-track span,.loading-copy{animation:none!important}}
.abstract-folds {position:absolute;inset:-3%;pointer-events:none;background:url('/backgrounds/sanctra-abstract-sage.webp') center/cover;filter:grayscale(1);mix-blend-mode:luminosity;opacity:.34;animation:soft-fold-drift 40s ease-in-out infinite alternate;}
@keyframes soft-fold-drift {from{transform:scale(1.02) translateX(-.5%)}to{transform:scale(1.06) translateX(.5%)}}
.landing-abstract-layer {isolation:isolate;mix-blend-mode:luminosity;opacity:.75;}
@media(prefers-reduced-motion:reduce){.abstract-folds{animation:none!important;transform:none}}
.abstract-folds {opacity:.68;}
.theme-thumbnail-folds {position:absolute;inset:0;background:url('/backgrounds/sanctra-abstract-sage.webp') center/cover;filter:grayscale(1);mix-blend-mode:luminosity;opacity:.68;pointer-events:none;}
@media(min-width:1024px){
  .sanctra-app .app-sidebar {
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 44%, transparent)) 0%,
      color-mix(in srgb, var(--sanctra-surface) 14%, color-mix(in srgb, var(--sanctra-ink) 22%, transparent)) 75%,
      transparent 100%) !important;
    -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(130%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(130%) !important;
    border-right: none !important;
    box-shadow: none !important;
  }
  .sanctra-app .app-sidebar>div>div:first-child {border-bottom:0;}
  .sanctra-app .app-sidebar>div:last-child {border-top:0;}
}
.sanctra-app .app-sidebar nav button.glass-pill {background:linear-gradient(120deg,#ffffff17,#ffffff06)!important;border-color:#ffffff35!important;box-shadow:inset 0 1px #ffffff22,0 4px 16px #0001;}
.abstract-folds {inset:-25%;transform:rotate(var(--fold-rotate,0deg));}
@keyframes soft-fold-drift {from{transform:rotate(var(--fold-rotate,0deg)) scale(1.02) translateX(-.5%)}to{transform:rotate(calc(var(--fold-rotate,0deg) + 2deg)) scale(1.06) translateX(.5%)}}
@media(prefers-reduced-motion:reduce){.abstract-folds{transform:rotate(var(--fold-rotate,0deg))!important}}
.abstract-folds {inset:-50%;}
.loading-copy {z-index:2;}

/* Map every existing green-family accent utility, including opacity and state variants. */
.sanctra-app .bg-emerald-200\/10 { background-color:color-mix(in srgb,var(--sanctra-sage) 10%,transparent)!important; }
.sanctra-app .bg-emerald-300\/80 { background-color:color-mix(in srgb,var(--sanctra-sage) 80%,transparent)!important; }
.sanctra-app .bg-emerald-400 { background-color:var(--sanctra-sage)!important; }
.sanctra-app .bg-emerald-400\/10 { background-color:color-mix(in srgb,var(--sanctra-sage) 10%,transparent)!important; }
.sanctra-app .bg-emerald-400\/15 { background-color:color-mix(in srgb,var(--sanctra-sage) 15%,transparent)!important; }
.sanctra-app .bg-emerald-500 { background-color:var(--sanctra-sage)!important; }
.sanctra-app .bg-emerald-500\/10 { background-color:color-mix(in srgb,var(--sanctra-sage) 10%,transparent)!important; }
.sanctra-app .bg-emerald-500\/15 { background-color:color-mix(in srgb,var(--sanctra-sage) 15%,transparent)!important; }
.sanctra-app .bg-emerald-500\/20 { background-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .bg-emerald-500\/40 { background-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important; }
.sanctra-app .border-emerald-400 { border-color:var(--sanctra-sage)!important; }
.sanctra-app .border-emerald-400\/25 { border-color:color-mix(in srgb,var(--sanctra-sage) 25%,transparent)!important; }
.sanctra-app .border-emerald-400\/30 { border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)!important; }
.sanctra-app .border-emerald-500\/20 { border-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .border-emerald-500\/30 { border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)!important; }
.sanctra-app .border-emerald-500\/40 { border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important; }
.sanctra-app .border-emerald-500\/50 { border-color:color-mix(in srgb,var(--sanctra-sage) 50%,transparent)!important; }
.sanctra-app .focus\:border-emerald-400:focus { border-color:var(--sanctra-sage)!important; }
.sanctra-app .from-emerald-500 { --tw-gradient-from:var(--sanctra-sage)!important; }
.sanctra-app .hover\:bg-emerald-300:hover { background-color:var(--sanctra-sage)!important; }
.sanctra-app .hover\:bg-emerald-300\/70:hover { background-color:color-mix(in srgb,var(--sanctra-sage) 70%,transparent)!important; }
.sanctra-app .hover\:bg-emerald-400:hover { background-color:var(--sanctra-sage)!important; }
.sanctra-app .hover\:bg-emerald-500:hover { background-color:var(--sanctra-sage)!important; }
.sanctra-app .hover\:bg-emerald-500\/20:hover { background-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .hover\:border-emerald-200\/30:hover { border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)!important; }
.sanctra-app .hover\:border-emerald-400\/40:hover { border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important; }
.sanctra-app .hover\:from-emerald-400:hover { --tw-gradient-from:var(--sanctra-sage)!important; }
.sanctra-app .hover\:text-emerald-200:hover { color:var(--sanctra-sage)!important; }
.sanctra-app .hover\:text-emerald-400:hover { color:var(--sanctra-sage)!important; }
.sanctra-app .group:hover .group-hover\:text-emerald-300 { color:var(--sanctra-paper)!important; }
.sanctra-app .group:hover .group-hover\:text-emerald-400 { color:var(--sanctra-paper)!important; }
.sanctra-app .hover\:to-emerald-500:hover { --tw-gradient-to:var(--sanctra-sage)!important; }
.sanctra-app .ring-emerald-200\/50 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 50%,transparent)!important; }
.sanctra-app .ring-emerald-300\/60 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 60%,transparent)!important; }
.sanctra-app .ring-emerald-400\/30 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)!important; }
.sanctra-app .ring-emerald-400\/40 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important; }
.sanctra-app .ring-emerald-500\/20 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .ring-emerald-500\/40 { --tw-ring-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important; }
.sanctra-app .shadow-emerald-400 { --tw-shadow-color:var(--sanctra-sage)!important; }
.sanctra-app .shadow-emerald-400\/20 { --tw-shadow-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .shadow-emerald-500\/10 { --tw-shadow-color:color-mix(in srgb,var(--sanctra-sage) 10%,transparent)!important; }
.sanctra-app .shadow-emerald-500\/20 { --tw-shadow-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important; }
.sanctra-app .shadow-emerald-500\/25 { --tw-shadow-color:color-mix(in srgb,var(--sanctra-sage) 25%,transparent)!important; }
.sanctra-app .shadow-emerald-500\/5 { --tw-shadow-color:color-mix(in srgb,var(--sanctra-sage) 5%,transparent)!important; }
.sanctra-app .text-emerald-200 { color:var(--sanctra-sage)!important; }
.sanctra-app .text-emerald-300 { color:var(--sanctra-sage)!important; }
.sanctra-app .text-emerald-300\/90 { color:color-mix(in srgb,var(--sanctra-sage) 90%,transparent)!important; }
.sanctra-app .text-emerald-400 { color:var(--sanctra-sage)!important; }
.sanctra-app .text-emerald-400\/80 { color:color-mix(in srgb,var(--sanctra-sage) 80%,transparent)!important; }
.sanctra-app .to-emerald-600 { --tw-gradient-to:var(--sanctra-sage)!important; }
.sanctra-app .to-teal-600 { --tw-gradient-to:var(--sanctra-sage)!important; }
.sanctra-app .to-teal-400 { --tw-gradient-to:var(--sanctra-sage)!important; }
.sanctra-app :is(.bg-teal-400, .bg-teal-500) { background-color:var(--sanctra-sage)!important; }
.sanctra-app :is(.text-teal-200, .text-teal-300, .text-teal-400) { color:var(--sanctra-sage)!important; }
.sanctra-app :is(.border-teal-400, .border-teal-500\/30) { border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)!important; }
.sanctra-brand-mark {position:relative;}
.sanctra-brand-mark img {visibility:hidden;}
.sanctra-brand-mark::before {content:'';position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--sanctra-sage) 75%,white),var(--sanctra-sage));mask:url('/logo.png') center/contain no-repeat;-webkit-mask:url('/logo.png') center/contain no-repeat;}
.sanctra-wordmark {display:inline-block;transform:translateY(-.06em);}
.loading-copy .sanctra-brand {align-items:center;}
.loading-brand-orbit span {animation:orbit-wobble 6s ease-in-out infinite;--orbit-angle:-20deg;--orbit-squash:.78;}
.loading-brand-orbit span:nth-child(2) {--orbit-angle:25deg;--orbit-squash:.8;animation-delay:-2s;animation-duration:7.5s;}
.loading-brand-orbit span:nth-child(3) {--orbit-angle:-10deg;--orbit-squash:.82;animation-delay:-4s;animation-duration:9s;}
@keyframes orbit-wobble {0%,100%{transform:rotate(var(--orbit-angle)) scaleY(var(--orbit-squash));border-radius:50% 48% 51% 49%}25%{transform:rotate(calc(var(--orbit-angle) + 5deg)) scale(.99,.81);border-radius:48% 52% 49% 51%}60%{transform:rotate(calc(var(--orbit-angle) - 4deg)) scale(1.025,.77);border-radius:51% 49% 53% 47%}}
.sanctra-landing::before {background-size:115% 115%;animation:landing-light-drift 45s ease-in-out infinite alternate;}
.sanctra-landing .abstract-folds {animation-duration:50s;}
@keyframes landing-light-drift {from{background-position:0% 10%}to{background-position:90% 75%}}
@media(prefers-reduced-motion:reduce){.loading-brand-orbit span,.sanctra-landing::before{animation:none!important}}
/* Landing illustrations inherit the selected palette, including their neutral shades. */
.sanctra-landing .feature-kicker,.sanctra-landing .feature-task-art>span {color:var(--sanctra-sage);}
.sanctra-landing .feature-timer-art {background:radial-gradient(ellipse,color-mix(in srgb,var(--sanctra-sage) 7%,transparent),transparent 70%);}
.sanctra-landing .feature-timer-art>div {background:linear-gradient(90deg,var(--sanctra-sage) 60%,color-mix(in srgb,var(--sanctra-sage) 15%,transparent) 60%);}
.sanctra-landing .feature-group-art>span {background:color-mix(in srgb,var(--sanctra-surface) 80%,var(--sanctra-sage));border-color:var(--sanctra-ink);}
.sanctra-landing .feature-group-art>span:nth-child(2) {background:color-mix(in srgb,var(--sanctra-sage) 45%,var(--sanctra-surface));color:var(--sanctra-paper);}
.sanctra-landing .feature-group-art>span:nth-child(3) {background:var(--sanctra-sage);color:var(--sanctra-ink);}
.sanctra-landing .feature-chart-art>span {background:linear-gradient(0deg,color-mix(in srgb,var(--sanctra-sage) 25%,transparent),var(--sanctra-sage));}
.sanctra-landing :is(.feature-timer-art small,.feature-group-art>div,.feature-task-art small,.feature-chart-art small,.together-preview-header,.together-preview-row>div>span,.together-preview-note,.landing-final p) {color:var(--sanctra-muted);}
.sanctra-landing .task-check {border-color:var(--sanctra-muted);}
.sanctra-landing .circle-avatar,.sanctra-landing .circle-avatar.secondary,.sanctra-landing .group-home-tag {background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);color:var(--sanctra-sage);border-color:color-mix(in srgb,var(--sanctra-sage) 22%,transparent);}
.sanctra-landing .landing-feature {text-align:center;}
.sanctra-landing .landing-feature p {margin-inline:auto;}
.sanctra-landing .feature-task-art {align-items:center;}
.sanctra-landing .feature-task-art>span {justify-content:center;width:100%;}
.sanctra-landing .feature-task-art small {padding-left:0;}
.sanctra-landing .landing-final>.motion-reveal {width:100%;max-width:1100px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;}
.sanctra-brand-mark {transform:translateY(.08em);}
.sanctra-landing::before {background-size:145% 145%;animation:landing-light-drift 18s ease-in-out infinite alternate;}
.sanctra-landing .abstract-folds {animation:landing-fold-sweep 18s ease-in-out infinite alternate;}
@keyframes landing-fold-sweep {from{transform:rotate(var(--fold-rotate,0deg)) scale(1.02) translate(-4%,-3%)}to{transform:rotate(calc(var(--fold-rotate,0deg) + 10deg)) scale(1.17) translate(5%,4%)}}
@media(prefers-reduced-motion:reduce){.sanctra-landing::before,.sanctra-landing .abstract-folds{animation:none;}}

.abstract-motion-off .abstract-folds {animation:none;}
.abstract-motion-on .abstract-folds {animation:landing-fold-sweep 18s ease-in-out infinite alternate;}
@media(prefers-reduced-motion:reduce){.abstract-motion-on .abstract-folds{animation:none;}}
/* Equal side columns keep the footer sentence on the page's actual centerline. */
.sanctra-landing .landing-footer {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;}
.sanctra-landing .landing-footer>.sanctra-brand {justify-self:start;}
.sanctra-landing .landing-footer>span {justify-self:center;text-align:center;}
.sanctra-landing .landing-footer>button {justify-self:end;}
@media(max-width:700px){.sanctra-landing .landing-footer{grid-template-columns:1fr 1fr;}}
/* Visible full-canvas flow: the original artwork sweeps through every section. */
.sanctra-landing .abstract-folds {opacity:.85;animation:landing-canvas-flow 12s ease-in-out infinite alternate;}
.sanctra-landing::before {background-size:180% 180%;animation:landing-light-drift 12s ease-in-out infinite alternate;}
@keyframes landing-canvas-flow {0%{transform:rotate(calc(var(--fold-rotate,0deg) - 12deg)) scale(.9) translate(-12%,-9%)}100%{transform:rotate(calc(var(--fold-rotate,0deg) + 16deg)) scale(1.22) translate(12%,10%)}}
@media(prefers-reduced-motion:reduce){.sanctra-landing .abstract-folds,.sanctra-landing::before{animation:none;}}
/* Match the app's optional abstract motion to the landing canvas exactly. */
.abstract-motion-on .abstract-folds {opacity:.85;animation:landing-canvas-flow 12s ease-in-out infinite alternate;}
.abstract-motion-on .wallpaper-layer {background-size:180% 180%!important;animation:landing-light-drift 12s ease-in-out infinite alternate;}
@media(prefers-reduced-motion:reduce){.abstract-motion-on .abstract-folds,.abstract-motion-on .wallpaper-layer{animation:none!important;}}

/* Analytics labels need a stable high-contrast surface even on bright scenery. */
.sanctra-app .analytics-view .analytics-card {background:linear-gradient(135deg,#ffffff09,#ffffff02),color-mix(in srgb,var(--sanctra-ink) 84%,transparent)!important;}
.sanctra-app .analytics-view :is(.text-slate-500,.text-slate-600) {color:#d3d7df;}
.sanctra-app .analytics-view .text-slate-400 {color:#d3d7df;}

.subject-toggle {position:relative;flex-shrink:0;width:44px;height:26px;border-radius:99px;background:#ffffff24;transition:background 250ms;}
.subject-toggle[aria-checked=true] {background:var(--sanctra-sage);}
.subject-toggle span {position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform 250ms var(--motion-ease);}
.subject-toggle[aria-checked=true] span {transform:translateX(18px);background:var(--sanctra-ink);}
.subject-manager form>div {padding:12px!important;}
.subject-manager form input {min-width:0;}
.subject-manager .group {border-radius:12px;padding:12px;}

/* Symmetrical, polished Analytics toolbar */
.sanctra-app .analytics-toolbar {
  width: 100%;
  padding: 10px 14px;
  border-radius: 22px;
  background: var(--sanctra-glass-bg) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
}

.sanctra-app .analytics-toolbar-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.sanctra-app .analytics-toolbar-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.sanctra-app .analytics-toolbar-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.sanctra-app .analytics-toolbar-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Segmented Period Switcher (Day, Week, Month) */
.sanctra-app .analytics-period-segment {
  display: inline-flex;
  align-items: center;
  padding: 3px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

.sanctra-app .analytics-period-tab {
  height: 34px;
  min-width: 62px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--sanctra-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-transform: none;
}

.sanctra-app .analytics-period-tab:hover:not(.active) {
  color: var(--sanctra-paper);
  background: rgba(255, 255, 255, 0.08);
}

.sanctra-app .analytics-period-tab.active {
  background: var(--sanctra-sage) !important;
  color: var(--sanctra-ink) !important;
  font-weight: 650;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--sanctra-sage) 25%, transparent);
}

/* Date Navigator Capsule */
.sanctra-app .analytics-date-capsule {
  display: inline-flex;
  align-items: center;
  padding: 3px 4px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

.sanctra-app .analytics-capsule-arrow {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sanctra-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.18s ease;
}

.sanctra-app .analytics-capsule-arrow:hover {
  color: var(--sanctra-paper);
  background: rgba(255, 255, 255, 0.10);
  transform: scale(1.05);
}

.sanctra-app .analytics-date-capsule .sanctra-date .analytics-button {
  height: 32px;
  min-height: 32px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 550;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--sanctra-paper);
  gap: 7px;
  border-radius: 999px;
}

.sanctra-app .analytics-date-capsule .sanctra-date .analytics-button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Current Period Button */
.sanctra-app .analytics-current-btn {
  height: 40px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 550;
  color: var(--sanctra-paper);
  background: var(--sanctra-glass-bg);
  border: 1px solid var(--sanctra-glass-border);
  -webkit-backdrop-filter: var(--sanctra-glass-blur); backdrop-filter: var(--sanctra-glass-blur);
  box-shadow: var(--sanctra-glass-shadow);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.sanctra-app .analytics-current-btn:hover {
  background: var(--sanctra-glass-bg-hover);
  border-color: var(--sanctra-glass-border-hover);
  box-shadow: var(--sanctra-glass-shadow-hover);
  transform: translateY(-1px);
}

/* Subject Filter in Toolbar */
.sanctra-app .analytics-toolbar-right .sanctra-select .analytics-button {
  height: 40px;
  min-height: 40px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 999px;
  background: var(--sanctra-glass-bg);
  border: 1px solid var(--sanctra-glass-border);
  -webkit-backdrop-filter: var(--sanctra-glass-blur); backdrop-filter: var(--sanctra-glass-blur);
  box-shadow: var(--sanctra-glass-shadow);
  color: var(--sanctra-paper);
  gap: 8px;
}

.sanctra-app .analytics-toolbar-right .sanctra-select .analytics-button:hover {
  background: var(--sanctra-glass-bg-hover);
  border-color: var(--sanctra-glass-border-hover);
  box-shadow: var(--sanctra-glass-shadow-hover);
}

@media (max-width: 980px) {
  .sanctra-app .analytics-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  .sanctra-app .analytics-toolbar-left,
  .sanctra-app .analytics-toolbar-center,
  .sanctra-app .analytics-toolbar-right {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .sanctra-app .analytics-toolbar {
    padding: 10px 10px;
    border-radius: 18px;
  }
  .sanctra-app .analytics-toolbar-center {
    flex-wrap: wrap;
    justify-content: center;
  }
}

.sanctra-app .focus-calendar-day {min-width:0;padding:8px 3px;}
.sanctra-app .focus-calendar-day span {overflow-wrap:anywhere;}
.sanctra-app .current-task-bar {background:linear-gradient(120deg,#ffffff0b,#ffffff02),color-mix(in srgb,var(--sanctra-ink) 78%,transparent)!important;}

/* Stationary artwork with independent flowing light, rather than camera zoom/pan. */
.sanctra-landing .abstract-folds,.abstract-motion-on .abstract-folds {
  animation:none!important;transform:rotate(var(--fold-rotate,0deg)) scale(1.15)!important;opacity:.6;
}
.sanctra-landing::before,.abstract-motion-on .wallpaper-layer {animation:none!important;background-size:cover!important;}
.abstract-folds::before,.abstract-folds::after {content:"";position:absolute;inset:0;pointer-events:none;opacity:0;}
.sanctra-landing .abstract-folds::before,.abstract-motion-on .abstract-folds::before {
  background:radial-gradient(ellipse at 25% 40%,#fff8 0%,transparent 45%),radial-gradient(ellipse at 75% 65%,#fff5 0%,transparent 50%);
  background-size:170% 150%;mix-blend-mode:soft-light;animation:sanctra-light-current 23s linear infinite;
}
.sanctra-landing .abstract-folds::after,.abstract-motion-on .abstract-folds::after {
  background:radial-gradient(ellipse at 65% 25%,#fff7 0%,transparent 48%),radial-gradient(ellipse at 20% 75%,#0005 0%,transparent 55%);
  background-size:150% 170%;mix-blend-mode:soft-light;animation:sanctra-light-current 31s linear infinite reverse;
}
@keyframes sanctra-light-current {0%,100%{background-position:0% 45%;opacity:.4}25%{background-position:50% 0%;opacity:.8}50%{background-position:100% 55%;opacity:.55}75%{background-position:45% 100%;opacity:.85}}
@media(prefers-reduced-motion:reduce){.abstract-folds::before,.abstract-folds::after{animation:none!important;opacity:.3!important;}}

/* Timer controls stay inside the viewport in normal, fullscreen and quiet modes. */
.sanctra-app .timer-dial { width:100%; min-width:0; max-width:100%; }
.sanctra-app .timer-actions { width:100%; max-width:900px; flex-wrap:wrap!important; padding-inline:8px; }
.sanctra-app .timer-actions>button { min-width:0; max-width:100%; white-space:nowrap; padding-inline:clamp(12px,2vw,24px); }
.sanctra-app .timer-stage { overflow-y:auto; }
.sanctra-app .timer-content { min-height:min-content; }
.sanctra-app.timer-only .timer-stage { overflow:auto; }
.sanctra-app.timer-only .timer-content { min-height:100%; justify-content:center; padding:72px 16px; }
.sanctra-app.timer-only .timer-dial { margin:0; gap:24px; }
.sanctra-app.timer-only .timer-ring { width:min(70vw,55dvh,520px); height:min(70vw,55dvh,520px); }
.sanctra-app.timer-only .timer-ring .tabular-nums { font-size:clamp(38px,8vw,88px); }
.timer-only-exit {
  position: fixed;
  top: 20px;
  right: 24px;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  height: 36px;
  gap: 8px;
  padding: 0 12px 0 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--sanctra-paper, #e2e8f0);
  background: color-mix(in srgb, var(--sanctra-surface, #0f172a) 65%, rgba(0, 0, 0, 0.45));
  border: 1px solid color-mix(in srgb, var(--sanctra-paper, #ffffff) 14%, transparent);
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)); backdrop-filter: blur(var(--sanctra-panel-blur,12px));
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.timer-only-exit:hover {
  background: color-mix(in srgb, var(--sanctra-surface, #0f172a) 85%, var(--sanctra-sage, #a8cde8));
  border-color: color-mix(in srgb, var(--sanctra-sage, #a8cde8) 40%, transparent);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}
.timer-only-exit-kbd {
  font-family: inherit;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  line-height: 1;
}
.live-groups { color:#f4f3f7; padding-block:12px; }
.live-groups h1 { font-size:clamp(26px,3vw,38px); }
.live-groups h2 { font-size:22px; }
.group-muted { color:var(--sanctra-muted); }
.group-eyebrow { color:var(--sanctra-sage); font-size:11px; text-transform:uppercase; letter-spacing:.15em; margin-bottom:8px; }
.group-primary,.group-input,.group-badge { border-radius:14px; }
.group-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; background:var(--sanctra-sage); color:var(--sanctra-ink); font-weight:600; cursor:pointer; }
.group-primary:disabled { opacity:.45; cursor:default; }
.group-input { display:block; width:100%; background:color-mix(in srgb,var(--sanctra-ink) 75%,transparent); color:#f4f3f7; border:1px solid color-mix(in srgb,var(--sanctra-muted) 30%,transparent); padding:12px; }
.group-input:focus-visible,.live-groups button:focus-visible { outline:2px solid var(--sanctra-sage); outline-offset:3px; }
.group-badge { font-size:10px; padding:3px 7px; background:color-mix(in srgb,var(--sanctra-sage) 15%,transparent); color:var(--sanctra-sage); }
.group-modal { position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:20px; background:#080b15b8; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)); backdrop-filter:blur(var(--sanctra-panel-blur,12px)); }
.group-modal>.analytics-card { background:linear-gradient(145deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.02) 100%), color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 48%, transparent)) !important; -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important; border:1px solid color-mix(in srgb, var(--sanctra-sage) 26%, rgba(255, 255, 255, 0.22)) !important; box-shadow:0 32px 80px -10px rgba(0, 0, 0, 0.7), inset 0 1px 1.5px rgba(255, 255, 255, 0.3) !important; border-radius:24px; }
.group-workspace { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:20px; align-items:start; }
.group-member-row { display:flex; align-items:center; gap:12px; padding:16px 12px; border:1px solid #ffffff0d; border-radius:18px; background:color-mix(in srgb,var(--sanctra-ink) 45%,transparent); }
.group-member-row.is-me { border-color:color-mix(in srgb,var(--sanctra-sage) 45%,transparent); background:color-mix(in srgb,var(--sanctra-sage) 8%,var(--sanctra-ink)); }
.group-rank { min-width:32px; font-size:17px; color:var(--sanctra-sage); }
.group-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid color-mix(in srgb,var(--sanctra-sage) 40%,transparent); }
.group-initial { display:grid; place-items:center; color:var(--sanctra-ink); background:var(--sanctra-sage); font-weight:600; }
.group-status { font-size:12px; color:var(--sanctra-muted); margin-top:4px; }
.group-status.focusing { color:var(--sanctra-sage); }
.group-streak { display:flex; gap:4px; align-items:center; color:var(--sanctra-muted); font-size:11px; margin-top:5px; }
.group-duration { display:block; font-size:18px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.group-movement { display:block; color:var(--sanctra-sage); font-size:12px; margin-top:6px; }
.group-chat-panel { display:flex; flex-direction:column; height:650px; max-height:80dvh; }
.group-chat-feed { overflow-y:auto; flex:1; min-height:0; margin-top:16px; }
.group-message { padding:14px; background:#ffffff05; border:1px solid #ffffff0c; border-radius:16px; margin-bottom:12px; font-size:14px; }
.group-message.mine { background:color-mix(in srgb,var(--sanctra-sage) 10%,transparent); }
.group-message .group-avatar { width:24px; height:24px; }
.group-danger,.group-error { color:#ffb8b8!important; }
@media(max-width:900px) { .group-workspace { grid-template-columns:1fr; } }
@media(max-width:480px) { .group-member-row { gap:8px; padding:12px 8px; } .group-rank { min-width:24px; font-size:14px; } .group-avatar { width:32px;height:32px; } .group-duration { font-size:14px; } }
.sanctra-app.timer-only .timer-dial { height:calc(100dvh - 144px); position:relative; }
.sanctra-app.timer-only .timer-actions { position:absolute; top:calc(50% + min(35vw,27.5dvh,260px) + 24px); }
/* Community workspaces share Sanctra's calm, themed material and rhythm. */
.workspace-page { width:100%; max-width:1120px; padding:8px 0 40px; color:var(--sanctra-paper); }
.workspace-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
.workspace-heading h1 {font-family:var(--font-display,Georgia),serif;font-size:clamp(30px,4vw,44px);line-height:1.15;margin:8px 0 12px;font-weight:400;}
.workspace-heading p,.workspace-panel>p,.workspace-panel label,.workspace-footnote {color:var(--sanctra-muted);line-height:1.65;}
.workspace-eyebrow {font-size:11px!important;letter-spacing:.17em;text-transform:uppercase;color:var(--sanctra-sage)!important;display:flex;gap:8px;align-items:center;line-height:1.8;}
.workspace-panel {padding:28px;border:1px solid var(--sanctra-glass-border);border-radius:24px;background:var(--sanctra-glass-bg);-webkit-backdrop-filter:var(--sanctra-glass-blur); backdrop-filter:var(--sanctra-glass-blur);box-shadow:var(--sanctra-glass-shadow);min-width:0;margin-bottom:20px;}
.workspace-panel h2 {font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.3;margin:8px 0 18px;}
.workspace-panel h3 {font-size:17px;line-height:1.5;margin:0 0 16px;display:flex;align-items:center;gap:8px;}
.workspace-panel p {overflow-wrap:anywhere;}
.workspace-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.workspace-primary,.workspace-tabs button,.editor-toolbar button {border:1px solid #ffffff25;border-radius:12px;min-height:44px;padding:12px 18px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.workspace-primary {background:var(--sanctra-sage);color:var(--sanctra-ink);font-weight:650;border-color:transparent;}
.workspace-primary:disabled {opacity:.5;cursor:not-allowed;}
.workspace-tabs {display:flex;gap:6px;flex-wrap:wrap;}
.workspace-tabs button {background:#ffffff05;color:var(--sanctra-muted);}
.workspace-tabs button[aria-pressed=true] {color:var(--sanctra-ink);background:var(--sanctra-sage);}
.workspace-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;}
.workspace-note {padding:20px;background:color-mix(in srgb,var(--sanctra-sage) 8%,var(--sanctra-ink));border:1px solid color-mix(in srgb,var(--sanctra-sage) 23%,transparent);border-radius:18px;line-height:1.7;margin:16px 0;}
.workspace-footnote {font-size:12px;line-height:1.7;margin:14px 0;}
.workspace-panel label {display:block;font-size:13px;margin:14px 0;}
.workspace-panel .inbox-input {margin-top:8px;font-size:14px;min-height:44px;}
.checkbox-label {display:flex!important;align-items:center;gap:12px;min-height:44px;}
.checkbox-label input {width:18px;height:18px;accent-color:var(--sanctra-sage);}
.empty-panel {text-align:center;padding:40px 20px;}
.empty-panel>svg {margin:auto;color:var(--sanctra-sage);width:28px;height:28px;}
.empty-panel p {max-width:520px;margin:12px auto 20px;color:var(--sanctra-muted);}
.profile-hero {position:relative;overflow:hidden;isolation:isolate;padding:36px;}
.profile-hero-wash {position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--sanctra-sage) 18%,transparent),transparent 65%);}
.profile-identity {display:flex;align-items:center;gap:28px;margin-bottom:32px;}
.profile-avatar {width:100px;height:100px;border-radius:28px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:38px;background:color-mix(in srgb,var(--sanctra-sage) 12%,var(--sanctra-ink));border:1px solid color-mix(in srgb,var(--sanctra-sage) 35%,transparent);color:var(--sanctra-sage);position:relative;}
.profile-avatar img {width:100%;height:100%;object-fit:cover;}
.profile-avatar.small {width:46px;height:46px;border-radius:14px;font-size:20px;}
.profile-initial-fallback {font-family:var(--sanctra-serif,'Playfair Display',Georgia,serif);font-weight:500;font-size:40px;line-height:1;color:var(--sanctra-paper);user-select:none;}
.profile-avatar.small .profile-initial-fallback {font-size:20px;}
.profile-intent-tag {display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:0.04em;color:var(--sanctra-muted);background:color-mix(in srgb,var(--sanctra-surface) 60%,transparent);border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.08));}
.profile-identity h2 {font-family:var(--sanctra-serif,'Playfair Display',Georgia,serif);font-size:36px;font-weight:400;margin:4px 0 10px;overflow-wrap:anywhere;letter-spacing:-0.025em;line-height:1.2;color:var(--sanctra-paper);}
.profile-identity p {margin:0;color:var(--sanctra-muted);line-height:1.6;}
.profile-status {display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.12));background:color-mix(in srgb,var(--sanctra-surface) 40%,transparent);border-radius:999px;padding:5px 14px;font-size:12px;margin-top:12px;max-width:100%;overflow-wrap:anywhere;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--sanctra-paper);}
.profile-stats {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.profile-stats>div {border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.08));border-radius:16px;background:color-mix(in srgb,var(--sanctra-surface) 38%,transparent);padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:border-color 0.2s ease,transform 0.2s ease,background 0.2s ease;}
.profile-stats>div:hover {border-color:color-mix(in srgb,var(--sanctra-sage) 28%,transparent);background:color-mix(in srgb,var(--sanctra-surface) 52%,transparent);transform:translateY(-1px);}
.profile-stats svg {color:var(--sanctra-sage);flex-shrink:0;}
.profile-stats strong {font-size:26px;font-weight:500;line-height:1.15;color:var(--sanctra-paper);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0;letter-spacing:-0.02em;}
.profile-stats small {color:var(--sanctra-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.07em;}
.intent-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;}
.intent-grid button {padding:18px;display:flex;flex-direction:column;gap:12px;text-align:left;border:1px solid #ffffff24;background:#ffffff03;border-radius:16px;cursor:pointer;color:var(--sanctra-paper);}
.intent-grid button[aria-pressed=true] {border-color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 10%,transparent);}
.intent-grid small {color:var(--sanctra-muted);line-height:1.6;}
.intent-grid svg {color:var(--sanctra-sage);}
.profile-editor fieldset {border:0;margin:24px 0;}
.avatar-choices {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:center;}
.avatar-choices button:has(img) {width:54px;height:54px;border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.15));border-radius:16px;overflow:hidden;cursor:pointer;background:color-mix(in srgb,var(--sanctra-surface) 50%,transparent);transition:transform 0.18s ease,border-color 0.18s ease,box-shadow 0.18s ease;padding:0;}
.avatar-choices button:has(img):hover {transform:scale(1.04);border-color:color-mix(in srgb,var(--sanctra-sage) 50%,transparent);}
.avatar-choices button[aria-pressed=true]:has(img) {border:2px solid var(--sanctra-sage)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sanctra-sage) 20%,transparent)!important;transform:scale(1.02);}
.avatar-choices img {width:100%;height:100%;object-fit:cover;}
.profile-goal-number {font-size:34px;font-weight:500;margin:18px 0;line-height:1.1;color:var(--sanctra-paper);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0;letter-spacing:-0.025em;}
.profile-goal-number span {font-size:16px;font-weight:400;color:var(--sanctra-muted);letter-spacing:0;}
.profile-page progress {width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#ffffff15;accent-color:var(--sanctra-sage);}
.profile-page progress::-webkit-progress-bar {background:#ffffff15;}
.profile-page progress::-webkit-progress-value {background:var(--sanctra-sage);}
.week-spark {display:flex;align-items:flex-end;justify-content:space-between;height:100px;margin:20px 0 24px;gap:8px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--sanctra-ink) 45%,transparent);border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.06));}
.week-spark>div {flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end;}
.week-spark span {width:100%;max-width:22px;border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--sanctra-sage) 35%,transparent);transition:height 0.3s cubic-bezier(.22,1,.36,1),background 0.2s ease;}
.week-spark>div:hover span {background:var(--sanctra-sage);}
.week-spark small {color:var(--sanctra-muted);font-size:11px;font-weight:500;text-transform:uppercase;}
.profile-group {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.06));background:color-mix(in srgb,var(--sanctra-surface) 30%,transparent);margin-bottom:10px;overflow-wrap:anywhere;transition:background 0.18s ease,border-color 0.18s ease;}
.profile-group:hover {background:color-mix(in srgb,var(--sanctra-surface) 48%,transparent);border-color:color-mix(in srgb,var(--sanctra-sage) 25%,transparent);}
.profile-group-info {display:flex;flex-direction:column;gap:2px;min-width:0;}
.profile-group-info strong {font-size:14px;font-weight:500;color:var(--sanctra-paper);}
.profile-group-info small {font-size:12px;color:var(--sanctra-muted);}
.profile-group-badges {display:flex;align-items:center;gap:6px;flex-shrink:0;}
.profile-group-badge {display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);color:var(--sanctra-muted);}
.profile-group-badge.is-owner {background:color-mix(in srgb,var(--sanctra-sage) 14%,transparent);border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent);color:var(--sanctra-paper);}
.vip-preview {display:flex;gap:24px;align-items:flex-start;}
.vip-preview>svg {color:var(--sanctra-sage);flex-shrink:0;margin-top:7px;}
.vip-prices {display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 4px;}
.vip-price-pill {display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:12px;background:color-mix(in srgb,var(--sanctra-surface) 50%,transparent);border:1px solid var(--sanctra-glass-border,rgba(255,255,255,0.08));}
.vip-price-pill strong {font-size:18px;font-weight:600;color:var(--sanctra-paper);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0;}
.vip-price-pill span {font-size:12px;color:var(--sanctra-muted);}
.vip-price-pill.is-highlight {border-color:color-mix(in srgb,#e5cb98 35%,transparent);background:color-mix(in srgb,#e5cb98 10%,var(--sanctra-surface));}
.vip-price-pill.is-highlight strong {color:#f7edd8;}
.vip-preview small {color:var(--sanctra-muted);line-height:1.7;}
.vip-preview.active-plus-panel {
  border-color: color-mix(in srgb, #e5cb98 35%, transparent);
  background: radial-gradient(ellipse at 85% 15%, color-mix(in srgb, #e5cb98 10%, transparent), transparent 60%), #ffffff04;
}
.plus-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: color-mix(in srgb, #e5cb98 14%, var(--sanctra-surface));
  border: 1px solid color-mix(in srgb, #e5cb98 38%, transparent);
  color: #f7edd8;
  letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.plus-badge svg {
  color: #e5cb98;
}

/* VIP Premium Membership Area */
.vip-membership-panel {
  position: relative;
  overflow: hidden;
  border-radius: 24px !important;
  border: 1px solid var(--sanctra-glass-border, rgba(255, 255, 255, 0.1)) !important;
  background: color-mix(in srgb, var(--sanctra-surface) 65%, var(--sanctra-ink)) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  padding: 28px !important;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.vip-membership-panel::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, #e5cb98 10%, transparent), transparent 70%);
  pointer-events: none;
}
.vip-membership-top {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1;
}
.vip-crown-badge-wrap {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in srgb, #e5cb98 16%, var(--sanctra-surface));
  border: 1px solid color-mix(in srgb, #e5cb98 32%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e5cb98;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.15), 0 4px 16px rgba(0, 0, 0, 0.25);
  flex-shrink: 0;
}
.vip-membership-top h2 {
  font-family: var(--sanctra-serif, 'Playfair Display', Georgia, serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--sanctra-paper);
  margin: 0;
  line-height: 1.25;
  letter-spacing: -0.015em;
}
.vip-membership-top p {
  margin: 3px 0 0;
  font-size: 13px;
  color: var(--sanctra-muted);
}
.vip-status-box {
  background: color-mix(in srgb, var(--sanctra-ink) 55%, transparent);
  border: 1px solid var(--sanctra-glass-border, rgba(255, 255, 255, 0.08));
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 1;
}
.vip-status-pills {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.vip-pill-plan {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: color-mix(in srgb, #e5cb98 14%, var(--sanctra-surface));
  border: 1px solid color-mix(in srgb, #e5cb98 32%, transparent);
  color: #f7edd8;
}
.vip-pill-plan svg {
  color: #e5cb98;
}
.vip-pill-valid {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--sanctra-muted);
}
.vip-pill-valid svg {
  color: var(--sanctra-muted);
}
.vip-days-remaining {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-top: 4px;
}
.vip-days-number {
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: var(--sanctra-paper, #f3f1e7);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "zero" 0;
}
.vip-days-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vip-days-meta strong {
  font-size: 17px;
  font-weight: 600;
  color: var(--sanctra-paper);
  line-height: 1.2;
}
.vip-days-meta span {
  font-size: 12px;
  color: var(--sanctra-muted);
}
.vip-progress-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.vip-progress-bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  position: relative;
}
.vip-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sanctra-sage) 0%, #e5cb98 100%);
  transition: width 0.6s cubic-bezier(.22, 1, .36, 1);
}
.vip-progress-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--sanctra-muted);
}
.vip-superpowers-wrap {
  position: relative;
  z-index: 1;
}
.vip-superpowers-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sanctra-paper);
  margin-bottom: 12px;
}
.vip-superpowers-heading svg {
  color: var(--sanctra-sage);
}
.vip-superpowers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media(max-width: 680px) {
  .vip-superpowers-grid {
    grid-template-columns: 1fr;
  }
  .vip-membership-panel {
    padding: 20px !important;
  }
}
.vip-superpower-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--sanctra-surface) 40%, transparent);
  border: 1px solid var(--sanctra-glass-border, rgba(255, 255, 255, 0.07));
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.vip-superpower-card:hover {
  background: color-mix(in srgb, var(--sanctra-surface) 60%, transparent);
  border-color: color-mix(in srgb, var(--sanctra-sage) 30%, transparent);
  transform: translateY(-1px);
}
.vip-superpower-card.is-locked {
  opacity: 0.75;
}
.vip-superpower-card.is-locked:hover {
  opacity: 0.95;
}
.vip-sp-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--sanctra-sage) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 22%, transparent);
  color: var(--sanctra-sage);
}
.vip-sp-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow: hidden;
}
.vip-sp-info strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--sanctra-paper);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vip-sp-info span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--sanctra-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vip-sp-info span svg {
  flex-shrink: 0;
}
.vip-membership-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  position: relative;
  z-index: 1;
}
.vip-membership-footer p {
  font-size: 12px;
  color: var(--sanctra-muted);
  margin: 0;
}
/* --- Plus+ Avatar Effects, Frames, and Atmosphere Scene Washes --- */
.avatar-effect-celestial {
  box-shadow:
    0 0 0 1.5px rgba(255, 248, 220, 0.75),
    0 0 8px 1px rgba(245, 215, 140, 0.42),
    0 0 16px 2px rgba(226, 185, 111, 0.22),
    inset 0 0 8px rgba(255, 248, 220, 0.25) !important;
  filter: none !important;
  animation: aura-celestial 3.6s ease-in-out infinite alternate !important;
}
@keyframes aura-celestial {
  0% {
    box-shadow:
      0 0 0 1.5px rgba(255, 248, 220, 0.65),
      0 0 7px 1px rgba(245, 215, 140, 0.35),
      0 0 14px 2px rgba(226, 185, 111, 0.18),
      inset 0 0 7px rgba(255, 248, 220, 0.2) !important;
  }
  50% {
    box-shadow:
      0 0 0 1.5px rgba(255, 255, 255, 0.85),
      0 0 10px 1.5px rgba(250, 224, 155, 0.48),
      0 0 19px 2.5px rgba(234, 195, 115, 0.24),
      0 0 25px 3.5px rgba(212, 175, 55, 0.10),
      inset 0 0 9px rgba(255, 255, 255, 0.3) !important;
  }
  100% {
    box-shadow:
      0 0 0 1.5px rgba(255, 250, 230, 0.75),
      0 0 12px 2px rgba(245, 215, 140, 0.4),
      0 0 21px 3px rgba(226, 185, 111, 0.2),
      inset 0 0 8px rgba(255, 248, 220, 0.22) !important;
  }
}

.avatar-effect-aurora {
  box-shadow:
    0 0 0 1.5px rgba(204, 251, 241, 0.8),
    0 0 8px 1px rgba(94, 234, 212, 0.42),
    0 0 16px 2px rgba(56, 189, 248, 0.22),
    inset 0 0 8px rgba(94, 234, 212, 0.22) !important;
  filter: none !important;
  animation: aura-aurora 5.5s ease-in-out infinite alternate !important;
}
@keyframes aura-aurora {
  0% {
    box-shadow:
      0 0 0 1.5px rgba(204, 251, 241, 0.7),
      0 0 7px 1px rgba(94, 234, 212, 0.35),
      0 0 14px 2px rgba(56, 189, 248, 0.18),
      inset 0 0 7px rgba(94, 234, 212, 0.18) !important;
  }
  33% {
    box-shadow:
      0 0 0 1.5px rgba(255, 255, 255, 0.85),
      0 0 10px 1.5px rgba(56, 189, 248, 0.45),
      0 0 19px 2.5px rgba(167, 139, 250, 0.22),
      0 0 25px 3.5px rgba(94, 234, 212, 0.10),
      inset 0 0 9px rgba(56, 189, 248, 0.25) !important;
  }
  66% {
    box-shadow:
      0 0 0 1.5px rgba(233, 213, 255, 0.8),
      0 0 11px 1.5px rgba(167, 139, 250, 0.45),
      0 0 20px 2.5px rgba(94, 234, 212, 0.22),
      0 0 26px 3.5px rgba(56, 189, 248, 0.10),
      inset 0 0 9px rgba(167, 139, 250, 0.25) !important;
  }
  100% {
    box-shadow:
      0 0 0 1.5px rgba(204, 251, 241, 0.85),
      0 0 12px 2px rgba(94, 234, 212, 0.42),
      0 0 21px 3px rgba(56, 189, 248, 0.24),
      inset 0 0 8px rgba(94, 234, 212, 0.22) !important;
  }
}

.avatar-effect-lotus {
  box-shadow:
    0 0 0 1.5px rgba(255, 241, 242, 0.8),
    0 0 8px 1px rgba(251, 182, 206, 0.42),
    0 0 16px 2px rgba(244, 114, 182, 0.22),
    inset 0 0 8px rgba(251, 182, 206, 0.22) !important;
  filter: none !important;
  animation: aura-lotus 4.5s ease-in-out infinite alternate !important;
}
@keyframes aura-lotus {
  0% {
    box-shadow:
      0 0 0 1.5px rgba(255, 241, 242, 0.7),
      0 0 7px 1px rgba(251, 182, 206, 0.35),
      0 0 14px 2px rgba(244, 114, 182, 0.18),
      inset 0 0 7px rgba(251, 182, 206, 0.18) !important;
  }
  50% {
    box-shadow:
      0 0 0 1.5px rgba(255, 255, 255, 0.85),
      0 0 10px 1.5px rgba(244, 114, 182, 0.45),
      0 0 19px 2.5px rgba(216, 180, 254, 0.22),
      0 0 25px 3.5px rgba(251, 113, 133, 0.10),
      inset 0 0 9px rgba(255, 255, 255, 0.3) !important;
  }
  100% {
    box-shadow:
      0 0 0 1.5px rgba(255, 228, 230, 0.8),
      0 0 12px 2px rgba(251, 182, 206, 0.42),
      0 0 21px 3px rgba(244, 114, 182, 0.22),
      inset 0 0 8px rgba(251, 182, 206, 0.22) !important;
  }
}

.avatar-effect-quill {
  box-shadow:
    0 0 0 1.5px rgba(254, 243, 199, 0.8),
    0 0 8px 1px rgba(245, 190, 70, 0.4),
    0 0 16px 2px rgba(217, 130, 40, 0.18),
    inset 0 0 8px rgba(252, 211, 77, 0.22) !important;
  filter: none !important;
  animation: aura-quill 3.6s ease-in-out infinite alternate !important;
}
@keyframes aura-quill {
  0% {
    box-shadow:
      0 0 0 1.5px rgba(254, 243, 199, 0.7),
      0 0 7px 1px rgba(245, 190, 70, 0.32),
      0 0 14px 2px rgba(217, 130, 40, 0.15),
      inset 0 0 7px rgba(252, 211, 77, 0.18) !important;
  }
  30% {
    box-shadow:
      0 0 0 1.5px rgba(255, 255, 255, 0.85),
      0 0 10px 1.5px rgba(245, 190, 70, 0.45),
      0 0 19px 2.5px rgba(217, 130, 40, 0.22),
      0 0 25px 3.5px rgba(180, 100, 20, 0.08),
      inset 0 0 9px rgba(255, 255, 255, 0.3) !important;
  }
  70% {
    box-shadow:
      0 0 0 1.5px rgba(254, 243, 199, 0.75),
      0 0 8px 1.5px rgba(245, 190, 70, 0.38),
      0 0 16px 2px rgba(217, 130, 40, 0.18),
      inset 0 0 8px rgba(252, 211, 77, 0.2) !important;
  }
  100% {
    box-shadow:
      0 0 0 1.5px rgba(254, 243, 199, 0.82),
      0 0 12px 2px rgba(245, 190, 70, 0.42),
      0 0 20px 2.5px rgba(217, 130, 40, 0.2),
      inset 0 0 8px rgba(252, 211, 77, 0.22) !important;
  }
}

/* Scaled-down, jewelry-crisp auras for compact avatars (Sidebar, Group members, Rankings list) */
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-effect-celestial {
  box-shadow:
    0 0 0 1px rgba(255, 248, 220, 0.75),
    0 0 5px 1px rgba(245, 215, 140, 0.4),
    0 0 10px 1.5px rgba(226, 185, 111, 0.2),
    inset 0 0 5px rgba(255, 248, 220, 0.2) !important;
  animation: aura-celestial-sm 3.6s ease-in-out infinite alternate !important;
}
@keyframes aura-celestial-sm {
  0% {
    box-shadow:
      0 0 0 1px rgba(255, 248, 220, 0.65),
      0 0 4px 1px rgba(245, 215, 140, 0.32),
      0 0 8px 1px rgba(226, 185, 111, 0.16),
      inset 0 0 4px rgba(255, 248, 220, 0.18) !important;
  }
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.85),
      0 0 7px 1px rgba(250, 224, 155, 0.45),
      0 0 12px 1.5px rgba(226, 185, 111, 0.22),
      inset 0 0 6px rgba(255, 255, 255, 0.28) !important;
  }
}

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-effect-aurora {
  box-shadow:
    0 0 0 1px rgba(204, 251, 241, 0.8),
    0 0 5px 1px rgba(94, 234, 212, 0.4),
    0 0 10px 1.5px rgba(56, 189, 248, 0.2),
    inset 0 0 5px rgba(94, 234, 212, 0.2) !important;
  animation: aura-aurora-sm 5s ease-in-out infinite alternate !important;
}
@keyframes aura-aurora-sm {
  0% {
    box-shadow:
      0 0 0 1px rgba(204, 251, 241, 0.7),
      0 0 4px 1px rgba(94, 234, 212, 0.3),
      0 0 8px 1px rgba(56, 189, 248, 0.16),
      inset 0 0 4px rgba(94, 234, 212, 0.18) !important;
  }
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.85),
      0 0 7px 1px rgba(94, 234, 212, 0.45),
      0 0 12px 1.5px rgba(167, 139, 250, 0.22),
      inset 0 0 6px rgba(255, 255, 255, 0.28) !important;
  }
}

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-effect-lotus {
  box-shadow:
    0 0 0 1px rgba(255, 241, 242, 0.8),
    0 0 5px 1px rgba(251, 182, 206, 0.4),
    0 0 10px 1.5px rgba(244, 114, 182, 0.2),
    inset 0 0 5px rgba(251, 182, 206, 0.2) !important;
  animation: aura-lotus-sm 4.5s ease-in-out infinite alternate !important;
}
@keyframes aura-lotus-sm {
  0% {
    box-shadow:
      0 0 0 1px rgba(255, 241, 242, 0.7),
      0 0 4px 1px rgba(251, 182, 206, 0.3),
      0 0 8px 1px rgba(244, 114, 182, 0.16),
      inset 0 0 4px rgba(251, 182, 206, 0.18) !important;
  }
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.85),
      0 0 7px 1px rgba(251, 182, 206, 0.45),
      0 0 12px 1.5px rgba(216, 180, 254, 0.22),
      inset 0 0 6px rgba(255, 255, 255, 0.28) !important;
  }
}

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-effect-quill {
  box-shadow:
    0 0 0 1px rgba(254, 243, 199, 0.8),
    0 0 5px 1px rgba(245, 190, 70, 0.38),
    0 0 10px 1.5px rgba(217, 130, 40, 0.18),
    inset 0 0 5px rgba(252, 211, 77, 0.2) !important;
  animation: aura-quill-sm 3.6s ease-in-out infinite alternate !important;
}
@keyframes aura-quill-sm {
  0% {
    box-shadow:
      0 0 0 1px rgba(254, 243, 199, 0.7),
      0 0 4px 1px rgba(245, 190, 70, 0.3),
      0 0 8px 1px rgba(217, 130, 40, 0.15),
      inset 0 0 4px rgba(252, 211, 77, 0.18) !important;
  }
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.85),
      0 0 7px 1px rgba(245, 190, 70, 0.42),
      0 0 12px 1.5px rgba(217, 130, 40, 0.2),
      inset 0 0 6px rgba(255, 255, 255, 0.28) !important;
  }
}

/* Profile Frames - Refined luxury jewelry frames */
.avatar-frame-golden-thread {
  border: 2px solid rgba(226, 185, 111, 0.85) !important;
  outline: 1.5px solid rgba(250, 225, 160, 0.45);
  outline-offset: 3px;
}
.avatar-frame-golden-thread:not([class*="avatar-effect-"]) {
  box-shadow: 0 0 10px rgba(226, 185, 111, 0.35), inset 0 0 8px rgba(250, 225, 160, 0.25);
  animation: frame-thread-gleam 4s ease-in-out infinite alternate;
}
@keyframes frame-thread-gleam {
  0% {
    border-color: rgba(212, 175, 55, 0.75) !important;
    outline-color: rgba(250, 225, 160, 0.4);
    outline-offset: 2.5px;
  }
  100% {
    border-color: rgba(255, 248, 220, 0.95) !important;
    outline-color: rgba(255, 255, 255, 0.75);
    outline-offset: 3.5px;
  }
}

.avatar-frame-emerald-halo {
  border: 2px solid rgba(52, 211, 153, 0.85) !important;
  outline: 1.5px solid rgba(110, 231, 183, 0.45);
  outline-offset: 3px;
}
.avatar-frame-emerald-halo:not([class*="avatar-effect-"]) {
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.35), inset 0 0 8px rgba(110, 231, 183, 0.25);
  animation: frame-halo-breathe 4s ease-in-out infinite alternate;
}
@keyframes frame-halo-breathe {
  0% {
    border-color: rgba(16, 185, 129, 0.75) !important;
    outline-color: rgba(52, 211, 153, 0.4);
    outline-offset: 2.5px;
  }
  100% {
    border-color: rgba(110, 231, 183, 0.95) !important;
    outline-color: rgba(204, 251, 241, 0.75);
    outline-offset: 3.5px;
  }
}

.avatar-frame-celestial-dots {
  border: 2px dotted rgba(224, 231, 255, 0.85) !important;
  outline: 1.5px solid rgba(165, 180, 252, 0.4);
  outline-offset: 3px;
}
.avatar-frame-celestial-dots:not([class*="avatar-effect-"]) {
  box-shadow: 0 0 10px rgba(129, 140, 248, 0.35), inset 0 0 8px rgba(199, 210, 254, 0.25);
  animation: frame-dots-twinkle 3s ease-in-out infinite alternate;
}
@keyframes frame-dots-twinkle {
  0% {
    border-color: rgba(165, 180, 252, 0.75) !important;
    outline-color: rgba(129, 140, 248, 0.35);
    outline-offset: 2.5px;
  }
  100% {
    border-color: rgba(255, 255, 255, 0.95) !important;
    outline-color: rgba(199, 210, 254, 0.85);
    outline-offset: 3.5px;
  }
}

.avatar-frame-obsidian-glass {
  border: 2px solid rgba(255, 255, 255, 0.65) !important;
  outline: 1px solid rgba(255, 255, 255, 0.25);
  outline-offset: 3px;
  background: linear-gradient(145deg, rgba(35, 38, 48, 0.9), rgba(8, 10, 14, 0.95));
}
.avatar-frame-obsidian-glass:not([class*="avatar-effect-"]) {
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.7),
    0 0 10px rgba(255, 255, 255, 0.2),
    inset 0 1.5px 3px rgba(255, 255, 255, 0.5),
    inset 0 -1.5px 3px rgba(0, 0, 0, 0.7);
  animation: frame-obsidian-luster 4.5s ease-in-out infinite alternate;
}
@keyframes frame-obsidian-luster {
  0% {
    border-color: rgba(255, 255, 255, 0.5) !important;
    outline-color: rgba(255, 255, 255, 0.15);
  }
  100% {
    border-color: rgba(255, 255, 255, 0.85) !important;
    outline-color: rgba(255, 255, 255, 0.45);
  }
}

/* Dual Animations: Run both Aura Radiant Pulse and Frame Gleam when equipped together */
.avatar-frame-golden-thread.avatar-effect-celestial { animation: aura-celestial 3.6s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
.avatar-frame-golden-thread.avatar-effect-aurora { animation: aura-aurora 5.5s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
.avatar-frame-golden-thread.avatar-effect-lotus { animation: aura-lotus 4.5s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
.avatar-frame-golden-thread.avatar-effect-quill { animation: aura-quill 3.6s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }

.avatar-frame-emerald-halo.avatar-effect-celestial { animation: aura-celestial 3.6s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
.avatar-frame-emerald-halo.avatar-effect-aurora { animation: aura-aurora 5.5s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
.avatar-frame-emerald-halo.avatar-effect-lotus { animation: aura-lotus 4.5s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
.avatar-frame-emerald-halo.avatar-effect-quill { animation: aura-quill 3.6s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }

.avatar-frame-celestial-dots.avatar-effect-celestial { animation: aura-celestial 3.6s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
.avatar-frame-celestial-dots.avatar-effect-aurora { animation: aura-aurora 5.5s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
.avatar-frame-celestial-dots.avatar-effect-lotus { animation: aura-lotus 4.5s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
.avatar-frame-celestial-dots.avatar-effect-quill { animation: aura-quill 3.6s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }

.avatar-frame-obsidian-glass.avatar-effect-celestial { animation: aura-celestial 3.6s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
.avatar-frame-obsidian-glass.avatar-effect-aurora { animation: aura-aurora 5.5s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
.avatar-frame-obsidian-glass.avatar-effect-lotus { animation: aura-lotus 4.5s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
.avatar-frame-obsidian-glass.avatar-effect-quill { animation: aura-quill 3.6s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }

/* Small avatar dual animations */
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-golden-thread.avatar-effect-celestial { animation: aura-celestial-sm 3.6s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-golden-thread.avatar-effect-aurora { animation: aura-aurora-sm 5s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-golden-thread.avatar-effect-lotus { animation: aura-lotus-sm 4.5s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-golden-thread.avatar-effect-quill { animation: aura-quill-sm 3.6s ease-in-out infinite alternate, frame-thread-gleam 4s ease-in-out infinite alternate !important; }

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-emerald-halo.avatar-effect-celestial { animation: aura-celestial-sm 3.6s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-emerald-halo.avatar-effect-aurora { animation: aura-aurora-sm 5s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-emerald-halo.avatar-effect-lotus { animation: aura-lotus-sm 4.5s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-emerald-halo.avatar-effect-quill { animation: aura-quill-sm 3.6s ease-in-out infinite alternate, frame-halo-breathe 4s ease-in-out infinite alternate !important; }

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-celestial-dots.avatar-effect-celestial { animation: aura-celestial-sm 3.6s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-celestial-dots.avatar-effect-aurora { animation: aura-aurora-sm 5s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-celestial-dots.avatar-effect-lotus { animation: aura-lotus-sm 4.5s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-celestial-dots.avatar-effect-quill { animation: aura-quill-sm 3.6s ease-in-out infinite alternate, frame-dots-twinkle 3s ease-in-out infinite alternate !important; }

:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-obsidian-glass.avatar-effect-celestial { animation: aura-celestial-sm 3.6s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-obsidian-glass.avatar-effect-aurora { animation: aura-aurora-sm 5s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-obsidian-glass.avatar-effect-lotus { animation: aura-lotus-sm 4.5s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }
:is(.sidebar-avatar-wrap, .group-avatar-wrap, .profile-avatar.small).avatar-frame-obsidian-glass.avatar-effect-quill { animation: aura-quill-sm 3.6s ease-in-out infinite alternate, frame-obsidian-luster 4.5s ease-in-out infinite alternate !important; }

/* Responsive adjustments for small avatar containers */
:is(.sidebar-avatar-wrap, .group-avatar-wrap.size-sm).avatar-frame-golden-thread,
:is(.sidebar-avatar-wrap, .group-avatar-wrap.size-sm).avatar-frame-emerald-halo,
:is(.sidebar-avatar-wrap, .group-avatar-wrap.size-sm).avatar-frame-celestial-dots,
:is(.sidebar-avatar-wrap, .group-avatar-wrap.size-sm).avatar-frame-obsidian-glass {
  outline-offset: 2.5px !important;
  border-width: 1.5px !important;
}

.profile-avatar.small {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  font-size: 20px;
  margin: 2px 6px;
}
.profile-avatar:is([class*="avatar-effect-"], [class*="avatar-frame-"]) {
  overflow: visible !important;
}
.profile-avatar:is([class*="avatar-effect-"], [class*="avatar-frame-"]) img,
.profile-avatar:is([class*="avatar-effect-"], [class*="avatar-frame-"]) video,
.profile-avatar:is([class*="avatar-effect-"], [class*="avatar-frame-"]) .vip-media {
  border-radius: inherit;
  object-fit: cover;
}

/* Avatar Wraps for Groups and Sidebar */
.group-avatar-wrap {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 3px 6px;
  background: color-mix(in srgb, var(--sanctra-sage) 12%, var(--sanctra-ink));
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 35%, transparent);
}
.group-avatar-wrap.size-sm {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  margin: 1px 4px;
}
.group-avatar-wrap .group-avatar {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  display: block;
  border: none;
}
.group-avatar-wrap .group-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--sanctra-ink);
  background: var(--sanctra-sage);
}
.group-avatar-wrap.size-sm .group-initial {
  font-size: 11px;
}

.sidebar-avatar-wrap {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 2px 4px 2px 2px;
}
.sidebar-avatar-wrap.compact {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  margin: 0;
}
.sidebar-avatar-wrap img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  display: block;
}

/* Quiet identity materials retain the surrounding theme's glass. */
.profile-scene-cloister {
 background: radial-gradient(ellipse at 95% 0%,#dfc39524,transparent 60%), repeating-linear-gradient(115deg,#e7d3ae07 0 1px,transparent 1px 28px),color-mix(in srgb,var(--sanctra-surface) 38%,transparent) !important;
}
.profile-scene-observatory {
 background: radial-gradient(circle at 84% 24%,#dad9ef54 0 1px,transparent 2px),radial-gradient(circle at 72% 58%,#dad9ef45 0 1px,transparent 2px),radial-gradient(ellipse at 100% 0%,#8c9cc52b,transparent 65%),color-mix(in srgb,var(--sanctra-surface) 38%,transparent) !important;
}
.profile-scene-pavilion {
 background: repeating-radial-gradient(ellipse at 110% 120%,transparent 0 28px,#b0d5c30a 29px 30px,transparent 31px 58px),radial-gradient(ellipse at 100% 0%,#85b8a827,transparent 60%),color-mix(in srgb,var(--sanctra-surface) 38%,transparent) !important;
}
@media(prefers-reduced-motion:reduce){
  .avatar-effect-celestial,
  .avatar-effect-aurora,
  .avatar-effect-lotus,
  .avatar-effect-quill,
  .avatar-frame-golden-thread,
  .avatar-frame-emerald-halo,
  .avatar-frame-celestial-dots,
  .avatar-frame-obsidian-glass,
  .profile-scene-cloister,
  .profile-scene-observatory,
  .profile-scene-pavilion {
    animation: none !important;
  }
}

/* Profile Live Preview Component */
.profile-live-preview-box {
  margin: 18px 0 24px;
  border: 1px solid var(--sanctra-glass-border);
  border-radius: 24px;
  padding: 20px;
  background: color-mix(in srgb, var(--sanctra-surface) 35%, transparent);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
.profile-live-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.profile-live-preview-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid var(--sanctra-glass-border);
  background: var(--sanctra-glass-bg);
  isolation: isolate;
  transition: all 0.5s ease;
}
.preview-identity {
  display: flex;
  align-items: center;
  gap: 22px;
  position: relative;
  z-index: 1;
}
.profile-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  position: relative;
  z-index: 1;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.preview-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 11px;
  color: var(--sanctra-paper);
}
.preview-tag strong {
  color: var(--sanctra-muted);
  font-weight: 500;
}
.profile-option-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--sanctra-glass-border);
  background: color-mix(in srgb, var(--sanctra-surface) 65%, transparent);
  color: var(--sanctra-paper);
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
.profile-option-pill:hover {
  border-color: var(--sanctra-sage);
  background: color-mix(in srgb, var(--sanctra-surface) 85%, transparent);
  transform: translateY(-1px);
}
.profile-option-pill[aria-pressed=true] {
  background: color-mix(in srgb, var(--sanctra-sage) 22%, var(--sanctra-surface)) !important;
  border-color: var(--sanctra-sage) !important;
  color: #fff !important;
  box-shadow: 0 0 16px color-mix(in srgb, var(--sanctra-sage) 35%, transparent), inset 0 1px rgba(255, 255, 255, 0.2) !important;
}

.vip-profile-cover {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;pointer-events:none;}
.profile-identity {position:relative;z-index:1;}
.profile-avatar video,.vip-avatar-preview {width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.vip-avatar-preview {width:80px;height:80px;border-radius:50%;}
.vip-motion-wallpaper {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vip-motion-settings {display:grid;gap:12px;padding:20px;border:1px solid color-mix(in srgb,var(--sanctra-sage) 25%,transparent);border-radius:18px;}
.vip-atmosphere-flow {position:absolute;inset:0;overflow:hidden;opacity:.42;}
.vip-atmosphere-flow i {position:absolute;width:65%;height:70%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--sanctra-sage) 65%,transparent),transparent 65%);filter:blur(55px);animation:vip-flow 22s ease-in-out infinite alternate;}
.vip-atmosphere-flow i:nth-child(2){right:-20%;top:30%;animation-delay:-12s;animation-duration:29s;}
.vip-atmosphere-flow i:nth-child(3){left:30%;bottom:-30%;animation-delay:-6s;animation-duration:35s;}
@keyframes vip-flow {from {transform:translate(-15%,-10%) rotate(-25deg);border-radius:40% 60% 60% 40%;}to {transform:translate(20%,20%) rotate(45deg);border-radius:60% 40% 40% 60%;}}
@media(prefers-reduced-motion:reduce){.vip-atmosphere-flow{display:none;}}

.profile-account {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.profile-account-info {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.profile-account-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--sanctra-sage) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 22%, transparent);
  color: var(--sanctra-sage);
  flex-shrink: 0;
}
.profile-account strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--sanctra-paper);
}
.profile-account p {
  font-size: 13px;
  color: var(--sanctra-muted);
  margin: 3px 0 0;
  line-height: 1.5;
}
.support-topics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.support-topics>button {display:flex;align-items:center;gap:20px;text-align:left;cursor:pointer;margin:0;}
.support-topics svg {color:var(--sanctra-sage);flex-shrink:0;}
.support-topics h3 {margin-bottom:8px;font-weight:500;font-size:16px;}
.support-topics p {font-size:13px;color:var(--sanctra-muted);line-height:1.6;}
.ticket-list>button {display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:22px 0;border-bottom:1px solid #ffffff18;text-align:left;cursor:pointer;}
.ticket-list strong {display:block;font-size:16px;margin:8px 0;overflow-wrap:anywhere;}
.ticket-list p,.ticket-list small {font-size:12px;color:var(--sanctra-muted);}
.ticket-messages {max-height:500px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:18px 0;}
.ticket-message {border-radius:18px;padding:18px;background:#ffffff06;border:1px solid #ffffff15;max-width:92%;width:fit-content;}
.ticket-message.from-member {align-self:flex-end;background:color-mix(in srgb,var(--sanctra-sage) 9%,var(--sanctra-ink));}
.ticket-message.from-team {border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent);}
.ticket-message header {display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.ticket-message small {font-size:11px;color:var(--sanctra-muted);}
.ticket-message p {white-space:pre-wrap;margin-top:12px;line-height:1.75;font-size:14px;}
.admin-tabs {margin:12px 0 30px;}
.admin-group-row {display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #ffffff18;width:100%;cursor:pointer;text-align:left;}
.admin-group-row>div {flex:1;min-width:0;}
.admin-group-row strong,.admin-group-row small {display:block;overflow-wrap:anywhere;}
.admin-group-row small {margin-top:8px;color:var(--sanctra-muted);}
.admin-group-row svg {color:var(--sanctra-sage);flex-shrink:0;}
.admin-group-row>span {font-size:12px;color:var(--sanctra-sage);}
.admin-group-chat {max-height:650px;overflow:auto;}
.admin-group-chat article {padding:20px 0;border-bottom:1px solid #ffffff18;}
.admin-group-chat small {display:block;margin-top:6px;color:var(--sanctra-muted);}
.admin-group-chat p {white-space:pre-wrap;font-size:14px;line-height:1.7;margin:12px 0;}
.admin-announcement-row {display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #ffffff18;padding:20px 0;flex-wrap:wrap;}
.admin-announcement-row p {font-size:12px;color:var(--sanctra-muted);margin-top:8px;}
.editor-toolbar {display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;}
.editor-toolbar button {font-size:12px;padding:8px 12px;}
.announcement-editor {align-items:start;}
.announcement-story h2 {font-family:Georgia,serif;font-size:clamp(26px,3vw,38px);line-height:1.2;margin:12px 0 24px;font-weight:400;}
.announcement-cover {width:100%;height:210px;object-fit:cover;border-radius:16px;margin-bottom:24px;}
.announcement-content {max-width:720px;}
.sanctra-prose {font-size:15px;line-height:1.9;color:var(--sanctra-paper);overflow-wrap:anywhere;}
.sanctra-prose p {margin:0 0 18px;}
.sanctra-prose h3 {font-size:20px;font-weight:500;line-height:1.5;margin:30px 0 14px;color:var(--sanctra-sage);}
.sanctra-prose ul {list-style:disc;padding-left:24px;margin-bottom:24px;}
.sanctra-prose li {padding-left:6px;margin:9px 0;}
.sanctra-prose blockquote {padding:18px 22px;border-left:2px solid var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 7%,transparent);border-radius:0 12px 12px 0;margin:24px 0;}
.sanctra-prose strong {font-weight:650;color:var(--sanctra-paper);}
.sanctra-prose a {color:var(--sanctra-sage);text-decoration:underline;text-underline-offset:4px;}
.ranking-summary {display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;}
.ranking-row {display:flex;gap:18px;align-items:center;padding:20px 14px;border-bottom:1px solid #ffffff16;border-radius:14px;}
.ranking-row.is-self {background:color-mix(in srgb,var(--sanctra-sage) 9%,transparent);}
.ranking-place {font-size:20px;font-family:Georgia,serif;color:var(--sanctra-sage);min-width:42px;}
.ranking-person {flex:1;min-width:0;}
.ranking-person strong {overflow-wrap:anywhere;}
.ranking-person p,.ranking-person small {font-size:12px;color:var(--sanctra-muted);line-height:1.6;}
.ranking-score {text-align:right;}
.ranking-score strong {font-size:20px;font-weight:500;}
.ranking-score small {display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:8px;font-size:11px;color:var(--sanctra-muted);}
.focus-welcome {margin:0 0 12px;font-size:11px;max-width:100%;}
.sanctra-app .inbox-view .analytics-card:hover {background:color-mix(in srgb,var(--sanctra-ink) 94%,var(--sanctra-sage))!important;}
.sanctra-app .glass-modal [class*="border-emerald-"] {border-color:color-mix(in srgb,var(--sanctra-sage) 27%,transparent)!important;}
.sanctra-app .glass-modal [class*="from-emerald-"] {background:color-mix(in srgb,var(--sanctra-sage) 7%,var(--sanctra-ink))!important;}
.sanctra-app .glass-modal :is(.text-emerald-300,.text-emerald-400,.text-emerald-200) {color:var(--sanctra-sage)!important;}
@media(max-width:700px){.workspace-grid,.support-topics {grid-template-columns:1fr;gap:16px;}.workspace-panel {padding:20px;border-radius:20px;}.profile-hero {padding:24px;}.profile-identity {gap:16px;align-items:flex-start;}.profile-avatar {width:70px;height:70px;border-radius:22px;}.profile-identity h2 {font-size:28px;}.profile-stats {grid-template-columns:repeat(2,1fr);}.profile-stats>div {padding:14px;}.workspace-heading {gap:14px;}.vip-preview {gap:14px;}.vip-prices {gap:14px;}.ranking-row {gap:10px;padding:18px 0;}.ranking-score strong {font-size:16px;}.ranking-person p {font-size:11px;}.ranking-score {max-width:100px;}.intent-grid {grid-template-columns:1fr;}.admin-group-row {flex-wrap:wrap;}.ticket-message {max-width:100%;}.announcement-cover {height:160px;}.profile-account .workspace-actions {width:100%;}.workspace-tabs button {padding:10px 12px;font-size:12px;}}
.focus-welcome-modal {width:min(620px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;margin:0;}
@media(max-width:700px){.focus-welcome-modal .intent-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.focus-welcome-modal .intent-grid button {padding:14px;gap:8px;}.focus-welcome-modal .intent-grid small {font-size:11px;}.focus-welcome-modal .intent-grid strong {font-size:13px;}}
.workspace-heading h2 {font-family:Georgia,serif;font-weight:400;font-size:26px;line-height:1.35;margin:6px 0 12px;}
.ranking-scope {margin-bottom:20px;}
.ranking-podium {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.ranking-podium article {display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px;}
.ranking-podium article:first-child {border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--sanctra-sage) 12%,transparent),transparent),var(--sanctra-ink);}
.ranking-podium svg {color:var(--sanctra-sage);}
.ranking-podium strong {overflow-wrap:anywhere;font-size:15px;}
.ranking-podium p {font-size:22px;color:var(--sanctra-paper);}
.ranking-podium small {font-size:11px;color:var(--sanctra-muted);}
@media(max-width:700px){.ranking-podium {gap:8px;}.ranking-podium article {padding:16px 8px;gap:10px;}.ranking-podium strong {font-size:12px;}.ranking-podium p {font-size:16px;}.ranking-podium small {font-size:10px;}}
.auth-brand-mark {
  width: 21px;
  height: 21px;
  background: var(--sanctra-sage);
  -webkit-mask: url('/logo.png') center / contain no-repeat;
  mask: url('/logo.png') center / contain no-repeat;
}

/* Unified Frosted Glass across all UI boxes, cards, panels, and companion screens */
.sanctra-app :is(
  .glass-card,
  .glass-panel,
  .glass-specular,
  .analytics-card,
  .workspace-panel,
  .current-task-bar,
  .guest-notice,
  .inbox-notice-card,
  .ranking-summary,
  .group-chat,
  .group-chat-panel,
  .group-settings-sheet,
  .profile-hero,
  .announcement-story
) {
  background: var(--sanctra-glass-bg) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
}

.sanctra-app :is(
  .glass-card,
  .glass-specular,
  .analytics-card,
  .ranking-summary
):hover {
  background: var(--sanctra-glass-bg-hover) !important;
  border-color: var(--sanctra-glass-border-hover) !important;
  box-shadow: var(--sanctra-glass-shadow-hover) !important;
}

.sanctra-app .timer-metrics > * {
  background: var(--sanctra-glass-bg) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
  border-radius: 20px;
  transition: transform 240ms var(--motion-ease), border-color 240ms, background 240ms, box-shadow 240ms;
}

.sanctra-app .timer-metrics > *:hover {
  background: var(--sanctra-glass-bg-hover) !important;
  border-color: var(--sanctra-glass-border-hover) !important;
  box-shadow: var(--sanctra-glass-shadow-hover) !important;
  transform: translateY(-2px);
}

.sanctra-app .timer-metrics > * > div:first-child {
  background: color-mix(in srgb, var(--sanctra-sage) 12%, rgba(255, 255, 255, 0.08)) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 26%, rgba(255, 255, 255, 0.20)) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
}

.sanctra-app .timer-quote > div {
  background: var(--sanctra-glass-bg) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
}

.sanctra-app .ranking-podium article {
  background: var(--sanctra-glass-bg) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  box-shadow: var(--sanctra-glass-shadow) !important;
  border-radius: 20px;
}

.sanctra-app :is(.group-member-row, .profile-stats > div, .profile-group) {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%),
              color-mix(in srgb, var(--sanctra-surface) 28%, color-mix(in srgb, var(--sanctra-ink) 46%, transparent)) !important;
  -webkit-backdrop-filter: var(--sanctra-glass-blur) !important; backdrop-filter: var(--sanctra-glass-blur) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.16) !important;
}

.sanctra-app .group-modal {
  background: color-mix(in srgb, var(--sanctra-ink) 65%, #000a) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(110%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(110%) !important;
}

.sanctra-app .group-message {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 100%),
              color-mix(in srgb, var(--sanctra-surface) 32%, color-mix(in srgb, var(--sanctra-ink) 50%, transparent)) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(140%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(140%) !important;
  border: 1px solid var(--sanctra-glass-border) !important;
}

.sanctra-app .group-message.mine {
  background: color-mix(in srgb, var(--sanctra-sage) 14%, color-mix(in srgb, var(--sanctra-ink) 45%, transparent)) !important;
}
.inbox-message-preview {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.65;max-height:3.3em;}
.inbox-notice-card {overflow:hidden;}
.planner-date-control {width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border:1px solid var(--sanctra-glass-border);border-radius:18px;background:var(--sanctra-glass-bg);-webkit-backdrop-filter:var(--sanctra-glass-blur); backdrop-filter:var(--sanctra-glass-blur);box-shadow:var(--sanctra-glass-shadow);color:var(--sanctra-paper);}
.planner-date-control .planner-date-label {display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--sanctra-paper);letter-spacing:.01em;}
.planner-date-control .sanctra-date {display:inline-flex;align-items:center;}
.planner-date-control .analytics-button {min-height:38px;padding:0 16px;font-size:13px;width:auto;}
.planner-date-control .sanctra-calendar {right:0!important;left:auto!important;}
@media(max-width:480px){.planner-date-control{padding:6px 12px;}.planner-date-control .planner-date-label{font-size:12px;gap:6px;}.planner-date-control .analytics-button{min-height:36px;padding:0 12px;font-size:12px;}}

/* Sanctra Glassy Auth Modal */
.auth-overlay {
  background: color-mix(in srgb, var(--sanctra-ink, #0c1816) 65%, #000a) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important;
}

.auth-overlay[data-theme="sage"], .auth-modal[data-theme="sage"] {
  --sanctra-ink: #111c19;
  --sanctra-surface: #23382d;
  --sanctra-sage: #ceddbf;
  --sanctra-muted: #b6c4b9;
}
.auth-overlay[data-theme="sand"], .auth-modal[data-theme="sand"] {
  --sanctra-ink: #211b18;
  --sanctra-surface: #493b30;
  --sanctra-sage: #e5cbae;
  --sanctra-muted: #cbbcaf;
}
.auth-overlay[data-theme="blue"], .auth-modal[data-theme="blue"] {
  --sanctra-ink: #131b28;
  --sanctra-surface: #293e55;
  --sanctra-sage: #b7d0e8;
  --sanctra-muted: #b6c2d2;
}
.auth-overlay[data-theme="lavender"], .auth-modal[data-theme="lavender"] {
  --sanctra-ink: #201b2b;
  --sanctra-surface: #42364e;
  --sanctra-sage: #d3c3e6;
  --sanctra-muted: #c4b9cf;
}
.auth-overlay[data-theme="rose"], .auth-modal[data-theme="rose"] {
  --sanctra-ink: #251a1e;
  --sanctra-surface: #50353e;
  --sanctra-sage: #e5bdc7;
  --sanctra-muted: #ceb9c0;
}
.auth-overlay[data-theme="charcoal"], .auth-modal[data-theme="charcoal"] {
  --sanctra-ink: #191a1e;
  --sanctra-surface: #383a42;
  --sanctra-sage: #d3d5df;
  --sanctra-muted: #bdbfc8;
}

.auth-modal {
  width: min(100%, 460px) !important;
  max-width: 460px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(ellipse 90% 60% at 50% -10%, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 20%, transparent), transparent 70%),
    radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 10%, transparent), transparent 60%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 100%),
    color-mix(in srgb, var(--sanctra-surface, #14221f) 68%, color-mix(in srgb, var(--sanctra-ink, #0c1816) 82%, transparent)) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(190%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(190%) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 28%, rgba(255, 255, 255, 0.2)) !important;
  box-shadow:
    0 36px 90px -10px rgba(0, 0, 0, 0.75),
    0 12px 36px -5px rgba(0, 0, 0, 0.5),
    inset 0 1px 1.5px rgba(255, 255, 255, 0.35),
    inset 0 -1px 1px rgba(0, 0, 0, 0.3) !important;
  color: var(--sanctra-paper, #f3f1e7) !important;
  position: relative;
  overflow: hidden;
}

.auth-modal::before {
  content: '';
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 60%, rgba(255, 255, 255, 0.5)), transparent);
  pointer-events: none;
}

.auth-modal #modal-auth-title {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: var(--sanctra-paper, #f3f1e7) !important;
  line-height: 1.25 !important;
}

.auth-modal .auth-badge-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 26%, transparent), color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 8%, transparent)), rgba(255, 255, 255, 0.05) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 36%, rgba(255, 255, 255, 0.25)) !important;
  box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.35), 0 4px 14px rgba(0, 0, 0, 0.25) !important;
  color: var(--sanctra-sage, #c6d7b6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.auth-modal .auth-close-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--sanctra-muted, #a7b6ad);
  cursor: pointer;
  transition: all 0.2s ease;
}
.auth-modal .auth-close-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: var(--sanctra-paper, #f3f1e7);
  transform: scale(1.05);
}

/* Luminous pearl-glass Google button */
.auth-modal .google-auth-action {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96) 0%, rgba(240, 246, 245, 0.88) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  color: #121d1a !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  box-shadow: 
    0 4px 20px rgba(0, 0, 0, 0.22),
    inset 0 1px 1.5px #ffffff,
    inset 0 -1px 1px rgba(0, 0, 0, 0.08) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}
.auth-modal .google-auth-action:hover {
  background: linear-gradient(145deg, #ffffff 0%, rgba(246, 250, 249, 0.95) 100%) !important;
  border-color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 
    0 8px 28px rgba(0, 0, 0, 0.3),
    0 0 24px color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 24%, transparent),
    inset 0 1px 2px #ffffff !important;
}
.auth-modal .google-auth-action:active {
  transform: translateY(0) scale(0.99) !important;
}

/* Glass Email option button */
.auth-modal .email-toggle-btn {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 20%, rgba(255, 255, 255, 0.16)) !important;
  color: var(--sanctra-paper, #f3f1e7) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.15), 0 4px 14px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}
.auth-modal .email-toggle-btn:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%) !important;
  border-color: color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 38%, rgba(255, 255, 255, 0.28)) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.25), 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}
.auth-modal .email-toggle-btn:active {
  transform: translateY(0) scale(0.99) !important;
}

/* Glass Guest action button */
.auth-modal .guest-action-btn {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 12%, rgba(255, 255, 255, 0.06)), rgba(255, 255, 255, 0.02)) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 28%, rgba(255, 255, 255, 0.15)) !important;
  color: var(--sanctra-paper, #f3f1e7) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.14), 0 4px 14px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}
.auth-modal .guest-action-btn:hover {
  background: linear-gradient(135deg, color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 20%, rgba(255, 255, 255, 0.1)), rgba(255, 255, 255, 0.05)) !important;
  border-color: color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 46%, rgba(255, 255, 255, 0.28)) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.25), 0 8px 24px rgba(0, 0, 0, 0.28) !important;
}
.auth-modal .guest-action-btn:active {
  transform: translateY(0) scale(0.99) !important;
}

/* Glass Inputs & Submit Button */
.auth-modal .auth-input {
  width: 100% !important;
  height: 46px !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--sanctra-ink, #0c1816) 75%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 24%, rgba(255, 255, 255, 0.15)) !important;
  color: var(--sanctra-paper, #f3f1e7) !important;
  font-size: 13px !important;
  padding: 0 14px 0 38px !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.2s ease !important;
}
.auth-modal .auth-input:focus {
  outline: none !important;
  border-color: var(--sanctra-sage, #c6d7b6) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 24%, transparent), inset 0 1px 2px rgba(0, 0, 0, 0.35) !important;
}
.auth-modal .auth-submit-btn {
  width: 100% !important;
  height: 48px !important;
  border-radius: 14px !important;
  background: var(--sanctra-sage, #c6d7b6) !important;
  color: var(--sanctra-ink, #0c1816) !important;
  font-weight: 650 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 18px color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 35%, transparent), inset 0 1px 1.5px rgba(255, 255, 255, 0.4) !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.auth-modal .auth-submit-btn:hover {
  filter: brightness(1.06) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--sanctra-sage, #c6d7b6) 45%, transparent) !important;
}

.auth-modal .auth-footnote {
  font-size: 12px !important;
  text-align: center !important;
  color: var(--sanctra-muted, #a7b6ad) !important;
  line-height: 1.6 !important;
  margin-top: 10px !important;
}


.confirmation-overlay,.whats-new-overlay {position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--sanctra-ink) 76%,#0009);-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)); backdrop-filter:blur(var(--sanctra-panel-blur,12px));}
.signout-confirm-modal,.whats-new-modal {width:min(100%,520px);border:1px solid #ffffff30;border-radius:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--sanctra-surface) 93%,#fff4),color-mix(in srgb,var(--sanctra-ink) 98%,#fff1));box-shadow:0 35px 100px #000b,inset 0 1px #ffffff24;color:var(--sanctra-paper);}
.signout-confirm-modal {padding:28px;}
.signout-confirm-modal h2 {font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0 12px;}
.signout-confirm-modal>p:not(.workspace-eyebrow) {color:var(--sanctra-muted);line-height:1.7;}
.signout-confirm-modal>div {display:flex;justify-content:flex-end;gap:10px;margin-top:24px;}
.signout-action {background:#ef9a9a!important;color:#241517!important;}
.whats-new-modal {width:min(100%,760px);max-height:min(86dvh,850px);display:flex;flex-direction:column;overflow:hidden;}
.whats-new-modal>header {display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 26px 18px;border-bottom:1px solid #ffffff18;}
.whats-new-modal>header h1 {font-family:Georgia,serif;font-size:clamp(25px,4vw,35px);font-weight:400;margin-top:7px;}
.whats-new-modal>header button {padding:10px;border-radius:999px;background:#ffffff0b;color:var(--sanctra-muted);}
.whats-new-scroll {padding:4px 26px 10px;overflow:auto;}
.whats-new-modal .announcement-story {padding-top:18px;}
.whats-new-modal .announcement-story .announcement-content>h2 {display:none;}
.whats-new-modal>footer {display:flex;justify-content:flex-end;padding:16px 26px 22px;border-top:1px solid #ffffff18;}

.sanctra-landing .abstract-folds::before,.abstract-motion-on .abstract-folds::before,.sanctra-landing .abstract-folds::after,.abstract-motion-on .abstract-folds::after {inset:-8%;mix-blend-mode:screen;filter:blur(32px);will-change:background-position,opacity;}
.sanctra-landing .abstract-folds::before,.abstract-motion-on .abstract-folds::before {background:radial-gradient(ellipse at 15% 35%,color-mix(in srgb,var(--sanctra-sage) 82%,white) 0%,transparent 34%),radial-gradient(ellipse at 82% 68%,#fff8 0%,transparent 38%),radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--sanctra-surface) 65%,transparent) 0%,transparent 48%);background-size:145% 130%,155% 145%,180% 160%;animation:sanctra-visible-current 11s ease-in-out infinite alternate!important;}
.sanctra-landing .abstract-folds::after,.abstract-motion-on .abstract-folds::after {background:radial-gradient(ellipse at 72% 18%,#fff9 0%,transparent 31%),radial-gradient(ellipse at 20% 78%,color-mix(in srgb,var(--sanctra-sage) 68%,white) 0%,transparent 36%),radial-gradient(ellipse at 58% 72%,#0008 0%,transparent 42%);background-size:160% 145%,150% 160%,175% 145%;animation:sanctra-visible-current 15s ease-in-out infinite alternate-reverse!important;}
@keyframes sanctra-visible-current {0%{background-position:0% 12%,90% 100%,20% 40%;opacity:.34}35%{background-position:58% 0%,38% 62%,75% 20%;opacity:.82}70%{background-position:100% 68%,0% 24%,45% 100%;opacity:.48}100%{background-position:24% 100%,100% 12%,0% 55%;opacity:.9}}
@media(prefers-reduced-motion:reduce){.sanctra-landing .abstract-folds::before,.abstract-motion-on .abstract-folds::before,.sanctra-landing .abstract-folds::after,.abstract-motion-on .abstract-folds::after{animation:none!important;opacity:.45!important}}
@media(max-width:1023px){
  html,body,.app-scroll-stage,.group-chat-feed,.whats-new-scroll{scrollbar-width:none;}
  html::-webkit-scrollbar,body::-webkit-scrollbar,.app-scroll-stage::-webkit-scrollbar,.group-chat-feed::-webkit-scrollbar,.whats-new-scroll::-webkit-scrollbar{display:none;width:0;height:0;}
}

/* Calm, theme-aware timer confirmation. */
.sanctra-app .reset-confirm-modal {padding:32px;max-width:440px;color:var(--sanctra-paper);}
.reset-confirm-modal h2 {font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:28px;}
.reset-confirm-modal p {font-size:14px;line-height:1.7;color:var(--sanctra-muted);}
.reset-confirm-icon {display:grid;place-items:center;width:48px;height:48px;margin:0 auto 20px;border-radius:16px;color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);border:1px solid color-mix(in srgb,var(--sanctra-sage) 24%,transparent);}
.reset-confirm-primary {flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;background:var(--sanctra-sage);color:var(--sanctra-ink);font-size:14px;font-weight:600;cursor:pointer;}
.reset-confirm-modal .glass-pill {min-height:44px;font-size:14px;}
/* Calm, theme-aware device takeover modal. */
.sanctra-app .takeover-modal {padding:32px;max-width:440px;color:var(--sanctra-paper);}
.takeover-modal h2 {font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:26px;line-height:1.25;letter-spacing:-0.02em;}
.takeover-modal p {font-size:14px;line-height:1.65;color:var(--sanctra-muted);}
.takeover-icon {display:grid;place-items:center;width:48px;height:48px;margin:0 auto 20px;border-radius:16px;color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);border:1px solid color-mix(in srgb,var(--sanctra-sage) 24%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--sanctra-sage) 14%,transparent);}
.takeover-session-card {margin:20px 0 24px;padding:14px 18px;border-radius:18px;background:color-mix(in srgb,var(--sanctra-ink) 50%,#ffffff08);border:1px solid color-mix(in srgb,var(--sanctra-sage) 18%,#ffffff14);box-shadow:inset 0 1px 1px rgba(255,255,255,0.05);text-align:left;}
.takeover-session-card .card-row {display:flex;align-items:center;justify-content:space-between;font-size:13px;}
.takeover-session-card .card-label {color:var(--sanctra-muted);}
.takeover-session-card .card-value {color:var(--sanctra-paper);font-weight:500;}
.takeover-session-card .card-elapsed {color:var(--sanctra-sage);font-weight:600;font-family:Inter,system-ui,monospace;font-variant-numeric:tabular-nums;}
.takeover-primary {flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;background:var(--sanctra-sage);color:var(--sanctra-ink);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background 200ms var(--motion-ease),transform 150ms var(--motion-ease),box-shadow 200ms;box-shadow:0 4px 16px color-mix(in srgb,var(--sanctra-sage) 25%,transparent);}
.takeover-primary:hover:not(:disabled) {background:color-mix(in srgb,var(--sanctra-sage) 88%,white);transform:translateY(-1px);box-shadow:0 6px 20px color-mix(in srgb,var(--sanctra-sage) 35%,transparent);}
.takeover-primary:active:not(:disabled) {transform:scale(0.98);}
.takeover-primary:disabled {opacity:0.6;cursor:not-allowed;}
.takeover-modal .glass-pill {min-height:44px;font-size:14px;}
/* Shared activity spaces, using the same visual vocabulary as the focus room. */
.space-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.space-card-top {display:flex;align-items:center;gap:12px;color:var(--sanctra-sage);}
.space-active {margin-left:auto;font-size:12px;border-radius:20px;padding:4px 10px;background:color-mix(in srgb,var(--sanctra-sage) 15%,transparent);}
.space-card-stats {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.space-card-stats div {display:flex;flex-direction:column;gap:6px;}
.space-card-stats strong {font-size:22px;font-weight:500;}
.space-card-stats span,.space-card>p {font-size:13px;color:var(--sanctra-muted);}
.space-editor {margin-bottom:24px;}
.space-editor label {display:block;font-size:14px;margin-bottom:16px;}
.space-editor legend {margin-bottom:12px;font-size:14px;}
.space-insight-scope {width:100%;max-width:1040px;display:flex;gap:10px;align-items:center;font-size:14px;margin-bottom:16px;}
@media(max-width:640px){.space-card-grid{grid-template-columns:1fr;}.space-card-stats strong{font-size:20px;}}
/* October UI audit: common rhythm, legibility and controls. */
:root {--font-display:"Playfair Display";--ui-xs:12px;--ui-sm:14px;--ui-base:16px;--ui-lg:20px;--ui-heading:28px;--ui-title:40px;--ui-radius:18px;--ui-gap:16px;color-scheme:dark;}
html,body {background:var(--sanctra-boot-ink,#131b28);min-height:100%;}
#root {background:transparent;min-height:100%;}
.sanctra-app {
  isolation: isolate;
  --sanctra-glass-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.015) 100%), color-mix(in srgb, var(--sanctra-surface) 12%, color-mix(in srgb,var(--sanctra-ink) 32%,transparent));
  --sanctra-glass-bg-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.025) 100%), color-mix(in srgb, var(--sanctra-surface) 16%, color-mix(in srgb,var(--sanctra-ink) 38%,transparent));
  --sanctra-glass-border: color-mix(in srgb, var(--sanctra-sage) 20%, rgba(255, 255, 255, 0.18));
  --sanctra-glass-border-hover: color-mix(in srgb, var(--sanctra-sage) 36%, rgba(255, 255, 255, 0.30));
  --sanctra-glass-shadow-hover: inset 0 1px 2px rgba(255, 255, 255, 0.32), 0 16px 44px -4px rgba(0, 0, 0, 0.42), 0 0 20px color-mix(in srgb, var(--sanctra-sage) 18%, transparent);
}
.sanctra-app *::selection {
  background: color-mix(in srgb, var(--sanctra-sage) 35%, transparent);
}
.sanctra-landing .step-number {color:var(--sanctra-sage);opacity:.85;}
.sanctra-landing :is(p,small) {color:var(--sanctra-paper);opacity:.88;}
.sanctra-app :is(.workspace-panel h2,.workspace-heading h1,.workspace-heading h2,.glass-modal h2,.announcement-story h2,.whats-new-modal>header h1) {font-family:"Playfair Display",Georgia,serif;font-weight:400;}
.sanctra-app :is(.glass-modal, .signout-confirm-modal, .whats-new-modal) {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.02) 100%),
              color-mix(in srgb, var(--sanctra-surface) 24%, color-mix(in srgb, var(--sanctra-ink) 48%, transparent)) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) saturate(170%) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 26%, rgba(255, 255, 255, 0.22)) !important;
  box-shadow: 0 32px 80px -10px rgba(0, 0, 0, 0.7), inset 0 1px 1.5px rgba(255, 255, 255, 0.3) !important;
}
.sanctra-app :is(.workspace-page,.planner-view,.analytics-view,.inbox-view,.guest-notice,.timer-metrics,.timer-quote) {width:100%;max-width:1040px;margin-inline:auto;}
.sanctra-app :is(.workspace-page,.planner-view,.analytics-view,.inbox-view) {padding:0;margin-top:8px;}
.sanctra-app :is(.workspace-heading,.planner-view>header,.analytics-view>header,.inbox-view>header) {margin-bottom:24px;}
.sanctra-app .guest-notice {margin-bottom:16px;align-items:center;color:var(--sanctra-paper);}
.sanctra-app .guest-notice>div {overflow:visible;}
.sanctra-app .guest-notice .truncate {white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5;}
.sanctra-app .guest-notice .bg-amber-400 {background:var(--sanctra-sage);}
.sanctra-app .app-sidebar nav button {min-height:44px;box-sizing:border-box;border:1px solid transparent;}
.sanctra-app :is(.workspace-primary,.analytics-button,.analytics-icon) {min-height:44px;border-radius:999px;font-size:14px;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
/* Compact controls are explicitly opted into by inline admin tools. */
.sanctra-app :is(.workspace-primary,.analytics-button,.analytics-icon,.inbox-input).compact-control {min-height:32px!important;height:32px!important;font-size:12px!important;border-radius:10px!important;padding-block:0!important;margin-top:0!important;}
.sanctra-app .compact-field {display:inline-flex;align-items:center;gap:8px;margin:0;}
.sanctra-app textarea.inbox-input {min-height:100px;resize:vertical;}
.sanctra-app button:focus-visible,.sanctra-app input:focus-visible,.sanctra-app select:focus-visible {outline:2px solid var(--sanctra-sage);outline-offset:3px;}
.sanctra-app .settings-modal {height:min(720px,90dvh);}
.settings-modal #settings-title {font-size:28px;}
.settings-modal button[class*="text-xs"] {font-size:13px;min-height:44px;}
.sanctra-app :is(.analytics-view,.planner-view,.settings-modal,.timer-metrics,.inbox-view,.sanctra-prose) :is([class*="text-[10px]"],[class*="text-[11px]"],[class*="text-[9px]"]) {font-size:12px;}
.sanctra-app .timer-metrics {padding:0;gap:12px;margin-block:12px;align-items:stretch;}
.sanctra-app .timer-metrics>* {display:grid;grid-template-rows:32px 18px 26px 18px;justify-items:center;align-content:center;gap:6px;padding:14px;}
.sanctra-app .timer-metrics>*>div:first-child {margin:0;display:grid;place-items:center;width:32px;height:32px;color:var(--sanctra-sage);}
.sanctra-app .timer-metrics>*>div:first-child svg {color:var(--sanctra-sage)!important;}
.sanctra-app .timer-metrics>*>span {font-size:12px;letter-spacing:.08em;margin:0;align-self:center;}
.sanctra-app .timer-metrics>*>div:nth-child(3) {font-size:20px;font-weight:600;color:var(--sanctra-paper);line-height:26px;}
.sanctra-app .timer-metrics>*>div:nth-child(3) .text-xs {font-size:13px;}
.sanctra-app .timer-metrics .bg-emerald-400 {display:none;}
.sanctra-app .timer-quote {margin-block:8px;}
.sanctra-app .timer-quote p {white-space:normal;overflow:visible;text-overflow:clip;font-size:14px;line-height:1.5;}
.sanctra-app .timer-actions button {text-transform:none;letter-spacing:0;min-height:44px;font-size:14px;}
.sanctra-app .timer-content {justify-content:flex-start;gap:0;overflow-y:auto;}
.sanctra-app .timer-dial {margin-top:clamp(12px,2vh,24px);}
.sanctra-app.timer-only .timer-content {justify-content:center;}
.sanctra-app :is(select,input[type=date],input[type=time]) {color-scheme:dark;background:var(--sanctra-ink);color:var(--sanctra-paper);border-radius:18px;border:1px solid color-mix(in srgb,var(--sanctra-sage) 22%,transparent);padding:10px;min-height:44px;font-size:14px;}
.analytics-empty-note {padding:18px;border:1px dashed color-mix(in srgb,var(--sanctra-sage) 25%,transparent);border-radius:16px;color:var(--sanctra-muted);font-size:14px;line-height:1.6;}
.sanctra-app .inbox-summary>button {display:grid;grid-template-columns:20px 1fr;grid-template-rows:minmax(36px,auto) 28px;gap:8px;align-items:center;}
.inbox-summary>button>span:first-of-type {font-size:12px;overflow-wrap:anywhere;}
.inbox-summary>button>span:last-child {grid-column:2;font-size:22px;}
.announcement-cover {aspect-ratio:2/1;object-fit:cover;height:auto;max-height:240px;background:var(--sanctra-surface);}
.whats-new-modal .announcement-cover {display:none;}
.sanctra-select,.sanctra-date {position:relative;}
.sanctra-select-options,.sanctra-calendar {position:absolute;z-index:45;top:calc(100% + 8px);right:0;background:var(--sanctra-ink);color:var(--sanctra-paper);border:1px solid color-mix(in srgb,var(--sanctra-sage) 30%,transparent);border-radius:18px;padding:12px;box-shadow:0 16px 44px #0006;}
.sanctra-select-options {min-width:220px;max-width:min(320px,80vw);max-height:300px;overflow-y:auto;}
.sanctra-select-options button {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:12px;border-radius:12px;font-size:14px;}
.sanctra-select-options button:hover,.sanctra-calendar-grid button:hover {background:color-mix(in srgb,var(--sanctra-sage) 15%,transparent);}
.sanctra-calendar {width:min(320px,80vw);}
.sanctra-calendar-heading {display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:14px;}
.sanctra-calendar-heading input {width:68px;background:transparent;font-size:14px;}
.sanctra-calendar-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 0;}
.sanctra-calendar-grid>* {display:grid;place-items:center;min-height:36px;font-size:13px;border-radius:10px;}
.sanctra-calendar-grid>button[aria-pressed=true] {background:var(--sanctra-sage);color:var(--sanctra-ink);}
@media(max-width:767px){.sanctra-app .timer-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.sanctra-app .timer-metrics>*>div:first-child{display:none;}.sanctra-app .timer-metrics>*{grid-template-rows:18px 26px 18px;padding:12px;}.sanctra-app .timer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;}.guest-notice{font-size:12px;}.guest-notice>button{white-space:normal;max-width:110px;}.sanctra-calendar{right:auto;left:0;}.sanctra-app .timer-quote p{font-size:13px;}}
.sanctra-landing .landing-section {max-width:1268px;width:auto;box-sizing:border-box;}
@media(max-width:1400px){.sanctra-landing .landing-section{margin-inline:6%;width:auto;}}
@media(min-width:1401px){.sanctra-landing .landing-section{margin-inline:auto;width:100%;max-width:1268px;}}
.sanctra-app .timer-metrics .text-rose-400,.sanctra-app .timer-metrics .text-amber-400 {color:var(--sanctra-sage)!important;}
.sanctra-app .timer-actions svg {color:inherit!important;}
.sanctra-app .inbox-view .analytics-card:hover {background:var(--sanctra-glass-bg-hover)!important;border-color:var(--sanctra-glass-border-hover)!important;}
@media(max-width:767px){.sanctra-app .timer-quote>div{border-radius:18px;padding:10px 14px;}.sanctra-app .guest-notice{padding:12px;}.sanctra-app .guest-notice>div{min-width:0;}.sanctra-app .guest-notice>button{min-height:44px;}.sanctra-app .timer-metrics>*>span{font-size:11px;}.sanctra-app .timer-metrics>*>div:nth-child(3){font-size:20px;}}
.sanctra-app .timer-metrics>* {grid-template-rows:32px 30px 26px 18px;}
.sanctra-app .timer-metrics>*>span {display:flex;align-items:center;justify-content:center;line-height:1.25;font-size:12px;}
@media(max-width:767px){.sanctra-app .timer-metrics>*{grid-template-rows:30px 26px 18px;}.sanctra-app .timer-metrics>*>span{font-size:12px;letter-spacing:.04em;}}
.wallpaper-layer {animation:none;}
.sanctra-app .timer-quote>div {padding-block:4px;}
@media(max-height:800px) and (min-width:768px){.sanctra-app .timer-metrics>*{grid-template-rows:24px 26px 18px;padding:10px;}.sanctra-app .timer-metrics>*>div:first-child{display:none;}.sanctra-app .timer-metrics>*>span{font-size:12px;}.sanctra-app .timer-dial{margin-block:8px;}.sanctra-app .timer-actions{margin-top:12px;}}
/* The clock remains the primary action on phones; summaries follow it. */
@media(max-width:767px){.sanctra-app:not(.timer-only) .timer-dial{order:1;}.sanctra-app:not(.timer-only) .timer-metrics{order:2;}.sanctra-app:not(.timer-only) .timer-ring{width:min(72vw,28dvh,260px);height:min(72vw,28dvh,260px);}.sanctra-app .timer-actions{padding-inline:0;margin-top:16px;}.sanctra-app .timer-actions button{padding-inline:10px;}.sanctra-app .timer-quote{margin-block:4px;}}

.platform-fields {border:0;padding:0;display:grid;gap:1.2rem;min-width:0}
.platform-switch-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.platform-switch-row {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem;background:var(--sanctra-surface);border:1px solid color-mix(in srgb,var(--sanctra-paper) 20%,transparent);border-radius:1rem;cursor:pointer}
.platform-switch-row small {display:block;color:var(--sanctra-muted);line-height:1.6;margin-top:.3rem}
.platform-switch-row input {appearance:none;width:3rem;height:1.65rem;flex:0 0 auto;border-radius:2rem;background:color-mix(in srgb,var(--sanctra-paper) 20%,transparent);position:relative;border:1px solid var(--sanctra-muted);cursor:pointer}
.platform-switch-row input::after {content:'';position:absolute;width:1.15rem;height:1.15rem;top:.18rem;left:.18rem;border-radius:50%;background:var(--sanctra-paper);transition:transform .15s}
.platform-switch-row input:checked {background:var(--sanctra-sage)}
.platform-switch-row input:checked::after {transform:translateX(1.25rem);background:var(--sanctra-ink)}
.platform-switch-row input:focus-visible {outline:2px solid var(--sanctra-sage);outline-offset:4px}
.platform-field {display:grid;gap:.5rem;color:var(--sanctra-paper)}
.platform-preview {width:min(48rem,calc(100vw - 2rem));max-height:90dvh;overflow:auto;padding:1.5rem}
@media(max-width:640px){.platform-switch-grid{grid-template-columns:1fr}}
.soundscape-host{position:relative}.soundscape-playing-dot{width:6px;height:6px;border-radius:50%;background:var(--sanctra-sage)}
.soundscape-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:90;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 110px);overflow:auto;display:grid;gap:16px;padding:22px;border-radius:24px;color:var(--sanctra-paper);background:color-mix(in srgb,var(--sanctra-surface) 96%,var(--sanctra-ink));border:1px solid color-mix(in srgb,var(--sanctra-paper) 22%,transparent);box-shadow:0 16px 60px #0006}
.soundscape-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.soundscape-panel h2{font-family:var(--font-display);font-size:26px}
.soundscape-presets{display:grid;gap:8px;max-height:300px;overflow:auto}.soundscape-preset{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;width:100%;border-radius:14px;text-align:left;background:color-mix(in srgb,var(--sanctra-paper) 5%,transparent);border:1px solid color-mix(in srgb,var(--sanctra-paper) 12%,transparent);color:var(--sanctra-paper)}
.soundscape-preset[aria-pressed=true]{background:color-mix(in srgb,var(--sanctra-sage) 15%,var(--sanctra-surface));border-color:var(--sanctra-sage)}.soundscape-preset small{display:block;color:var(--sanctra-muted);font-size:12px;line-height:1.5;margin-top:5px}.soundscape-preset svg{flex-shrink:0}
.soundscape-volume{display:grid;gap:10px}.soundscape-volume span{display:flex;gap:8px;align-items:center}.soundscape-volume input{width:100%;accent-color:var(--sanctra-sage)}.soundscape-save-form{display:grid;gap:12px}.soundscape-save-form label{display:grid;gap:6px}.soundscape-saved-list{display:grid;gap:8px}.soundscape-saved-list>div{display:flex;align-items:center;gap:8px}.soundscape-youtube{display:grid;gap:12px}.soundscape-youtube iframe{width:100%;height:220px;border:0;border-radius:14px;background:#000}.soundscape-youtube small{color:var(--sanctra-muted);line-height:1.6}
@media(max-width:640px){.soundscape-panel{position:fixed;left:12px;right:12px;top:80px;width:auto;max-height:calc(100dvh - 100px)}}
/* A story belongs to its existing frosted card, without another nested box. */
.sanctra-app .announcement-story {background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important; backdrop-filter:none!important;min-width:0;overflow:hidden;}
.announcement-content {max-width:72ch;margin-inline:auto;padding:clamp(18px,3vw,32px) clamp(4px,2vw,18px);}
.announcement-cover {display:block;width:100%;height:auto;max-height:280px;object-fit:cover;border-radius:18px;}
.sanctra-app :is(.ranking-list,.group-chat-panel,.workspace-panel) :is(.ranking-summary,.announcement-story) {box-shadow:none!important;}
.sanctra-app .sound-preset {height:auto!important;min-height:76px!important;border-radius:14px!important;padding:14px!important;line-height:1.45!important;flex-shrink:0;}
.sanctra-app .sound-preset strong {display:block;line-height:1.35;}
.sanctra-app .sound-library {gap:10px;}
.sanctra-app .soundscape-preset {height:auto!important;min-height:76px!important;padding:14px!important;border-radius:14px!important;line-height:1.45!important;flex-shrink:0;}
.sanctra-app .soundscape-preset strong {line-height:1.35;}
.ranking-row,.group-member-row,.ranking-podium>article {position:relative;isolation:isolate;overflow:visible !important;}
.ranking-identity-wash {position:absolute;inset:0;z-index:0;opacity:1;pointer-events:none;border-radius:inherit;overflow:hidden;}
.ranking-cover {width:100%;height:100%;object-fit:cover;}
.admin-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage) 35%, rgba(255, 255, 255, 0.15));
  color: var(--sanctra-sage);
  background: color-mix(in srgb, var(--sanctra-surface) 80%, rgba(255, 255, 255, 0.04));
  padding: 3px 9px;
  border-radius: 99px;
  font: 600 11px/1.3 sans-serif;
  letter-spacing: .02em;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)); backdrop-filter: blur(var(--sanctra-panel-blur,12px));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
.admin-badge svg {
  color: var(--sanctra-sage);
}
.ranking-person .plus-badge,.ranking-person .admin-badge {margin-left:8px;}
.sanctra-app .planner-date-control {position:relative;width:fit-content;max-width:100%;margin-inline:auto;padding:6px 10px 6px 16px;border:1px solid var(--sanctra-glass-border);border-radius:999px;background:var(--sanctra-glass-bg);backdrop-filter:var(--sanctra-glass-blur);box-shadow:none;gap:10px;}
.sanctra-app .planner-date-label {font-weight:400;color:var(--sanctra-muted);}
.admin-stat-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;}
.admin-stat-grid>div {padding:16px;background:var(--sanctra-surface);border-radius:14px;display:grid;gap:5px;}
.admin-stat-grid strong {font-size:22px;}.admin-stat-grid span{font-size:12px;color:var(--sanctra-muted);}
.admin-record {padding:16px;border-bottom:1px solid var(--sanctra-glass-border);overflow-wrap:anywhere;}
.admin-record p {font-size:13px;line-height:1.6;color:var(--sanctra-muted);}
.admin-inspector .inbox-input {max-width:240px;}
.admin-account-inspector {animation: fadeIn 0.2s ease;}
.admin-stat-card {transition:transform 0.15s ease, border-color 0.15s ease;}
.admin-stat-card:hover {border-color:color-mix(in srgb,var(--sanctra-sage) 45%,transparent);}
.admin-manage-drawer {-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)); backdrop-filter:blur(var(--sanctra-panel-blur,12px));background:color-mix(in srgb,var(--sanctra-ink) 92%,var(--sanctra-surface));}
@media (max-width: 700px) {
  .admin-inspector-hero {flex-direction:column;align-items:stretch;}
}
.profile-exam-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 24px;
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sanctra-surface) 55%, transparent);
  border: 1px solid var(--sanctra-glass-border, rgba(255, 255, 255, 0.1));
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.08);
  color: var(--sanctra-paper);
  font-size: 12px;
  line-height: 1.4;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.profile-exam-chip svg {
  color: var(--sanctra-sage);
  flex-shrink: 0;
}
.profile-exam-chip strong {
  font-weight: 600;
  color: var(--sanctra-paper);
}
.profile-exam-chip span {
  color: var(--sanctra-muted);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "zero" 0;
}
.sanctra-app .focus-audio-panel {width:min(680px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 100px));padding:22px;gap:18px;display:flex;flex-direction:column;overflow:hidden;}
.focus-audio-panel h2 {display:flex;align-items:center;gap:10px;}
.focus-audio-panel header p:last-child{margin-top:8px;}.audio-tabs{flex-shrink:0;display:flex;}.audio-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;}
.audio-panel-content{overflow:auto;min-height:0;overscroll-behavior:contain;padding-right:2px;}
.audio-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;}
.sanctra-app .audio-sound-card{height:auto!important;min-height:166px!important;padding:18px 12px!important;border-radius:18px!important;display:flex;align-items:center;flex-direction:column;justify-content:flex-start!important;gap:9px;white-space:normal;line-height:1.45;text-align:center;}
.audio-sound-card strong{font-size:14px;line-height:1.35;}.audio-sound-card small{font-size:11px;color:var(--sanctra-muted);line-height:1.5;}.audio-card-action{margin-top:auto;color:var(--sanctra-sage);}
.audio-sound-card[aria-pressed=true]{border-color:var(--sanctra-sage)!important;background:color-mix(in srgb,var(--sanctra-sage) 12%,var(--sanctra-surface))!important;}
.audio-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);color:var(--sanctra-sage);flex-shrink:0;}
.audio-footer{border-top:1px solid var(--sanctra-glass-border);padding-top:16px;flex-shrink:0;}.audio-options{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;}.audio-options .checkbox-label{font-size:12px;margin:0;}.audio-options>button{margin-left:auto;}
.audio-search-form{display:flex;gap:12px;align-items:end;}.audio-search-form label{flex:1;min-width:0;}.audio-saved-list{display:grid;gap:10px;}.audio-saved-list article{display:flex;gap:10px;align-items:center;padding:10px;border-radius:16px;background:var(--sanctra-surface);}.sanctra-app .audio-saved-play{background:transparent!important;border:0!important;box-shadow:none!important;display:flex;gap:12px;align-items:center;text-align:left;padding:6px!important;flex:1;min-width:0;height:auto!important;}.audio-saved-play>span:nth-child(2){flex:1;min-width:0;}.audio-saved-play strong{display:block;overflow-wrap:anywhere;}.audio-saved-play small{display:block;color:var(--sanctra-muted);font-size:11px;margin-top:5px;}
.audio-empty{display:grid;justify-items:center;text-align:center;gap:16px;padding:32px 16px;}.audio-empty p{max-width:34ch;font-size:13px;color:var(--sanctra-muted);line-height:1.6;}
/* Inline header audio control — expands when playing */
.audio-header-control{display:flex;align-items:center;gap:0;transition:gap .3s ease,background .3s ease,padding .3s ease,border-color .3s ease;border-radius:11px;}
.audio-header-active{gap:8px;background:color-mix(in srgb,var(--sanctra-surface) 85%,var(--sanctra-sage) 8%);border:1px solid color-mix(in srgb,var(--sanctra-sage) 30%,transparent);border-radius:99px;padding:3px 5px 3px 3px;}
.audio-header-active .audio-header-btn{border:0!important;background:transparent!important;width:32px;height:32px;min-width:32px;min-height:32px;}
.audio-header-now-playing{cursor:pointer;display:flex;flex-direction:column;gap:1px;min-width:0;max-width:140px;}
.audio-now-playing-name{font-size:11px;font-weight:600;color:var(--sanctra-paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.audio-now-playing-sub{font-size:9px;color:var(--sanctra-muted);white-space:nowrap;}
.audio-header-stop{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--sanctra-sage) 18%,transparent);color:var(--sanctra-sage);cursor:pointer;flex-shrink:0;transition:background .15s;}
.audio-header-stop:hover{background:color-mix(in srgb,var(--sanctra-sage) 32%,transparent);}
/* Hidden YouTube iframe — audio only, no visible player */
.audio-youtube-hidden{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;border:0;top:-9999px;left:-9999px;z-index:-1;}
@media(max-width:700px){.audio-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.audio-tabs button{font-size:11px!important;padding:10px 7px!important;gap:5px;}.audio-tabs svg{width:13px;}.audio-search-form{flex-wrap:wrap;}.audio-search-form label{flex-basis:100%;}.audio-header-now-playing{max-width:100px;}.audio-now-playing-name{font-size:10px;}}
.sanctra-app .audio-sound-card {background:color-mix(in srgb,var(--sanctra-surface) 82%,var(--sanctra-sage) 3%)!important;border:1px solid var(--sanctra-glass-border)!important;box-shadow:none!important;}
.sanctra-app .audio-sound-card:hover {border-color:var(--sanctra-sage)!important;}

/* Audio overlays escape header stacking and timer-page descendant rules. */
.focus-audio-layer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(0, 0, 0, 0.72) !important;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important; backdrop-filter: blur(var(--sanctra-panel-blur,12px)) !important;
}
:is(.focus-audio-layer, .sanctra-app, body) .focus-audio-panel,
.focus-audio-panel {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 0 auto !important;
  width: min(680px, calc(100vw - 32px)) !important;
  max-height: min(760px, calc(100dvh - 48px)) !important;
  padding: 22px !important;
  gap: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: 100000 !important;
  border-radius: 24px !important;
  background: color-mix(in srgb, var(--sanctra-surface, #0f172a) 96%, var(--sanctra-ink, #090b16)) !important;
  border: 1px solid color-mix(in srgb, var(--sanctra-sage, #a8cde8) 25%, rgba(255, 255, 255, 0.2)) !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6) !important;
}
.focus-audio-panel > header,
.focus-audio-panel > .audio-footer {
  flex-shrink: 0 !important;
}
.focus-audio-panel .audio-footer {
  display: block !important;
}
@media (max-width: 700px) {
  .focus-audio-layer {
    padding: 12px !important;
  }
  :is(.focus-audio-layer, .sanctra-app, body) .focus-audio-panel,
  .focus-audio-panel {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 16px !important;
  }
}

/* Centered Music Bar in Hidden Interface Area */
.centered-hidden-music-bar {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 35;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 9999px;
  -webkit-backdrop-filter: blur(var(--sanctra-panel-blur,12px)); backdrop-filter: blur(var(--sanctra-panel-blur,12px));
  background: color-mix(in srgb, var(--sanctra-surface) 80%, var(--sanctra-ink));
  border: 1px solid var(--sanctra-glass-border);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  max-width: calc(100vw - 190px);
  height: 40px;
  padding: 4px 6px 4px 12px;
}
.centered-hidden-music-bar:hover {
  border-color: color-mix(in srgb, var(--sanctra-sage) 40%, transparent);
  background: color-mix(in srgb, var(--sanctra-surface) 90%, var(--sanctra-ink));
}
.centered-hidden-music-bar.active {
  border-color: color-mix(in srgb, var(--sanctra-sage) 45%, transparent);
  background: color-mix(in srgb, var(--sanctra-surface) 85%, var(--sanctra-sage) 12%);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 20px color-mix(in srgb, var(--sanctra-sage) 15%, transparent);
}
.centered-hidden-music-info {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 0;
  color: var(--sanctra-paper);
  cursor: pointer;
  padding: 0 4px;
  min-width: 0;
  text-align: left;
}
.centered-hidden-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.centered-hidden-icon {
  color: var(--sanctra-sage);
}
.centered-hidden-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 200px;
}
.centered-hidden-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--sanctra-paper);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.centered-hidden-sub {
  font-size: 10px;
  color: var(--sanctra-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.centered-hidden-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--sanctra-paper);
  white-space: nowrap;
}
.centered-hidden-stop {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--sanctra-sage) 18%, transparent);
  color: var(--sanctra-sage);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, transform 0.15s;
}
.centered-hidden-stop:hover {
  background: color-mix(in srgb, var(--sanctra-sage) 32%, transparent);
  transform: scale(1.05);
}
@media (max-width: 700px) {
  .centered-hidden-music-bar {
    max-width: calc(100vw - 150px);
    top: 16px;
    height: 38px;
  }
  .centered-hidden-meta {
    max-width: 120px;
  }
  .centered-hidden-title {
    font-size: 11px;
  }
}

/* Identity sits above row paint and below readable foreground content. */
.ranking-identity-wash {z-index:0;opacity:1;border-radius:inherit;overflow:hidden;}
.ranking-identity-wash::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--sanctra-ink) 82%,transparent),color-mix(in srgb,var(--sanctra-ink) 35%,transparent));}
.ranking-row>:not(.ranking-identity-wash),.group-member-row>:not(.ranking-identity-wash),.ranking-podium>article>:not(.ranking-identity-wash){position:relative;z-index:1;}
.sanctra-app .profile-group {padding:16px 18px;border:1px solid var(--sanctra-glass-border);border-radius:18px;gap:7px;box-shadow:none;}

/* ==========================================================================
   SANCTRA PLUS+ MOTION ATMOSPHERES (LIVING BACKGROUNDS)
   ========================================================================== */
.motion-atmosphere-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

/* Consistent metric hierarchy and readable surfaces across wallpapers. */
.sanctra-app .timer-metrics > * {background:var(--sanctra-glass-bg);color:var(--sanctra-paper);}
.sanctra-app .timer-metrics > * > div:nth-child(3),
.sanctra-app .timer-metrics > * > div:nth-child(3) span {color:var(--sanctra-paper)!important;}
.sanctra-app .timer-metrics > * > div:first-child {background:color-mix(in srgb,var(--sanctra-sage) 12%,var(--sanctra-ink))!important;border-color:var(--sanctra-glass-border)!important;}
.sanctra-app .timer-metrics > * > span,
.sanctra-app .timer-metrics > * > div:last-child {color:var(--sanctra-muted);}
.sanctra-app .planner-date-control .planner-date-label {color:var(--sanctra-paper);font-weight:600;}
.sanctra-app .planner-date-control .analytics-button {background:transparent;box-shadow:none;border-color:transparent;}
.settings-tab-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:12px;align-items:stretch;}
.settings-tab-strip button {min-width:0;min-height:44px;justify-content:center;white-space:normal;padding:8px!important;}
.settings-tab-strip svg {flex-shrink:0;}
@media(max-width:480px){
 .planner-date-control .sanctra-date{position:static;}
 .planner-date-control .sanctra-calendar{left:50%!important;right:auto!important;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));}
 .settings-tab-strip button{flex-direction:column;gap:4px;}
}

/* Quiet profile ornament: retain identity without thick rings and neon bloom. */
.sanctra-app .avatar-effect-celestial {--identity-aura:#d8c797;}
.sanctra-app .avatar-effect-aurora {--identity-aura:#a0cbb9;}
.sanctra-app .avatar-effect-lotus {--identity-aura:#cfb1d0;}
.sanctra-app .avatar-effect-quill {--identity-aura:#d9b28c;}
.sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap):is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill) {
  position:relative;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--identity-aura) 72%,transparent),0 0 12px 3px color-mix(in srgb,var(--identity-aura) 38%,transparent),0 0 28px 5px color-mix(in srgb,var(--identity-aura) 20%,transparent)!important;
  animation:none!important;
}

.sanctra-app [class*="avatar-frame-"] {border-width:1px!important;}
.sanctra-app [class*="avatar-frame-"]:not([class*="avatar-effect-"])::before,
.sanctra-app [class*="avatar-frame-"]:not([class*="avatar-effect-"])::after {border-width:1px!important;opacity:.45;animation-duration:18s!important;}
@keyframes identity-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.04)}}
@media(prefers-reduced-motion:reduce){.sanctra-app [class*="avatar-effect-"]{animation:none!important;}}
.sanctra-app .workspace-heading p {color:var(--sanctra-paper);}
.sanctra-app .workspace-heading h1 {font-size:clamp(28px,3vw,40px);}
.ranking-podium {gap:12px;}
.ranking-podium>article {padding:18px;}

.admin-ticket-count {margin-left:auto;display:grid;place-items:center;min-width:22px;height:22px;padding-inline:5px;border-radius:999px;background:var(--sanctra-sage);color:var(--sanctra-ink);font-weight:700;font-size:11px;}

.sanctra-app .planner-date-control:has(.sanctra-calendar){z-index:100;isolation:isolate;}
.sanctra-app .admin-workspace input.inbox-input {padding-left:36px;padding-right:32px;}
.sanctra-app .support-workspace>.workspace-heading h1{font-family:inherit;font-size:24px;font-weight:600;}
.sanctra-app .support-workspace>.workspace-heading .workspace-eyebrow{display:none;}
.sanctra-app .group-message{padding:12px 14px;border-radius:14px;box-shadow:none;}
.sanctra-app .group-message>button{min-height:28px;font-size:11px;text-decoration:underline;text-underline-offset:3px;}
.sanctra-app .app-header,.sanctra-app .app-scroll-stage>.app-header{background:transparent!important;-webkit-backdrop-filter:none!important; backdrop-filter:none!important;}
.sanctra-app .app-scroll-stage>.app-header[data-scrolled="true"]{background:color-mix(in srgb,var(--sanctra-ink) 26%,transparent)!important;-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px))!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px))!important;}

.sanctra-calendar[data-placement="above"] {top:auto;bottom:calc(100% + 8px);}
/* Shared form controls: quiet precision, with native semantics preserved. */
.sanctra-app input[type="checkbox"] {appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;flex-shrink:0;width:18px;height:18px;border:1px solid color-mix(in srgb,var(--sanctra-sage) 45%,transparent);border-radius:6px;background:color-mix(in srgb,var(--sanctra-ink) 40%,transparent);cursor:pointer;vertical-align:middle;transition:background 160ms,border-color 160ms;}
.sanctra-app input[type="checkbox"]:checked {background:var(--sanctra-sage);border-color:var(--sanctra-sage);}
.sanctra-app input[type="checkbox"]:checked::after {content:'';width:8px;height:4px;border:solid var(--sanctra-ink);border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg);}
.sanctra-app input[type="checkbox"]:disabled{opacity:.45;cursor:default;}
.sanctra-app input[type="range"] {appearance:none;-webkit-appearance:none;height:28px;background:transparent;cursor:pointer;accent-color:var(--sanctra-sage);}
.sanctra-app input[type="range"]::-webkit-slider-runnable-track {height:4px;border-radius:999px;background:color-mix(in srgb,var(--sanctra-sage) 28%,transparent);}
.sanctra-app input[type="range"]::-moz-range-track {height:4px;border-radius:999px;background:color-mix(in srgb,var(--sanctra-sage) 28%,transparent);}
.sanctra-app input[type="range"]::-webkit-slider-thumb {appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:2px solid var(--sanctra-ink);border-radius:50%;background:var(--sanctra-sage);box-shadow:0 0 0 1px color-mix(in srgb,var(--sanctra-sage) 40%,transparent);}
.sanctra-app input[type="range"]::-moz-range-thumb {width:12px;height:12px;border:2px solid var(--sanctra-ink);border-radius:50%;background:var(--sanctra-sage);box-shadow:0 0 0 1px color-mix(in srgb,var(--sanctra-sage) 40%,transparent);}
@media(forced-colors:active){.sanctra-app input[type="checkbox"],.sanctra-app input[type="range"]{appearance:auto;-webkit-appearance:auto;}}

/* Navigation lets the scene continue through it, without a solid colour rail. */
.sanctra-app .app-sidebar.glass-panel {
  background:linear-gradient(90deg,color-mix(in srgb,var(--sanctra-ink) 38%,transparent),color-mix(in srgb,var(--sanctra-ink) 22%,transparent))!important;
  -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(110%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(110%)!important;
  border:0!important;box-shadow:none!important;
}

/* Profile choices show the material, rather than unrelated emoji decorations. */
.profile-style-swatch {width:20px;height:20px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);border:1px solid #ffffff30;}
.aura-swatch-celestial {box-shadow:0 0 8px #bbcad366;background:#bbcad333;}
.aura-swatch-aurora {box-shadow:0 0 8px #acc9ba66;background:#acc9ba33;}
.aura-swatch-lotus {box-shadow:0 0 8px #c7b0c566;background:#c7b0c533;}
.aura-swatch-quill {box-shadow:0 0 8px #d7bd9166;background:#d7bd9133;}
.frame-swatch-golden-thread {border:2px solid #d7bd91;}
.frame-swatch-emerald-halo {border:2px solid #acc9ba;}
.frame-swatch-celestial-dots {border:2px dotted #bbcad3;}
.frame-swatch-obsidian-glass {border:2px double #b8bcc8;}
.scene-swatch-cloister {background:linear-gradient(135deg,#c4b48e88,#4f5e4b88);}
.scene-swatch-observatory {background:linear-gradient(135deg,#b5acc988,#28375088);}
.scene-swatch-pavilion {background:linear-gradient(135deg,#a4c1c688,#385a6288);}
.sanctra-app .avatar-choices button[aria-pressed=true] {border:2px solid var(--sanctra-sage);box-shadow:0 0 0 3px color-mix(in srgb,var(--sanctra-sage) 12%,transparent);}
.sanctra-app .profile-option-pill {min-height:44px;gap:10px;border-radius:14px;box-shadow:none;}
.sanctra-app .profile-live-preview-header {flex-wrap:wrap;gap:8px;}
.sanctra-app .profile-live-preview-box {background:var(--sanctra-glass-bg);border-color:var(--sanctra-glass-border);border-radius:22px;}
.sanctra-app .profile-live-preview-card {min-height:170px;}

/* Animate the light around the identity, independently of the photograph. */
@property --aura-angle {syntax:"<angle>";initial-value:0deg;inherits:false;}
.sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap):is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill) {overflow:visible!important;}
.sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap):is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill)::after {
  content:"";position:absolute;inset:-5px;padding:2px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from var(--aura-angle),transparent 0%,var(--identity-aura) 16%,#fff9 23%,transparent 36%,transparent 50%,var(--identity-aura) 66%,transparent 82%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.95!important;animation:identity-aura-orbit 5s linear infinite!important;
}
.sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap):is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill)::before {
  content:"";position:absolute;inset:-7px;border:2px solid var(--identity-aura);border-radius:inherit;pointer-events:none;
  box-shadow:0 0 16px 5px color-mix(in srgb,var(--identity-aura) 55%,transparent);
  filter:blur(3px);animation:identity-aura-pulse 3s ease-in-out infinite!important;
}
@keyframes identity-aura-orbit {to{--aura-angle:360deg;}}
@keyframes identity-aura-pulse {0%,100%{opacity:.2;transform:scale(.97);}50%{opacity:.75;transform:scale(1.12);}}
@media(prefers-reduced-motion:reduce){
 .sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap)[class*="avatar-effect-"]::before,
 .sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap)[class*="avatar-effect-"]::after {animation:none!important;}
 .sanctra-app :is(.profile-avatar,.group-avatar-wrap,.sidebar-avatar-wrap)[class*="avatar-effect-"]::before {opacity:.35!important;transform:none;}
}

/* Groups: conversation is the primary shared space; progress sits beside it. */
.sanctra-app .group-workspace {display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr);align-items:start;gap:24px;}
.sanctra-app .group-conversation {display:flex;flex-direction:column;min-width:0;padding:24px;position:relative;}
.conversation-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.conversation-heading h2 {display:flex;gap:10px;align-items:center;}
.conversation-heading .group-eyebrow {margin-bottom:6px;}
.conversation-search {display:flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--sanctra-glass-border);border-radius:14px;background:color-mix(in srgb,var(--sanctra-ink) 25%,transparent);color:var(--sanctra-muted);}
.sanctra-app .conversation-search input {min-width:0;width:100%;padding:0;border:0;background:transparent;color:var(--sanctra-paper);font-size:13px;min-height:24px;}
.conversation-search button {display:grid;place-items:center;min-width:28px;min-height:28px;}
.conversation-feed {height:440px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 6px;}
.conversation-day {text-align:center;margin:18px 0;color:var(--sanctra-muted);font-size:11px;}
.conversation-message {display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;}
.conversation-message .group-avatar-wrap {margin-top:8px;}
.conversation-bubble {min-width:0;flex:1;padding:12px 14px;border-radius:4px 16px 16px 16px;background:color-mix(in srgb,var(--sanctra-ink) 24%,transparent);border:1px solid #ffffff12;}
.conversation-message.is-own .conversation-bubble {background:color-mix(in srgb,var(--sanctra-sage) 10%,transparent);border-color:color-mix(in srgb,var(--sanctra-sage) 23%,transparent);}
.conversation-bubble header {display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.conversation-bubble header strong {font-size:12px;overflow-wrap:anywhere;}
.conversation-bubble time {margin-left:auto;font-size:10px;color:var(--sanctra-muted);}
.conversation-bubble p {white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin-top:8px;}
.conversation-bubble :is(.admin-badge,.plus-badge) {font-size:9px;padding:2px 5px;}
.conversation-message-actions {display:flex;gap:12px;margin-top:8px;}
.conversation-message-actions button {display:flex;align-items:center;gap:4px;font-size:10px;min-height:28px;color:var(--sanctra-muted);}
.conversation-message-actions button:hover {color:var(--sanctra-paper);}
.conversation-composer {padding-top:12px;border-top:1px solid #ffffff14;}
.sanctra-app .conversation-composer textarea {width:100%;resize:vertical;min-height:70px;max-height:180px;line-height:1.5;border:1px solid var(--sanctra-glass-border);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--sanctra-ink) 32%,transparent);color:var(--sanctra-paper);font:inherit;font-size:14px;}
.conversation-composer-actions {display:flex;gap:12px;align-items:center;margin:10px 0;}
.conversation-composer-actions small {flex:1;font-size:10px;color:var(--sanctra-muted);}
.conversation-composer-actions .analytics-button {padding:8px;min-height:40px;}
.conversation-reply {display:flex;gap:12px;justify-content:space-between;align-items:center;border-left:2px solid var(--sanctra-sage);padding:8px 12px;margin-bottom:10px;background:#ffffff06;border-radius:0 10px 10px 0;}
.conversation-reply strong {font-size:11px;color:var(--sanctra-sage);}
.conversation-reply p {font-size:12px;overflow-wrap:anywhere;color:var(--sanctra-muted);}
.conversation-reply button {min-width:32px;min-height:32px;}
.conversation-mentions {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;max-height:140px;overflow:auto;}
.conversation-mentions button {border:1px solid var(--sanctra-glass-border);border-radius:10px;padding:8px 12px;font-size:12px;}
.conversation-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;min-height:260px;color:var(--sanctra-muted);}
.conversation-empty strong {color:var(--sanctra-paper);font-weight:500;}
.conversation-empty p {font-size:13px;}
.conversation-new {align-self:center;margin-top:-44px;z-index:1;background:var(--sanctra-ink)!important;}
.conversation-delete-preview {max-width:440px;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-left:2px solid var(--sanctra-sage);font-size:13px;}
.group-member-filters {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px;}
.group-member-filters button {font-size:12px;padding:8px 12px;}
@media(min-width:1024px){.sanctra-app .group-workspace>.group-conversation {grid-column:2;grid-row:1;}.sanctra-app .group-workspace>section:first-child {grid-column:1;grid-row:1;}}
@media(max-width:1023px){.sanctra-app .group-workspace {grid-template-columns:1fr;}.sanctra-app .group-conversation {order:-1;}.conversation-feed {height:380px;}}
.conversation-composer-actions small.group-error {color:#efb4b4;}

/* Keep the compact sidebar identity's light within its account tile. */
.sanctra-app .app-sidebar .sidebar-avatar-wrap:is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill) {
 box-shadow:0 0 0 1px color-mix(in srgb,var(--identity-aura) 65%,transparent),0 0 6px 1px color-mix(in srgb,var(--identity-aura) 28%,transparent),0 0 12px 2px color-mix(in srgb,var(--identity-aura) 15%,transparent)!important;
}
.sanctra-app .app-sidebar .sidebar-avatar-wrap:is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill)::after {inset:-3px;padding:1px;opacity:.8!important;}
.sanctra-app .app-sidebar .sidebar-avatar-wrap:is(.avatar-effect-celestial,.avatar-effect-aurora,.avatar-effect-lotus,.avatar-effect-quill)::before {inset:-3px;border-width:1px;filter:blur(2px);box-shadow:0 0 6px 2px color-mix(in srgb,var(--identity-aura) 35%,transparent);animation-name:sidebar-aura-pulse!important;}
@keyframes sidebar-aura-pulse {0%,100%{opacity:.15;transform:scale(.99);}50%{opacity:.5;transform:scale(1.04);}}

/* Familiar conversation direction: your messages right, others left. */
.conversation-message {justify-content:flex-start;}
.conversation-message.is-own {flex-direction:row-reverse;}
.conversation-message .conversation-bubble {flex:0 1 auto;max-width:82%;}
.conversation-message.is-own .conversation-bubble {border-radius:16px 4px 16px 16px;}
.conversation-mentions[role=listbox] {padding:8px;border:1px solid var(--sanctra-glass-border);border-radius:14px;background:color-mix(in srgb,var(--sanctra-ink) 55%,transparent);}
.conversation-mentions [aria-selected=true] {background:color-mix(in srgb,var(--sanctra-sage) 22%,transparent);border-color:var(--sanctra-sage);}
.conversation-composer {position:relative;}
.conversation-mentions[role=listbox] {position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:5;display:flex;flex-direction:column;flex-wrap:nowrap;max-height:220px;background:color-mix(in srgb,var(--sanctra-ink) 88%,transparent);backdrop-filter:blur(var(--sanctra-panel-blur,12px));box-shadow:0 12px 30px #0003;}
.conversation-mentions[role=listbox] button {text-align:left;flex-shrink:0;}

/* One group section at a time, with persistent chat drafts between tabs. */
.sanctra-app .group-workspace.group-workspace-tabbed {display:block;}
.group-room-tabs {display:flex;gap:8px;padding:6px;border:1px solid var(--sanctra-glass-border);border-radius:18px;background:var(--sanctra-glass-bg);width:fit-content;}
.group-room-tabs button {border:0;box-shadow:none;min-width:150px;min-height:44px;justify-content:center;}
.group-room-tabs button[aria-selected=true] {background:color-mix(in srgb,var(--sanctra-sage) 22%,transparent)!important;color:var(--sanctra-paper);}
.group-workspace-tabbed>[hidden] {display:none!important;}
.group-workspace-tabbed .conversation-feed {height:clamp(340px,48vh,560px);}

/* Quiet atmospheric light, without repeating synthetic particles. */
.atmosphere-soft {opacity:.55;}
.atmosphere-soft i {position:absolute;inset:-20%;filter:blur(65px);background:radial-gradient(ellipse at 30% 28%,var(--atmosphere-light,#b4c8e126),transparent 52%);animation:atmosphere-light-drift 28s ease-in-out infinite alternate;}
.atmosphere-soft i+i {background:radial-gradient(ellipse at 72% 35%,var(--atmosphere-secondary,#d4cae118),transparent 48%);animation-duration:37s;animation-direction:alternate-reverse;}
.atmosphere-soft-nebula {--atmosphere-light:#a5b4db30;--atmosphere-secondary:#b7a4cb22;}
.atmosphere-soft-rain {--atmosphere-light:#a5c6da20;--atmosphere-secondary:#719bb018;}
.atmosphere-soft-aurora {--atmosphere-light:#77c9ad35;--atmosphere-secondary:#9fafe72a;}
.atmosphere-soft-embers {--atmosphere-light:#dfad7724;--atmosphere-secondary:#d6bd9a1c;}
.atmosphere-soft-sakura {--atmosphere-light:#dfb9c326;--atmosphere-secondary:#e8d3ba20;}
@keyframes atmosphere-light-drift {from{transform:translate(-3%,0);opacity:.55;}to{transform:translate(4%,3%);opacity:.95;}}
.vip-motion-wallpaper {z-index:1;animation:background-video-enter 800ms ease-out both;}
@keyframes background-video-enter {from{opacity:0;}to{opacity:1;}}
@media(prefers-reduced-motion:reduce){.atmosphere-soft{display:none;}.vip-motion-wallpaper{animation:none;}}
.plus-background-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.sanctra-app .plus-background-choice {min-height:150px;box-shadow:none;border-width:1px;text-align:left;}
.sanctra-app .plus-background-choice img {filter:saturate(.88);}
.sanctra-app .plus-background-choice .text-xs {font-size:14px;line-height:1.4;}
.sanctra-app .plus-background-choice .text-\[9px\] {font-size:10px;letter-spacing:.08em;}
@media(min-width:1280px){.plus-background-gallery{gap:18px;}}
@media(max-width:600px){.plus-background-gallery{grid-template-columns:1fr;}}

/* Artwork must fit its grid cell; intrinsic image sizes cannot widen cards. */
.background-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;width:100%;}
.sanctra-app .background-gallery>button {display:block;position:relative;min-width:0!important;min-height:0!important;width:100%;max-width:100%;padding:0;aspect-ratio:16/9;overflow:hidden;}
.sanctra-app .background-gallery>button>img {position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;object-fit:cover;filter:none;}
.sanctra-app .background-gallery>button>div {min-width:0;}
.sanctra-app .background-gallery>button .truncate {white-space:normal;overflow-wrap:anywhere;line-height:1.35;}
@media(max-width:600px){.background-gallery{grid-template-columns:1fr;}}
.attachment-picker {margin-block:12px;}
.attachment-button {position:relative;overflow:hidden;width:fit-content;cursor:pointer;}
.attachment-button input {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.attachment-preview {position:relative;width:130px;}
.attachment-preview img {width:130px;height:90px;object-fit:cover;border-radius:12px;}
.attachment-preview button {position:absolute;right:4px;top:4px;background:#172126;border-radius:50%;padding:5px;}
.message-image {display:block;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;margin-top:10px;max-width:100%;}
.message-image img {max-width:100%;width:auto;max-height:280px;object-fit:contain;border-radius:14px;}
.attachment-lightbox {position:fixed;inset:0;z-index:1000;background:#080d12ec;display:grid;place-items:center;padding:48px;}
.attachment-lightbox>img {max-width:100%;max-height:calc(100dvh - 96px);object-fit:contain;}
.attachment-lightbox>button {position:absolute;right:20px;top:20px;}
.support-workspace {max-width:1100px;margin-inline:auto;}
.ticket-messages {display:flex;flex-direction:column;gap:18px;max-height:52vh;overflow:auto;padding:18px 4px;overscroll-behavior:contain;}
.ticket-message {max-width:85%;padding:18px;border-radius:20px!important;border:1px solid var(--sanctra-glass-border);background:var(--sanctra-glass-bg)!important;}
.ticket-message.from-team {align-self:flex-end;background:color-mix(in srgb,var(--sanctra-sage) 10%,transparent)!important;}
.ticket-message header {display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px;}
.ticket-message p {white-space:pre-wrap;overflow-wrap:anywhere;}
.ticket-list>button {display:flex!important;align-items:center;justify-content:space-between;text-align:left;padding:20px;gap:16px;min-width:0;width:100%;border-radius:18px!important;}
.ticket-list>button strong {font-size:17px;}
.ticket-list>button p,.ticket-list>button small {color:var(--sanctra-muted);}
.ticket-compose label,.ticket-conversation form label {display:grid;gap:8px;}
.support-topics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.support-topics>button {display:flex;align-items:center;text-align:left;gap:18px;min-width:0;padding:22px;}
@media(min-width:768px) and (max-width:1180px){.ticket-message{max-width:92%;}.support-topics{grid-template-columns:1fr;}}
.admin-ticket-alert {position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:flex-end;gap:12px;color:var(--sanctra-paper);}
.admin-ticket-bell {display:flex;gap:8px;align-items:center;background:var(--sanctra-ink)!important;border:1px solid var(--sanctra-glass-border);border-radius:999px;padding:12px 16px!important;box-shadow:0 8px 30px #0003;}
.admin-ticket-bell span {background:var(--sanctra-sage);color:var(--sanctra-ink);border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:12px;font-weight:700;}
.admin-ticket-toast {display:flex;gap:16px;align-items:flex-start;max-width:320px;padding:18px;border-radius:18px;background:var(--sanctra-ink);border:1px solid var(--sanctra-glass-border);box-shadow:0 10px 35px #0004;}
.admin-ticket-toast p {font-size:13px;color:var(--sanctra-muted);margin-block:6px;overflow-wrap:anywhere;}
.admin-ticket-toast button {font-size:13px;box-shadow:none;padding:4px 0;}
.sanctra-app .focus-audio-panel {width:min(840px,calc(100vw - 48px));max-height:calc(100dvh - 64px);padding:26px;border-radius:26px;}
.audio-search-results {display:grid;gap:10px;}
.audio-search-results article {display:flex;align-items:center;gap:14px;min-width:0;padding:12px;border:1px solid var(--sanctra-glass-border);border-radius:16px;background:var(--sanctra-glass-bg);}
.audio-search-results img {width:100px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0;}
.audio-search-results article>div {flex:1;min-width:0;}
.audio-search-results strong {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.45;}
.audio-search-results small {display:block;color:var(--sanctra-muted);font-size:12px;margin-top:4px;}
.audio-search-results button {width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;padding:0!important;border-radius:50%;background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);}
.sanctra-app .audio-sound-card {padding:20px;min-height:180px;box-shadow:none;background:var(--sanctra-glass-bg);border-color:var(--sanctra-glass-border);}
.sanctra-app .audio-sound-card small {font-size:13px;line-height:1.5;}
.sanctra-app .audio-icon {background:color-mix(in srgb,var(--sanctra-sage) 10%,transparent);border-radius:16px;}
.sanctra-app .audio-sound-card[aria-pressed=true] {border-color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 13%,transparent);}

/* Size the digits against their own dial, including landscape iPad. */
.sanctra-app .group-invitation-form {align-items:flex-end;}
.sanctra-app .group-invitation-form label {display:block;margin:0;min-width:min(240px,100%);font-family:inherit;font-size:13px;line-height:1.5;}
.sanctra-app .group-invitation-form :is(input,button) {font-family:inherit;font-size:14px;line-height:1.5;min-height:44px;}
.sanctra-app .group-invitation-form input {height:44px;margin-top:8px;padding:10px 14px;}
.sanctra-app .group-invitation-form button {height:44px;margin:0;white-space:nowrap;padding:10px 18px;}
.sanctra-app .timer-ring { container-type:inline-size; -webkit-backdrop-filter:var(--sanctra-glass-blur); backdrop-filter:var(--sanctra-glass-blur); }
@media(prefers-reduced-transparency:reduce){.sanctra-app .timer-ring{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--sanctra-ink);}}
.sanctra-app .timer-ring .timer-readout { font-size:clamp(28px,14.5cqw,82px) !important; max-width:82%; white-space:nowrap; line-height:1.15; letter-spacing:-.035em; }
@media (min-width:768px) and (max-width:1194px) {
 .focus-audio-panel { max-height:calc(100dvh - 40px); }
 .profile-live-preview-card { min-width:0; }
 .ticket-message { overflow-wrap:anywhere; }
}


.sanctra-app .ticket-message.ticket-own { align-self:flex-end; background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent)!important; }
.sanctra-app .ticket-message.ticket-other { align-self:flex-start; }
.ticket-conversation>h2 { margin-block:12px 8px; overflow-wrap:anywhere; }
.ticket-conversation form { padding-top:18px; border-top:1px solid #ffffff18; display:grid;gap:12px; }
.ticket-list { display:grid;gap:10px; margin-top:18px; }
.ticket-list>button { background:color-mix(in srgb,var(--sanctra-surface) 20%,transparent); border:1px solid #ffffff16; }
.ticket-list>button:hover { border-color:var(--sanctra-sage); }

/* Compact audio controls share the surrounding glass rather than a solid tile. */
.sanctra-app .audio-header-control.audio-header-active {
 gap:0; padding:0; height:44px; border-radius:999px;
 background:color-mix(in srgb,var(--sanctra-ink) 58%,transparent);
 border:1px solid color-mix(in srgb,var(--sanctra-paper) 17%,transparent);
 box-shadow:inset 0 1px 0 #ffffff06; backdrop-filter:blur(var(--sanctra-panel-blur,12px));
}
.sanctra-app .audio-header-active .audio-header-btn {
 display:flex;align-items:center;gap:10px;width:auto!important;max-width:260px;
 height:42px!important;min-height:42px!important;min-width:0!important;
 padding:0 14px!important;border:0!important;border-radius:999px 0 0 999px!important;
 background:transparent!important;box-shadow:none!important;color:var(--sanctra-paper);
}
.sanctra-app .audio-header-active .audio-header-btn svg {flex-shrink:0;opacity:.8;}
.sanctra-app .audio-header-active .audio-now-playing-name {
 min-width:0;max-width:205px;font-size:13px;line-height:1.3;font-weight:500;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sanctra-paper);
}
.sanctra-app .audio-header-active .audio-header-stop {
 width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
 padding:0!important;border:0!important;border-radius:0 999px 999px 0!important;
 background:transparent!important;color:var(--sanctra-muted);box-shadow:none!important;
}
.sanctra-app .audio-header-active .audio-header-stop:hover {background:#ffffff0a!important;color:var(--sanctra-paper);}
@media(min-width:768px) and (max-width:1194px){
 .sanctra-app .audio-header-active .audio-now-playing-name{max-width:155px;}
}

/* Platform notices belong to the active theme, including maintenance notices. */
.sanctra-app .platform-notice {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1040px;margin:0 auto 18px;padding:13px 18px;border:1px solid color-mix(in srgb,var(--sanctra-paper) 16%,transparent);border-radius:18px;background:color-mix(in srgb,var(--sanctra-ink) 38%,transparent);backdrop-filter:blur(var(--sanctra-panel-blur,12px));color:var(--sanctra-paper);font-size:14px;line-height:1.55;}
.platform-notice>div {min-width:0;overflow:visible!important;}
.platform-notice-dot {width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--sanctra-sage);}
.platform-notice-text {overflow-wrap:anywhere;font-weight:500;}
.platform-notice>span {color:var(--sanctra-muted);font-size:12px!important;opacity:1!important;}
.announcement-delivery {display:grid;gap:12px;padding:18px;border:1px solid #ffffff20;border-radius:18px;margin-block:18px;}
.announcement-delivery legend {padding-inline:8px;color:var(--sanctra-paper);font-weight:600;}
.announcement-delivery label {display:grid;gap:6px;}
.announcement-delivery small {color:var(--sanctra-muted);line-height:1.6;}
.sanctra-app .vip-motion-settings {gap:16px;background:color-mix(in srgb,var(--sanctra-surface) 18%,transparent);border-color:#ffffff20;}
.motion-setting-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;}
.motion-setting-heading strong {font-size:15px;color:var(--sanctra-paper);}
.motion-setting-heading p {font-size:13px;line-height:1.65;color:var(--sanctra-muted);margin-top:6px;}
.sanctra-app .motion-toggle {width:48px!important;min-width:48px!important;min-height:28px!important;height:28px!important;padding:3px!important;border:1px solid #ffffff30!important;border-radius:999px!important;background:#ffffff15!important;box-shadow:none!important;}
.motion-toggle>span {display:block;width:20px;height:20px;border-radius:50%;background:var(--sanctra-paper);transition:transform .2s;}
.sanctra-app .motion-toggle[aria-checked=true] {background:var(--sanctra-sage)!important;}
.motion-toggle[aria-checked=true]>span {transform:translateX(20px);background:var(--sanctra-ink);}
.motion-toggle:disabled {opacity:.5;}
.custom-wallpaper-details {border-top:1px solid #ffffff18;padding-top:16px;}
.custom-wallpaper-details summary {cursor:pointer;font-size:13px;color:var(--sanctra-paper);padding-block:8px;}
.custom-wallpaper-details label {display:grid!important;gap:8px;margin-top:14px;font-size:13px;}
.sanctra-app :is(.workspace-footnote,.group-muted,.ticket-list small) {opacity:1;line-height:1.65;}
@media(min-width:768px) and (max-width:1194px){.announcement-editor.workspace-grid{grid-template-columns:1fr;}.platform-notice{flex-wrap:wrap;}.platform-notice>span{margin-left:14px;}}
.sanctra-app .announcement-editor form label:not(.checkbox-label) {display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;}
.sanctra-app .announcement-editor form .inbox-input {width:100%;min-width:0;margin-top:0;}
.sanctra-app .announcement-editor .workspace-grid {gap:16px;}
.sanctra-app .custom-wallpaper-details .inbox-input {width:100%;margin-top:0;}
/* Identity atelier: coordinated artwork, with restrained community previews. */
.identity-collections {padding:24px;border:1px solid var(--sanctra-glass-border);border-radius:24px;background:var(--sanctra-glass-bg);}
.identity-collections>header {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;}
.identity-collections h3 {font-size:26px;font-family:var(--sanctra-serif);margin:8px 0;}
.identity-collections p {color:var(--sanctra-muted);font-size:14px;line-height:1.65;max-width:560px;}
.identity-collection-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;}
.identity-collection-grid>button {text-align:left;border-radius:18px;overflow:hidden;border:1px solid #ffffff24;background:transparent;transition:border-color .2s;min-width:0;}
.identity-collection-grid>button[aria-pressed=true] {border-color:var(--sanctra-sage);box-shadow:0 0 0 2px color-mix(in srgb,var(--sanctra-sage) 14%,transparent);}
.collection-art {height:136px;position:relative;isolation:isolate;}
.collection-art>img {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-1;}
.collection-medallion {position:absolute;left:22px;bottom:22px;width:62px;height:62px;border-radius:18px;}
.collection-medallion img {width:100%;height:100%;border-radius:inherit;}
.collection-equipped {position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:4px;font-size:11px;color:#eef3f5;padding:6px 9px;border-radius:20px;background:#10182499;}
.collection-caption {padding:16px 18px;display:grid;gap:6px;background:color-mix(in srgb,var(--sanctra-ink) 35%,transparent);}
.collection-caption strong {font-size:16px;letter-spacing:.01em;color:var(--sanctra-paper);}
.collection-caption span {font-size:12px;line-height:1.5;color:var(--sanctra-muted);}
.identity-context-previews {padding:16px 20px 20px;display:grid;gap:12px;}
.identity-context-previews>p {font-size:12px;color:var(--sanctra-muted);}
.identity-context-row {position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px;border-radius:16px;border:1px solid #ffffff1a;min-height:96px;}
.identity-context-row>div:not(.ranking-identity-wash) {position:relative;z-index:1;}
.identity-context-row>div:nth-last-of-type(1) {flex:1;min-width:0;}
.identity-context-row small {display:block;margin-bottom:4px;color:var(--sanctra-muted);font-size:11px;}
.identity-context-row strong {font-size:15px;margin-right:8px;}
.identity-context-row>span {position:relative;color:var(--sanctra-paper);font-size:13px;max-width:180px;line-height:1.5;}
.identity-advanced {padding:16px;border:1px solid #ffffff20;border-radius:16px;}
.identity-advanced summary {cursor:pointer;font-size:14px;min-height:32px;}
.identity-advanced label {display:grid!important;gap:8px;margin-top:16px;}
.identity-advanced small {font-size:12px;color:var(--sanctra-muted);line-height:1.6;}
.sanctra-app .profile-page fieldset {border-color:var(--sanctra-glass-border);background:transparent;}
.sanctra-app .identity-context-row .profile-avatar.small {width:44px;height:44px;flex-shrink:0;}
.sanctra-app .identity-context-row .ranking-cover {opacity:.65;}
@media(min-width:1400px){.identity-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:850px){.identity-context-row{flex-wrap:wrap;}.identity-context-row>span{max-width:none;margin-left:60px;}}
.integrity-badge {display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;font-size:11px;line-height:1.3;font-weight:600;border:1px solid #d8caa44a;color:#e2d7bf;background:#61564430;vertical-align:middle;}
.integrity-badge.confirmed {color:#f0c3c6;border-color:#d1989e66;background:#74383d33;}
.integrity-panel>header {display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;}
.integrity-panel p {color:var(--sanctra-muted);font-size:14px;line-height:1.65;}
.integrity-review-row {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--sanctra-glass-border);}
.integrity-review-row strong {margin-right:10px;}
.integrity-review-form {display:grid;gap:16px;margin-top:24px;}
.integrity-review-form label {display:grid!important;gap:8px;}
.integrity-connection {font-size:13px;line-height:1.65;max-width:750px;margin-inline:auto;}
.sanctra-app .collection-medallion {position:absolute;border-width:1px!important;outline-width:1px!important;outline-offset:2px;box-shadow:0 3px 16px #0004!important;animation:none!important;}
.sanctra-app .collection-medallion::before,.sanctra-app .collection-medallion::after {display:none!important;}
.sanctra-app .character-avatar-list {margin-top:16px;}
.sanctra-app .profile-live-preview-header>div svg {animation:none;}
.sanctra-app .profile-page .profile-avatar[class*="avatar-frame-"],.sanctra-app .identity-context-row .profile-avatar[class*="avatar-frame-"] {outline-width:1px!important;outline-offset:2px;border-width:1px!important;}
.sanctra-app .identity-context-row .profile-avatar[class*="avatar-effect-"] {box-shadow:0 0 0 1px color-mix(in srgb,var(--identity-aura) 60%,transparent),0 0 12px color-mix(in srgb,var(--identity-aura) 28%,transparent)!important;}
.sanctra-app .identity-context-row .profile-avatar[class*="avatar-effect-"]::before {inset:-4px;box-shadow:none;filter:blur(2px);}
.sanctra-app .identity-context-row .profile-avatar[class*="avatar-effect-"]::after {inset:-3px;padding:1px;}
.sanctra-app .profile-editor label:not(.checkbox-label) {display:grid!important;gap:8px;align-items:start;}
.sanctra-app .profile-editor .inbox-input {width:100%;min-width:0;margin-top:0;}
.sanctra-app .profile-editor .workspace-grid {gap:18px;}

/* Shared optical material across WebKit and desktop. */
.sanctra-app {--sanctra-glass-blur:blur(var(--sanctra-panel-blur,12px)) saturate(115%);}
.sanctra-app .workspace-panel :is(.workspace-panel,.profile-stats>div,.identity-collections,.profile-live-preview-box,.identity-context-row,.glass-card,.glass-panel) {
 -webkit-backdrop-filter:var(--sanctra-glass-blur)!important; backdrop-filter:var(--sanctra-glass-blur)!important;
 box-shadow:inset 0 1px 0 #ffffff0a!important;
 background:color-mix(in srgb,var(--sanctra-ink) 18%,transparent)!important;
}
/* Empty states must retain their own spacing even when used as a page container. */
.sanctra-app .empty-panel {box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-width:0;max-width:100%;padding:clamp(32px,5vw,56px) clamp(24px,4vw,48px);text-align:center;}
.sanctra-app .empty-panel :is(h1,h2,h3,p) {max-width:min(100%,520px);width:auto;min-width:0;margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.65;}
.sanctra-app .empty-panel :is(h1,h2,h3) {line-height:1.25;text-wrap:balance;}
.sanctra-app .empty-panel button {margin-top:8px;max-width:100%;white-space:normal;}
.sanctra-app :is(.workspace-page,.workspace-grid,.workspace-panel,.ranking-person,.ticket-body,.support-workspace)>* {min-width:0;}
.sanctra-app .workspace-page {max-width:1120px;box-sizing:border-box;}
.sanctra-app :is(.workspace-heading,.workspace-panel)>p {white-space:normal;overflow-wrap:anywhere;}
/* Profile Studio: clear hierarchy, coordinated artwork and a persistent preview. */
.sanctra-app .profile-studio {padding:28px;margin-bottom:28px;overflow:visible;}
.studio-heading {display:flex;justify-content:space-between;align-items:start;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--sanctra-glass-border);}
.studio-heading h2 {font-family:var(--sanctra-serif,'Playfair Display',Georgia,serif);font-size:32px;font-weight:400;margin:6px 0 10px;color:var(--sanctra-paper);letter-spacing:-0.02em;}
.studio-heading p {font-size:14px;color:var(--sanctra-muted);line-height:1.6;}
.studio-draft {font-size:11px;line-height:1.5;border:1px solid var(--sanctra-glass-border);border-radius:24px;padding:8px 14px;color:var(--sanctra-muted);white-space:nowrap;background:color-mix(in srgb,var(--sanctra-surface) 40%,transparent);}
.studio-layout {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding-top:24px;align-items:start;}
.studio-controls,.studio-preview {min-width:0;}
.studio-nav {display:flex;gap:6px;padding:5px;border:1px solid var(--sanctra-glass-border);border-radius:14px;margin-bottom:28px;background:color-mix(in srgb,var(--sanctra-ink) 45%,transparent);}
.sanctra-app .studio-nav button {flex:1;min-height:42px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4;border:1px solid transparent!important;border-radius:10px!important;box-shadow:none!important;background:transparent!important;color:var(--sanctra-muted);display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:color 0.18s ease,background 0.18s ease,border-color 0.18s ease;}
.sanctra-app .studio-nav button:hover {color:var(--sanctra-paper);background:color-mix(in srgb,var(--sanctra-surface) 40%,transparent)!important;}
.sanctra-app .studio-nav button[aria-current=page] {background:color-mix(in srgb,var(--sanctra-sage) 14%,var(--sanctra-surface))!important;color:var(--sanctra-paper)!important;border-color:color-mix(in srgb,var(--sanctra-sage) 32%,transparent)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,0.1)!important;font-weight:600;}
.studio-subheading {font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--sanctra-muted);margin-bottom:10px;display:block;}
.studio-section[hidden] {display:none!important;}
.studio-section h3 {font-family:var(--sanctra-serif,'Playfair Display',Georgia,serif);font-size:22px;font-weight:400;margin:0 0 8px;color:var(--sanctra-paper);}
.studio-description {font-size:13px;line-height:1.7;color:var(--sanctra-muted);margin:0 0 24px;}
.sanctra-app .profile-studio label {margin:20px 0;font-size:13px;color:var(--sanctra-paper);}
.profile-studio label small {font-size:11px;color:var(--sanctra-muted);}
.sanctra-app .profile-studio .inbox-input {padding:13px 14px;border-radius:12px;line-height:1.55;background:color-mix(in srgb,var(--sanctra-ink) 26%,transparent)!important;box-shadow:none!important;}
.profile-studio textarea {resize:vertical;min-height:104px;}
.profile-studio .identity-collections {padding:0;border:0;background:transparent!important;box-shadow:none!important;}
.profile-studio .identity-collections h3 {font-size:24px;}
.profile-studio .identity-collections p {font-size:13px;}
.profile-studio .identity-collection-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.profile-studio .collection-art {height:150px;}
.profile-studio .collection-caption {padding:14px;}
.profile-studio .collection-caption span {font-size:11px;}
.profile-studio .collection-medallion {width:64px;height:64px;left:16px;bottom:16px;}
.profile-studio .identity-advanced {margin:20px 0;padding:16px;border-radius:14px;}
.profile-studio .identity-advanced summary {display:list-item;min-height:28px;line-height:1.8;color:var(--sanctra-paper);}
.studio-finetune {display:grid;gap:22px;margin-top:28px;}
.studio-finetune h3 {margin:0;}
.studio-finetune .profile-option-pill {font-size:12px;padding:10px 14px;min-height:42px;}
.studio-preferences {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.studio-goal {display:flex;gap:16px;padding:22px 0;margin:24px 0;border-block:1px solid var(--sanctra-glass-border);}
.studio-goal>svg {color:var(--sanctra-sage);flex-shrink:0;margin-top:4px;}
.studio-goal small {display:block;font-size:11px;color:var(--sanctra-muted);margin-bottom:8px;}
.studio-goal strong {font-size:16px;display:block;color:var(--sanctra-paper);}
.studio-goal p {font-size:13px;color:var(--sanctra-muted);margin:8px 0 16px;}
.studio-preview {position:sticky;top:24px;}
.profile-studio .profile-live-preview-box {padding:0;margin:0;border-radius:20px;overflow:hidden;background:transparent!important;}
.profile-studio .profile-live-preview-header {padding:16px 18px;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--sanctra-glass-border);}
.profile-studio .profile-live-preview-header strong {font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sanctra-paper);}
.profile-studio .profile-live-preview-header>span {font-size:11px;color:var(--sanctra-muted);}
.profile-studio .profile-live-preview-card {padding:0;overflow:hidden;}
.profile-studio .preview-identity {padding:32px 24px;flex-direction:column;align-items:flex-start;min-height:290px;gap:22px;}
.profile-studio .preview-identity h2,
.profile-studio .preview-name {font-family:var(--sanctra-serif,'Playfair Display',Georgia,serif);font-size:27px;font-weight:400;overflow-wrap:anywhere;white-space:normal;margin:8px 0;line-height:1.2;color:var(--sanctra-paper);}
.profile-studio .preview-identity .profile-avatar {width:84px;height:84px;border-radius:24px;}
.profile-studio .preview-identity p,
.profile-studio .preview-bio {font-size:13px;line-height:1.65;color:var(--sanctra-muted);margin:0;}
.profile-studio .identity-context-previews {position:relative;background:color-mix(in srgb,var(--sanctra-ink) 55%,transparent);padding:18px;gap:12px;border-top:1px solid var(--sanctra-glass-border);}
.profile-studio .identity-context-row {padding:14px;gap:12px;flex-wrap:wrap;min-height:80px;}
.profile-studio .identity-context-row strong {display:block;font-size:13px;overflow-wrap:anywhere;color:var(--sanctra-paper);}
.profile-studio .identity-context-row>span {font-size:11px;margin-left:56px;max-width:100%;color:var(--sanctra-muted);}
.studio-preview-note {font-size:12px;line-height:1.7;color:var(--sanctra-muted);padding:16px 8px;}
.studio-savebar {display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;margin-top:28px;border-top:1px solid var(--sanctra-glass-border);}
.studio-savebar p {font-size:12px;line-height:1.65;color:var(--sanctra-muted);}
.studio-savebar .workspace-actions {margin:0;flex-shrink:0;}
.studio-savebar .studio-error {color:#f3c6c6;}
.sanctra-app :is(.studio-nav button,.identity-collection-grid button,.avatar-choices button,.profile-option-pill):focus-visible {outline:2px solid var(--sanctra-sage);outline-offset:4px;}
.sanctra-app .avatar-choices button[aria-pressed=true] {outline:2px solid var(--sanctra-sage);outline-offset:3px;}
@media (max-width:1050px) {
 .studio-layout {grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:22px;}
 .sanctra-app .profile-studio {padding:24px;}
 .studio-draft {display:none;}
}
@media (max-width:900px) {
 .studio-layout {grid-template-columns:1fr;}
 .studio-preview {position:static;grid-row:1;}
 .profile-studio .preview-identity {flex-direction:row;align-items:center;min-height:180px;padding:28px;}
 .profile-studio .identity-context-previews {grid-template-columns:repeat(2,minmax(0,1fr));}
 .profile-studio .identity-context-previews>p {grid-column:1/-1;}
 .studio-preview-note {display:none;}
 .studio-savebar {align-items:flex-start;}
}
@media (max-width:640px) {
 .sanctra-app .profile-studio {padding:16px 12px;margin-bottom:20px;}
 .studio-heading {flex-direction:column;gap:12px;padding-bottom:16px;}
 .studio-heading h2 {font-size:24px;margin:4px 0 6px;}
 .studio-nav {gap:4px;padding:3px;margin-bottom:20px;}
 .sanctra-app .studio-nav button {min-height:38px;padding:6px 4px;font-size:11.5px;gap:5px;}
 .profile-studio .preview-identity {flex-direction:column!important;align-items:flex-start!important;padding:20px 16px!important;min-height:auto!important;}
 .profile-studio .identity-context-previews {grid-template-columns:1fr!important;padding:12px;}
 .profile-studio .identity-context-row {min-height:auto;padding:10px;}
 .sanctra-app .profile-studio .studio-savebar {flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px;}
 .sanctra-app .profile-studio .studio-savebar .workspace-actions {display:flex;width:100%;justify-content:flex-end;}
}
@media (prefers-reduced-transparency:reduce) {.sanctra-app .workspace-panel {background:var(--sanctra-ink)!important;-webkit-backdrop-filter:none!important; backdrop-filter:none!important;}}
.profile-studio .profile-live-preview-card>.vip-profile-cover {opacity:.6;height:300px;mask-image:linear-gradient(#000 35%,transparent);-webkit-mask-image:linear-gradient(#000 35%,transparent);}
.profile-studio .preview-identity {position:relative;z-index:1;}
@media(max-width:900px){.profile-studio .profile-live-preview-card>.vip-profile-cover {height:200px;}}
.sanctra-app .profile-studio .studio-savebar {position:sticky;bottom:12px;z-index:3;padding:16px 18px;border:1px solid var(--sanctra-glass-border);border-radius:16px;background:color-mix(in srgb,var(--sanctra-ink) 80%,transparent);-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)); backdrop-filter:blur(var(--sanctra-panel-blur,12px));box-shadow:0 8px 24px #0002;}
.sanctra-app .profile-studio .identity-context-row {display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px 12px;}
.sanctra-app .profile-studio .identity-context-row>span {grid-column:2;margin:0;max-width:100%;}
.sanctra-app .profile-studio .identity-context-row>div:nth-last-of-type(1) {min-width:0;}
.sanctra-app .profile-studio .inbox-input {min-height:46px!important;height:auto!important;}
.sanctra-app .profile-studio textarea.inbox-input {min-height:112px!important;}
.sanctra-app .profile-studio .profile-live-preview-header {margin-bottom:0;}
/* One account entry surface, using the selected scene's palette. */
.auth-overlay.account-access {position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#030c16a6!important;-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px))!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px))!important;overflow-y:auto;}
.auth-overlay .auth-modal.account-access-card {position:relative;width:min(100%,480px);max-height:calc(100dvh - 48px);overflow:auto;padding:40px!important;border:1px solid #ffffff2b!important;border-radius:28px!important;background:color-mix(in srgb,var(--sanctra-ink) 85%,transparent)!important;-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important;box-shadow:0 32px 100px #0006,inset 0 1px #ffffff18!important;color:#f5f4ef!important;}
.account-access-card .account-access-close {position:absolute;right:18px;top:18px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:50%;background:#ffffff05;color:var(--sanctra-muted);}
.account-access-brand {display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.2em;color:var(--sanctra-sage);margin-bottom:28px;}
.account-access-card .account-access-eyebrow {font-size:10px;letter-spacing:.16em;color:var(--sanctra-sage);margin:0 0 10px;}
.account-access-card h2 {font-size:32px!important;font-weight:400!important;line-height:1.2!important;margin:0 0 14px!important;color:#f5f4ef!important;}
.account-access-card header>p:last-child {font-size:14px;line-height:1.7;color:var(--sanctra-muted);margin:0 0 28px;}
.account-access-card :is(.account-access-google,.account-access-secondary,.account-access-submit) {display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border-radius:14px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .18s,border-color .18s;}
.account-access-card .account-access-google {background:#f4f6f6;color:#16232a;border:1px solid #ffffff80;}
.account-access-google>svg:last-child {margin-left:auto;}.account-access-google {padding:0 18px;}.account-access-google>span {flex:1;text-align:left;}
.account-access-card .account-access-secondary {background:#ffffff04;border:1px solid #ffffff26;color:#f5f4ef;}
.account-access-secondary:hover {background:#ffffff0b;}.account-access-google:hover {background:#fff;}
.account-access-divider {display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--sanctra-muted);font-size:11px;}
.account-access-divider::before,.account-access-divider::after {content:'';height:1px;background:#ffffff16;flex:1;}
.account-access-form {display:grid;gap:16px;margin-top:24px;}.account-access-form label {font-size:12px;color:var(--sanctra-muted);display:grid;gap:8px;}
.account-access-form input {width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;font:inherit;font-size:15px;color:#f5f4ef;border:1px solid #ffffff26;border-radius:12px;background:color-mix(in srgb,var(--sanctra-ink) 50%,transparent);}
.account-access-card .account-access-submit {background:var(--sanctra-sage);color:var(--sanctra-ink);border:0;margin-top:4px;}
.account-access-link {border:0;background:none;min-height:44px;font-size:12px;color:var(--sanctra-sage);}.account-access-card .account-access-footnote {font-size:11px;line-height:1.7;text-align:center;color:var(--sanctra-muted);margin:24px 0 0;}
.account-access-error {padding:12px;border-radius:12px;background:#df8e8314;border:1px solid #df8e8350;color:#f1b5a9;font-size:13px;line-height:1.6;}
.account-access-summary {display:grid;gap:10px;border:1px solid #ffffff20;border-radius:16px;padding:20px;margin-bottom:20px;}.account-access-summary span{font-size:13px;color:var(--sanctra-muted);overflow-wrap:anywhere;}.account-access-summary small{display:flex;align-items:center;gap:8px;color:var(--sanctra-sage);}
.account-access-confirm p {font-size:13px;color:var(--sanctra-muted);}.account-access-confirm button{min-height:44px;background:#ffffff08;border:1px solid #ffffff25;color:#f5f4ef;border-radius:12px;padding:10px 14px;margin-right:10px;}
.account-access-card :is(button,input):focus-visible{outline:2px solid var(--sanctra-sage);outline-offset:4px;}.account-access-card button:disabled{opacity:.6;cursor:wait;}.account-access-spinner{animation:account-spin 1s linear infinite;}@keyframes account-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.account-access-spinner{animation:none;}}

/* Study helper: a quiet side conversation, using the active atmosphere. */
.sanctra-app .ai-study-launcher {width:auto;gap:8px;padding-inline:14px;color:var(--sanctra-sage);font-size:12px;white-space:nowrap;}
.ai-study-overlay {position:fixed;inset:0;z-index:110;background:#02081145;display:flex;justify-content:flex-end;padding:16px;}
.ai-study-drawer {display:flex;flex-direction:column;width:min(520px,100%);height:100%;min-height:0;overflow:hidden;border:1px solid #ffffff25;border-radius:24px;color:var(--sanctra-text,#f2f4f6);background:color-mix(in srgb,var(--sanctra-ink) 93%,transparent);-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)); backdrop-filter:blur(var(--sanctra-panel-blur,12px));box-shadow:0 24px 80px #0005;animation:helper-enter .25s ease-out;}
.ai-study-drawer>div:first-child {background:transparent;border-color:#ffffff18;padding:22px;}
.ai-study-drawer>div:nth-child(2) {background:#00000015;border-color:#ffffff18;padding:4px 14px;}
.ai-study-drawer>div:nth-child(3) {min-height:0;padding:22px;}
.ai-study-drawer h2 {font-size:18px;letter-spacing:-.025em;}
.ai-study-drawer .text-xs {font-size:13px;line-height:1.65;}
.ai-study-drawer .h-\[52vh\] {height:100%;min-height:300px;}
.ai-study-drawer input,.ai-study-drawer textarea {background:#02081145!important;border-color:#ffffff25!important;font-size:14px;min-height:44px;}
.ai-study-drawer [class*="bg-emerald"] {background:color-mix(in srgb,var(--sanctra-sage) 18%,var(--sanctra-ink))!important;}
.ai-study-drawer [class*="text-emerald"] {color:var(--sanctra-sage)!important;}
.ai-study-drawer [class*="border-emerald"] {border-color:var(--sanctra-sage)!important;}
.ai-study-drawer [class*="bg-slate"] {background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent)!important;}
.account-access-brand {letter-spacing:normal;}.account-access-brand .sanctra-wordmark {font-size:27px;}.account-access-brand .sanctra-brand-mark {width:28px;height:28px;}
@keyframes helper-enter {from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@media (min-width:768px) and (max-width:1100px){.sanctra-app .ai-study-launcher span{max-width:100px;white-space:normal;line-height:1.2;}.ai-study-overlay{padding:12px}.ai-study-drawer{width:min(480px,70vw)}}
@media(prefers-reduced-motion:reduce){.ai-study-drawer{animation:none}}

/* Shared glass clarity, deliberately independent of wallpaper opacity. */
.sanctra-app :is(.workspace-panel,.analytics-card,.glass-card,.glass-panel,.glass-modal,.glass-pill,.group-member-row,.conversation-bubble,.studio-section,.profile-hero,.inbox-item,.ticket-card,.settings-modal,.ai-study-drawer,.studio-preview,.studio-savebar,.inbox-input,.group-input,.platform-notice){-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important;}
.glass-blur-control{padding:22px;}.glass-blur-control h3{font-size:16px}.glass-blur-control p{font-size:13px;color:var(--sanctra-muted);line-height:1.7;margin:8px 0 20px}.glass-blur-control label,.glass-blur-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--sanctra-muted);}.glass-blur-control output{color:var(--sanctra-sage);font-variant-numeric:tabular-nums}.sanctra-app .sanctra-range{appearance:none;-webkit-appearance:none;width:100%;height:6px;margin:24px 0;background:color-mix(in srgb,var(--sanctra-sage) 24%,transparent);border:0;border-radius:10px;cursor:pointer;}.sanctra-range::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border:4px solid var(--sanctra-ink);border-radius:50%;background:var(--sanctra-sage);box-shadow:0 0 0 1px #ffffff50,0 3px 8px #0004;}.sanctra-range::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--sanctra-ink);border-radius:50%;background:var(--sanctra-sage)}.sanctra-range:focus-visible{outline:2px solid var(--sanctra-sage);outline-offset:8px;}
.task-overview-grid{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:16px}.task-overview-grid>.workspace-panel{margin:0;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0}.task-overview-grid small{font-size:11px;color:var(--sanctra-muted);letter-spacing:.08em;text-transform:uppercase}.task-overview-grid strong{font-size:36px;font-weight:500;color:var(--sanctra-sage)}.task-overview-grid span{font-size:12px;color:var(--sanctra-muted);line-height:1.6}.task-exam-countdown{cursor:pointer;border-style:dashed!important}.profile-exam-setup{scroll-margin-top:90px}.profile-exam-setup>header{margin-bottom:20px}.profile-exam-setup h2,.study-details h2{font-size:27px;font-weight:400;font-family:var(--font-display,Georgia)}.profile-exam-setup>header>p:last-child{font-size:13px;color:var(--sanctra-muted);margin-top:8px}.profile-exam-setup .planner-view{padding:0;max-width:none}.profile-exam-setup .glass-card{background:color-mix(in srgb,var(--sanctra-ink) 40%,transparent)!important;box-shadow:inset 0 1px #ffffff12}.study-details>header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}.study-details>header p:last-child{font-size:13px;color:var(--sanctra-muted);margin-top:8px}.study-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.study-detail{display:flex;gap:16px;align-items:center;min-width:0;padding:18px;border:1px solid #ffffff18;border-radius:18px;background:#00000010}.study-detail>svg{color:var(--sanctra-sage);flex-shrink:0}.study-detail>div{flex:1;min-width:0}.study-detail small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:var(--sanctra-muted);margin-bottom:5px}.study-detail strong{display:block;font-size:15px;font-weight:500;overflow-wrap:anywhere}.study-details form>button{margin-top:20px}.study-details form>p{display:flex;gap:8px;margin-top:16px;color:var(--sanctra-sage);font-size:13px}.study-detail label{font-size:12px}.study-detail .inbox-input{width:100%;min-width:0;margin-top:8px}
.group-population{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap;font-size:13px;color:var(--sanctra-muted)}.group-population>span{display:flex;align-items:center;gap:6px}.group-population strong{color:#f3f4f6}.group-population .is-active{color:var(--sanctra-sage)}.group-population i{width:6px;height:6px;border-radius:50%;background:var(--sanctra-sage)}.invite-members-dialog{position:relative;width:min(540px,100%);padding:36px!important}.invite-members-dialog h2{font:400 28px var(--font-display,Georgia);padding-right:24px;overflow-wrap:anywhere}.invite-members-dialog>p{line-height:1.7;font-size:14px;color:var(--sanctra-muted);margin:12px 0 22px}.invite-members-dialog .invite-close{position:absolute;right:18px;top:18px}.invite-members-dialog label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sanctra-muted)}.invite-members-dialog input{width:100%;font-size:clamp(17px,2.5vw,25px);letter-spacing:.12em;text-align:center;font-family:monospace;padding:24px 12px;margin:12px 0 24px;border:1px dashed color-mix(in srgb,var(--sanctra-sage) 50%,transparent);border-radius:16px;background:#00000015;color:var(--sanctra-sage)}.invite-members-dialog .workspace-actions{flex-wrap:wrap}
.global-ranking-board{max-width:1200px!important;margin:auto;display:flex;flex-direction:column;gap:24px}.ranking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.ranking-toolbar>div:first-child{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sanctra-muted)}.ranking-toolbar svg{color:var(--sanctra-sage)}.ranking-live-dot{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.ranking-live-dot::before{content:'';width:5px;height:5px;background:var(--sanctra-sage);border-radius:50%}.ranking-toolbar .workspace-tabs{margin:0}.ranking-leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:end;max-width:900px;width:100%;align-self:center}.ranking-leader{position:relative;isolation:isolate;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 20px!important;margin:0!important;min-height:230px}.ranking-leader.leader-1{order:2;min-height:270px}.ranking-leader.leader-2{order:1}.ranking-leader.leader-3{order:3}.ranking-leader .profile-avatar{width:64px;height:64px;flex-shrink:0}.ranking-leader.leader-1 .profile-avatar{width:80px;height:80px}.leader-place{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sanctra-sage)}.ranking-leader>strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}.leader-time{font-size:25px;font-variant-numeric:tabular-nums;color:#f5f5f0;letter-spacing:-.03em}.ranking-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.global-ranking-board .ranking-results{padding:22px!important;margin:0;min-width:0}.ranking-results>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.ranking-results h2{font-size:19px;font-weight:400}.ranking-search{display:flex;gap:8px;align-items:center;min-width:0;max-width:240px;border:1px solid #ffffff20;border-radius:12px;padding:8px 12px;color:var(--sanctra-muted)}.ranking-search input{min-width:0;width:100%;background:transparent;border:0;color:#f4f5f6;font-size:12px;outline:none}.ranking-search:focus-within{outline:2px solid var(--sanctra-sage);outline-offset:2px}.ranking-table-labels{display:flex;justify-content:space-between;padding:0 12px 12px;color:var(--sanctra-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.global-ranking-board .ranking-row{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:14px;padding:16px 12px;margin:0;border:0;border-top:1px solid #ffffff12;border-radius:0;min-width:0;background:transparent}.global-ranking-board .ranking-row.is-self{border-radius:14px;background:color-mix(in srgb,var(--sanctra-sage) 8%,transparent)}.global-ranking-board .ranking-place{font-size:14px;width:34px;flex-shrink:0;color:var(--sanctra-muted)}.global-ranking-board .ranking-row .profile-avatar{width:42px;height:42px;flex-shrink:0}.global-ranking-board .ranking-person{flex:1;min-width:0}.global-ranking-board .ranking-person>strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;overflow-wrap:anywhere}.global-ranking-board .ranking-person p{font-size:11px;color:var(--sanctra-muted);margin:5px 0 0}.global-ranking-board .ranking-person>div{display:flex;gap:5px;margin-top:4px}.ranking-you{font-size:9px;padding:2px 6px;border-radius:20px;color:var(--sanctra-sage);background:#ffffff0b}.global-ranking-board .ranking-score{font-size:17px;white-space:nowrap;flex-shrink:0;font-weight:500;font-variant-numeric:tabular-nums}.ranking-empty{padding:30px 12px;color:var(--sanctra-muted);font-size:13px;line-height:1.7}.ranking-empty h3{font:400 22px var(--font-display,Georgia);margin-bottom:8px;color:#f4f4f0}.ranking-personal{position:sticky;top:16px;padding:26px!important;margin:0!important}.ranking-personal-identity{display:flex;gap:14px;align-items:center;margin:22px 0}.ranking-personal-identity .profile-avatar{width:50px;height:50px;flex-shrink:0}.ranking-personal h2{font-size:17px;font-weight:500;overflow-wrap:anywhere}.ranking-personal-identity span{font-size:12px;color:var(--sanctra-muted)}.ranking-personal-stat{display:flex;gap:12px;align-items:center;padding:20px 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;color:var(--sanctra-sage)}.ranking-personal-stat small{display:block;font-size:11px;color:var(--sanctra-muted)}.ranking-personal-stat strong{font-size:32px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.ranking-next{margin:24px 0;display:flex;flex-direction:column;gap:10px}.ranking-next p{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--sanctra-sage)}.ranking-next strong{font-size:20px;font-weight:400}.ranking-next>span,.ranking-next small,.ranking-personal-note{font-size:12px;line-height:1.7;color:var(--sanctra-muted)}.ranking-target-track{height:5px;background:#ffffff15;border-radius:20px;overflow:hidden;margin:8px 0}.ranking-target-track span{display:block;height:100%;border-radius:inherit;background:var(--sanctra-sage)}.ranking-personal-note{margin-top:22px;font-size:11px}.ranking-results>.analytics-button{margin-top:20px}
@media(min-width:768px) and (max-width:1100px){.ranking-content-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.global-ranking-board .ranking-results{padding:16px!important}.ranking-results>header{flex-wrap:wrap;gap:12px}.ranking-search{max-width:none;width:100%}.global-ranking-board .ranking-row{gap:10px;padding-inline:4px}.global-ranking-board .ranking-place{width:27px}.global-ranking-board .ranking-score{font-size:14px}.ranking-personal{padding:20px!important}.ranking-leaders{gap:14px}.study-details-grid{gap:12px}.task-overview-grid{gap:12px}.task-overview-grid>.workspace-panel{padding:18px}.profile-exam-setup .planner-view{padding:0}}
@media(max-width:767px){.ranking-content-grid{grid-template-columns:1fr}.ranking-personal{position:static}.ranking-leaders{gap:10px}.ranking-leader{padding:20px 10px!important}.study-details-grid{grid-template-columns:1fr}.task-overview-grid{gap:8px}.task-overview-grid>.workspace-panel{padding:16px 10px}.task-overview-grid strong{font-size:26px}}

@media(prefers-reduced-transparency:reduce){.sanctra-app :is(.workspace-panel,.analytics-card,.glass-card,.glass-panel,.glass-modal,.glass-pill,.group-member-row,.conversation-bubble,.studio-section,.profile-hero,.inbox-item,.ticket-card,.settings-modal,.ai-study-drawer,.studio-preview,.studio-savebar,.inbox-input,.group-input,.platform-notice){-webkit-backdrop-filter:none!important; backdrop-filter:none!important;background:var(--sanctra-ink)!important;}}

.sanctra-app .global-ranking-board .workspace-panel{background:color-mix(in srgb,var(--sanctra-ink) 72%,transparent)!important;}
.sanctra-app .global-ranking-board .ranking-search{display:flex;margin:0;align-items:center;gap:8px;}
.sanctra-app .global-ranking-board .ranking-search input{min-height:28px;height:28px;padding:0;background:transparent!important;border:0;border-radius:0;font-size:13px;box-shadow:none;}
.sanctra-app .global-ranking-board .workspace-tabs button{color:var(--sanctra-paper,#f4f5f6);}
.sanctra-app .global-ranking-board .workspace-tabs button.active{color:var(--sanctra-ink);}

.sanctra-app{--sanctra-glass-blur:blur(var(--sanctra-panel-blur,12px)) saturate(115%);}
.sanctra-app :is(.app-sidebar,.analytics-button,.analytics-icon,.analytics-select,.glass-specular,.planner-date-control),.sanctra-app .group-modal>.analytics-card,.sanctra-app .auth-overlay .auth-modal.account-access-card{-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important;}
.ranking-leader>:not(.ranking-identity-wash){position:relative;z-index:1;}
@media(prefers-reduced-transparency:reduce){.sanctra-app{--sanctra-glass-blur:none}.sanctra-app :is(.app-sidebar,.analytics-button,.analytics-icon,.analytics-select,.glass-specular,.planner-date-control,.global-ranking-board .workspace-panel),.sanctra-app .group-modal>.analytics-card,.sanctra-app .auth-overlay .auth-modal.account-access-card{-webkit-backdrop-filter:none!important; backdrop-filter:none!important;background:var(--sanctra-ink)!important;}}

.ranking-personal{isolation:isolate;overflow:hidden}.ranking-personal>:not(.ranking-identity-wash){position:relative;z-index:1}.ranking-personal-identity .plus-badge{display:inline-flex;margin:8px 0}.ranking-personal-identity>div:last-child>span:last-child{display:block}

/* Exact utility tokens cover sibling overlays as well as panels inside the desk. */
:is(.backdrop-blur-sm,.backdrop-blur-md,.backdrop-blur-lg,.backdrop-blur-xl,.backdrop-blur-2xl,.backdrop-blur-3xl),.sanctra-app .conversation-search{-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important; backdrop-filter:blur(var(--sanctra-panel-blur,12px)) saturate(115%)!important;}
@media(prefers-reduced-transparency:reduce){:root{--sanctra-panel-blur:0px!important}:is(.backdrop-blur-sm,.backdrop-blur-md,.backdrop-blur-lg,.backdrop-blur-xl,.backdrop-blur-2xl,.backdrop-blur-3xl),.sanctra-app .conversation-search,.sanctra-app .workspace-panel :is(.workspace-panel,.profile-stats>div,.identity-collections,.profile-live-preview-box,.identity-context-row,.glass-card,.glass-panel){-webkit-backdrop-filter:none!important; backdrop-filter:none!important;}}

/* Compact ranking highlights keep member artwork inside the identity header. */
.global-ranking-board{gap:20px}.ranking-leaders{max-width:none;align-items:stretch;gap:16px}.ranking-leaders.leader-count-1{grid-template-columns:minmax(0,1fr);max-width:420px;align-self:flex-start}.ranking-leaders.leader-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-leader,.ranking-leader.leader-1{min-height:0;order:initial;padding:20px!important;align-items:stretch;text-align:left;gap:18px;border-radius:22px!important}.ranking-leader .ranking-identity-wash{height:100px;bottom:auto;opacity:.7;mask-image:linear-gradient(#000 0%,#0009 55%,transparent 100%)}.leader-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.leader-caption{font-size:10px;color:var(--sanctra-muted)}.leader-member{display:flex;align-items:center;gap:14px;min-width:0}.ranking-leader .profile-avatar,.ranking-leader.leader-1 .profile-avatar{width:52px;height:52px}.leader-details{min-width:0;flex:1}.leader-details>strong{font-size:15px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.leader-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;min-height:20px}.leader-tags :is(.plus-badge,.admin-badge){font-size:9px;padding:3px 7px;gap:4px}.leader-time{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:27px;line-height:1.2}.leader-time small{font-size:11px;letter-spacing:0;color:var(--sanctra-muted)}.ranking-personal{padding:22px!important;border-radius:22px!important}.ranking-personal .ranking-identity-wash{height:130px;bottom:auto;opacity:.65;mask-image:linear-gradient(#000,#0009 55%,transparent)}.ranking-personal-identity{margin:20px 0 18px;gap:12px}.ranking-personal-stat{padding:16px 0}.ranking-personal-stat strong{font-size:29px}.ranking-next{margin:20px 0;gap:8px}.ranking-next>span{font-size:11px}.ranking-personal>.analytics-button{width:100%;justify-content:center;font-size:12px;min-height:40px}.ranking-results{border-radius:22px!important}.ranking-results h2{font-family:inherit;font-size:16px;font-weight:600}.ranking-results>header{margin-bottom:16px}.global-ranking-board .ranking-row{padding-block:14px}.ranking-person>div:empty{display:none}.ranking-content-grid{gap:20px}.global-ranking-board .workspace-footnote{font-size:10px;line-height:1.7;max-width:850px}
@media(max-width:1100px){.ranking-content-grid{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.ranking-leader,.ranking-leader.leader-1{padding:16px!important}.leader-caption{display:none}.leader-member{gap:10px}.leader-time{font-size:24px}.ranking-leader .profile-avatar,.ranking-leader.leader-1 .profile-avatar{width:44px;height:44px}.leader-details>strong{font-size:13px}.ranking-personal{padding:18px!important}}
@media(max-width:760px){.ranking-content-grid{grid-template-columns:1fr}.ranking-personal{position:static}.ranking-leaders{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.leader-member{flex-direction:column;align-items:flex-start}.leader-time{font-size:23px}.leader-time small{display:block;width:100%}.leader-tags{min-height:0}.ranking-results>header{flex-wrap:wrap}.ranking-search{width:100%;max-width:none}}
.global-ranking-board .ranking-row .ranking-identity-wash{left:auto;width:55%;opacity:.45;mask-image:linear-gradient(90deg,transparent,#000);border-radius:14px}.sanctra-app .global-ranking-board .ranking-results h2{font-family:var(--font-body,Arial,sans-serif)!important;font-size:16px!important;font-weight:600!important}.sanctra-app .global-ranking-board .ranking-personal h2{font-family:var(--font-body,Arial,sans-serif)!important;font-size:16px!important}

/* Quiet, paired controls for the timer-only view. */
.sanctra-app .timer-only-exit {height:44px;top:20px;right:24px;gap:10px;padding:0 16px;font-size:13px;letter-spacing:0;border-radius:16px;}
.sanctra-app .centered-hidden-music-bar {top:20px;left:24px;transform:none;height:44px;padding:0 14px;border-radius:16px;max-width:calc(100vw - 230px);box-shadow:var(--sanctra-glass-shadow);}
.sanctra-app .centered-hidden-music-info {gap:10px;font-size:13px;min-height:42px;}
.sanctra-app .timer-only-exit-kbd {font-size:9px;font-weight:500;padding:4px 6px;background:transparent;border-color:var(--sanctra-glass-border);color:var(--sanctra-muted);}
.sanctra-app .timer-only-exit svg,.sanctra-app .centered-hidden-icon {color:var(--sanctra-sage);}
@media(max-width:600px){.sanctra-app .timer-only-exit{right:12px;top:12px;padding:0 12px;}.sanctra-app .centered-hidden-music-bar{left:12px;top:12px;max-width:calc(100vw - 190px);}.sanctra-app .timer-only-exit-kbd{display:none;}}

/* A centred focus canvas, with supporting information above and below. */
.sanctra-app:not(.timer-only) .timer-content {padding:16px clamp(16px,3vw,40px);overflow:visible;}
.focus-workspace {width:100%;max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"quote task" "clock clock" "metrics metrics";gap:18px 24px;align-items:center;}
.focus-workspace.minimal {display:block;max-width:none;}
.focus-context {display:contents;}
.focus-task-context {grid-area:task;min-width:0;display:flex;flex-direction:column;gap:10px;}
.sanctra-app .focus-workspace:not(.minimal)>.timer-dial {grid-area:clock;order:0;margin:0;padding:6px 0;min-width:0;gap:22px;}
.sanctra-app .focus-workspace:not(.minimal) .timer-ring {width:min(80vw,48dvh,440px);height:auto;aspect-ratio:1;flex-shrink:0;}
.sanctra-app .focus-workspace .timer-actions {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:0;width:100%;padding:0;}
.sanctra-app .focus-workspace .timer-actions>button {min-height:44px;padding:10px 18px;font-size:13px;}
.sanctra-app .focus-context .timer-metrics {grid-area:metrics;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 auto;padding:0;max-width:900px;order:0;}
.sanctra-app .focus-context .timer-metrics>* {grid-template-rows:18px 28px 18px;gap:3px;padding:12px;min-height:88px;border-radius:18px;}
.sanctra-app .focus-context .timer-metrics>*>div:first-child {display:none;}
.sanctra-app .focus-context .timer-metrics>*>span {font-size:10px;letter-spacing:.08em;}
.sanctra-app .focus-context .timer-metrics>*>div:nth-child(3) {font-size:22px;line-height:28px;}
.sanctra-app .focus-context .timer-metrics>*>div:nth-child(4) {font-size:11px;line-height:16px;}
.sanctra-app .focus-context .current-task-bar {max-width:none;margin:0;padding:12px 16px;border-radius:18px;gap:10px 14px;display:flex;flex-wrap:wrap;align-items:center;min-height:var(--focus-card-h);box-sizing:border-box;}
.sanctra-app .focus-context .current-task-bar h2 {font-family:inherit;font-size:14px;line-height:1.5;}
.sanctra-app .focus-context .current-task-bar.is-focusing {border-color:color-mix(in srgb,var(--sanctra-sage) 38%,transparent)!important;background:color-mix(in srgb,var(--sanctra-sage) 7%,transparent);}
.sanctra-app .focus-context .current-task-bar .analytics-button {min-height:40px;padding:8px 14px;white-space:nowrap;}
/* Quote and task cards share one row height and align to the top edge, so a second (different) focus card stacks below without stretching the quote. */
.focus-workspace {--focus-card-h:86px;}
.sanctra-app .focus-workspace:not(.minimal) {align-items:start;}
.sanctra-app .focus-workspace:not(.minimal)>.timer-dial {align-self:center;}
.sanctra-app .focus-context .timer-quote {grid-area:quote;padding:0;margin:0;max-width:none;}
.sanctra-app .focus-context .timer-quote>div {padding:8px 12px 8px 16px;border-radius:18px;min-height:var(--focus-card-h);box-sizing:border-box;}
.sanctra-app .focus-context .timer-quote p {font-size:14px;line-height:1.6;}
.sanctra-app .focus-context .timer-quote svg {flex-shrink:0;}
@media(max-width:760px){.focus-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "clock" "metrics" "quote";gap:20px;max-width:600px;}.sanctra-app .focus-context .timer-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.sanctra-app .focus-workspace:not(.minimal) .timer-ring{width:min(80vw,360px);}.sanctra-app .focus-workspace .timer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px;}.sanctra-app .focus-context .current-task-bar>div:first-child{flex-basis:100%;}}

/* Discreet timer-only corner controls. */
.sanctra-app .timer-only-exit {height:32px;min-height:32px;top:16px;right:18px;padding:0 10px;gap:7px;border-radius:12px;font-size:11px;box-shadow:none!important;background:color-mix(in srgb,var(--sanctra-ink) 28%,transparent)!important;border-color:color-mix(in srgb,var(--sanctra-paper) 14%,transparent)!important;}
.sanctra-app .centered-hidden-music-bar {height:32px;top:16px;left:18px;padding:0 10px;border-radius:12px;gap:6px;box-shadow:none!important;background:color-mix(in srgb,var(--sanctra-ink) 28%,transparent)!important;border-color:color-mix(in srgb,var(--sanctra-paper) 14%,transparent)!important;}
.sanctra-app .centered-hidden-music-info {font-size:11px;min-height:30px;gap:7px;}
.sanctra-app .centered-hidden-icon,.sanctra-app .timer-only-exit svg {width:13px;height:13px;}
.sanctra-app .timer-only-exit-kbd,.sanctra-app .centered-hidden-sub {display:none;}
.sanctra-app .centered-hidden-title {font-size:11px;}
.sanctra-app :is(.timer-only-exit,.centered-hidden-music-bar):hover {border-color:color-mix(in srgb,var(--sanctra-sage) 40%,transparent)!important;background:color-mix(in srgb,var(--sanctra-ink) 45%,transparent)!important;transform:none;}
@media(pointer:coarse){.sanctra-app .timer-only-exit,.sanctra-app .centered-hidden-music-info{position:relative;}.sanctra-app .timer-only-exit{position:fixed;}.sanctra-app .timer-only-exit::after,.sanctra-app .centered-hidden-music-info::after{content:'';position:absolute;inset:-6px 0;}}

.sanctra-app .timer-only-exit {width:32px;padding:0;justify-content:center;}
.sanctra-app .centered-hidden-music-bar {padding:0;width:32px;justify-content:center;}
.sanctra-app .centered-hidden-music-bar.active {width:auto;padding:0 4px;gap:2px;}
.sanctra-app .centered-hidden-music-info {width:30px;justify-content:center;padding:0;}
.sanctra-app .centered-hidden-icon-wrap {width:auto;height:auto;padding:0;background:transparent;border:0;}

/* Shared controls remain legible over bright scenic backgrounds. */
.sanctra-app .workspace-tabs button:not([aria-pressed="true"]),
.sanctra-app .timer-actions .btn-sheen-subtle {
 background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent)!important;
 border:1px solid color-mix(in srgb,var(--sanctra-paper) 30%,transparent)!important;
 color:var(--sanctra-paper)!important;
 -webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px));
 backdrop-filter:blur(var(--sanctra-panel-blur,12px));
}
.sanctra-app .workspace-tabs button[aria-pressed="true"] svg{color:var(--sanctra-ink)!important}
.sanctra-app .workspace-tabs button:hover:not([aria-pressed="true"]){background:color-mix(in srgb,var(--sanctra-ink) 80%,transparent)!important}
.sanctra-app .workspace-tabs button:focus-visible,.sanctra-app .timer-actions button:focus-visible{outline:2px solid var(--sanctra-sage);outline-offset:3px}
.sanctra-app .timer-actions .btn-sheen-subtle:disabled{opacity:1!important;color:color-mix(in srgb,var(--sanctra-paper) 60%,transparent)!important;cursor:not-allowed}
.sanctra-app .admin-page [class*="bg-[var(--sanctra-surface)]"]{background:color-mix(in srgb,var(--sanctra-ink) 55%,transparent)!important;backdrop-filter:blur(var(--sanctra-panel-blur,12px));-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px))}
.sanctra-app .ranking-person>div{flex-wrap:wrap;gap:8px!important}
.sanctra-app .ranking-person :is(.plus-badge,.admin-badge){margin-left:0!important}
.sanctra-app .global-ranking-board .workspace-footnote{font-size:12px;line-height:1.7}
.sanctra-app .profile-studio .studio-savebar{position:static;margin-top:24px}
.sanctra-app .vip-crown-badge-wrap,.sanctra-app .vip-crown-badge-wrap svg{color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);border-color:color-mix(in srgb,var(--sanctra-sage) 30%,transparent)}
.sanctra-app .vip-membership-panel::before{display:none}
.sanctra-app .group-create-form h2{font:400 26px var(--font-display,Georgia,serif)}
.sanctra-app .group-create-form>div:last-child{padding-top:12px}
.sanctra-app .inbox-summary>button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center}
.sanctra-app .inbox-summary>button>span:last-child{grid-column:1/-1}
.sanctra-app :is(input[type="date"],input[type="time"],select){color-scheme:dark;border:1px solid var(--sanctra-glass-border);border-radius:10px;background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent);color:var(--sanctra-paper);padding:8px;min-width:0}
.sanctra-app .sanctra-select{min-width:0}
.sanctra-app .sanctra-select-options{z-index:60}
@media(max-width:1023px){.sanctra-app .admin-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.sanctra-app .admin-tabs button{flex-shrink:0}}
@media(max-width:540px){
 .sanctra-app .app-header{gap:8px;padding-inline:12px}
 .sanctra-app .header-mobile-brand{display:none}
 .sanctra-app .header-brand-status{gap:8px}
 .sanctra-app .header-status>span:last-child{display:none}
 .sanctra-app .header-actions{gap:6px;min-width:0}
 .sanctra-app .ai-study-launcher{width:36px!important;min-width:36px!important;padding:0!important}
 .sanctra-app .ai-study-launcher>span,.sanctra-app .audio-header-now-playing,.sanctra-app .audio-header-stop{display:none}
 .sanctra-app .audio-header-active{padding:0;border:0;background:transparent}
 .sanctra-app .global-ranking-board .ranking-row{display:grid;grid-template-columns:24px 38px minmax(0,1fr);gap:10px}
 .sanctra-app .global-ranking-board .ranking-score{grid-column:3;justify-self:start;font-size:15px}
 .sanctra-app .ranking-row .ranking-identity-wash{position:absolute!important}
 .sanctra-app .inbox-summary>button{padding:12px 8px;gap:6px}
 .sanctra-app .inbox-summary>button>span{font-size:11px;overflow-wrap:normal;word-break:normal}
 .sanctra-app .planner-tabs{flex-wrap:nowrap;overflow-x:auto}
 .sanctra-app .planner-tabs button{white-space:nowrap;flex-shrink:0}
 .sanctra-app .goal-ring{width:104px;height:104px}
}
@media(prefers-reduced-transparency:reduce){.sanctra-app .workspace-tabs button:not([aria-pressed="true"]),.sanctra-app .timer-actions .btn-sheen-subtle{background:var(--sanctra-ink)!important;backdrop-filter:none}}

@media(max-width:1023px){.sanctra-app .sidebar-mobile-scrim{background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent)!important;z-index:40}}
.sanctra-app .sidebar-footer button[aria-current="page"]{background:color-mix(in srgb,var(--sanctra-sage) 14%,transparent)}

.sanctra-app .sidebar-panel [data-active="true"],.sanctra-app aside [data-active="true"]{background:color-mix(in srgb,var(--sanctra-sage) 18%,transparent)!important;border-color:var(--sanctra-sage)}
.sanctra-app .timer-actions .btn-sheen-subtle svg{color:inherit!important}
.sanctra-app .plus-badge svg{color:var(--sanctra-sage)!important}
.sanctra-app :is(.workspace-page,.planner-view,.analytics-view,.inbox-view,.calendar-view,.global-ranking-board){max-width:1200px!important;padding-inline:0!important;margin-inline:auto!important}
@media(max-width:540px){
 .sanctra-app .ranking-leaders{grid-template-columns:1fr!important;gap:12px}
 .sanctra-app .ranking-leader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px!important}
 .sanctra-app .leader-heading{grid-column:1/-1}
 .sanctra-app .leader-member{gap:10px}
 .sanctra-app .leader-time{font-size:20px!important;align-self:center;max-width:95px}
 .sanctra-app .leader-time small{font-size:10px}
 .sanctra-app .leader-details>strong{font-size:13px}
 .sanctra-app .inbox-summary{gap:8px}
}

/* Keep the exam destination distinct from the following profile overview. */
.sanctra-app .profile-exam-setup {margin-bottom:32px;}
.sanctra-app .calendar-add-plan-btn svg {width:18px;height:18px;color:var(--sanctra-ink)!important;opacity:1;stroke-width:3;}
.sanctra-loading .loading-scene {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sanctra-loading .loading-veil {position:absolute;inset:0;background:linear-gradient(180deg,#07131b88,#07131bc9);backdrop-filter:blur(var(--sanctra-panel-blur,12px));-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px));}
.loading-arrival {position:relative;display:flex;align-items:center;flex-direction:column;padding:38px 48px;border-radius:26px;background:color-mix(in srgb,var(--sanctra-surface) 30%,transparent);border:1px solid #ffffff26;backdrop-filter:blur(var(--sanctra-panel-blur,12px));-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px));box-shadow:0 20px 70px #0002;color:#f5f4ef;}
.loading-arrival .sanctra-wordmark {font-size:38px;}
.loading-arrival-rule {width:72px;height:1px;background:var(--sanctra-sage);opacity:.7;margin:23px 0 18px;animation:desk-arrival 1.8s ease-in-out infinite;}
.loading-arrival-status {font-size:13px;letter-spacing:.02em;color:#e0e5e9;}
@keyframes desk-arrival {50% {opacity:.25;transform:scaleX(.5);}}
@media(prefers-reduced-motion:reduce){.loading-arrival-rule{animation:none;}}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,math,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.19.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
.ai-planner{font:400 14px/1.6 var(--font-body,Arial,sans-serif);color:var(--sanctra-paper,#f4f5f6);display:grid;gap:22px;min-width:0}.ai-plan-intro h3{font:400 27px/1.2 var(--font-display,Georgia,serif);margin:10px 0}.ai-plan-intro p,.ai-plan-review header p{color:var(--sanctra-muted,#b9c8d5);font-size:13px;margin:8px 0}.ai-planner form{display:grid;gap:12px}.ai-instructions{display:grid;gap:8px;font-size:12px;color:var(--sanctra-muted)}.ai-planner textarea{width:100%;resize:vertical;padding:14px;border-radius:16px;line-height:1.65;color:#f5f7f8!important;min-height:130px!important;height:auto!important}.ai-input-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--sanctra-muted)}.ai-plan-chips{display:flex;flex-wrap:wrap;gap:8px}.ai-plan-chips button{border:1px solid #ffffff1d;border-radius:20px;background:#ffffff08;padding:8px 12px;font-size:11px;color:var(--sanctra-muted)}.ai-context{padding:12px 14px;border:1px solid #ffffff17;border-radius:14px;background:#0001}.ai-context summary{cursor:pointer;font-size:12px}.ai-context p,.ai-plan-note{font-size:11px!important;line-height:1.6!important;color:var(--sanctra-muted);margin:8px 0}.ai-context label{display:flex;align-items:center;gap:9px;font-size:12px;margin:12px 0}.ai-planner input[type=checkbox]{min-height:0!important;width:16px;height:16px;accent-color:var(--sanctra-sage)}.ai-plan-generate{width:100%;min-height:44px!important;display:flex;align-items:center;justify-content:center;gap:8px}.ai-plan-review h3{font-size:15px;font-weight:600}.ai-plan-date{font-size:11px!important;text-transform:uppercase;letter-spacing:.07em;color:var(--sanctra-sage);margin:18px 0 10px}.ai-proposal{padding:16px;border:1px solid #ffffff20;border-radius:16px;margin:10px 0;background:#ffffff07;backdrop-filter:blur(var(--sanctra-panel-blur,12px));-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px))}.ai-proposal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ai-proposal header label{display:flex;gap:8px;align-items:center;color:var(--sanctra-sage);font-size:11px;text-transform:capitalize}.ai-proposal header>div{display:flex;gap:4px}.ai-proposal header button{display:grid;place-items:center;width:44px;height:44px;color:var(--sanctra-muted);border-radius:10px}.ai-proposal>strong{font-size:14px;overflow-wrap:anywhere;display:block}.ai-proposal-before{font-size:11px;color:var(--sanctra-muted);margin-top:6px}.ai-proposal-slot{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--sanctra-muted);margin-top:8px}.ai-proposal-edit{margin-top:14px;display:grid;gap:10px}.ai-proposal-edit label{display:grid;gap:4px;font-size:11px}.ai-proposal-edit input{width:100%;padding:8px;min-width:0}.ai-proposal-edit>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-plan-actions{position:sticky;bottom:0;background:var(--sanctra-glass-bg,color-mix(in srgb,var(--sanctra-ink) 65%,transparent));backdrop-filter:blur(var(--sanctra-panel-blur,12px));-webkit-backdrop-filter:blur(var(--sanctra-panel-blur,12px));padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--sanctra-glass-border);border-radius:16px;z-index:3}.ai-plan-actions p{font-size:12px;line-height:1.5;color:var(--sanctra-muted);flex:1;min-width:0;margin:0}.ai-plan-actions button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;flex-shrink:0;white-space:nowrap;padding:10px 16px;font-size:13px}.ai-plan-actions button svg{color:inherit;flex-shrink:0}.ai-plan-saved{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px;background:#a6cde510;border-radius:14px;font-size:12px}.ai-plan-saved>span{width:100%;color:var(--sanctra-sage)}.ai-plan-error{padding:10px 12px;background:#b17e7e16;border:1px solid #c591912f;color:#f1c9c9;border-radius:12px;font-size:12px}.ai-planner button:disabled{opacity:.45;cursor:not-allowed}.ai-planner :is(button,input,textarea):focus-visible{outline:2px solid var(--sanctra-sage);outline-offset:3px}.ai-proposal-delete{border-color:#b17e7e50}@media(prefers-reduced-transparency:reduce){.ai-proposal{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--sanctra-ink)}}
/* Match Sanctra's quiet desk material rather than a large form box. */
.ai-planner .ai-instructions textarea{min-height:96px!important;max-height:180px;border:1px solid color-mix(in srgb,var(--sanctra-sage) 22%,transparent)!important;background:color-mix(in srgb,var(--sanctra-ink) 45%,transparent)!important;border-radius:18px!important;padding:16px 18px!important;font:400 14px/1.7 var(--font-body,Arial,sans-serif)!important;box-shadow:inset 0 1px #ffffff08;resize:none}
.ai-planner .ai-instructions textarea::placeholder{color:var(--sanctra-muted);opacity:.7}.ai-plan-chips button{min-height:44px;font-size:12px;padding:9px 14px}.ai-plan-chips button:hover{border-color:var(--sanctra-sage);background:#ffffff0d}
.ai-allowance{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;color:var(--sanctra-sage);font-size:12px;border-bottom:1px solid #ffffff12}.ai-allowance small{color:var(--sanctra-muted);font-size:10px}
.ai-chat{display:flex;flex-direction:column;min-height:350px;height:58dvh;gap:18px}.ai-chat-transcript{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:20px;padding:4px 0}.ai-chat-message{display:flex;justify-content:flex-start}.ai-chat-user{justify-content:flex-end}.ai-chat-bubble{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-width:92%;color:var(--sanctra-paper)}.ai-chat-user .ai-chat-bubble{padding:12px 16px;border-radius:18px 18px 5px 18px;background:color-mix(in srgb,var(--sanctra-sage) 12%,transparent);border:1px solid color-mix(in srgb,var(--sanctra-sage) 18%,transparent)}.ai-chat-ai .ai-chat-bubble{padding:4px 0}.ai-chat-composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #ffffff22;border-radius:20px;background:#0002;padding:8px}.ai-chat-composer .ai-chat-input{flex:1;min-width:0;resize:none;border:0!important;background:transparent!important;border-radius:12px;padding:8px 10px!important;font:400 14px/1.65 var(--font-body,Arial,sans-serif)!important;min-height:62px!important;max-height:140px;color:var(--sanctra-paper)}.ai-chat-input::placeholder{color:var(--sanctra-muted);opacity:.75}.ai-chat-send{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:var(--sanctra-sage);color:var(--sanctra-ink);border:0;border-radius:14px}.ai-chat-send:disabled{opacity:.4}.ai-chat-send svg{width:18px;height:18px}

/* Compact entry and conversation, matched to Sanctra's appearance tokens. */
.ai-study-header{padding:22px!important;border-bottom:1px solid #ffffff14}.ai-study-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--sanctra-sage) 25%,transparent);border-radius:14px;background:color-mix(in srgb,var(--sanctra-sage) 9%,transparent);color:var(--sanctra-sage)}.ai-study-drawer .ai-study-header h2{font:400 25px/1.2 var(--font-display,Georgia,serif);letter-spacing:-.02em}.ai-study-header p{margin-top:5px;color:var(--sanctra-muted);font-size:12px}
.ai-study-body.ai-study-chat-body{display:flex;flex-direction:column;overflow:hidden}.ai-study-body .ai-chat{height:100%;flex:1;min-height:0;gap:14px}.ai-chat-transcript{gap:24px;padding:8px 2px 20px}.ai-chat-bubble{font-size:14px;line-height:1.7}.ai-chat-composer{border-radius:18px;padding:8px;background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent);border-color:color-mix(in srgb,var(--sanctra-sage) 20%,transparent)}.ai-chat-composer:focus-within{border-color:var(--sanctra-sage)}.ai-chat-keyhint{font-size:10px;color:var(--sanctra-muted);text-align:center;opacity:.75}.ai-chat-send{border-radius:12px;transition:opacity .15s,background .15s}.ai-chat-send:not(:disabled):hover{background:color-mix(in srgb,var(--sanctra-sage) 85%,white)}
/* Reuse the app's real surfaces and controls instead of an AI-only palette. */
.sanctra-app .ai-study-launcher{width:auto;min-height:40px;gap:8px;padding:8px 14px;border-radius:999px;font-size:12px;color:var(--sanctra-paper)}.ai-study-launcher svg{width:17px;height:17px;color:var(--sanctra-sage)}
.sanctra-app .ai-study-drawer{border-radius:24px;box-shadow:var(--sanctra-glass-shadow);font-family:inherit;color:var(--sanctra-paper)}
.ai-study-drawer .ai-study-header{background:transparent!important;padding:24px!important;border-color:var(--sanctra-glass-border)}.ai-study-drawer .ai-study-header h2{font:400 28px/1.3 var(--font-display,Georgia,serif)}.ai-study-header>button{display:grid;place-items:center;min-width:40px;min-height:40px;border:1px solid var(--sanctra-glass-border);border-radius:50%;color:var(--sanctra-muted);background:transparent}.ai-study-header>button:hover{background:#ffffff0a}
.ai-study-drawer .ai-allowance{background:transparent!important;border-color:var(--sanctra-glass-border);padding:12px 24px}.ai-study-drawer .ai-study-tabs{padding:16px 24px!important;gap:10px;flex-wrap:nowrap;background:transparent!important;border-bottom:1px solid var(--sanctra-glass-border)}.ai-study-tabs .ai-study-tab{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;border-radius:999px;font-size:13px}.ai-study-tabs .ai-study-tab svg{width:16px;height:16px}
.ai-study-drawer .ai-study-body{padding:24px}.ai-chat .conversation-bubble{flex:initial;font:inherit;font-size:14px;line-height:1.65;color:var(--sanctra-paper);padding:14px 16px;border-color:var(--sanctra-glass-border);background:var(--sanctra-glass-bg);box-shadow:inset 0 1px #ffffff08}.ai-chat-user .conversation-bubble{border-radius:18px 4px 18px 18px;background:color-mix(in srgb,var(--sanctra-sage) 13%,transparent)}.ai-chat-ai .conversation-bubble{border-radius:4px 18px 18px 18px;max-width:100%}
.ai-chat .ai-chat-composer{border-radius:20px;border:1px solid var(--sanctra-glass-border);padding:8px;background:var(--sanctra-glass-bg)}.ai-chat-composer .ai-chat-send{padding:0;min-width:44px;border-radius:50%;border:0;box-shadow:none}.ai-chat-keyhint{font-family:inherit;font-size:11px}
@media(max-width:600px){.ai-study-drawer .ai-study-header{padding:20px!important}.ai-study-drawer .ai-study-body{padding:20px}.ai-study-drawer .ai-study-tabs{padding:12px 20px!important}.ai-allowance{flex-wrap:wrap}.ai-chat-keyhint{font-size:10px}}

/* Planning options: visible state, scoped record counts and dependent permissions. */
.ai-context{padding:0;background:transparent;border-color:var(--sanctra-glass-border);border-radius:18px;overflow:hidden}
.ai-context summary{display:flex;align-items:center;gap:10px;padding:15px 16px;list-style:none;font-size:13px;color:var(--sanctra-paper)}
.ai-context summary::-webkit-details-marker{display:none}.ai-context summary>svg{flex-shrink:0;color:var(--sanctra-muted);transition:transform .15s}.ai-context[open] summary>svg{transform:rotate(180deg)}
.ai-context-summary{margin-left:auto;font-size:11px;color:var(--sanctra-muted);text-align:right}
.ai-context-options{padding:0 14px}.ai-context .ai-context-option{display:flex;width:100%;align-items:center;gap:12px;padding:14px 2px;text-align:left;background:transparent;border:0;border-top:1px solid var(--sanctra-glass-border);border-radius:0;color:var(--sanctra-paper);min-height:64px}
.ai-context-option>svg{flex-shrink:0;color:var(--sanctra-sage)}.ai-context-option>span{flex:1;min-width:0}.ai-context-option strong{display:block;font-size:13px;font-weight:500}.ai-context-option small{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:var(--sanctra-muted)}
.ai-context-switch{display:block;width:32px;height:19px;flex-shrink:0;border-radius:20px;border:1px solid var(--sanctra-glass-border);background:color-mix(in srgb,var(--sanctra-ink) 50%,transparent);padding:3px;transition:background .15s}
.ai-context-switch::after{content:'';display:block;width:11px;height:11px;border-radius:50%;background:var(--sanctra-muted);transition:transform .15s}
.ai-context-option[aria-checked=true] .ai-context-switch{background:var(--sanctra-sage);border-color:var(--sanctra-sage)}.ai-context-option[aria-checked=true] .ai-context-switch::after{background:var(--sanctra-ink);transform:translateX(13px)}
.ai-context>p{margin:0;padding:4px 16px 14px;font-size:11px!important}
/* Keep proposal selection visible despite the drawer's general input paint. */
.sanctra-app .ai-planner input[type=checkbox]:checked{background:var(--sanctra-sage)!important;border-color:var(--sanctra-sage)!important}
@media(prefers-reduced-motion:reduce){.ai-context-switch,.ai-context-switch::after,.ai-context summary>svg{transition:none}}

@media(max-width:420px){.ai-plan-actions{flex-direction:column;align-items:stretch;gap:10px;padding:14px}.ai-plan-actions p{text-align:center}.ai-plan-actions button{width:100%}}

/* Rich replies and task review share the desk's typography and glass surfaces. */
.ai-chat-message-content{min-width:0;max-width:100%;width:100%}
.ai-chat-user .ai-chat-message-content{width:auto;max-width:92%}
.ai-chat-user .ai-chat-bubble{max-width:100%}
.ai-markdown{white-space:normal;min-width:0;overflow-wrap:anywhere}
.ai-markdown>:first-child{margin-top:0}.ai-markdown>:last-child{margin-bottom:0}
.ai-markdown p{margin:0 0 12px;white-space:pre-line}
.ai-markdown :is(h1,h2,h3,h4){font:500 16px/1.45 var(--font-body);margin:18px 0 10px;color:var(--sanctra-paper)}
.ai-markdown :is(ul,ol){padding-left:22px;margin:10px 0}.ai-markdown ul{list-style:disc}.ai-markdown ol{list-style:decimal}.ai-markdown li{margin:5px 0}
.ai-markdown a{color:var(--sanctra-sage);text-decoration:underline;text-underline-offset:3px}
.ai-markdown blockquote{border-left:2px solid var(--sanctra-sage);padding-left:14px;margin:12px 0;color:var(--sanctra-muted)}
.ai-markdown pre{max-width:100%;overflow:auto;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--sanctra-ink) 65%,transparent)}
.ai-markdown code{font-size:.9em}.ai-markdown table{display:block;overflow:auto;border-collapse:collapse;margin:12px 0;font-size:12px}.ai-markdown :is(th,td){border:1px solid var(--sanctra-glass-border);padding:8px;text-align:left}
.ai-markdown .katex{font-size:1.12em;color:inherit}.ai-markdown .katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:8px 0;margin:12px 0;text-align:left}
.ai-chat-plan{gap:10px;margin-top:14px;padding:16px;border:1px solid var(--sanctra-glass-border);border-radius:18px;background:var(--sanctra-glass-bg)}
.ai-chat-plan .ai-plan-actions{position:static;padding:12px;gap:10px}.ai-chat-plan .ai-plan-actions p{font-size:11px}
.ai-chat-plan .ai-proposal{margin:8px 0;padding:12px}.ai-chat-plan .ai-plan-date{margin-top:10px}
.ai-chat-attach{display:grid;place-items:center;flex-shrink:0;width:40px;height:44px;border-radius:50%;color:var(--sanctra-muted);background:transparent}
.ai-chat-attach:not(:disabled):hover{color:var(--sanctra-sage);background:color-mix(in srgb,var(--sanctra-sage) 9%,transparent)}
.ai-chat-attach:disabled{opacity:.4}.ai-chat-file{display:none!important}
.ai-chat-attachment{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--sanctra-glass-border);border-radius:16px;background:var(--sanctra-glass-bg)}
.ai-chat-attachment img{width:48px;height:48px;object-fit:cover;border-radius:9px}.ai-chat-attachment>span{flex:1;min-width:0}.ai-chat-attachment strong{display:block;font-size:12px;font-weight:500}.ai-chat-attachment small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--sanctra-muted)}
.ai-chat-attachment button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--sanctra-muted)}
.ai-chat-photo{display:block;max-width:100%;max-height:220px;object-fit:contain;border-radius:12px;margin-bottom:10px}
.ai-chat-thinking{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sanctra-muted);padding:6px 0}
.ai-chat :is(button,textarea):focus-visible{outline:2px solid var(--sanctra-sage);outline-offset:3px}
@media(max-width:420px){.ai-chat-plan{padding:12px}.ai-chat-composer{gap:2px}.ai-chat-composer .ai-chat-input{padding-inline:4px!important;font-size:13px!important}}

.ai-chat-tab{display:flex;flex:1;min-height:0}.ai-chat-tab[hidden]{display:none}
