/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --tracking-tight: -0.025em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-4xl: 2rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-xs: 4px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: Arial,'Microsoft JhengHei',sans-serif;
    --default-mono-font-family: var(--font-mono);
    --color-border: var(--line);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .\@container\/card-header {
    container-type: inline-size;
    container-name: card-header;
  }
  .\@container\/field-group {
    container-type: inline-size;
    container-name: field-group;
  }
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .inset-x-4 {
    inset-inline: calc(var(--spacing) * 4);
  }
  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
  .inset-s-1\/2 {
    inset-inline-start: calc(1 / 2 * 100%);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .-top-12 {
    top: calc(var(--spacing) * -12);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-1\/3 {
    top: calc(1 / 3 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }
  .top-\[60\%\] {
    top: 60%;
  }
  .top-full {
    top: 100%;
  }
  .top-px {
    top: 1px;
  }
  .-right-12 {
    right: calc(var(--spacing) * -12);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-1 {
    right: calc(var(--spacing) * 1);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-2\.5 {
    right: calc(var(--spacing) * 2.5);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .-bottom-12 {
    bottom: calc(var(--spacing) * -12);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .-left-12 {
    left: calc(var(--spacing) * -12);
  }
  .left-1\.5 {
    left: calc(var(--spacing) * 1.5);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .isolate {
    isolation: isolate;
  }
  .z-0 {
    z-index: 0;
  }
  .z-1 {
    z-index: 1;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[calc\(1000-var\(--toast-index\)\)\] {
    z-index: calc(1000 - var(--toast-index));
  }
  .order-first {
    order: -9999;
  }
  .order-last {
    order: 9999;
  }
  .col-start-2 {
    grid-column-start: 2;
  }
  .row-span-2 {
    grid-row: span 2 / span 2;
  }
  .row-start-1 {
    grid-row-start: 1;
  }
  .m-\(--drawer-inset\,0px\) {
    margin: var(--drawer-inset,0px);
  }
  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .-my-2 {
    margin-block: calc(var(--spacing) * -2);
  }
  .my-0\.5 {
    margin-block: calc(var(--spacing) * 0.5);
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-auto {
    margin-block: auto;
  }
  .-mt-4 {
    margin-top: calc(var(--spacing) * -4);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-auto {
    margin-top: auto;
  }
  .-mb-4 {
    margin-bottom: calc(var(--spacing) * -4);
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .-ml-1 {
    margin-left: calc(var(--spacing) * -1);
  }
  .-ml-4 {
    margin-left: calc(var(--spacing) * -4);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-row {
    display: table-row;
  }
  .field-sizing-content {
    field-sizing: content;
  }
  .aspect-\(--ratio\) {
    aspect-ratio: var(--ratio);
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .size-\(--cell-size\) {
    width: var(--cell-size);
    height: var(--cell-size);
  }
  .size-2 {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }
  .size-2\.5 {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }
  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-auto {
    width: auto;
    height: auto;
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-\(--accordion-panel-height\) {
    height: var(--accordion-panel-height);
  }
  .h-\(--cell-size\) {
    height: var(--cell-size);
  }
  .h-\(--drawer-content-height\) {
    height: var(--drawer-content-height);
  }
  .h-\(--height\) {
    height: var(--height);
  }
  .h-\(--popup-height\) {
    height: var(--popup-height);
  }
  .h-\(--positioner-height\) {
    height: var(--positioner-height);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .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-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-8\! {
    height: calc(var(--spacing) * 8) !important;
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-\[calc\(--spacing\(5\.25\)\)\] {
    height: calc(calc(var(--spacing) * 5.25));
  }
  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-max {
    height: max-content;
  }
  .h-px {
    height: 1px;
  }
  .h-svh {
    height: 100svh;
  }
  .max-h-\(--available-height\) {
    max-height: var(--available-height);
  }
  .max-h-\(--drawer-content-max-height\,none\) {
    max-height: var(--drawer-content-max-height,none);
  }
  .max-h-72 {
    max-height: calc(var(--spacing) * 72);
  }
  .max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\] {
    max-height: min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)));
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-4 {
    min-height: calc(var(--spacing) * 4);
  }
  .min-h-8 {
    min-height: calc(var(--spacing) * 8);
  }
  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }
  .min-h-dvh {
    min-height: 100dvh;
  }
  .min-h-full {
    min-height: 100%;
  }
  .min-h-svh {
    min-height: 100svh;
  }
  .w-\(--anchor-width\) {
    width: var(--anchor-width);
  }
  .w-\(--cell-size\) {
    width: var(--cell-size);
  }
  .w-\(--drawer-content-width\,auto\) {
    width: var(--drawer-content-width,auto);
  }
  .w-\(--popup-width\) {
    width: var(--popup-width);
  }
  .w-\(--positioner-width\) {
    width: var(--positioner-width);
  }
  .w-\(--sidebar-width\) {
    width: var(--sidebar-width);
  }
  .w-0 {
    width: calc(var(--spacing) * 0);
  }
  .w-1 {
    width: calc(var(--spacing) * 1);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-max {
    width: max-content;
  }
  .w-px {
    width: 1px;
  }
  .max-w-\(--available-width\) {
    max-width: var(--available-width);
  }
  .max-w-\(--skeleton-width\) {
    max-width: var(--skeleton-width);
  }
  .max-w-\[80\%\] {
    max-width: 80%;
  }
  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-max {
    max-width: max-content;
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-\(--cell-size\) {
    min-width: var(--cell-size);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .min-w-7 {
    min-width: calc(var(--spacing) * 7);
  }
  .min-w-8 {
    min-width: calc(var(--spacing) * 8);
  }
  .min-w-9 {
    min-width: calc(var(--spacing) * 9);
  }
  .min-w-16 {
    min-width: calc(var(--spacing) * 16);
  }
  .min-w-32 {
    min-width: calc(var(--spacing) * 32);
  }
  .min-w-36 {
    min-width: calc(var(--spacing) * 36);
  }
  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }
  .min-w-\[96px\] {
    min-width: 96px;
  }
  .min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\] {
    min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7));
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .grow-0 {
    flex-grow: 0;
  }
  .basis-full {
    flex-basis: 100%;
  }
  .caption-bottom {
    caption-side: bottom;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .origin-\(--transform-origin\) {
    transform-origin: var(--transform-origin);
  }
  .origin-bottom {
    transform-origin: bottom;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-px {
    --tw-translate-x: 1px;
    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);
  }
  .-translate-y-3\/4 {
    --tw-translate-y: calc(calc(3 / 4 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-3\/4 {
    --tw-translate-y: calc(3 / 4 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-\[calc\(-50\%-2px\)\] {
    --tw-translate-y: calc(-50% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-45 {
    rotate: 45deg;
  }
  .rotate-90 {
    rotate: 90deg;
  }
  .\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(calc\(var\(--toast-swipe-movement-y\)-\(var\(--toast-index\)\*var\(--peek\)\)-\(var\(--shrink\)\*var\(--height\)\)\)\)_scale\(var\(--scale\)\)\] {
    transform: translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) - (var(--toast-index) * var(--peek)) - (var(--shrink) * var(--height)))) scale(var(--scale));
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .transform-\[translate3d\(var\(--translate-x\,0px\)\,var\(--translate-y\,0px\)\,0\)_scale\(var\(--stack-scale\)\)\] {
    transform: translate3d(var(--translate-x,0px),var(--translate-y,0px),0) scale(var(--stack-scale));
  }
  .scroll-fade-x {
    --_scroll-fade-size-s: var(
    --scroll-fade-s-size,
    var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
  );
    --_scroll-fade-size-e: var(
    --scroll-fade-e-size,
    var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
  );
    --scroll-fade-inline: linear-gradient(
    to right,
    transparent 0,
    #000 var(--scroll-fade-s, 0px),
    #000 calc(100% - var(--scroll-fade-e, 0px)),
    transparent 100%
  );
    &:where([dir="rtl"], [dir="rtl"] *) {
      --scroll-fade-inline: linear-gradient(
      to left,
      transparent 0,
      #000 var(--scroll-fade-s, 0px),
      #000 calc(100% - var(--scroll-fade-e, 0px)),
      transparent 100%
    );
    }
    -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
    mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    @supports (animation-timeline: scroll()) {
      animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out;
      animation-timeline: scroll(self inline), scroll(self inline);
      animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
      animation-fill-mode: both;
    }
    @supports not (animation-timeline: scroll()) {
      --scroll-fade-s: var(--_scroll-fade-size-s);
      --scroll-fade-e: var(--_scroll-fade-size-e);
    }
  }
  .scroll-fade-b {
    --_scroll-fade-size-b: var(
    --scroll-fade-b-size,
    var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
  );
    --scroll-fade-mask: linear-gradient(
    to bottom,
    #000 0,
    #000 calc(100% - var(--scroll-fade-b, 0px)),
    transparent 100%
  );
    -webkit-mask-image: var(--scroll-fade-mask);
    mask-image: var(--scroll-fade-mask);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    @supports (animation-timeline: scroll()) {
      animation: scroll-fade-reveal-b 1ms ease-in-out;
      animation-timeline: scroll(self y);
      animation-range: calc( 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24)) ) 100%;
      animation-fill-mode: both;
    }
    @supports not (animation-timeline: scroll()) {
      --scroll-fade-b: var(--_scroll-fade-size-b);
    }
  }
  .animate-caret-blink {
    animation: caret-blink 1.25s ease-out infinite;
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-grab {
    cursor: grab;
  }
  .cursor-text {
    cursor: text;
  }
  .touch-manipulation {
    touch-action: manipulation;
  }
  .touch-none {
    touch-action: none;
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: none;
  }
  .snap-x {
    scroll-snap-type: x var(--tw-scroll-snap-strictness);
  }
  .snap-mandatory {
    --tw-scroll-snap-strictness: mandatory;
  }
  .scroll-my-1 {
    scroll-margin-block: calc(var(--spacing) * 1);
  }
  .scroll-px-1 {
    scroll-padding-inline: calc(var(--spacing) * 1);
  }
  .scroll-py-1 {
    scroll-padding-block: calc(var(--spacing) * 1);
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .appearance-none {
    appearance: none;
  }
  .auto-rows-min {
    grid-auto-rows: min-content;
  }
  .grid-rows-\[auto_1fr\] {
    grid-template-rows: auto 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-content-center {
    place-content: center;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-\(--card-spacing\) {
    gap: var(--card-spacing);
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-0\.5 {
    gap: calc(var(--spacing) * 0.5);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .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-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-\[--spacing\(var\(--gap\)\)\] {
    gap: calc(var(--spacing) * var(--gap));
  }
  .-space-x-2 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .self-end {
    align-self: flex-end;
  }
  .self-start {
    align-self: flex-start;
  }
  .self-stretch {
    align-self: stretch;
  }
  .justify-self-end {
    justify-self: flex-end;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .overscroll-contain {
    overscroll-behavior: contain;
  }
  .overscroll-x-contain {
    overscroll-behavior-x: contain;
  }
  .rounded-\(--cell-radius\) {
    border-radius: var(--cell-radius);
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-4xl {
    border-radius: var(--radius-4xl);
  }
  .rounded-\[2px\] {
    border-radius: 2px;
  }
  .rounded-\[4px\] {
    border-radius: 4px;
  }
  .rounded-\[calc\(var\(--radius\)-3px\)\] {
    border-radius: calc(var(--radius) - 3px);
  }
  .rounded-\[inherit\] {
    border-radius: inherit;
  }
  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }
  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-lg\! {
    border-radius: var(--radius-lg) !important;
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-xl\! {
    border-radius: var(--radius-xl) !important;
  }
  .rounded-t-xl {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
  }
  .rounded-l-\(--cell-radius\) {
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
  }
  .rounded-tl-sm {
    border-top-left-radius: var(--radius-sm);
  }
  .rounded-r-\(--cell-radius\) {
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
  }
  .rounded-b-xl {
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .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-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-none {
    --tw-border-style: none;
    border-style: none;
  }
  .border-\(--color-border\) {
    border-color: var(--color-border);
  }
  .border-border {
    border-color: var(--line);
  }
  .border-border\/50 {
    border-color: var(--line);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--line) 50%, transparent);
    }
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-\(--color-bg\) {
    background-color: var(--color-bg);
  }
  .bg-\[Canvas\] {
    background-color: Canvas;
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-black\/10 {
    background-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .bg-border {
    background-color: var(--line);
  }
  .bg-foreground {
    background-color: var(--foreground);
  }
  .bg-primary {
    background-color: var(--foreground);
  }
  .bg-primary-foreground {
    background-color: var(--background);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-clip-padding {
    background-clip: padding-box;
  }
  .fill-foreground {
    fill: var(--foreground);
  }
  .object-cover {
    object-fit: cover;
  }
  .p-\(--card-spacing\) {
    padding: var(--card-spacing);
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-\[3px\] {
    padding: 3px;
  }
  .p-px {
    padding: 1px;
  }
  .px-\(--card-spacing\) {
    padding-inline: var(--card-spacing);
  }
  .px-\(--cell-size\) {
    padding-inline: var(--cell-size);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .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);
  }
  .py-\(--card-spacing\) {
    padding-block: var(--card-spacing);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .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-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-\[2px\] {
    padding-block: 2px;
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pr-1\.5 {
    padding-right: calc(var(--spacing) * 1.5);
  }
  .pr-1\.5\! {
    padding-right: calc(var(--spacing) * 1.5) !important;
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pl-1\.5 {
    padding-left: calc(var(--spacing) * 1.5);
  }
  .pl-1\.5\! {
    padding-left: calc(var(--spacing) * 1.5) !important;
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-7 {
    padding-left: calc(var(--spacing) * 7);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .align-middle {
    vertical-align: middle;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-sans {
    font-family: Arial,'Microsoft JhengHei',sans-serif;
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-sm\/relaxed {
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-normal {
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .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);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-balance {
    text-wrap: balance;
  }
  .wrap-break-word {
    overflow-wrap: break-word;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-\[CanvasText\] {
    color: CanvasText;
  }
  .text-background {
    color: var(--background);
  }
  .text-current {
    color: currentcolor;
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-foreground\/60 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 60%, transparent);
    }
  }
  .text-primary {
    color: var(--foreground);
  }
  .text-primary-foreground {
    color: var(--background);
  }
  .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,);
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-\[max\(var\(--drawer-overlay-min-opacity\,0\)\,calc\(1-var\(--drawer-swipe-progress\)\)\)\] {
    opacity: max(var(--drawer-overlay-min-opacity,0), calc(1 - var(--drawer-swipe-progress)));
  }
  .bg-blend-color {
    background-blend-mode: color;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
    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, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-none\! {
    --tw-shadow: 0 0 #0000 !important;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + 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-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);
  }
  .ring-3 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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-background {
    --tw-ring-color: var(--background);
  }
  .ring-foreground\/10 {
    --tw-ring-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
  }
  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }
  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .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-\[color\,box-shadow\] {
    transition-property: color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[left\,right\,width\] {
    transition-property: left,right,width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[margin\,opacity\] {
    transition-property: margin,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[opacity\,transform\,translate\] {
    transition-property: opacity,transform,translate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[opacity\,transform\,width\,height\,scale\,translate\] {
    transition-property: opacity,transform,width,height,scale,translate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[top\,left\,right\,bottom\] {
    transition-property: top,left,right,bottom;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[transform\,height\,opacity\,filter\] {
    transition-property: transform,height,opacity,filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[translate\,scale\,opacity\] {
    transition-property: translate,scale,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\,height\,padding\] {
    transition-property: width,height,padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\] {
    transition-property: width;
    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));
  }
  .transition-none {
    transition-property: none;
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-250 {
    --tw-duration: 250ms;
    transition-duration: 250ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-450 {
    --tw-duration: 450ms;
    transition-duration: 450ms;
  }
  .duration-1000 {
    --tw-duration: 1000ms;
    transition-duration: 1000ms;
  }
  .duration-\[0\.35s\] {
    --tw-duration: 0.35s;
    transition-duration: 0.35s;
  }
  .ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\] {
    --tw-ease: cubic-bezier(0.22,1,0.36,1);
    transition-timing-function: cubic-bezier(0.22,1,0.36,1);
  }
  .ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\] {
    --tw-ease: cubic-bezier(0.32,0.72,0,1);
    transition-timing-function: cubic-bezier(0.32,0.72,0,1);
  }
  .ease-\[cubic-bezier\(0\.45\,1\.005\,0\,1\.005\)\] {
    --tw-ease: cubic-bezier(0.45,1.005,0,1.005);
    transition-timing-function: cubic-bezier(0.45,1.005,0,1.005);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }
  .will-change-transform {
    will-change: transform;
  }
  .contain-content {
    contain: content;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .select-text {
    -webkit-user-select: text;
    user-select: text;
  }
  .\[--bleed\:3rem\] {
    --bleed: 3rem;
  }
  .\[--card-spacing\:--spacing\(4\)\] {
    --card-spacing: calc(var(--spacing) * 4);
  }
  .\[--cell-radius\:var\(--radius-md\)\] {
    --cell-radius: var(--radius-md);
  }
  .\[--cell-size\:--spacing\(7\)\] {
    --cell-size: calc(var(--spacing) * 7);
  }
  .\[--drawer-content-height\:var\(--drawer-height\,auto\)\] {
    --drawer-content-height: var(--drawer-height,auto);
  }
  .\[--gap\:0\.75rem\] {
    --gap: 0.75rem;
  }
  .\[--height\:var\(--toast-frontmost-height\,var\(--toast-height\)\)\] {
    --height: var(--toast-frontmost-height,var(--toast-height));
  }
  .\[--offset-y\:calc\(var\(--toast-offset-y\)\*-1\+calc\(var\(--toast-index\)\*var\(--gap\)\*-1\)\+var\(--toast-swipe-movement-y\)\)\] {
    --offset-y: calc(var(--toast-offset-y) * -1 + calc(var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y));
  }
  .\[--peek\:0\.75rem\] {
    --peek: 0.75rem;
  }
  .\[--peek\:1rem\] {
    --peek: 1rem;
  }
  .\[--scale\:calc\(max\(0\,1-\(var\(--toast-index\)\*0\.1\)\)\)\] {
    --scale: calc(max(0, 1 - (var(--toast-index) * 0.1)));
  }
  .\[--shrink\:calc\(1-var\(--scale\)\)\] {
    --shrink: calc(1 - var(--scale));
  }
  .\[--stack-height\:var\(--drawer-frontmost-height\,var\(--drawer-height\,0px\)\)\] {
    --stack-height: var(--drawer-frontmost-height,var(--drawer-height,0px));
  }
  .\[--stack-peek-offset\:max\(0px\,calc\(\(var\(--nested-drawers\)-var\(--stack-progress\)\)\*var\(--peek\)\)\)\] {
    --stack-peek-offset: max(0px, calc((var(--nested-drawers) - var(--stack-progress)) * var(--peek)));
  }
  .\[--stack-progress\:clamp\(0\,var\(--drawer-swipe-progress\)\,1\)\] {
    --stack-progress: clamp(0, var(--drawer-swipe-progress), 1);
  }
  .\[--stack-scale-base\:max\(0\,calc\(1-\(var\(--nested-drawers\)\*var\(--stack-step\)\)\)\)\] {
    --stack-scale-base: max(0, calc(1 - (var(--nested-drawers) * var(--stack-step))));
  }
  .\[--stack-scale\:clamp\(0\,calc\(var\(--stack-scale-base\)\+\(var\(--stack-step\)\*var\(--stack-progress\)\)\)\,1\)\] {
    --stack-scale: clamp(0, calc(var(--stack-scale-base) + (var(--stack-step) * var(--stack-progress))), 1);
  }
  .\[--stack-shrink\:calc\(1-var\(--stack-scale\)\)\] {
    --stack-shrink: calc(1 - var(--stack-scale));
  }
  .\[--stack-step\:0\.05\] {
    --stack-step: 0.05;
  }
  .\[contain-intrinsic-size\:auto_10rem\] {
    contain-intrinsic-size: auto 10rem;
  }
  .\[content-visibility\:auto\] {
    content-visibility: auto;
  }
  .\[interpolate-size\:allow-keywords\] {
    interpolate-size: allow-keywords;
  }
  .\[transition\:transform_500ms_cubic-bezier\(0\.22\,1\,0\.36\,1\)\,opacity_500ms\,height_150ms\] {
    transition: transform 500ms cubic-bezier(0.22,1,0.36,1),opacity 500ms,height 150ms;
  }
  .\*\:w-full {
    :is(& > *) {
      width: 100%;
    }
  }
  .not-last\:border-b {
    &:not(*:last-child) {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .group-focus-within\/menu-item\:opacity-100 {
    &:is(:where(.group\/menu-item):focus-within *) {
      opacity: 100%;
    }
  }
  .group-hover\/menu-item\:opacity-100 {
    &:is(:where(.group\/menu-item):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-has-disabled\/field\:opacity-50 {
    &:is(:where(.group\/field):has(*:disabled) *) {
      opacity: 50%;
    }
  }
  .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8 {
    &:is(:where(.group\/menu-item):has(*[data-sidebar="menu-action"]) *) {
      padding-right: calc(var(--spacing) * 8);
    }
  }
  .group-has-data-\[size\=lg\]\/avatar-group\:size-10 {
    &:is(:where(.group\/avatar-group):has(*[data-size="lg"]) *) {
      width: calc(var(--spacing) * 10);
      height: calc(var(--spacing) * 10);
    }
  }
  .group-has-data-\[size\=sm\]\/avatar-group\:size-6 {
    &:is(:where(.group\/avatar-group):has(*[data-size="sm"]) *) {
      width: calc(var(--spacing) * 6);
      height: calc(var(--spacing) * 6);
    }
  }
  .group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden {
    &:is(:where(.group\/input-group):has(*[data-slot="combobox-clear"]) *) {
      display: none;
    }
  }
  .group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden {
    &:is(:where(.group\/command-item):has(*[data-slot="command-shortcut"]) *) {
      display: none;
    }
  }
  .group-has-data-\[slot\=item-description\]\/item\:translate-y-0\.5 {
    &:is(:where(.group\/item):has(*[data-slot="item-description"]) *) {
      --tw-translate-y: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-has-data-\[slot\=item-description\]\/item\:self-start {
    &:is(:where(.group\/item):has(*[data-slot="item-description"]) *) {
      align-self: flex-start;
    }
  }
  .group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8 {
    &:is(:where(.group\/message):has(*[data-slot="message-footer"]) *) {
      --tw-translate-y: calc(var(--spacing) * -8);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-has-data-\[variant\=ghost\]\/message\:px-0 {
    &:is(:where(.group\/message):has(*[data-variant="ghost"]) *) {
      padding-inline: calc(var(--spacing) * 0);
    }
  }
  .group-has-data-horizontal\/field\:text-balance {
    &:is(:where(.group\/field):has(*:where([data-orientation="horizontal"])) *) {
      text-wrap: balance;
    }
  }
  .group-has-\[\:focus-visible\]\/field-label\:border-transparent {
    &:is(:where(.group\/field-label):has(*:is(:focus-visible)) *) {
      border-color: transparent;
    }
  }
  .group-has-\[\:focus-visible\]\/field-label\:ring-0 {
    &:is(:where(.group\/field-label):has(*:is(:focus-visible)) *) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + 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);
    }
  }
  .group-has-\[\>input\]\/input-group\:pt-2 {
    &:is(:where(.group\/input-group):has(>input) *) {
      padding-top: calc(var(--spacing) * 2);
    }
  }
  .group-has-\[\>input\]\/input-group\:pb-2 {
    &:is(:where(.group\/input-group):has(>input) *) {
      padding-bottom: calc(var(--spacing) * 2);
    }
  }
  .group-has-\[\>svg\]\/alert\:col-start-2 {
    &:is(:where(.group\/alert):has(>svg) *) {
      grid-column-start: 2;
    }
  }
  .group-aria-expanded\/accordion-trigger\:hidden {
    &:is(:where(.group\/accordion-trigger)[aria-expanded="true"] *) {
      display: none;
    }
  }
  .group-aria-expanded\/accordion-trigger\:inline {
    &:is(:where(.group\/accordion-trigger)[aria-expanded="true"] *) {
      display: inline;
    }
  }
  .group-data-empty\/combobox-content\:flex {
    &:is(:where(.group\/combobox-content)[data-empty] *) {
      display: flex;
    }
  }
  .group-data-nested-drawer-open\/drawer-popup\:opacity-0 {
    &:is(:where(.group\/drawer-popup)[data-nested-drawer-open] *) {
      opacity: 0%;
    }
  }
  .group-data-nested-drawer-swiping\/drawer-popup\:opacity-100 {
    &:is(:where(.group\/drawer-popup)[data-nested-drawer-swiping] *) {
      opacity: 100%;
    }
  }
  .group-data-popup-open\/navigation-menu-trigger\:rotate-180 {
    &:is(:where(.group\/navigation-menu-trigger)[data-popup-open] *) {
      rotate: 180deg;
    }
  }
  .group-data-swiping\/drawer-popup\:select-none {
    &:is(:where(.group\/drawer-popup)[data-swiping] *) {
      -webkit-user-select: none;
      user-select: none;
    }
  }
  .group-data-\[align\=end\]\/bubble\:self-end {
    &:is(:where(.group\/bubble)[data-align="end"] *) {
      align-self: flex-end;
    }
  }
  .group-data-\[align\=end\]\/message\:justify-end {
    &:is(:where(.group\/message)[data-align="end"] *) {
      justify-content: flex-end;
    }
  }
  .group-data-\[align\=end\]\/message\:self-end {
    &:is(:where(.group\/message)[data-align="end"] *) {
      align-self: flex-end;
    }
  }
  .group-data-\[checked\=true\]\/command-item\:opacity-100 {
    &:is(:where(.group\/command-item)[data-checked="true"] *) {
      opacity: 100%;
    }
  }
  .group-data-\[collapsible\=icon\]\:-mt-8 {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      margin-top: calc(var(--spacing) * -8);
    }
  }
  .group-data-\[collapsible\=icon\]\:hidden {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      display: none;
    }
  }
  .group-data-\[collapsible\=icon\]\:size-8\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--spacing) * 8) !important;
      height: calc(var(--spacing) * 8) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\) {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: var(--sidebar-width-icon);
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\] {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\] {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);
    }
  }
  .group-data-\[collapsible\=icon\]\:overflow-hidden {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      overflow: hidden;
    }
  }
  .group-data-\[collapsible\=icon\]\:p-0\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      padding: calc(var(--spacing) * 0) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:p-2\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      padding: calc(var(--spacing) * 2) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:opacity-0 {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      opacity: 0%;
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:w-0 {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      width: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-data-\[disabled\=true\]\:pointer-events-none {
    &:is(:where(.group)[data-disabled="true"] *) {
      pointer-events: none;
    }
  }
  .group-data-\[disabled\=true\]\:opacity-50 {
    &:is(:where(.group)[data-disabled="true"] *) {
      opacity: 50%;
    }
  }
  .group-data-\[disabled\=true\]\/field\:opacity-50 {
    &:is(:where(.group\/field)[data-disabled="true"] *) {
      opacity: 50%;
    }
  }
  .group-data-\[disabled\=true\]\/input-group\:opacity-50 {
    &:is(:where(.group\/input-group)[data-disabled="true"] *) {
      opacity: 50%;
    }
  }
  .group-data-\[focused\=true\]\/day\:relative {
    &:is(:where(.group\/day)[data-focused="true"] *) {
      position: relative;
    }
  }
  .group-data-\[focused\=true\]\/day\:z-10 {
    &:is(:where(.group\/day)[data-focused="true"] *) {
      z-index: 10;
    }
  }
  .group-data-\[focused\=true\]\/day\:ring-\[3px\] {
    &:is(:where(.group\/day)[data-focused="true"] *) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:absolute {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      position: absolute;
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:top-3 {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      top: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:right-3 {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      right: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:w-full {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      width: 100%;
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:gap-1 {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      gap: calc(var(--spacing) * 1);
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:px-1 {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      padding-inline: calc(var(--spacing) * 1);
    }
  }
  .group-data-\[side\=left\]\:-right-4 {
    &:is(:where(.group)[data-side="left"] *) {
      right: calc(var(--spacing) * -4);
    }
  }
  .group-data-\[side\=left\]\:border-r {
    &:is(:where(.group)[data-side="left"] *) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .group-data-\[side\=right\]\:left-0 {
    &:is(:where(.group)[data-side="right"] *) {
      left: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[side\=right\]\:rotate-180 {
    &:is(:where(.group)[data-side="right"] *) {
      rotate: 180deg;
    }
  }
  .group-data-\[side\=right\]\:border-l {
    &:is(:where(.group)[data-side="right"] *) {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .group-data-\[size\=default\]\/avatar\:size-2\.5 {
    &:is(:where(.group\/avatar)[data-size="default"] *) {
      width: calc(var(--spacing) * 2.5);
      height: calc(var(--spacing) * 2.5);
    }
  }
  .group-data-\[size\=default\]\/switch\:size-4 {
    &:is(:where(.group\/switch)[data-size="default"] *) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .group-data-\[size\=lg\]\/avatar\:size-3 {
    &:is(:where(.group\/avatar)[data-size="lg"] *) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[size\=sm\]\/alert-dialog-content\:grid {
    &:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
      display: grid;
    }
  }
  .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2 {
    &:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .group-data-\[size\=sm\]\/attachment\:w-8 {
    &:is(:where(.group\/attachment)[data-size="sm"] *) {
      width: calc(var(--spacing) * 8);
    }
  }
  .group-data-\[size\=sm\]\/avatar\:size-2 {
    &:is(:where(.group\/avatar)[data-size="sm"] *) {
      width: calc(var(--spacing) * 2);
      height: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[size\=sm\]\/avatar\:text-xs {
    &:is(:where(.group\/avatar)[data-size="sm"] *) {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .group-data-\[size\=sm\]\/card\:text-sm {
    &:is(:where(.group\/card)[data-size="sm"] *) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .group-data-\[size\=sm\]\/item\:size-8 {
    &:is(:where(.group\/item)[data-size="sm"] *) {
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
    }
  }
  .group-data-\[size\=sm\]\/switch\:size-3 {
    &:is(:where(.group\/switch)[data-size="sm"] *) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[size\=xs\]\/attachment\:w-7 {
    &:is(:where(.group\/attachment)[data-size="xs"] *) {
      width: calc(var(--spacing) * 7);
    }
  }
  .group-data-\[size\=xs\]\/attachment\:rounded-md {
    &:is(:where(.group\/attachment)[data-size="xs"] *) {
      border-radius: var(--radius-md);
    }
  }
  .group-data-\[size\=xs\]\/item\:size-6 {
    &:is(:where(.group\/item)[data-size="xs"] *) {
      width: calc(var(--spacing) * 6);
      height: calc(var(--spacing) * 6);
    }
  }
  .group-data-\[size\=xs\]\/item\:gap-0 {
    &:is(:where(.group\/item)[data-size="xs"] *) {
      gap: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[size\=xs\]\/item\:text-xs {
    &:is(:where(.group\/item)[data-size="xs"] *) {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .group-data-\[spacing\=0\]\/toggle-group\:rounded-none {
    &:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
      border-radius: 0;
    }
  }
  .group-data-\[spacing\=0\]\/toggle-group\:px-2 {
    &:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
      padding-inline: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[state\=done\]\/attachment\:opacity-100 {
    &:is(:where(.group\/attachment)[data-state="done"] *) {
      opacity: 100%;
    }
  }
  .group-data-\[state\=idle\]\/attachment\:opacity-100 {
    &:is(:where(.group\/attachment)[data-state="idle"] *) {
      opacity: 100%;
    }
  }
  .group-data-\[state\=processing\]\/attachment\:shimmer {
    &:is(:where(.group\/attachment)[data-state="processing"] *) {
      --_spread: var(--shimmer-spread, calc(3ch + 40px));
      --_base: currentColor;
      --_highlight: var(
    --shimmer-color,
    oklch(from currentColor l c h / calc(alpha* 0.2))
  );
      background-image: var( --shimmer-image, linear-gradient( calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * 0.5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * 0.5), var(--_base) calc(50% + var(--_spread)) ) );
      @supports (color: color-mix(in lab, red, red)) {
        background-image: var( --shimmer-image, linear-gradient( calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * 0.5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * 0.5), var(--_base) calc(50% + var(--_spread)) ) );
      }
      background-repeat: no-repeat;
      background-size: calc(200% + var(--_spread) * 2) 100%;
      background-position: 0 0;
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
      animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
      @media (prefers-color-scheme: dark) {
        --_highlight: var(
      --shimmer-color,
      oklch(from currentColor max(0.8, calc(l + 0.4)) c h / calc(alpha + 0.4))
    );
      }
      &:where([dir="rtl"], [dir="rtl"] *) {
        animation-direction: reverse;
      }
    }
  }
  .group-data-\[state\=uploading\]\/attachment\:shimmer {
    &:is(:where(.group\/attachment)[data-state="uploading"] *) {
      --_spread: var(--shimmer-spread, calc(3ch + 40px));
      --_base: currentColor;
      --_highlight: var(
    --shimmer-color,
    oklch(from currentColor l c h / calc(alpha* 0.2))
  );
      background-image: var( --shimmer-image, linear-gradient( calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * 0.5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * 0.5), var(--_base) calc(50% + var(--_spread)) ) );
      @supports (color: color-mix(in lab, red, red)) {
        background-image: var( --shimmer-image, linear-gradient( calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * 0.5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * 0.5), var(--_base) calc(50% + var(--_spread)) ) );
      }
      background-repeat: no-repeat;
      background-size: calc(200% + var(--_spread) * 2) 100%;
      background-position: 0 0;
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
      animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
      @media (prefers-color-scheme: dark) {
        --_highlight: var(
      --shimmer-color,
      oklch(from currentColor max(0.8, calc(l + 0.4)) c h / calc(alpha + 0.4))
    );
      }
      &:where([dir="rtl"], [dir="rtl"] *) {
        animation-direction: reverse;
      }
    }
  }
  .group-data-\[swipe-axis\=x\]\/drawer-popup\:h-full {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="x"] *) {
      height: 100%;
    }
  }
  .group-data-\[swipe-axis\=x\]\/drawer-popup\:w-3 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="x"] *) {
      width: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[swipe-axis\=x\]\/drawer-popup\:items-center {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="x"] *) {
      align-items: center;
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:h-3 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      height: calc(var(--spacing) * 3);
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:w-full {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      width: 100%;
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:justify-center {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      justify-content: center;
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:text-center {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      text-align: center;
    }
  }
  .group-data-\[swipe-direction\=down\]\/drawer-popup\:items-end {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="down"] *) {
      align-items: flex-end;
    }
  }
  .group-data-\[swipe-direction\=left\]\/drawer-popup\:order-last {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="left"] *) {
      order: 9999;
    }
  }
  .group-data-\[swipe-direction\=left\]\/drawer-popup\:justify-start {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="left"] *) {
      justify-content: flex-start;
    }
  }
  .group-data-\[swipe-direction\=right\]\/drawer-popup\:justify-end {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="right"] *) {
      justify-content: flex-end;
    }
  }
  .group-data-\[swipe-direction\=up\]\/drawer-popup\:order-last {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="up"] *) {
      order: 9999;
    }
  }
  .group-data-\[swipe-direction\=up\]\/drawer-popup\:items-start {
    &:is(:where(.group\/drawer-popup)[data-swipe-direction="up"] *) {
      align-items: flex-start;
    }
  }
  .group-data-\[variant\=floating\]\:rounded-lg {
    &:is(:where(.group)[data-variant="floating"] *) {
      border-radius: var(--radius-lg);
    }
  }
  .group-data-\[variant\=floating\]\:shadow-sm {
    &:is(:where(.group)[data-variant="floating"] *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .group-data-\[variant\=floating\]\:ring-1 {
    &:is(:where(.group)[data-variant="floating"] *) {
      --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);
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      background-color: transparent;
    }
  }
  .group-data-\[variant\=outline\]\/field-group\:-mb-2 {
    &:is(:where(.group\/field-group)[data-variant="outline"] *) {
      margin-bottom: calc(var(--spacing) * -2);
    }
  }
  .group-data-\[variant\=separator\]\/marker\:flex-none {
    &:is(:where(.group\/marker)[data-variant="separator"] *) {
      flex: none;
    }
  }
  .group-data-\[variant\=separator\]\/marker\:text-center {
    &:is(:where(.group\/marker)[data-variant="separator"] *) {
      text-align: center;
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:rounded-lg {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      border-radius: var(--radius-lg);
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:shadow {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:ring-1 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      --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);
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:ring-foreground\/10 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      --tw-ring-color: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
      }
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:duration-300 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
  }
  .group-data-open\/navigation-menu-trigger\:rotate-180 {
    &:is(:is(:where(.group\/navigation-menu-trigger):where([data-state="open"]), :where(.group\/navigation-menu-trigger):where([data-open]:not([data-open="false"]))) *) {
      rotate: 180deg;
    }
  }
  .group-data-selected\/command-item\:text-foreground {
    &:is(:where(.group\/command-item):where([data-selected="true"]) *) {
      color: var(--foreground);
    }
  }
  .group-data-horizontal\/tabs\:h-8 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      height: calc(var(--spacing) * 8);
    }
  }
  .group-data-vertical\/tabs\:h-fit {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      height: fit-content;
    }
  }
  .group-data-vertical\/tabs\:w-full {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      width: 100%;
    }
  }
  .group-data-vertical\/tabs\:flex-col {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      flex-direction: column;
    }
  }
  .group-data-vertical\/tabs\:justify-start {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      justify-content: flex-start;
    }
  }
  .peer-disabled\:cursor-not-allowed {
    &:is(:where(.peer):disabled ~ *) {
      cursor: not-allowed;
    }
  }
  .peer-disabled\:opacity-50 {
    &:is(:where(.peer):disabled ~ *) {
      opacity: 50%;
    }
  }
  .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
    &:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
      top: calc(var(--spacing) * 1.5);
    }
  }
  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
    &:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
      top: calc(var(--spacing) * 2.5);
    }
  }
  .peer-data-\[size\=sm\]\/menu-button\:top-1 {
    &:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
      top: calc(var(--spacing) * 1);
    }
  }
  .selection\:bg-primary {
    & *::selection {
      background-color: var(--foreground);
    }
    &::selection {
      background-color: var(--foreground);
    }
  }
  .selection\:text-primary-foreground {
    & *::selection {
      color: var(--background);
    }
    &::selection {
      color: var(--background);
    }
  }
  .file\:inline-flex {
    &::file-selector-button {
      display: inline-flex;
    }
  }
  .file\:h-6 {
    &::file-selector-button {
      height: calc(var(--spacing) * 6);
    }
  }
  .file\:border-0 {
    &::file-selector-button {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .file\:bg-transparent {
    &::file-selector-button {
      background-color: transparent;
    }
  }
  .file\:text-sm {
    &::file-selector-button {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .file\:font-medium {
    &::file-selector-button {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .file\:text-foreground {
    &::file-selector-button {
      color: var(--foreground);
    }
  }
  .before\:mr-1 {
    &::before {
      content: var(--tw-content);
      margin-right: calc(var(--spacing) * 1);
    }
  }
  .before\:h-px {
    &::before {
      content: var(--tw-content);
      height: 1px;
    }
  }
  .before\:min-w-0 {
    &::before {
      content: var(--tw-content);
      min-width: calc(var(--spacing) * 0);
    }
  }
  .before\:flex-1 {
    &::before {
      content: var(--tw-content);
      flex: 1;
    }
  }
  .before\:bg-border {
    &::before {
      content: var(--tw-content);
      background-color: var(--line);
    }
  }
  .after\:pointer-events-none {
    &::after {
      content: var(--tw-content);
      pointer-events: none;
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:-inset-2 {
    &::after {
      content: var(--tw-content);
      inset: calc(var(--spacing) * -2);
    }
  }
  .after\:inset-0 {
    &::after {
      content: var(--tw-content);
      inset: calc(var(--spacing) * 0);
    }
  }
  .after\:-inset-x-3 {
    &::after {
      content: var(--tw-content);
      inset-inline: calc(var(--spacing) * -3);
    }
  }
  .after\:-inset-y-2 {
    &::after {
      content: var(--tw-content);
      inset-block: calc(var(--spacing) * -2);
    }
  }
  .after\:inset-y-0 {
    &::after {
      content: var(--tw-content);
      inset-block: calc(var(--spacing) * 0);
    }
  }
  .after\:start-1\/2 {
    &::after {
      content: var(--tw-content);
      inset-inline-start: calc(1/2 * 100%);
    }
  }
  .after\:top-full {
    &::after {
      content: var(--tw-content);
      top: 100%;
    }
  }
  .after\:right-0 {
    &::after {
      content: var(--tw-content);
      right: calc(var(--spacing) * 0);
    }
  }
  .after\:left-0 {
    &::after {
      content: var(--tw-content);
      left: calc(var(--spacing) * 0);
    }
  }
  .after\:left-1\/2 {
    &::after {
      content: var(--tw-content);
      left: calc(1 / 2 * 100%);
    }
  }
  .after\:ml-1 {
    &::after {
      content: var(--tw-content);
      margin-left: calc(var(--spacing) * 1);
    }
  }
  .after\:block {
    &::after {
      content: var(--tw-content);
      display: block;
    }
  }
  .after\:h-\[calc\(var\(--gap\)\+1px\)\] {
    &::after {
      content: var(--tw-content);
      height: calc(var(--gap) + 1px);
    }
  }
  .after\:h-px {
    &::after {
      content: var(--tw-content);
      height: 1px;
    }
  }
  .after\:w-1 {
    &::after {
      content: var(--tw-content);
      width: calc(var(--spacing) * 1);
    }
  }
  .after\:w-4 {
    &::after {
      content: var(--tw-content);
      width: calc(var(--spacing) * 4);
    }
  }
  .after\:w-\[2px\] {
    &::after {
      content: var(--tw-content);
      width: 2px;
    }
  }
  .after\:w-full {
    &::after {
      content: var(--tw-content);
      width: 100%;
    }
  }
  .after\:min-w-0 {
    &::after {
      content: var(--tw-content);
      min-width: calc(var(--spacing) * 0);
    }
  }
  .after\:flex-1 {
    &::after {
      content: var(--tw-content);
      flex: 1;
    }
  }
  .after\:shrink-0 {
    &::after {
      content: var(--tw-content);
      flex-shrink: 0;
    }
  }
  .after\:-translate-x-1\/2 {
    &::after {
      content: var(--tw-content);
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .after\:rounded-full {
    &::after {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
  }
  .after\:border {
    &::after {
      content: var(--tw-content);
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
  .after\:border-border {
    &::after {
      content: var(--tw-content);
      border-color: var(--line);
    }
  }
  .after\:bg-\(--drawer-bleed-background\,var\(--color-popover\)\) {
    &::after {
      content: var(--tw-content);
      background-color: var(--drawer-bleed-background,var(--color-popover));
    }
  }
  .after\:bg-border {
    &::after {
      content: var(--tw-content);
      background-color: var(--line);
    }
  }
  .after\:bg-foreground {
    &::after {
      content: var(--tw-content);
      background-color: var(--foreground);
    }
  }
  .after\:opacity-0 {
    &::after {
      content: var(--tw-content);
      opacity: 0%;
    }
  }
  .after\:mix-blend-darken {
    &::after {
      content: var(--tw-content);
      mix-blend-mode: darken;
    }
  }
  .after\:transition-opacity {
    &::after {
      content: var(--tw-content);
      transition-property: opacity;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .after\:content-\[\'\'\] {
    &::after {
      --tw-content: '';
      content: var(--tw-content);
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:after\:left-full {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      &::after {
        content: var(--tw-content);
        left: 100%;
      }
    }
  }
  .group-data-\[swipe-axis\=x\]\/drawer-popup\:after\:h-24 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="x"] *) {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 24);
      }
    }
  }
  .group-data-\[swipe-axis\=x\]\/drawer-popup\:after\:w-1 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="x"] *) {
      &::after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 1);
      }
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:after\:h-1 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 1);
      }
    }
  }
  .group-data-\[swipe-axis\=y\]\/drawer-popup\:after\:w-24 {
    &:is(:where(.group\/drawer-popup)[data-swipe-axis="y"] *) {
      &::after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 24);
      }
    }
  }
  .group-data-horizontal\/tabs\:after\:inset-x-0 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-horizontal\/tabs\:after\:bottom-\[-5px\] {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        bottom: -5px;
      }
    }
  }
  .group-data-horizontal\/tabs\:after\:h-0\.5 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 0.5);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:inset-y-0 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:-right-1 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        right: calc(var(--spacing) * -1);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:w-0\.5 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 0.5);
      }
    }
  }
  .first\:rounded-l-lg {
    &:first-child {
      border-top-left-radius: var(--radius-lg);
      border-bottom-left-radius: var(--radius-lg);
    }
  }
  .first\:border-l {
    &:first-child {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .last\:mt-0 {
    &:last-child {
      margin-top: calc(var(--spacing) * 0);
    }
  }
  .last\:rounded-r-lg {
    &:last-child {
      border-top-right-radius: var(--radius-lg);
      border-bottom-right-radius: var(--radius-lg);
    }
  }
  .focus-within\:ring-1 {
    &:focus-within {
      --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);
    }
  }
  .focus-within\:ring-3 {
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
        }
      }
    }
  }
  .hover\:bg-primary\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--foreground);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--foreground) 80%, transparent);
        }
      }
    }
  }
  .hover\:text-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:ring-3 {
    &:hover {
      @media (hover: hover) {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus\:z-10 {
    &:focus {
      z-index: 10;
    }
  }
  .focus-visible\:z-10 {
    &:focus-visible {
      z-index: 10;
    }
  }
  .focus-visible\:ring-0 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-1 {
    &:focus-visible {
      --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);
    }
  }
  .focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-3 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-\[3px\] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:outline-hidden {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .focus-visible\:outline-1 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
  }
  .\*\:focus-visible\:relative {
    :is(& > *) {
      &:focus-visible {
        position: relative;
      }
    }
  }
  .\*\:focus-visible\:z-10 {
    :is(& > *) {
      &:focus-visible {
        z-index: 10;
      }
    }
  }
  .active\:cursor-grabbing {
    &:active {
      cursor: grabbing;
    }
  }
  .active\:ring-3 {
    &:active {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .active\:not-aria-\[haspopup\]\:translate-y-px {
    &:active {
      &:not(*[aria-haspopup]) {
        --tw-translate-y: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .disabled\:pointer-events-none {
    &:disabled {
      pointer-events: none;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:bg-transparent {
    &:disabled {
      background-color: transparent;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .in-data-\[side\=left\]\:cursor-w-resize {
    :where(*[data-side="left"]) & {
      cursor: w-resize;
    }
  }
  .in-data-\[side\=right\]\:cursor-e-resize {
    :where(*[data-side="right"]) & {
      cursor: e-resize;
    }
  }
  .in-data-\[slot\=button-group\]\:rounded-lg {
    :where(*[data-slot="button-group"]) & {
      border-radius: var(--radius-lg);
    }
  }
  .in-data-\[slot\=card-content\]\:bg-transparent {
    :where(*[data-slot="card-content"]) & {
      background-color: transparent;
    }
  }
  .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit {
    :where(*[data-slot="combobox-content"]) & {
      &:focus-within {
        border-color: inherit;
      }
    }
  }
  .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0 {
    :where(*[data-slot="combobox-content"]) & {
      &:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + 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);
      }
    }
  }
  .in-data-\[slot\=dialog-content\]\:rounded-lg\! {
    :where(*[data-slot="dialog-content"]) & {
      border-radius: var(--radius-lg) !important;
    }
  }
  .in-data-\[slot\=dropdown-menu-content\]\:p-0 {
    :where(*[data-slot="dropdown-menu-content"]) & {
      padding: calc(var(--spacing) * 0);
    }
  }
  .in-data-\[slot\=navigation-menu-content\]\:rounded-md {
    :where(*[data-slot="navigation-menu-content"]) & {
      border-radius: var(--radius-md);
    }
  }
  .in-data-\[slot\=popover-content\]\:bg-transparent {
    :where(*[data-slot="popover-content"]) & {
      background-color: transparent;
    }
  }
  .in-data-\[slot\=tooltip-content\]\:bg-background\/20 {
    :where(*[data-slot="tooltip-content"]) & {
      background-color: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--background) 20%, transparent);
      }
    }
  }
  .in-data-\[slot\=tooltip-content\]\:text-background {
    :where(*[data-slot="tooltip-content"]) & {
      color: var(--background);
    }
  }
  .has-disabled\:pointer-events-none {
    &:has(*:disabled) {
      pointer-events: none;
    }
  }
  .has-disabled\:cursor-not-allowed {
    &:has(*:disabled) {
      cursor: not-allowed;
    }
  }
  .has-disabled\:opacity-50 {
    &:has(*:disabled) {
      opacity: 50%;
    }
  }
  .has-aria-invalid\:ring-3 {
    &:has(*[aria-invalid="true"]) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-1 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-1\.5 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-2 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-end\]\:pr-1\.5 {
    &:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
      &:has(*[data-icon="inline-end"]) {
        padding-right: calc(var(--spacing) * 1.5);
      }
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-1 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-1\.5 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-2 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 2);
    }
  }
  .group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-start\]\:pl-1\.5 {
    &:is(:where(.group\/toggle-group)[data-spacing="0"] *) {
      &:has(*[data-icon="inline-start"]) {
        padding-left: calc(var(--spacing) * 1.5);
      }
    }
  }
  .has-data-\[size\=sm\]\:gap-2\.5 {
    &:has(*[data-size="sm"]) {
      gap: calc(var(--spacing) * 2.5);
    }
  }
  .has-data-\[size\=xs\]\:gap-2 {
    &:has(*[data-size="xs"]) {
      gap: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[slot\=alert-action\]\:relative {
    &:has(*[data-slot="alert-action"]) {
      position: relative;
    }
  }
  .has-data-\[slot\=alert-action\]\:pr-18 {
    &:has(*[data-slot="alert-action"]) {
      padding-right: calc(var(--spacing) * 18);
    }
  }
  .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\] {
    &:has(*[data-slot="alert-dialog-media"]) {
      grid-template-rows: auto auto 1fr;
    }
  }
  .has-data-\[slot\=alert-dialog-media\]\:gap-x-4 {
    &:has(*[data-slot="alert-dialog-media"]) {
      column-gap: calc(var(--spacing) * 4);
    }
  }
  .has-data-\[slot\=attachment-content\]\:w-30 {
    &:has(*[data-slot="attachment-content"]) {
      width: calc(var(--spacing) * 30);
    }
  }
  .has-data-\[slot\=attachment-content\]\:px-1\.5 {
    &:has(*[data-slot="attachment-content"]) {
      padding-inline: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[slot\=attachment-content\]\:px-2 {
    &:has(*[data-slot="attachment-content"]) {
      padding-inline: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[slot\=attachment-content\]\:px-2\.5 {
    &:has(*[data-slot="attachment-content"]) {
      padding-inline: calc(var(--spacing) * 2.5);
    }
  }
  .has-data-\[slot\=attachment-content\]\:py-1 {
    &:has(*[data-slot="attachment-content"]) {
      padding-block: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[slot\=attachment-content\]\:py-1\.5 {
    &:has(*[data-slot="attachment-content"]) {
      padding-block: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[slot\=attachment-content\]\:py-2 {
    &:has(*[data-slot="attachment-content"]) {
      padding-block: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[slot\=attachment-media\]\:p-1 {
    &:has(*[data-slot="attachment-media"]) {
      padding: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[slot\=attachment-media\]\:p-1\.5 {
    &:has(*[data-slot="attachment-media"]) {
      padding: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[slot\=attachment-media\]\:p-2 {
    &:has(*[data-slot="attachment-media"]) {
      padding: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\] {
    &:has(*[data-slot="card-action"]) {
      grid-template-columns: 1fr auto;
    }
  }
  .has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\] {
    &:has(*[data-slot="card-description"]) {
      grid-template-rows: auto auto;
    }
  }
  .has-data-\[slot\=card-footer\]\:pb-0 {
    &:has(*[data-slot="card-footer"]) {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .has-data-\[slot\=combobox-chip\]\:px-1 {
    &:has(*[data-slot="combobox-chip"]) {
      padding-inline: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[slot\=combobox-chip-remove\]\:pr-0 {
    &:has(*[data-slot="combobox-chip-remove"]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .has-data-\[slot\=kbd\]\:pr-1\.5 {
    &:has(*[data-slot="kbd"]) {
      padding-right: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-checked\:border-primary\/30 {
    &:has(*:where([data-state="checked"]), *:where([data-checked]:not([data-checked="false"]))) {
      border-color: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--foreground) 30%, transparent);
      }
    }
  }
  .has-data-checked\:bg-primary\/5 {
    &:has(*:where([data-state="checked"]), *:where([data-checked]:not([data-checked="false"]))) {
      background-color: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--foreground) 5%, transparent);
      }
    }
  }
  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3 {
    &:has(*:is([data-slot=input-group-control]:focus-visible)) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3 {
    &:has(*:is([data-slot][aria-invalid=true])) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .has-\[button\]\:p-0 {
    &:has(*:is(button)) {
      padding: calc(var(--spacing) * 0);
    }
  }
  .has-\[select\:disabled\]\:opacity-50 {
    &:has(*:is(select:disabled)) {
      opacity: 50%;
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:h-auto {
    &:has(>[data-align=block-end]) {
      height: auto;
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:flex-col {
    &:has(>[data-align=block-end]) {
      flex-direction: column;
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:h-auto {
    &:has(>[data-align=block-start]) {
      height: auto;
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:flex-col {
    &:has(>[data-align=block-start]) {
      flex-direction: column;
    }
  }
  .has-\[\>\[data-slot\=button-group\]\]\:gap-2 {
    &:has(>[data-slot=button-group]) {
      gap: calc(var(--spacing) * 2);
    }
  }
  .has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3 {
    &:has(>[data-slot=checkbox-group]) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .has-\[\>\[data-slot\=field-content\]\]\:items-start {
    &:has(>[data-slot=field-content]) {
      align-items: flex-start;
    }
  }
  .has-\[\>\[data-slot\=field\]\]\:w-full {
    &:has(>[data-slot=field]) {
      width: 100%;
    }
  }
  .has-\[\>\[data-slot\=field\]\]\:flex-col {
    &:has(>[data-slot=field]) {
      flex-direction: column;
    }
  }
  .has-\[\>\[data-slot\=field\]\]\:rounded-lg {
    &:has(>[data-slot=field]) {
      border-radius: var(--radius-lg);
    }
  }
  .has-\[\>\[data-slot\=field\]\]\:border {
    &:has(>[data-slot=field]) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
  .has-\[\>\[data-slot\=field\]\]\:has-\[\:focus-visible\]\:ring-3 {
    &:has(>[data-slot=field]) {
      &:has(*:is(:focus-visible)) {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
      }
    }
  }
  .has-\[\>\[data-slot\=radio-group\]\]\:gap-3 {
    &:has(>[data-slot=radio-group]) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .has-\[\>button\]\:mr-\[-0\.3rem\] {
    &:has(>button) {
      margin-right: -0.3rem;
    }
  }
  .has-\[\>button\]\:ml-\[-0\.3rem\] {
    &:has(>button) {
      margin-left: -0.3rem;
    }
  }
  .has-\[\>img\:first-child\]\:pt-0 {
    &:has(>img:first-child) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .has-\[\>kbd\]\:mr-\[-0\.15rem\] {
    &:has(>kbd) {
      margin-right: -0.15rem;
    }
  }
  .has-\[\>kbd\]\:ml-\[-0\.15rem\] {
    &:has(>kbd) {
      margin-left: -0.15rem;
    }
  }
  .has-\[\>svg\]\:grid-cols-\[auto_1fr\] {
    &:has(>svg) {
      grid-template-columns: auto 1fr;
    }
  }
  .has-\[\>svg\]\:gap-x-2 {
    &:has(>svg) {
      column-gap: calc(var(--spacing) * 2);
    }
  }
  .has-\[\>svg\]\:p-0 {
    &:has(>svg) {
      padding: calc(var(--spacing) * 0);
    }
  }
  .has-\[\>textarea\]\:h-auto {
    &:has(>textarea) {
      height: auto;
    }
  }
  .aria-disabled\:pointer-events-none {
    &[aria-disabled="true"] {
      pointer-events: none;
    }
  }
  .aria-disabled\:opacity-50 {
    &[aria-disabled="true"] {
      opacity: 50%;
    }
  }
  .aria-expanded\:text-foreground {
    &[aria-expanded="true"] {
      color: var(--foreground);
    }
  }
  .aria-expanded\:opacity-100 {
    &[aria-expanded="true"] {
      opacity: 100%;
    }
  }
  .aria-invalid\:ring-0 {
    &[aria-invalid="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + 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);
    }
  }
  .aria-invalid\:ring-3 {
    &[aria-invalid="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .aria-invalid\:aria-checked\:border-primary {
    &[aria-invalid="true"] {
      &[aria-checked="true"] {
        border-color: var(--foreground);
      }
    }
  }
  .aria-\[orientation\=horizontal\]\:h-px {
    &[aria-orientation="horizontal"] {
      height: 1px;
    }
  }
  .aria-\[orientation\=horizontal\]\:w-full {
    &[aria-orientation="horizontal"] {
      width: 100%;
    }
  }
  .aria-\[orientation\=horizontal\]\:after\:left-0 {
    &[aria-orientation="horizontal"] {
      &::after {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0);
      }
    }
  }
  .aria-\[orientation\=horizontal\]\:after\:h-1 {
    &[aria-orientation="horizontal"] {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 1);
      }
    }
  }
  .aria-\[orientation\=horizontal\]\:after\:w-full {
    &[aria-orientation="horizontal"] {
      &::after {
        content: var(--tw-content);
        width: 100%;
      }
    }
  }
  .aria-\[orientation\=horizontal\]\:after\:translate-x-0 {
    &[aria-orientation="horizontal"] {
      &::after {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2 {
    &[aria-orientation="horizontal"] {
      &::after {
        content: var(--tw-content);
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .aria-\[orientation\=vertical\]\:flex-col {
    &[aria-orientation="vertical"] {
      flex-direction: column;
    }
  }
  .data-behind\:opacity-0 {
    &[data-behind] {
      opacity: 0%;
    }
  }
  .data-empty\:p-0 {
    &[data-empty] {
      padding: calc(var(--spacing) * 0);
    }
  }
  .data-ending-style\:pointer-events-none {
    &[data-ending-style] {
      pointer-events: none;
    }
  }
  .data-ending-style\:h-0 {
    &[data-ending-style] {
      height: calc(var(--spacing) * 0);
    }
  }
  .data-ending-style\:scale-90 {
    &[data-ending-style] {
      --tw-scale-x: 90%;
      --tw-scale-y: 90%;
      --tw-scale-z: 90%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-ending-style\:transform-\(--closed-transform\) {
    &[data-ending-style] {
      transform: var(--closed-transform);
    }
  }
  .data-ending-style\:opacity-0 {
    &[data-ending-style] {
      opacity: 0%;
    }
  }
  .data-ending-style\:opacity-\[0\.9999\] {
    &[data-ending-style] {
      opacity: 0.9999;
    }
  }
  .data-ending-style\:duration-150 {
    &[data-ending-style] {
      --tw-duration: 150ms;
      transition-duration: 150ms;
    }
  }
  .data-ending-style\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\] {
    &[data-ending-style] {
      --tw-duration: calc(var(--drawer-swipe-strength) * 400ms);
      transition-duration: calc(var(--drawer-swipe-strength) * 400ms);
    }
  }
  .data-expanded\:h-\(--toast-height\) {
    &[data-expanded] {
      height: var(--toast-height);
    }
  }
  .data-expanded\:\[transform\:translateX\(var\(--toast-swipe-movement-x\)\)_translateY\(var\(--offset-y\)\)\] {
    &[data-expanded] {
      transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y));
    }
  }
  .data-expanded\:opacity-100 {
    &[data-expanded] {
      opacity: 100%;
    }
  }
  .data-inset\:pl-7 {
    &[data-inset] {
      padding-left: calc(var(--spacing) * 7);
    }
  }
  .data-instant\:transition-none {
    &[data-instant] {
      transition-property: none;
    }
  }
  .data-limited\:opacity-0 {
    &[data-limited] {
      opacity: 0%;
    }
  }
  .data-nested-drawer-open\:overflow-hidden {
    &[data-nested-drawer-open] {
      overflow: hidden;
    }
  }
  .data-nested-drawer-open\:brightness-95 {
    &[data-nested-drawer-open] {
      --tw-brightness: brightness(95%);
      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,);
    }
  }
  .data-nested-drawer-swiping\:duration-0 {
    &[data-nested-drawer-swiping] {
      --tw-duration: 0ms;
      transition-duration: 0ms;
    }
  }
  .data-ending-style\:data-nested-drawer-swiping\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\] {
    &[data-ending-style] {
      &[data-nested-drawer-swiping] {
        --tw-duration: calc(var(--drawer-swipe-strength) * 400ms);
        transition-duration: calc(var(--drawer-swipe-strength) * 400ms);
      }
    }
  }
  .data-pressed\:bg-transparent {
    &[data-pressed] {
      background-color: transparent;
    }
  }
  .\*\:data-slot\:rounded-r-none {
    :is(& > *) {
      &[data-slot] {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
  }
  .\*\:data-slot\:rounded-b-none {
    :is(& > *) {
      &[data-slot] {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
      }
    }
  }
  .group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end {
    &:is(:where(.group\/message)[data-align="end"] *) {
      :is(& > *) {
        &[data-slot] {
          align-self: flex-end;
        }
      }
    }
  }
  .data-snap-points\:\[--drawer-overlay-min-opacity\:0\.5\] {
    &[data-snap-points] {
      --drawer-overlay-min-opacity: 0.5;
    }
  }
  .data-starting-style\:h-0 {
    &[data-starting-style] {
      height: calc(var(--spacing) * 0);
    }
  }
  .data-starting-style\:scale-90 {
    &[data-starting-style] {
      --tw-scale-x: 90%;
      --tw-scale-y: 90%;
      --tw-scale-z: 90%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-starting-style\:\[transform\:translateY\(150\%\)\] {
    &[data-starting-style] {
      transform: translateY(150%);
    }
  }
  .data-starting-style\:transform-\(--closed-transform\) {
    &[data-starting-style] {
      transform: var(--closed-transform);
    }
  }
  .data-starting-style\:opacity-0 {
    &[data-starting-style] {
      opacity: 0%;
    }
  }
  .data-swiping\:duration-0 {
    &[data-swiping] {
      --tw-duration: 0ms;
      transition-duration: 0ms;
    }
  }
  .data-ending-style\:data-swiping\:duration-\[calc\(var\(--drawer-swipe-strength\)\*400ms\)\] {
    &[data-ending-style] {
      &[data-swiping] {
        --tw-duration: calc(var(--drawer-swipe-strength) * 400ms);
        transition-duration: calc(var(--drawer-swipe-strength) * 400ms);
      }
    }
  }
  .data-\[active\=false\]\:pointer-events-none {
    &[data-active="false"] {
      pointer-events: none;
    }
  }
  .data-\[active\=false\]\:scale-95 {
    &[data-active="false"] {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-\[active\=false\]\:opacity-0 {
    &[data-active="false"] {
      opacity: 0%;
    }
  }
  .data-\[active\=false\]\:duration-400 {
    &[data-active="false"] {
      --tw-duration: 400ms;
      transition-duration: 400ms;
    }
  }
  .data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\] {
    &[data-active="false"] {
      --tw-ease: cubic-bezier(0.7,0,0.84,0);
      transition-timing-function: cubic-bezier(0.7,0,0.84,0);
    }
  }
  .data-\[active\=true\]\:z-10 {
    &[data-active="true"] {
      z-index: 10;
    }
  }
  .data-\[active\=true\]\:translate-y-0 {
    &[data-active="true"] {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[active\=true\]\:scale-100 {
    &[data-active="true"] {
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .data-\[active\=true\]\:opacity-100 {
    &[data-active="true"] {
      opacity: 100%;
    }
  }
  .data-\[active\=true\]\:ring-3 {
    &[data-active="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
    }
  }
  .data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\] {
    &[data-active="true"] {
      --tw-ease: cubic-bezier(0.23,1,0.32,1);
      transition-timing-function: cubic-bezier(0.23,1,0.32,1);
    }
  }
  .data-\[align-trigger\=true\]\:animate-none {
    &[data-align-trigger="true"] {
      animation: none;
    }
  }
  .data-\[align\=end\]\:flex-row-reverse {
    &[data-align="end"] {
      flex-direction: row-reverse;
    }
  }
  .data-\[align\=end\]\:self-end {
    &[data-align="end"] {
      align-self: flex-end;
    }
  }
  .data-\[chips\=true\]\:min-w-\(--anchor-width\) {
    &[data-chips="true"] {
      min-width: var(--anchor-width);
    }
  }
  .data-\[direction\=end\]\:bottom-4 {
    &[data-direction="end"] {
      bottom: calc(var(--spacing) * 4);
    }
  }
  .data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full {
    &[data-direction="end"] {
      &[data-active="false"] {
        --tw-translate-y: 100%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[direction\=start\]\:top-4 {
    &[data-direction="start"] {
      top: calc(var(--spacing) * 4);
    }
  }
  .data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full {
    &[data-direction="start"] {
      &[data-active="false"] {
        --tw-translate-y: -100%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[disabled\=true\]\:pointer-events-none {
    &[data-disabled="true"] {
      pointer-events: none;
    }
  }
  .data-\[disabled\=true\]\:opacity-50 {
    &[data-disabled="true"] {
      opacity: 50%;
    }
  }
  .data-\[modal\=true\]\:pointer-events-auto {
    &[data-modal="true"] {
      pointer-events: auto;
    }
  }
  .data-\[motion\=from-end\]\:slide-in-from-right-52 {
    &[data-motion="from-end"] {
      --tw-enter-translate-x: calc(52*var(--spacing));
    }
  }
  .data-\[motion\=from-start\]\:slide-in-from-left-52 {
    &[data-motion="from-start"] {
      --tw-enter-translate-x: calc(52*var(--spacing)*-1);
    }
  }
  .data-\[motion\=to-end\]\:slide-out-to-right-52 {
    &[data-motion="to-end"] {
      --tw-exit-translate-x: calc(52*var(--spacing));
    }
  }
  .data-\[motion\=to-start\]\:slide-out-to-left-52 {
    &[data-motion="to-start"] {
      --tw-exit-translate-x: calc(52*var(--spacing)*-1);
    }
  }
  .data-\[motion\^\=from-\]\:animate-in {
    &[data-motion^="from-"] {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[motion\^\=from-\]\:fade-in {
    &[data-motion^="from-"] {
      --tw-enter-opacity: 0;
    }
  }
  .data-\[motion\^\=to-\]\:animate-out {
    &[data-motion^="to-"] {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[motion\^\=to-\]\:fade-out {
    &[data-motion^="to-"] {
      --tw-exit-opacity: 0;
    }
  }
  .data-\[range-end\=true\]\:rounded-\(--cell-radius\) {
    &[data-range-end="true"] {
      border-radius: var(--cell-radius);
    }
  }
  .data-\[range-end\=true\]\:rounded-r-\(--cell-radius\) {
    &[data-range-end="true"] {
      border-top-right-radius: var(--cell-radius);
      border-bottom-right-radius: var(--cell-radius);
    }
  }
  .data-\[range-end\=true\]\:bg-primary {
    &[data-range-end="true"] {
      background-color: var(--foreground);
    }
  }
  .data-\[range-end\=true\]\:text-primary-foreground {
    &[data-range-end="true"] {
      color: var(--background);
    }
  }
  .data-\[range-middle\=true\]\:rounded-none {
    &[data-range-middle="true"] {
      border-radius: 0;
    }
  }
  .data-\[range-middle\=true\]\:text-foreground {
    &[data-range-middle="true"] {
      color: var(--foreground);
    }
  }
  .data-\[range-start\=true\]\:rounded-\(--cell-radius\) {
    &[data-range-start="true"] {
      border-radius: var(--cell-radius);
    }
  }
  .data-\[range-start\=true\]\:rounded-l-\(--cell-radius\) {
    &[data-range-start="true"] {
      border-top-left-radius: var(--cell-radius);
      border-bottom-left-radius: var(--cell-radius);
    }
  }
  .data-\[range-start\=true\]\:bg-primary {
    &[data-range-start="true"] {
      background-color: var(--foreground);
    }
  }
  .data-\[range-start\=true\]\:text-primary-foreground {
    &[data-range-start="true"] {
      color: var(--background);
    }
  }
  .data-\[selected-single\=true\]\:bg-primary {
    &[data-selected-single="true"] {
      background-color: var(--foreground);
    }
  }
  .data-\[selected-single\=true\]\:text-primary-foreground {
    &[data-selected-single="true"] {
      color: var(--background);
    }
  }
  .data-\[selected\=true\]\:rounded-none {
    &[data-selected="true"] {
      border-radius: 0;
    }
  }
  .data-\[side\=bottom\]\:inset-x-0 {
    &[data-side="bottom"] {
      inset-inline: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=bottom\]\:top-1 {
    &[data-side="bottom"] {
      top: calc(var(--spacing) * 1);
    }
  }
  .data-\[side\=bottom\]\:bottom-0 {
    &[data-side="bottom"] {
      bottom: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=bottom\]\:h-auto {
    &[data-side="bottom"] {
      height: auto;
    }
  }
  .data-\[side\=bottom\]\:border-t {
    &[data-side="bottom"] {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
    }
  }
  .data-\[side\=bottom\]\:slide-in-from-top-2 {
    &[data-side="bottom"] {
      --tw-enter-translate-y: calc(2*var(--spacing)*-1);
    }
  }
  .data-\[side\=bottom\]\:before\:top-\[-10px\] {
    &[data-side="bottom"] {
      &::before {
        content: var(--tw-content);
        top: -10px;
      }
    }
  }
  .data-\[side\=bottom\]\:before\:right-0 {
    &[data-side="bottom"] {
      &::before {
        content: var(--tw-content);
        right: calc(var(--spacing) * 0);
      }
    }
  }
  .data-\[side\=bottom\]\:before\:left-0 {
    &[data-side="bottom"] {
      &::before {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0);
      }
    }
  }
  .data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\] {
    &[data-side="bottom"] {
      &[data-ending-style] {
        --tw-translate-y: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\] {
    &[data-side="bottom"] {
      &[data-starting-style] {
        --tw-translate-y: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=inline-end\]\:top-1\/2\! {
    &[data-side="inline-end"] {
      top: calc(1 / 2 * 100%) !important;
    }
  }
  .data-\[side\=inline-end\]\:-left-1 {
    &[data-side="inline-end"] {
      left: calc(var(--spacing) * -1);
    }
  }
  .data-\[side\=inline-end\]\:-translate-y-1\/2 {
    &[data-side="inline-end"] {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=inline-end\]\:slide-in-from-left-2 {
    &[data-side="inline-end"] {
      --tw-enter-translate-x: calc(2*var(--spacing)*-1);
    }
  }
  .data-\[side\=inline-start\]\:top-1\/2\! {
    &[data-side="inline-start"] {
      top: calc(1 / 2 * 100%) !important;
    }
  }
  .data-\[side\=inline-start\]\:-right-1 {
    &[data-side="inline-start"] {
      right: calc(var(--spacing) * -1);
    }
  }
  .data-\[side\=inline-start\]\:-translate-y-1\/2 {
    &[data-side="inline-start"] {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=inline-start\]\:slide-in-from-right-2 {
    &[data-side="inline-start"] {
      --tw-enter-translate-x: calc(2*var(--spacing));
    }
  }
  .data-\[side\=left\]\:inset-y-0 {
    &[data-side="left"] {
      inset-block: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=left\]\:top-1\/2\! {
    &[data-side="left"] {
      top: calc(1 / 2 * 100%) !important;
    }
  }
  .data-\[side\=left\]\:-right-1 {
    &[data-side="left"] {
      right: calc(var(--spacing) * -1);
    }
  }
  .data-\[side\=left\]\:left-0 {
    &[data-side="left"] {
      left: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=left\]\:h-full {
    &[data-side="left"] {
      height: 100%;
    }
  }
  .data-\[side\=left\]\:w-3\/4 {
    &[data-side="left"] {
      width: calc(3 / 4 * 100%);
    }
  }
  .data-\[side\=left\]\:-translate-y-1\/2 {
    &[data-side="left"] {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=left\]\:border-r {
    &[data-side="left"] {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .data-\[side\=left\]\:slide-in-from-right-2 {
    &[data-side="left"] {
      --tw-enter-translate-x: calc(2*var(--spacing));
    }
  }
  .data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    &[data-side="left"] {
      &:is(:where(.group)[data-collapsible="offcanvas"] *) {
        left: calc(var(--sidebar-width) * -1);
      }
    }
  }
  .data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\] {
    &[data-side="left"] {
      &[data-ending-style] {
        --tw-translate-x: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\] {
    &[data-side="left"] {
      &[data-starting-style] {
        --tw-translate-x: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=right\]\:inset-y-0 {
    &[data-side="right"] {
      inset-block: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=right\]\:top-1\/2\! {
    &[data-side="right"] {
      top: calc(1 / 2 * 100%) !important;
    }
  }
  .data-\[side\=right\]\:right-0 {
    &[data-side="right"] {
      right: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=right\]\:-left-1 {
    &[data-side="right"] {
      left: calc(var(--spacing) * -1);
    }
  }
  .data-\[side\=right\]\:h-full {
    &[data-side="right"] {
      height: 100%;
    }
  }
  .data-\[side\=right\]\:w-3\/4 {
    &[data-side="right"] {
      width: calc(3 / 4 * 100%);
    }
  }
  .data-\[side\=right\]\:-translate-y-1\/2 {
    &[data-side="right"] {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=right\]\:border-l {
    &[data-side="right"] {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .data-\[side\=right\]\:slide-in-from-left-2 {
    &[data-side="right"] {
      --tw-enter-translate-x: calc(2*var(--spacing)*-1);
    }
  }
  .data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    &[data-side="right"] {
      &:is(:where(.group)[data-collapsible="offcanvas"] *) {
        right: calc(var(--sidebar-width) * -1);
      }
    }
  }
  .data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\] {
    &[data-side="right"] {
      &[data-ending-style] {
        --tw-translate-x: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\] {
    &[data-side="right"] {
      &[data-starting-style] {
        --tw-translate-x: 2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=top\]\:inset-x-0 {
    &[data-side="top"] {
      inset-inline: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=top\]\:top-0 {
    &[data-side="top"] {
      top: calc(var(--spacing) * 0);
    }
  }
  .data-\[side\=top\]\:-bottom-2\.5 {
    &[data-side="top"] {
      bottom: calc(var(--spacing) * -2.5);
    }
  }
  .data-\[side\=top\]\:h-auto {
    &[data-side="top"] {
      height: auto;
    }
  }
  .data-\[side\=top\]\:border-b {
    &[data-side="top"] {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .data-\[side\=top\]\:slide-in-from-bottom-2 {
    &[data-side="top"] {
      --tw-enter-translate-y: calc(2*var(--spacing));
    }
  }
  .data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\] {
    &[data-side="top"] {
      &[data-ending-style] {
        --tw-translate-y: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\] {
    &[data-side="top"] {
      &[data-starting-style] {
        --tw-translate-y: -2.5rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .data-\[size\=default\]\:h-8 {
    &[data-size="default"] {
      height: calc(var(--spacing) * 8);
    }
  }
  .data-\[size\=default\]\:h-\[18\.4px\] {
    &[data-size="default"] {
      height: 18.4px;
    }
  }
  .data-\[size\=default\]\:w-\[32px\] {
    &[data-size="default"] {
      width: 32px;
    }
  }
  .data-\[size\=default\]\:max-w-xs {
    &[data-size="default"] {
      max-width: var(--container-xs);
    }
  }
  .data-\[size\=lg\]\:size-10 {
    &[data-size="lg"] {
      width: calc(var(--spacing) * 10);
      height: calc(var(--spacing) * 10);
    }
  }
  .data-\[size\=md\]\:text-sm {
    &[data-size="md"] {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .data-\[size\=sm\]\:size-6 {
    &[data-size="sm"] {
      width: calc(var(--spacing) * 6);
      height: calc(var(--spacing) * 6);
    }
  }
  .data-\[size\=sm\]\:h-7 {
    &[data-size="sm"] {
      height: calc(var(--spacing) * 7);
    }
  }
  .data-\[size\=sm\]\:h-\[14px\] {
    &[data-size="sm"] {
      height: 14px;
    }
  }
  .data-\[size\=sm\]\:w-\[24px\] {
    &[data-size="sm"] {
      width: 24px;
    }
  }
  .data-\[size\=sm\]\:max-w-xs {
    &[data-size="sm"] {
      max-width: var(--container-xs);
    }
  }
  .data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    &[data-size="sm"] {
      border-radius: min(var(--radius-md), 10px);
    }
  }
  .data-\[size\=sm\]\:py-0\.5 {
    &[data-size="sm"] {
      padding-block: calc(var(--spacing) * 0.5);
    }
  }
  .data-\[size\=sm\]\:text-xs {
    &[data-size="sm"] {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\] {
    &[data-size="sm"] {
      --card-spacing: calc(var(--spacing) * 3);
    }
  }
  .data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0 {
    &[data-size="sm"] {
      &:has(*[data-slot="card-footer"]) {
        padding-bottom: calc(var(--spacing) * 0);
      }
    }
  }
  .\*\*\:data-\[slot\=accordion-trigger-icon\]\:ml-auto {
    :is(& *) {
      &[data-slot="accordion-trigger-icon"] {
        margin-left: auto;
      }
    }
  }
  .\*\*\:data-\[slot\=accordion-trigger-icon\]\:size-4 {
    :is(& *) {
      &[data-slot="accordion-trigger-icon"] {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4);
      }
    }
  }
  .\*\:data-\[slot\=attachment\]\:flex-none {
    :is(& > *) {
      &[data-slot="attachment"] {
        flex: none;
      }
    }
  }
  .\*\:data-\[slot\=attachment\]\:snap-start {
    :is(& > *) {
      &[data-slot="attachment"] {
        scroll-snap-align: start;
      }
    }
  }
  .\*\:data-\[slot\=avatar\]\:ring-2 {
    :is(& > *) {
      &[data-slot="avatar"] {
        --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);
      }
    }
  }
  .\*\:data-\[slot\=avatar\]\:ring-background {
    :is(& > *) {
      &[data-slot="avatar"] {
        --tw-ring-color: var(--background);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:rounded-none {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        border-radius: 0;
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:border-border {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        border-color: var(--line);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\] {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: oklch(from var(--primary) 0.93 calc(c * 0.4) h);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:bg-background {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: var(--background);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:bg-primary {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: var(--foreground);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:bg-transparent {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        background-color: transparent;
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:p-0 {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        padding: calc(var(--spacing) * 0);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:text-foreground {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        color: var(--foreground);
      }
    }
  }
  .\*\:data-\[slot\=bubble-content\]\:text-primary-foreground {
    :is(& > *) {
      &[data-slot="bubble-content"] {
        color: var(--background);
      }
    }
  }
  .data-\[slot\=checkbox-group\]\:gap-3 {
    &[data-slot="checkbox-group"] {
      gap: calc(var(--spacing) * 3);
    }
  }
  .\*\:data-\[slot\=field\]\:p-2\.5 {
    :is(& > *) {
      &[data-slot="field"] {
        padding: calc(var(--spacing) * 2.5);
      }
    }
  }
  .\*\:data-\[slot\=field-group\]\:gap-4 {
    :is(& > *) {
      &[data-slot="field-group"] {
        gap: calc(var(--spacing) * 4);
      }
    }
  }
  .\*\:data-\[slot\=field-label\]\:flex-auto {
    :is(& > *) {
      &[data-slot="field-label"] {
        flex: auto;
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:m-1 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin: calc(var(--spacing) * 1);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:mb-0 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin-bottom: calc(var(--spacing) * 0);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:h-8 {
    :is(& > *) {
      &[data-slot="input-group"] {
        height: calc(var(--spacing) * 8);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:shadow-none {
    :is(& > *) {
      &[data-slot="input-group"] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .\*\:data-\[slot\=input-group-addon\]\:pl-2\! {
    :is(& > *) {
      &[data-slot="input-group-addon"] {
        padding-left: calc(var(--spacing) * 2) !important;
      }
    }
  }
  .\*\*\:data-\[slot\=kbd\]\:relative {
    :is(& *) {
      &[data-slot="kbd"] {
        position: relative;
      }
    }
  }
  .\*\*\:data-\[slot\=kbd\]\:isolate {
    :is(& *) {
      &[data-slot="kbd"] {
        isolation: isolate;
      }
    }
  }
  .\*\*\:data-\[slot\=kbd\]\:z-50 {
    :is(& *) {
      &[data-slot="kbd"] {
        z-index: 50;
      }
    }
  }
  .\*\*\:data-\[slot\=kbd\]\:rounded-sm {
    :is(& *) {
      &[data-slot="kbd"] {
        border-radius: var(--radius-sm);
      }
    }
  }
  .\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 {
    :is(& *) {
      &[data-slot="navigation-menu-link"] {
        &:focus {
          --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + 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);
        }
      }
    }
  }
  .\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none {
    :is(& *) {
      &[data-slot="navigation-menu-link"] {
        &:focus {
          --tw-outline-style: none;
          outline-style: none;
        }
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:line-clamp-1 {
    :is(& > *) {
      &[data-slot="select-value"] {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:flex {
    :is(& > *) {
      &[data-slot="select-value"] {
        display: flex;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:items-center {
    :is(& > *) {
      &[data-slot="select-value"] {
        align-items: center;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:gap-1\.5 {
    :is(& > *) {
      &[data-slot="select-value"] {
        gap: calc(var(--spacing) * 1.5);
      }
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\! {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      :is(& > *) {
        &[data-slot="spinner"] {
          width: calc(var(--spacing) * 6) !important;
          height: calc(var(--spacing) * 6) !important;
        }
      }
    }
  }
  .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg {
    &:is(:where(.group\/toggle-group):where([data-orientation="horizontal"]) *) {
      &[data-spacing="0"] {
        &:first-child {
          border-top-left-radius: var(--radius-lg);
          border-bottom-left-radius: var(--radius-lg);
        }
      }
    }
  }
  .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg {
    &:is(:where(.group\/toggle-group):where([data-orientation="vertical"]) *) {
      &[data-spacing="0"] {
        &:first-child {
          border-top-left-radius: var(--radius-lg);
          border-top-right-radius: var(--radius-lg);
        }
      }
    }
  }
  .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg {
    &:is(:where(.group\/toggle-group):where([data-orientation="horizontal"]) *) {
      &[data-spacing="0"] {
        &:last-child {
          border-top-right-radius: var(--radius-lg);
          border-bottom-right-radius: var(--radius-lg);
        }
      }
    }
  }
  .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg {
    &:is(:where(.group\/toggle-group):where([data-orientation="vertical"]) *) {
      &[data-spacing="0"] {
        &:last-child {
          border-bottom-right-radius: var(--radius-lg);
          border-bottom-left-radius: var(--radius-lg);
        }
      }
    }
  }
  .data-\[state\=delayed-open\]\:animate-in {
    &[data-state="delayed-open"] {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=delayed-open\]\:fade-in-0 {
    &[data-state="delayed-open"] {
      --tw-enter-opacity: calc(0/100);
      --tw-enter-opacity: 0;
    }
  }
  .data-\[state\=delayed-open\]\:zoom-in-95 {
    &[data-state="delayed-open"] {
      --tw-enter-scale: calc(95*1%);
      --tw-enter-scale: .95;
    }
  }
  .data-\[state\=hidden\]\:animate-out {
    &[data-state="hidden"] {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=hidden\]\:fade-out {
    &[data-state="hidden"] {
      --tw-exit-opacity: 0;
    }
  }
  .data-\[state\=idle\]\:border-dashed {
    &[data-state="idle"] {
      --tw-border-style: dashed;
      border-style: dashed;
    }
  }
  .data-\[state\=visible\]\:animate-in {
    &[data-state="visible"] {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=visible\]\:fade-in {
    &[data-state="visible"] {
      --tw-enter-opacity: 0;
    }
  }
  .data-\[swipe-axis\=x\]\:inset-y-0 {
    &[data-swipe-axis="x"] {
      inset-block: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-axis\=x\]\:flex-row {
    &[data-swipe-axis="x"] {
      flex-direction: row;
    }
  }
  .data-\[swipe-axis\=x\]\:\[--drawer-content-width\:75\%\] {
    &[data-swipe-axis="x"] {
      --drawer-content-width: 75%;
    }
  }
  .data-\[swipe-axis\=x\]\:after\:inset-y-0 {
    &[data-swipe-axis="x"] {
      &::after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0);
      }
    }
  }
  .data-\[swipe-axis\=x\]\:after\:w-\(--bleed\) {
    &[data-swipe-axis="x"] {
      &::after {
        content: var(--tw-content);
        width: var(--bleed);
      }
    }
  }
  .data-\[swipe-axis\=y\]\:inset-x-0 {
    &[data-swipe-axis="y"] {
      inset-inline: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-axis\=y\]\:\[--drawer-content-max-height\:calc\(100dvh-6rem\)\] {
    &[data-swipe-axis="y"] {
      --drawer-content-max-height: calc(100dvh - 6rem);
    }
  }
  .data-\[swipe-axis\=y\]\:after\:inset-x-0 {
    &[data-swipe-axis="y"] {
      &::after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0);
      }
    }
  }
  .data-\[swipe-axis\=y\]\:after\:h-\(--bleed\) {
    &[data-swipe-axis="y"] {
      &::after {
        content: var(--tw-content);
        height: var(--bleed);
      }
    }
  }
  .data-\[swipe-axis\=y\]\:data-nested-drawer-open\:h-\(--stack-height\) {
    &[data-swipe-axis="y"] {
      &[data-nested-drawer-open] {
        height: var(--stack-height);
      }
    }
  }
  .data-\[swipe-axis\=y\]\:data-snap-points\:\[--drawer-content-height\:100dvh\] {
    &[data-swipe-axis="y"] {
      &[data-snap-points] {
        --drawer-content-height: 100dvh;
      }
    }
  }
  .data-\[swipe-direction\=down\]\:bottom-0 {
    &[data-swipe-direction="down"] {
      bottom: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-direction\=down\]\:origin-bottom {
    &[data-swipe-direction="down"] {
      transform-origin: bottom;
    }
  }
  .data-\[swipe-direction\=down\]\:rounded-t-xl {
    &[data-swipe-direction="down"] {
      border-top-left-radius: var(--radius-xl);
      border-top-right-radius: var(--radius-xl);
    }
  }
  .data-\[swipe-direction\=down\]\:border-t {
    &[data-swipe-direction="down"] {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
    }
  }
  .data-\[swipe-direction\=down\]\:\[--closed-transform\:translate3d\(0\,calc\(100\%\+var\(--drawer-inset\,0px\)\+2px\)\,0\)\] {
    &[data-swipe-direction="down"] {
      --closed-transform: translate3d(0,calc(100% + var(--drawer-inset,0px) + 2px),0);
    }
  }
  .data-\[swipe-direction\=down\]\:\[--translate-y\:calc\(var\(--drawer-snap-point-offset\,0px\)\+var\(--drawer-swipe-movement-y\)-var\(--stack-peek-offset\)-\(var\(--stack-shrink\)\*var\(--stack-height\)\)\)\] {
    &[data-swipe-direction="down"] {
      --translate-y: calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y) - var(--stack-peek-offset) - (var(--stack-shrink) * var(--stack-height)));
    }
  }
  .data-\[swipe-direction\=down\]\:after\:top-full {
    &[data-swipe-direction="down"] {
      &::after {
        content: var(--tw-content);
        top: 100%;
      }
    }
  }
  .data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+150\%\)\)\] {
    &[data-ending-style] {
      &[data-swipe-direction="down"] {
        transform: translateY(calc(var(--toast-swipe-movement-y) + 150%));
      }
    }
  }
  .data-expanded\:data-ending-style\:data-\[swipe-direction\=down\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)\+150\%\)\)\] {
    &[data-expanded] {
      &[data-ending-style] {
        &[data-swipe-direction="down"] {
          transform: translateY(calc(var(--toast-swipe-movement-y) + 150%));
        }
      }
    }
  }
  .data-\[swipe-direction\=left\]\:left-0 {
    &[data-swipe-direction="left"] {
      left: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-direction\=left\]\:origin-left {
    &[data-swipe-direction="left"] {
      transform-origin: 0;
    }
  }
  .data-\[swipe-direction\=left\]\:rounded-r-xl {
    &[data-swipe-direction="left"] {
      border-top-right-radius: var(--radius-xl);
      border-bottom-right-radius: var(--radius-xl);
    }
  }
  .data-\[swipe-direction\=left\]\:border-r {
    &[data-swipe-direction="left"] {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .data-\[swipe-direction\=left\]\:\[--closed-transform\:translate3d\(calc\(-100\%-var\(--drawer-inset\,0px\)-2px\)\,0\,0\)\] {
    &[data-swipe-direction="left"] {
      --closed-transform: translate3d(calc(-100% - var(--drawer-inset,0px) - 2px),0,0);
    }
  }
  .data-\[swipe-direction\=left\]\:\[--translate-x\:calc\(var\(--drawer-swipe-movement-x\)\+var\(--stack-peek-offset\)\+\(var\(--stack-shrink\)\*100\%\)\)\] {
    &[data-swipe-direction="left"] {
      --translate-x: calc(var(--drawer-swipe-movement-x) + var(--stack-peek-offset) + (var(--stack-shrink) * 100%));
    }
  }
  .data-\[swipe-direction\=left\]\:after\:right-full {
    &[data-swipe-direction="left"] {
      &::after {
        content: var(--tw-content);
        right: 100%;
      }
    }
  }
  .data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-150\%\)\)_translateY\(var\(--offset-y\)\)\] {
    &[data-ending-style] {
      &[data-swipe-direction="left"] {
        transform: translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y));
      }
    }
  }
  .data-expanded\:data-ending-style\:data-\[swipe-direction\=left\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)-150\%\)\)_translateY\(var\(--offset-y\)\)\] {
    &[data-expanded] {
      &[data-ending-style] {
        &[data-swipe-direction="left"] {
          transform: translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y));
        }
      }
    }
  }
  .data-\[swipe-direction\=right\]\:right-0 {
    &[data-swipe-direction="right"] {
      right: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-direction\=right\]\:origin-right {
    &[data-swipe-direction="right"] {
      transform-origin: 100%;
    }
  }
  .data-\[swipe-direction\=right\]\:rounded-l-xl {
    &[data-swipe-direction="right"] {
      border-top-left-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
    }
  }
  .data-\[swipe-direction\=right\]\:border-l {
    &[data-swipe-direction="right"] {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .data-\[swipe-direction\=right\]\:\[--closed-transform\:translate3d\(calc\(100\%\+var\(--drawer-inset\,0px\)\+2px\)\,0\,0\)\] {
    &[data-swipe-direction="right"] {
      --closed-transform: translate3d(calc(100% + var(--drawer-inset,0px) + 2px),0,0);
    }
  }
  .data-\[swipe-direction\=right\]\:\[--translate-x\:calc\(var\(--drawer-swipe-movement-x\)-var\(--stack-peek-offset\)-\(var\(--stack-shrink\)\*100\%\)\)\] {
    &[data-swipe-direction="right"] {
      --translate-x: calc(var(--drawer-swipe-movement-x) - var(--stack-peek-offset) - (var(--stack-shrink) * 100%));
    }
  }
  .data-\[swipe-direction\=right\]\:after\:left-full {
    &[data-swipe-direction="right"] {
      &::after {
        content: var(--tw-content);
        left: 100%;
      }
    }
  }
  .data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+150\%\)\)_translateY\(var\(--offset-y\)\)\] {
    &[data-ending-style] {
      &[data-swipe-direction="right"] {
        transform: translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y));
      }
    }
  }
  .data-expanded\:data-ending-style\:data-\[swipe-direction\=right\]\:\[transform\:translateX\(calc\(var\(--toast-swipe-movement-x\)\+150\%\)\)_translateY\(var\(--offset-y\)\)\] {
    &[data-expanded] {
      &[data-ending-style] {
        &[data-swipe-direction="right"] {
          transform: translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y));
        }
      }
    }
  }
  .data-\[swipe-direction\=up\]\:top-0 {
    &[data-swipe-direction="up"] {
      top: calc(var(--spacing) * 0);
    }
  }
  .data-\[swipe-direction\=up\]\:origin-top {
    &[data-swipe-direction="up"] {
      transform-origin: top;
    }
  }
  .data-\[swipe-direction\=up\]\:rounded-b-xl {
    &[data-swipe-direction="up"] {
      border-bottom-right-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
    }
  }
  .data-\[swipe-direction\=up\]\:border-b {
    &[data-swipe-direction="up"] {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .data-\[swipe-direction\=up\]\:\[--closed-transform\:translate3d\(0\,calc\(-100\%-var\(--drawer-inset\,0px\)-2px\)\,0\)\] {
    &[data-swipe-direction="up"] {
      --closed-transform: translate3d(0,calc(-100% - var(--drawer-inset,0px) - 2px),0);
    }
  }
  .data-\[swipe-direction\=up\]\:\[--translate-y\:calc\(var\(--drawer-snap-point-offset\,0px\)\+var\(--drawer-swipe-movement-y\)\+var\(--stack-peek-offset\)\+\(var\(--stack-shrink\)\*var\(--stack-height\)\)\)\] {
    &[data-swipe-direction="up"] {
      --translate-y: calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y) + var(--stack-peek-offset) + (var(--stack-shrink) * var(--stack-height)));
    }
  }
  .data-\[swipe-direction\=up\]\:after\:bottom-full {
    &[data-swipe-direction="up"] {
      &::after {
        content: var(--tw-content);
        bottom: 100%;
      }
    }
  }
  .data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-150\%\)\)\] {
    &[data-ending-style] {
      &[data-swipe-direction="up"] {
        transform: translateY(calc(var(--toast-swipe-movement-y) - 150%));
      }
    }
  }
  .data-expanded\:data-ending-style\:data-\[swipe-direction\=up\]\:\[transform\:translateY\(calc\(var\(--toast-swipe-movement-y\)-150\%\)\)\] {
    &[data-expanded] {
      &[data-ending-style] {
        &[data-swipe-direction="up"] {
          transform: translateY(calc(var(--toast-swipe-movement-y) - 150%));
        }
      }
    }
  }
  .data-\[variant\=ghost\]\:max-w-full {
    &[data-variant="ghost"] {
      max-width: 100%;
    }
  }
  .data-\[variant\=label\]\:text-sm {
    &[data-variant="label"] {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .data-\[variant\=legend\]\:text-base {
    &[data-variant="legend"] {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .data-\[variant\=line\]\:rounded-none {
    &[data-variant="line"] {
      border-radius: 0;
    }
  }
  .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0 {
    &:is(:where(.group\/toggle-group):where([data-orientation="horizontal"]) *) {
      &[data-spacing="0"] {
        &[data-variant="outline"] {
          border-left-style: var(--tw-border-style);
          border-left-width: 0px;
        }
      }
    }
  }
  .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0 {
    &:is(:where(.group\/toggle-group):where([data-orientation="vertical"]) *) {
      &[data-spacing="0"] {
        &[data-variant="outline"] {
          border-top-style: var(--tw-border-style);
          border-top-width: 0px;
        }
      }
    }
  }
  .group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l {
    &:is(:where(.group\/toggle-group):where([data-orientation="horizontal"]) *) {
      &[data-spacing="0"] {
        &[data-variant="outline"] {
          &:first-child {
            border-left-style: var(--tw-border-style);
            border-left-width: 1px;
          }
        }
      }
    }
  }
  .group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t {
    &:is(:where(.group\/toggle-group):where([data-orientation="vertical"]) *) {
      &[data-spacing="0"] {
        &[data-variant="outline"] {
          &:first-child {
            border-top-style: var(--tw-border-style);
            border-top-width: 1px;
          }
        }
      }
    }
  }
  .nth-last-2\:-mt-1 {
    &:nth-last-child(2) {
      margin-top: calc(var(--spacing) * -1);
    }
  }
  .supports-backdrop-filter\:backdrop-blur-xs {
    @supports (backdrop-filter: var(--tw)) {
      --tw-backdrop-blur: blur(var(--blur-xs));
      -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,);
    }
  }
  .supports-\[-webkit-touch-callout\:none\]\:absolute {
    @supports (-webkit-touch-callout:none) {
      position: absolute;
    }
  }
  .sm\:right-4 {
    @media (width >= 40rem) {
      right: calc(var(--spacing) * 4);
    }
  }
  .sm\:left-auto {
    @media (width >= 40rem) {
      left: auto;
    }
  }
  .sm\:mx-0 {
    @media (width >= 40rem) {
      margin-inline: calc(var(--spacing) * 0);
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:w-full {
    @media (width >= 40rem) {
      width: 100%;
    }
  }
  .sm\:max-w-sm {
    @media (width >= 40rem) {
      max-width: var(--container-sm);
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:justify-end {
    @media (width >= 40rem) {
      justify-content: flex-end;
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2 {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        grid-row: span 2 / span 2;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        place-items: start;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        text-align: left;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2 {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        &:is(:where(.group\/alert-dialog-content):has(*[data-slot="alert-dialog-media"]) *) {
          grid-column-start: 2;
        }
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\] {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        &:has(*[data-slot="alert-dialog-media"]) {
          grid-template-rows: auto 1fr;
        }
      }
    }
  }
  .data-\[side\=left\]\:sm\:max-w-sm {
    &[data-side="left"] {
      @media (width >= 40rem) {
        max-width: var(--container-sm);
      }
    }
  }
  .data-\[side\=right\]\:sm\:max-w-sm {
    &[data-side="right"] {
      @media (width >= 40rem) {
        max-width: var(--container-sm);
      }
    }
  }
  .data-\[size\=default\]\:sm\:max-w-sm {
    &[data-size="default"] {
      @media (width >= 40rem) {
        max-width: var(--container-sm);
      }
    }
  }
  .data-\[swipe-axis\=x\]\:sm\:\[--drawer-content-width\:24rem\] {
    &[data-swipe-axis="x"] {
      @media (width >= 40rem) {
        --drawer-content-width: 24rem;
      }
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:gap-0\.5 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 0.5);
    }
  }
  .md\:text-left {
    @media (width >= 48rem) {
      text-align: left;
    }
  }
  .md\:text-sm {
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .md\:text-pretty {
    @media (width >= 48rem) {
      text-wrap: pretty;
    }
  }
  .md\:opacity-0 {
    @media (width >= 48rem) {
      opacity: 0%;
    }
  }
  .md\:peer-data-\[variant\=inset\]\:m-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        margin: calc(var(--spacing) * 2);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:ml-0 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        margin-left: calc(var(--spacing) * 0);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        border-radius: var(--radius-xl);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:shadow-sm {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        &:is(:where(.peer)[data-state="collapsed"] ~ *) {
          margin-left: calc(var(--spacing) * 2);
        }
      }
    }
  }
  .md\:after\:hidden {
    @media (width >= 48rem) {
      &::after {
        content: var(--tw-content);
        display: none;
      }
    }
  }
  .\@md\/field-group\:flex-row {
    @container field-group (width >= 28rem) {
      flex-direction: row;
    }
  }
  .\@md\/field-group\:items-center {
    @container field-group (width >= 28rem) {
      align-items: center;
    }
  }
  .\@md\/field-group\:\*\:w-auto {
    @container field-group (width >= 28rem) {
      :is(& > *) {
        width: auto;
      }
    }
  }
  .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start {
    @container field-group (width >= 28rem) {
      &:has(>[data-slot=field-content]) {
        align-items: flex-start;
      }
    }
  }
  .\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto {
    @container field-group (width >= 28rem) {
      :is(& > *) {
        &[data-slot="field-label"] {
          flex: auto;
        }
      }
    }
  }
  .ltr\:-translate-x-1\/2 {
    &:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .rtl\:-translate-x-1\/2 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .rtl\:translate-x-1\/2 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      --tw-translate-x: calc(1 / 2 * 100%);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .dark\:bg-transparent {
    @media (prefers-color-scheme: dark) {
      background-color: transparent;
    }
  }
  .dark\:after\:mix-blend-lighten {
    @media (prefers-color-scheme: dark) {
      &::after {
        content: var(--tw-content);
        mix-blend-mode: lighten;
      }
    }
  }
  .dark\:hover\:text-foreground {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          color: var(--foreground);
        }
      }
    }
  }
  .dark\:disabled\:bg-transparent {
    @media (prefers-color-scheme: dark) {
      &:disabled {
        background-color: transparent;
      }
    }
  }
  .dark\:in-data-\[slot\=tooltip-content\]\:bg-background\/10 {
    @media (prefers-color-scheme: dark) {
      :where(*[data-slot="tooltip-content"]) & {
        background-color: var(--background);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--background) 10%, transparent);
        }
      }
    }
  }
  .dark\:has-data-checked\:border-primary\/20 {
    @media (prefers-color-scheme: dark) {
      &:has(*:where([data-state="checked"]), *:where([data-checked]:not([data-checked="false"]))) {
        border-color: var(--foreground);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--foreground) 20%, transparent);
        }
      }
    }
  }
  .dark\:has-data-checked\:bg-primary\/10 {
    @media (prefers-color-scheme: dark) {
      &:has(*:where([data-state="checked"]), *:where([data-checked]:not([data-checked="false"]))) {
        background-color: var(--foreground);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--foreground) 10%, transparent);
        }
      }
    }
  }
  .dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\] {
    @media (prefers-color-scheme: dark) {
      :is(& > *) {
        &[data-slot="bubble-content"] {
          background-color: oklch(from var(--primary) 0.3 calc(c * 0.4) h);
        }
      }
    }
  }
  .data-open\:animate-accordion-down {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      animation: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-open\:animate-in {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-open\:fade-in-0 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-opacity: calc(0/100);
      --tw-enter-opacity: 0;
    }
  }
  .data-open\:zoom-in-95 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-scale: calc(95*1%);
      --tw-enter-scale: .95;
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:animate-in {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
        animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
      }
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:fade-in-0 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
        --tw-enter-opacity: calc(0/100);
        --tw-enter-opacity: 0;
      }
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-open\:zoom-in-95 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
        --tw-enter-scale: calc(95*1%);
        --tw-enter-scale: .95;
      }
    }
  }
  .data-closed\:animate-accordion-up {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      animation: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-closed\:animate-out {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-closed\:overflow-hidden {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      overflow: hidden;
    }
  }
  .data-closed\:fade-out-0 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-opacity: calc(0/100);
      --tw-exit-opacity: 0;
    }
  }
  .data-closed\:zoom-out-95 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-scale: calc(95*1%);
      --tw-exit-scale: .95;
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:animate-out {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
        animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
      }
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:fade-out-0 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
        --tw-exit-opacity: calc(0/100);
        --tw-exit-opacity: 0;
      }
    }
  }
  .group-data-\[viewport\=false\]\/navigation-menu\:data-closed\:zoom-out-95 {
    &:is(:where(.group\/navigation-menu)[data-viewport="false"] *) {
      &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
        --tw-exit-scale: calc(95*1%);
        --tw-exit-scale: .95;
      }
    }
  }
  .data-checked\:border-primary {
    &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
      border-color: var(--foreground);
    }
  }
  .data-checked\:bg-primary {
    &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
      background-color: var(--foreground);
    }
  }
  .data-checked\:text-primary-foreground {
    &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
      color: var(--background);
    }
  }
  .group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary {
    &:is(:where(.group\/field-label):has(*:is(:focus-visible)) *) {
      &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
        border-color: var(--foreground);
      }
    }
  }
  .group-data-\[size\=default\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\] {
    &:is(:where(.group\/switch)[data-size="default"] *) {
      &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
        --tw-translate-x: calc(100% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-data-\[size\=sm\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\] {
    &:is(:where(.group\/switch)[data-size="sm"] *) {
      &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
        --tw-translate-x: calc(100% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .dark\:data-checked\:bg-primary {
    @media (prefers-color-scheme: dark) {
      &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
        background-color: var(--foreground);
      }
    }
  }
  .dark\:data-checked\:bg-primary-foreground {
    @media (prefers-color-scheme: dark) {
      &:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) {
        background-color: var(--background);
      }
    }
  }
  .group-data-\[size\=default\]\/switch\:data-unchecked\:translate-x-0 {
    &:is(:where(.group\/switch)[data-size="default"] *) {
      &:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-data-\[size\=sm\]\/switch\:data-unchecked\:translate-x-0 {
    &:is(:where(.group\/switch)[data-size="sm"] *) {
      &:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .dark\:data-unchecked\:bg-foreground {
    @media (prefers-color-scheme: dark) {
      &:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) {
        background-color: var(--foreground);
      }
    }
  }
  .data-selected\:text-foreground {
    &:where([data-selected="true"]) {
      color: var(--foreground);
    }
  }
  .data-disabled\:pointer-events-none {
    &:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) {
      pointer-events: none;
    }
  }
  .data-disabled\:cursor-not-allowed {
    &:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) {
      cursor: not-allowed;
    }
  }
  .data-disabled\:opacity-50 {
    &:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) {
      opacity: 50%;
    }
  }
  .data-active\:bg-background {
    &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
      background-color: var(--background);
    }
  }
  .data-active\:font-medium {
    &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .data-active\:text-foreground {
    &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
      color: var(--foreground);
    }
  }
  .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm {
    &:is(:where(.group\/tabs-list)[data-variant="default"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        background-color: transparent;
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100 {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        &::after {
          content: var(--tw-content);
          opacity: 100%;
        }
      }
    }
  }
  .dark\:data-active\:text-foreground {
    @media (prefers-color-scheme: dark) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        color: var(--foreground);
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent {
    @media (prefers-color-scheme: dark) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
          border-color: transparent;
        }
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
    @media (prefers-color-scheme: dark) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
          background-color: transparent;
        }
      }
    }
  }
  .data-horizontal\:mx-px {
    &:where([data-orientation="horizontal"]) {
      margin-inline: 1px;
    }
  }
  .data-horizontal\:h-1 {
    &:where([data-orientation="horizontal"]) {
      height: calc(var(--spacing) * 1);
    }
  }
  .data-horizontal\:h-2\.5 {
    &:where([data-orientation="horizontal"]) {
      height: calc(var(--spacing) * 2.5);
    }
  }
  .data-horizontal\:h-full {
    &:where([data-orientation="horizontal"]) {
      height: 100%;
    }
  }
  .data-horizontal\:h-px {
    &:where([data-orientation="horizontal"]) {
      height: 1px;
    }
  }
  .data-horizontal\:w-auto {
    &:where([data-orientation="horizontal"]) {
      width: auto;
    }
  }
  .data-horizontal\:w-full {
    &:where([data-orientation="horizontal"]) {
      width: 100%;
    }
  }
  .data-horizontal\:flex-col {
    &:where([data-orientation="horizontal"]) {
      flex-direction: column;
    }
  }
  .data-horizontal\:border-t {
    &:where([data-orientation="horizontal"]) {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
    }
  }
  .data-horizontal\:border-t-transparent {
    &:where([data-orientation="horizontal"]) {
      border-top-color: transparent;
    }
  }
  .data-vertical\:my-px {
    &:where([data-orientation="vertical"]) {
      margin-block: 1px;
    }
  }
  .data-vertical\:h-auto {
    &:where([data-orientation="vertical"]) {
      height: auto;
    }
  }
  .data-vertical\:h-full {
    &:where([data-orientation="vertical"]) {
      height: 100%;
    }
  }
  .data-vertical\:min-h-40 {
    &:where([data-orientation="vertical"]) {
      min-height: calc(var(--spacing) * 40);
    }
  }
  .data-vertical\:w-1 {
    &:where([data-orientation="vertical"]) {
      width: calc(var(--spacing) * 1);
    }
  }
  .data-vertical\:w-2\.5 {
    &:where([data-orientation="vertical"]) {
      width: calc(var(--spacing) * 2.5);
    }
  }
  .data-vertical\:w-auto {
    &:where([data-orientation="vertical"]) {
      width: auto;
    }
  }
  .data-vertical\:w-full {
    &:where([data-orientation="vertical"]) {
      width: 100%;
    }
  }
  .data-vertical\:w-px {
    &:where([data-orientation="vertical"]) {
      width: 1px;
    }
  }
  .data-vertical\:flex-col {
    &:where([data-orientation="vertical"]) {
      flex-direction: column;
    }
  }
  .data-vertical\:items-stretch {
    &:where([data-orientation="vertical"]) {
      align-items: stretch;
    }
  }
  .data-vertical\:self-stretch {
    &:where([data-orientation="vertical"]) {
      align-self: stretch;
    }
  }
  .data-vertical\:border-l {
    &:where([data-orientation="vertical"]) {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .data-vertical\:border-l-transparent {
    &:where([data-orientation="vertical"]) {
      border-left-color: transparent;
    }
  }
  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 {
    & .recharts-cartesian-grid line[stroke='#ccc'] {
      stroke: var(--line);
      @supports (color: color-mix(in lab, red, red)) {
        stroke: color-mix(in oklab, var(--line) 50%, transparent);
      }
    }
  }
  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border {
    & .recharts-curve.recharts-tooltip-cursor {
      stroke: var(--line);
    }
  }
  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent {
    & .recharts-dot[stroke='#fff'] {
      stroke: transparent;
    }
  }
  .\[\&_\.recharts-layer\]\:outline-hidden {
    & .recharts-layer {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border {
    & .recharts-polar-grid [stroke='#ccc'] {
      stroke: var(--line);
    }
  }
  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border {
    & .recharts-reference-line [stroke='#ccc'] {
      stroke: var(--line);
    }
  }
  .\[\&_\.recharts-sector\]\:outline-hidden {
    & .recharts-sector {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent {
    & .recharts-sector[stroke='#fff'] {
      stroke: transparent;
    }
  }
  .\[\&_\.recharts-surface\]\:outline-hidden {
    & .recharts-surface {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .\[\&_a\]\:underline {
    & a {
      text-decoration-line: underline;
    }
  }
  .\[\&_a\]\:underline-offset-3 {
    & a {
      text-underline-offset: 3px;
    }
  }
  .\[\&_a\]\:hover\:text-foreground {
    & a {
      &:hover {
        @media (hover: hover) {
          color: var(--foreground);
        }
      }
    }
  }
  .\[\&_img\]\:size-full {
    & img {
      width: 100%;
      height: 100%;
    }
  }
  .\[\&_img\]\:object-cover {
    & img {
      object-fit: cover;
    }
  }
  .\[\&_p\:not\(\:last-child\)\]\:mb-4 {
    & p:not(:last-child) {
      margin-bottom: calc(var(--spacing) * 4);
    }
  }
  .\[\&_svg\]\:pointer-events-none {
    & svg {
      pointer-events: none;
    }
  }
  .\[\&_svg\]\:size-4 {
    & svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }
  .data-\[direction\=start\]\:\[\&_svg\]\:rotate-180 {
    &[data-direction="start"] {
      & svg {
        rotate: 180deg;
      }
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 {
    &:is(:where(.group\/attachment)[data-orientation="vertical"] *) {
      & svg:not([class*='size-']) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6);
      }
    }
  }
  .group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 {
    &:is(:where(.group\/attachment)[data-size="xs"] *) {
      & svg:not([class*='size-']) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5);
      }
    }
  }
  .\[\&_tr\]\:border-b {
    & tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .\[\&_tr\:last-child\]\:border-0 {
    & tr:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .\[\&\+\[data-slot\=item-content\]\]\:flex-none {
    &+[data-slot=item-content] {
      flex: none;
    }
  }
  .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\) {
    &:first-child[data-selected=true] button {
      border-top-left-radius: var(--cell-radius);
      border-bottom-left-radius: var(--cell-radius);
    }
  }
  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
    &:has([role=checkbox]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .\[\.border-b\]\:pb-\(--card-spacing\) {
    &:is(.border-b) {
      padding-bottom: var(--card-spacing);
    }
  }
  .\[\.border-b\]\:pb-2 {
    &:is(.border-b) {
      padding-bottom: calc(var(--spacing) * 2);
    }
  }
  .\[\.border-t\]\:pt-2 {
    &:is(.border-t) {
      padding-top: calc(var(--spacing) * 2);
    }
  }
  .rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      :is(& *) {
        &:is(.rdp-button_next>svg) {
          rotate: 180deg;
        }
      }
    }
  }
  .rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180 {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      :is(& *) {
        &:is(.rdp-button_previous>svg) {
          rotate: 180deg;
        }
      }
    }
  }
  .\*\*\:\[\[cmdk-group-heading\]\]\:px-2 {
    :is(& *) {
      &:is([cmdk-group-heading]) {
        padding-inline: calc(var(--spacing) * 2);
      }
    }
  }
  .\*\*\:\[\[cmdk-group-heading\]\]\:py-1\.5 {
    :is(& *) {
      &:is([cmdk-group-heading]) {
        padding-block: calc(var(--spacing) * 1.5);
      }
    }
  }
  .\*\*\:\[\[cmdk-group-heading\]\]\:text-xs {
    :is(& *) {
      &:is([cmdk-group-heading]) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
      }
    }
  }
  .\*\*\:\[\[cmdk-group-heading\]\]\:font-medium {
    :is(& *) {
      &:is([cmdk-group-heading]) {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
      }
    }
  }
  .\[a\]\:underline {
    &:is(a) {
      text-decoration-line: underline;
    }
  }
  .\[a\]\:underline-offset-3 {
    &:is(a) {
      text-underline-offset: 3px;
    }
  }
  .\[a\]\:transition-colors {
    &:is(a) {
      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));
    }
  }
  .\*\:\[a\]\:underline {
    :is(& > *) {
      &:is(a) {
        text-decoration-line: underline;
      }
    }
  }
  .\*\:\[a\]\:underline-offset-3 {
    :is(& > *) {
      &:is(a) {
        text-underline-offset: 3px;
      }
    }
  }
  .\[a\]\:hover\:bg-primary\/80 {
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--foreground);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--foreground) 80%, transparent);
          }
        }
      }
    }
  }
  .\[a\]\:hover\:text-foreground {
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          color: var(--foreground);
        }
      }
    }
  }
  .\*\:\[a\]\:hover\:text-foreground {
    :is(& > *) {
      &:is(a) {
        &:hover {
          @media (hover: hover) {
            color: var(--foreground);
          }
        }
      }
    }
  }
  .\[button\]\:text-left {
    &:is(button) {
      text-align: left;
    }
  }
  .\[button\,a\]\:transition-colors {
    &:is(button,a) {
      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));
    }
  }
  .\[button\,a\]\:outline-none {
    &:is(button,a) {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .\[button\,a\]\:focus-visible\:ring-3 {
    &:is(button,a) {
      &:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + 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);
      }
    }
  }
  .\*\:\[img\]\:aspect-square {
    :is(& > *) {
      &:is(img) {
        aspect-ratio: 1 / 1;
      }
    }
  }
  .\*\:\[img\]\:w-full {
    :is(& > *) {
      &:is(img) {
        width: 100%;
      }
    }
  }
  .\*\:\[img\]\:object-cover {
    :is(& > *) {
      &:is(img) {
        object-fit: cover;
      }
    }
  }
  .\*\:\[img\:first-child\]\:rounded-t-xl {
    :is(& > *) {
      &:is(img:first-child) {
        border-top-left-radius: var(--radius-xl);
        border-top-right-radius: var(--radius-xl);
      }
    }
  }
  .\*\:\[img\:last-child\]\:rounded-b-xl {
    :is(& > *) {
      &:is(img:last-child) {
        border-bottom-right-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl);
      }
    }
  }
  .\*\:\[span\]\:last\:flex {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          display: flex;
        }
      }
    }
  }
  .\*\:\[span\]\:last\:items-center {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          align-items: center;
        }
      }
    }
  }
  .\*\:\[span\]\:last\:gap-2 {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          gap: calc(var(--spacing) * 2);
        }
      }
    }
  }
  .\*\:\[svg\]\:row-span-2 {
    :is(& > *) {
      &:is(svg) {
        grid-row: span 2 / span 2;
      }
    }
  }
  .\*\:\[svg\]\:translate-y-0\.5 {
    :is(& > *) {
      &:is(svg) {
        --tw-translate-y: calc(var(--spacing) * 0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .\*\:\[svg\]\:text-current {
    :is(& > *) {
      &:is(svg) {
        color: currentcolor;
      }
    }
  }
  .data-selected\:\*\:\[svg\]\:text-foreground {
    &:where([data-selected="true"]) {
      :is(& > *) {
        &:is(svg) {
          color: var(--foreground);
        }
      }
    }
  }
  .\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    :is(& > *) {
      &:is(svg:not([class*='size-'])) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4);
      }
    }
  }
  .\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 {
    :is(& > *) {
      &:is(svg:not([class*='size-'])) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6);
      }
    }
  }
  .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-\(--cell-radius\) {
    &:last-child[data-selected=true] button {
      border-top-right-radius: var(--cell-radius);
      border-bottom-right-radius: var(--cell-radius);
    }
  }
  .\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\) {
    &:nth-child(2)[data-selected=true] button {
      border-top-left-radius: var(--cell-radius);
      border-bottom-left-radius: var(--cell-radius);
    }
  }
  .\[\&\>\.sr-only\]\:w-auto {
    &>.sr-only {
      width: auto;
    }
  }
  .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: var(--muted);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklch,var(--muted),var(--foreground) 5%);
      }
    }
  }
  .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: var(--secondary);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }
  }
  .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\] {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: oklch(from var(--primary) 0.88 calc(c * 0.5) h);
    }
  }
  .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80 {
    &>[data-slot=bubble-content]:is(button,a):hover {
      background-color: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--foreground) 80%, transparent);
      }
    }
  }
  .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:text-foreground {
    &>[data-slot=bubble-content]:is(button,a):hover {
      color: var(--foreground);
    }
  }
  .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\] {
    @media (prefers-color-scheme: dark) {
      &>[data-slot=bubble-content]:is(button,a):hover {
        background-color: oklch(from var(--primary) 0.35 calc(c * 0.5) h);
      }
    }
  }
  .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-lg {
    &:has(*:is(select[aria-hidden=true]:last-child)) {
      &>[data-slot=select-trigger]:last-of-type {
        border-top-right-radius: var(--radius-lg);
        border-bottom-right-radius: var(--radius-lg);
      }
    }
  }
  .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit {
    &>[data-slot=select-trigger]:not([class*='w-']) {
      width: fit-content;
    }
  }
  .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-r-lg\! {
    &>[data-slot]:not(:has(~[data-slot])) {
      border-top-right-radius: var(--radius-lg) !important;
      border-bottom-right-radius: var(--radius-lg) !important;
    }
  }
  .\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-b-lg\! {
    &>[data-slot]:not(:has(~[data-slot])) {
      border-bottom-right-radius: var(--radius-lg) !important;
      border-bottom-left-radius: var(--radius-lg) !important;
    }
  }
  .\[\&\>\[data-slot\]\~\[data-slot\]\]\:rounded-t-none {
    &>[data-slot]~[data-slot] {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }
  }
  .\[\&\>\[data-slot\]\~\[data-slot\]\]\:rounded-l-none {
    &>[data-slot]~[data-slot] {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
  .\[\&\>\[data-slot\]\~\[data-slot\]\]\:border-t-0 {
    &>[data-slot]~[data-slot] {
      border-top-style: var(--tw-border-style);
      border-top-width: 0px;
    }
  }
  .\[\&\>\[data-slot\]\~\[data-slot\]\]\:border-l-0 {
    &>[data-slot]~[data-slot] {
      border-left-style: var(--tw-border-style);
      border-left-width: 0px;
    }
  }
  .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px {
    &:has(>[data-slot=field-content]) {
      &>[role=checkbox],[role=radio] {
        margin-top: 1px;
      }
    }
  }
  .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px {
    @container field-group (width >= 28rem) {
      &:has(>[data-slot=field-content]) {
        &>[role=checkbox],[role=radio] {
          margin-top: 1px;
        }
      }
    }
  }
  .\[\&\>a\]\:underline {
    &>a {
      text-decoration-line: underline;
    }
  }
  .\[\&\>a\]\:underline-offset-4 {
    &>a {
      text-underline-offset: 4px;
    }
  }
  .\[\&\>a\:hover\]\:text-primary {
    &>a:hover {
      color: var(--foreground);
    }
  }
  .\[\&\>button\]\:hidden {
    &>button {
      display: none;
    }
  }
  .\[\&\>input\]\:flex-1 {
    &>input {
      flex: 1;
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3 {
    &:has(>[data-align=block-end]) {
      &>input {
        padding-top: calc(var(--spacing) * 3);
      }
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3 {
    &:has(>[data-align=block-start]) {
      &>input {
        padding-bottom: calc(var(--spacing) * 3);
      }
    }
  }
  .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5 {
    &:has(>[data-align=inline-end]) {
      &>input {
        padding-right: calc(var(--spacing) * 1.5);
      }
    }
  }
  .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5 {
    &:has(>[data-align=inline-start]) {
      &>input {
        padding-left: calc(var(--spacing) * 1.5);
      }
    }
  }
  .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\] {
    &>kbd {
      border-radius: calc(var(--radius) - 5px);
    }
  }
  .\[\&\>span\]\:text-xs {
    &>span {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .\[\&\>span\]\:opacity-70 {
    &>span {
      opacity: 70%;
    }
  }
  .\[\&\>span\:last-child\]\:truncate {
    &>span:last-child {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
  .\[\&\>svg\]\:pointer-events-none {
    &>svg {
      pointer-events: none;
    }
  }
  .\[\&\>svg\]\:size-3\! {
    &>svg {
      width: calc(var(--spacing) * 3) !important;
      height: calc(var(--spacing) * 3) !important;
    }
  }
  .\[\&\>svg\]\:size-3\.5 {
    &>svg {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }
  .\[\&\>svg\]\:size-4 {
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&\>svg\]\:h-2\.5 {
    &>svg {
      height: calc(var(--spacing) * 2.5);
    }
  }
  .\[\&\>svg\]\:h-3 {
    &>svg {
      height: calc(var(--spacing) * 3);
    }
  }
  .\[\&\>svg\]\:w-2\.5 {
    &>svg {
      width: calc(var(--spacing) * 2.5);
    }
  }
  .\[\&\>svg\]\:w-3 {
    &>svg {
      width: calc(var(--spacing) * 3);
    }
  }
  .\[\&\>svg\]\:shrink-0 {
    &>svg {
      flex-shrink: 0;
    }
  }
  .group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5 {
    &:is(:where(.group\/avatar-group):has(*[data-size="lg"]) *) {
      &>svg {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5);
      }
    }
  }
  .group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3 {
    &:is(:where(.group\/avatar-group):has(*[data-size="sm"]) *) {
      &>svg {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3);
      }
    }
  }
  .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2 {
    &:is(:where(.group\/avatar)[data-size="default"] *) {
      &>svg {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2);
      }
    }
  }
  .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2 {
    &:is(:where(.group\/avatar)[data-size="lg"] *) {
      &>svg {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2);
      }
    }
  }
  .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden {
    &:is(:where(.group\/avatar)[data-size="sm"] *) {
      &>svg {
        display: none;
      }
    }
  }
  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 {
    &>svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }
  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    &>svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&\>tr\]\:last\:border-b-0 {
    &>tr {
      &:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
  .\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90 {
    &[aria-orientation=horizontal]>div {
      rotate: 90deg;
    }
  }
  .\[\&\[data-ending-style\]\:not\(\[data-limited\]\)\:not\(\[data-swipe-direction\]\)\]\:\[transform\:translateY\(150\%\)\] {
    &[data-ending-style]:not([data-limited]):not([data-swipe-direction]) {
      transform: translateY(150%);
    }
  }
  .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    [data-side=left][data-collapsible=offcanvas] & {
      right: calc(var(--spacing) * -2);
    }
  }
  .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    [data-side=left][data-state=collapsed] & {
      cursor: e-resize;
    }
  }
  .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    [data-side=right][data-collapsible=offcanvas] & {
      left: calc(var(--spacing) * -2);
    }
  }
  .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    [data-side=right][data-state=collapsed] & {
      cursor: w-resize;
    }
  }
  .\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
    [data-variant=legend]+& {
      margin-top: calc(var(--spacing) * -1.5);
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}
@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}
@property --shimmer-image {
  syntax: "*";
  inherits: false;
}
@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}
@media (prefers-reduced-motion: reduce) {
  .shimmer {
    animation: none;
    background-image: none;
    -webkit-text-fill-color: currentColor;
  }
}
@font-face {
  font-family: 'Country Serif';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('/fonts/country-serif-v5.ttf') format('truetype');
}
:root,.dark {
  --background: #f8f7f3;
  --foreground: #282923;
  --muted: #65675e;
  --line: #dcdcd3;
  --soft: #efeee8;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 115px;
}
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-size: 16px;
  line-height: 1.9;
}
h1,h2,h3,p,figure,ul {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
button,input {
  font: inherit;
}
a:focus-visible {
  outline: 2px solid var(--foreground);
  outline-offset: 5px;
}
img {
  display: block;
  object-fit: cover;
  width: 100%;
  aspect-ratio: 3/2;
  height: auto;
}
h1,h2,h3 {
  font-family: 'Country Serif','Noto Serif TC','PMingLiU',serif;
  font-weight: 500;
}
h1 {
  font-size: clamp(2.4rem,3.8vw,3.65rem);
  line-height: 1.5;
  letter-spacing: .07em;
}
h2 {
  font-size: clamp(1.75rem,2.5vw,2.4rem);
  line-height: 1.6;
  letter-spacing: .045em;
}
h3 {
  font-size: 1.25rem;
  line-height: 1.6;
}
p {
  color: var(--muted);
}
.wrap {
  width: min(1160px,calc(100% - 96px));
  margin: 0 auto;
}
.eyebrow {
  font-size: .75rem;
  letter-spacing: .17em;
  color: var(--muted);
  margin-bottom: 17px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--background);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  max-width: 1400px;
  width: calc(100% - 96px);
  margin: auto;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: flex;
  gap: 14px;
  align-items: center;
}
.brand strong {
  font-family: 'Country Serif',serif;
  font-size: 2rem;
  letter-spacing: .12em;
  font-weight: 500;
}
.brand span {
  font-size: .875rem;
  letter-spacing: .06em;
}
.brand small {
  display: block;
  font-size: .65rem;
  letter-spacing: .035em;
}
.site-header nav {
  display: flex;
  gap: 30px;
  font-size: .875rem;
}
.site-header nav a {
  padding: 12px 0;
}
.site-header nav a:hover,.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  background: var(--foreground);
  color: var(--background);
  border: 1px solid var(--foreground);
  padding: 12px 25px;
  font-size: .875rem;
  line-height: 1.5;
  min-height: 46px;
  transition: background .2s;
}
.button:hover {
  background: #45463f;
}
.button.outline {
  background: transparent;
  color: var(--foreground);
  border-color: var(--line);
}
.button.outline:hover {
  background: var(--soft);
}
.home-intro {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 65px;
  align-items: center;
  padding: 74px 0 64px;
}
.hero-image img {
  object-position: 50% 68%;
}
.lead {
  font-size: 1rem;
  line-height: 2.1;
  margin: 22px 0 30px;
}
.intro-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
  color: var(--muted);
  font-size: .875rem;
}
.section {
  padding-top: 72px;
  padding-bottom: 72px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-end;
  margin-bottom: 34px;
}
.text-link {
  display: inline-block;
  font-size: .875rem;
  border-bottom: 1px solid var(--foreground);
  padding-bottom: 4px;
}
.collection-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 28px;
}
.collection img {
  aspect-ratio: 3/2;
  object-position: 50% 64%;
}
.collection-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 10px;
}
.collection p {
  font-size: .875rem;
}
.collection small {
  font-size: .75rem;
  color: var(--muted);
  display: block;
  margin-top: 7px;
}
.collection:hover .collection-heading h3 {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.story-section {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 65px;
  border-top: 1px solid var(--line);
}
.story-copy p {
  margin-bottom: 20px;
  line-height: 2.1;
}
.reservation-section {
  text-align: center;
  padding: 64px 0 74px;
  border-top: 1px solid var(--line);
}
.reservation-section>p:not(.eyebrow) {
  margin: 18px 0 26px;
}
.actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.site-footer {
  border-top: 1px solid var(--line);
  padding: 45px 48px 22px;
}
.footer-inner,.footer-meta {
  max-width: 1160px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.footer-brand {
  font-family: 'Country Serif',serif;
  font-size: 1.75rem;
  letter-spacing: .1em;
}
.footer-inner p {
  font-size: .875rem;
  margin-top: 10px;
}
.footer-inner nav {
  display: flex;
  flex-direction: column;
  font-size: .875rem;
  gap: 8px;
}
.footer-meta {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin-top: 35px;
  font-size: .75rem;
  color: var(--muted);
}
.page-title {
  padding: 57px 0 38px;
  border-bottom: 1px solid var(--line);
}
.page-title>p:not(.eyebrow) {
  margin-top: 15px;
  max-width: 680px;
}
.menu-meta {
  margin-top: 25px;
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  font-size: .875rem;
  color: var(--muted);
}
.menu-layout {
  display: grid;
  grid-template-columns: 210px minmax(0,1fr);
  gap: 65px;
  padding-bottom: 80px;
}
.menu-sidebar {
  position: sticky;
  top: 130px;
  align-self: start;
  padding-top: 36px;
}
.menu-sidebar nav {
  display: flex;
  flex-direction: column;
}
.menu-sidebar nav a {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: .95rem;
}
.menu-sidebar nav a:hover {
  color: #000;
  border-color: #282923;
}
.menu-sidebar nav a span {
  font-size: .8rem;
}
.menu-sidebar p {
  font-size: .875rem;
  margin-top: 24px;
  line-height: 1.9;
}
.menu-sidebar>.text-link {
  margin-top: 20px;
}
.menu-section {
  padding-top: 42px;
  padding-bottom: 35px;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 110px;
}
.menu-section>.eyebrow {
  margin-bottom: 9px;
}
.menu-intro {
  font-size: .95rem;
  line-height: 1.9;
  margin: 14px 0 21px;
}
.menu-notes {
  border-left: 2px solid #b7b9ad;
  padding-left: 16px;
  margin: 16px 0 23px;
  font-size: .875rem;
}
.menu-items {
  list-style: none;
  padding: 0;
}
.menu-item {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  border-top: 1px solid var(--line);
  padding: 21px 0;
}
.item-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.item-heading h3 {
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.8;
}
.menu-item p {
  font-size: .875rem;
  line-height: 1.9;
  margin-top: 5px;
}
.item-tag {
  font-size: .75rem;
  color: var(--muted);
  border: 1px solid var(--line);
  padding: 0 7px;
  line-height: 1.8;
}
.item-price {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.8;
}
.item-price small {
  font-size: .75rem;
  color: var(--muted);
}
.extras {
  margin-top: 28px;
}
.extras>h3 {
  margin-bottom: 20px;
  font-size: 1.25rem;
}
.section-service {
  font-size: .75rem;
  margin-top: 18px;
}
.back-top {
  display: inline-block;
  font-size: .75rem;
  color: var(--muted);
  margin-top: 12px;
}
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 40px 0 65px;
}
.about-grid img {
  aspect-ratio: 3/2;
  object-position: 50% 58%;
}
.about-grid figcaption {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 13px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  padding: 48px 0;
}
.contact-grid h2 {
  font-size: 1.6rem;
  margin-bottom: 20px;
}
.contact-phone {
  display: block;
  font-size: 2rem;
  letter-spacing: .03em;
  margin-bottom: 18px;
}
.contact-grid address {
  font-style: normal;
  margin: 22px 0;
}
.contact-grid p {
  margin-bottom: 22px;
}
.visit-notes {
  border-top: 1px solid var(--line);
  padding: 45px 0 65px;
}
.visit-notes h2 {
  font-size: 1.6rem;
}
.visit-notes dl {
  margin-top: 25px;
}
.visit-notes dl>div {
  display: grid;
  grid-template-columns: 150px 1fr;
  border-top: 1px solid var(--line);
  padding: 18px 0;
  gap: 30px;
}
.visit-notes dd {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
}
.skip {
  position: absolute;
  top: -100px;
  left: 10px;
  z-index: 99;
  padding: 10px;
  background: white;
}
.skip:focus {
  top: 0;
}
@media (max-width:1100px) {
  .brand span {
    display: none;
  }
  .header-inner {
    gap: 22px;
  }
  .site-header nav {
    gap: 22px;
  }
  .wrap {
    width: calc(100% - 64px);
  }
  .home-intro,.story-section {
    gap: 35px;
  }
  .menu-layout {
    gap: 35px;
    grid-template-columns: 180px minmax(0,1fr);
  }
  h1 {
    font-size: 2.7rem;
  }
  .collection-grid {
    gap: 20px;
  }
}
@media (max-width:700px) {
  html {
    scroll-padding-top: 145px;
  }
  .wrap {
    width: calc(100% - 40px);
  }
  .header-inner {
    width: calc(100% - 40px);
    min-height: 110px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 20px;
    padding: 13px 0;
  }
  .brand strong {
    font-size: 1.65rem;
  }
  .brand span {
    display: block;
    font-size: .75rem;
  }
  .brand small {
    display: none;
  }
  .header-book {
    grid-column: 2;
    grid-row: 1;
    min-height: 36px;
    padding: 8px 15px;
    font-size: .8rem;
  }
  .site-header nav {
    grid-row: 2;
    grid-column: 1/-1;
    justify-content: space-between;
    gap: 10px;
    font-size: .875rem;
  }
  .site-header nav a {
    padding: 5px 0;
  }
  .home-intro {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 36px 0 27px;
  }
  .hero-copy h1 {
    font-size: 2.4rem;
    line-height: 1.45;
  }
  .hero-copy .eyebrow {
    margin-bottom: 12px;
  }
  .lead {
    margin: 15px 0 23px;
    font-size: .95rem;
  }
  .hero-image img {
    aspect-ratio: 3/2;
  }
  .intro-line {
    flex-wrap: wrap;
    gap: 8px 20px;
    font-size: .75rem;
    padding: 16px 0;
  }
  .intro-line>span:first-child {
    display: none;
  }
  .section {
    padding-top: 42px;
    padding-bottom: 42px;
  }
  .section-heading {
    gap: 20px;
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 25px;
  }
  .section-heading h2,h2 {
    font-size: 1.7rem;
  }
  .section-heading .eyebrow {
    margin-bottom: 10px;
  }
  .collection-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .collection img {
    aspect-ratio: 3/2;
  }
  .collection-heading {
    margin: 15px 0 7px;
  }
  .collection h3 {
    font-size: 1.4rem;
  }
  .collection small {
    font-size: .8rem;
  }
  .story-section {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .reservation-section {
    padding: 42px 0;
  }
  .reservation-section h2 {
    font-size: 1.6rem;
  }
  .reservation-section>p:not(.eyebrow) {
    font-size: .95rem;
  }
  .site-footer {
    padding: 30px 20px 18px;
  }
  .footer-inner {
    flex-direction: column;
    gap: 23px;
  }
  .footer-inner nav {
    flex-direction: row;
    gap: 25px;
  }
  .footer-meta {
    font-size: .7rem;
  }
  .page-title {
    padding: 35px 0 26px;
  }
  .page-title h1 {
    font-size: 2.2rem;
  }
  .page-title>p:not(.eyebrow) {
    font-size: .95rem;
  }
  .menu-meta {
    gap: 9px;
    margin-top: 20px;
    font-size: .8rem;
  }
  .menu-layout {
    display: block;
    padding-bottom: 35px;
  }
  .menu-sidebar {
    position: static;
    padding-top: 20px;
  }
  .menu-sidebar nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 22px;
  }
  .menu-sidebar nav a {
    font-size: .875rem;
    padding: 10px 0;
  }
  .menu-sidebar p {
    font-size: .8rem;
    margin-top: 18px;
  }
  .menu-sidebar>.text-link {
    display: none;
  }
  .menu-section {
    padding-top: 36px;
    scroll-margin-top: 137px;
  }
  .menu-section h2 {
    font-size: 1.75rem;
  }
  .menu-intro {
    font-size: .875rem;
  }
  .menu-item {
    gap: 14px;
    padding: 19px 0;
  }
  .item-heading h3 {
    font-size: .95rem;
  }
  .item-price {
    font-size: .95rem;
  }
  .menu-item p {
    font-size: .8rem;
  }
  .menu-notes {
    font-size: .8rem;
  }
  .item-tag {
    font-size: .7rem;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    margin: 28px 0 38px;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 30px 0 40px;
  }
  .contact-grid section+section {
    border-top: 1px solid var(--line);
    padding-top: 30px;
  }
  .visit-notes {
    padding: 30px 0 40px;
  }
  .visit-notes dl>div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .visit-notes dd {
    font-size: .875rem;
  }
  .desktop-break {
    display: none;
  }
}
:root,.dark {
  --accent: #795638;
  --accent-soft: #eee5d8;
}
.eyebrow {
  color: var(--accent);
}
.hero-image {
  border-bottom: 3px solid var(--accent);
  padding-bottom: 10px;
}
.hero-image img {
  object-position: 50% 50%;
}
.collection small,.contact-phone {
  color: var(--accent);
}
.menu-section>h2 {
  color: var(--accent);
}
.menu-meta {
  border-left: 3px solid var(--accent);
  padding-left: 16px;
}
.menu-notes {
  background: var(--soft);
  border-color: var(--accent);
  padding: 14px 18px;
}
.menu-notes p {
  color: #515249;
}
.item-heading h3 {
  font-weight: 600;
  color: #282923;
}
.item-price {
  font-weight: 600;
  color: var(--accent);
  font-size: 1.125rem;
}
.item-price small {
  color: var(--accent);
  font-weight: 400;
}
.item-tag {
  color: #745032;
  background: var(--accent-soft);
  border-color: #d7c6b0;
}
.menu-item p {
  color: #606259;
  font-size: .9375rem;
}
.menu-sidebar nav a:hover {
  color: var(--accent);
  border-color: var(--accent);
}
.about-grid .about-window {
  object-position: 55% 100%;
}
.about-grid .about-craft {
  object-position: 50% 100%;
}
.environment-section {
  border-top: 1px solid var(--line);
}
.environment-intro {
  max-width: 730px;
  margin-bottom: 32px;
}
.environment-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 28px;
}
.environment-grid figure {
  display: flex;
  gap: 20px;
  align-items: center;
}
.environment-grid img {
  width: 140px;
  height: 140px;
  aspect-ratio: 1;
  flex-shrink: 0;
}
.environment-grid h3 {
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.environment-grid p {
  font-size: .875rem;
}
.visit-notes dl>div {
  grid-template-columns: 260px 1fr;
}
.visit-notes dt {
  font-weight: 600;
  color: var(--accent);
}
#dining-notes {
  scroll-margin-top: 130px;
}
@media (max-width:1100px) {
  .environment-grid figure {
    display: block;
  }
  .environment-grid img {
    width: 180px;
    height: 180px;
    margin-bottom: 18px;
  }
}
@media (max-width:700px) {
  .environment-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .environment-grid figure {
    display: flex;
  }
  .environment-grid img {
    width: 130px;
    height: 130px;
    margin: 0;
  }
  .visit-notes dl>div {
    grid-template-columns: 1fr;
  }
  .menu-item p,.menu-notes,.menu-intro {
    font-size: .875rem;
  }
  .item-price {
    font-size: 1.0625rem;
  }
  .item-tag {
    font-size: .8125rem;
  }
  .about-grid .about-craft {
    object-position: 50% 100%;
  }
}
.faq-related {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  margin-top: 24px;
}
.faq-link {
  margin-top: 12px;
  color: var(--accent);
}
.footer-social {
  max-width: 1160px;
  margin: 26px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  font-size: .875rem;
  color: var(--accent);
}
.footer-social a {
  padding: 8px 0;
}
.footer-social a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.contact-social {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 48px;
  padding: 32px;
  margin: 0 0 40px;
  background: var(--soft);
  scroll-margin-top: 140px;
}
.contact-social h2 {
  font-family: Arial,"Microsoft JhengHei",sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0;
}
.contact-social p:not(.eyebrow) {
  font-size: 1rem;
  margin: 14px 0 18px;
}
.contact-social .eyebrow {
  margin-bottom: 10px;
}
@media (max-width:700px) {
  .contact-social {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 28px;
  }
  .contact-social>div+div {
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }
}
.visit-notes dd {
  white-space: pre-line;
}
.gatherings {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 140px;
}
.gatherings .section-heading {
  margin-bottom: 20px;
}
.gatherings .section-heading h3 {
  font-size: clamp(1.75rem,2.5vw,2.4rem);
  line-height: 1.6;
  letter-spacing: .045em;
}
.gatherings-intro {
  max-width: 760px;
  font-size: 1rem;
}
.gatherings-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 30px 0 36px;
  padding: 25px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  gap: 24px;
}
.gatherings-facts>div+div {
  border-left: 1px solid var(--line);
  padding-left: 28px;
}
.gatherings-facts dt {
  font-size: 1.65rem;
  color: var(--accent);
  line-height: 1.6;
}
.gatherings-facts dt span {
  font-size: .875rem;
}
.gatherings-facts dd {
  margin: 8px 0 0;
  font-size: .875rem;
  color: var(--muted);
}
.gatherings-gallery {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 28px;
}
.gatherings-gallery img {
  aspect-ratio: 4/3;
  object-fit: contain;
}
.gatherings-gallery h4 {
  margin: 20px 0 10px;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--foreground);
}
.gatherings-gallery p {
  font-size: 1rem;
}
.gatherings-note {
  margin-top: 24px;
  font-size: .875rem;
}
.gathering-actions {
  justify-content: flex-start;
  align-items: center;
  margin-top: 28px;
}
.gathering-actions>span {
  font-size: .875rem;
  color: var(--muted);
}
.contact-event-line {
  margin-top: 24px;
}
@media (max-width:700px) {
  .gatherings {
    margin-top: 40px;
    padding-top: 35px;
  }
  .gatherings-facts {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 0;
  }
  .gatherings-facts>div+div {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 18px;
  }
  .gatherings-facts dt {
    font-size: 1.4rem;
  }
  .gatherings-facts dd {
    margin-top: 4px;
  }
  .gatherings-gallery {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.visit-notes dl>div[id] {
  scroll-margin-top: 140px;
}
.environment-feature {
  margin-bottom: 32px;
}
.environment-feature img {
  aspect-ratio: 16/9;
  object-position: 50% 85%;
}
.environment-feature figcaption {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 12px;
}
.environment-grid figure {
  display: block;
}
.environment-grid img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-position: 50% 70%;
  margin: 0 0 18px;
}
.about-grid .about-window {
  object-position: 50% 100%;
}
@media (max-width:700px) {
  .environment-feature img {
    aspect-ratio: 3/2;
  }
  .environment-grid {
    gap: 30px;
  }
  .environment-grid figure {
    display: block;
  }
  .environment-grid img {
    width: 100%;
    height: auto;
    margin-bottom: 14px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
  }
}
.first-visit {
  scroll-margin-top: 115px;
  border-bottom: 1px solid var(--line);
}
.first-visit-heading {
  margin-bottom: 36px;
}
.first-visit-heading>p:last-child {
  margin-top: 12px;
  font-size: .9375rem;
}
.first-visit-layout {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(0,1fr);
  gap: clamp(32px,5vw,72px);
  align-items: start;
}
.first-visit-photo img {
  aspect-ratio: 2/3;
  object-fit: contain;
  height: auto;
}
.first-visit-photo figcaption {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  font-size: .8125rem;
  color: var(--muted);
}
.first-visit-photo figcaption span:first-child {
  color: var(--accent);
}
.first-visit-signature {
  padding: 26px 0 30px;
}
.first-visit-signature .eyebrow {
  margin-bottom: 12px;
}
.first-visit-signature h3 {
  font-size: clamp(2rem,3.5vw,3rem);
  line-height: 1.5;
  letter-spacing: .055em;
  margin-bottom: 22px;
}
.first-visit-signature>p:last-child {
  max-width: 31em;
  line-height: 2;
}
.first-visit-choices {
  border-top: 1px solid var(--accent);
}
.first-visit-prompt {
  font-size: .875rem;
  color: var(--accent);
  padding: 20px 0 4px;
}
.first-visit-choice {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  gap: 16px;
  padding: 22px 0;
}
.first-visit-choice+.first-visit-choice {
  border-top: 1px solid var(--line);
}
.first-visit-number {
  font-family: Georgia,serif;
  font-size: 1.375rem;
  color: var(--accent);
  line-height: 1.5;
}
.first-visit-mood {
  font-size: .8125rem;
  color: var(--accent);
  margin-bottom: 7px;
}
.first-visit-choice h4 {
  font-size: 1.125rem;
  line-height: 1.7;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--foreground);
}
.first-visit-choice h4+p {
  font-size: .9375rem;
  line-height: 1.9;
}
.first-visit-choice-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 16px;
  font-size: .875rem;
}
.first-visit-choice-footer>span {
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.first-visit-footnote {
  margin-top: 32px;
  padding: 22px 26px;
  background: var(--soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.first-visit-footnote p {
  max-width: 680px;
  font-size: .8125rem;
  line-height: 1.9;
}
.first-visit-footnote a {
  flex-shrink: 0;
}
@media (max-width:1000px) {
  .first-visit-signature {
    padding-top: 0;
  }
  .first-visit-footnote {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
}
@media (max-width:700px) {
  .first-visit {
    scroll-margin-top: 140px;
  }
  .first-visit-heading {
    margin-bottom: 26px;
  }
  .first-visit-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .first-visit-photo {
    max-width: 440px;
    width: 100%;
    margin-inline: auto;
  }
  .first-visit-signature {
    padding: 0 0 25px;
  }
  .first-visit-signature h3 {
    font-size: 2.25rem;
    margin-bottom: 17px;
  }
  .first-visit-choice {
    gap: 12px;
    grid-template-columns: 26px minmax(0,1fr);
  }
  .first-visit-footnote {
    padding: 20px;
    margin-top: 14px;
  }
}
.home-decision {
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: 44px;
  padding-top: 48px;
  padding-bottom: 40px;
}
.home-decision .eyebrow {
  font-size: .875rem;
  letter-spacing: .1em;
}
.home-decision .lead {
  margin: 18px 0 24px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.hero-actions .button {
  gap: 16px;
}
.home-decision .hero-image {
  border-bottom: 0;
  padding-bottom: 0;
}
.home-decision .hero-image img {
  aspect-ratio: 1600/1068;
  object-fit: contain;
}
.home-decision figcaption {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 12px;
}
.hero-menu-pick {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 17px;
}
.hero-menu-pick>span {
  display: block;
  font-size: .875rem;
  color: var(--accent);
  margin-bottom: 4px;
}
.hero-menu-pick>a {
  font-weight: 600;
  display: block;
}
.hero-menu-pick>a span {
  display: inline-block;
  color: var(--accent);
  margin-left: 8px;
}
.hero-menu-pick p {
  font-size: .875rem;
  margin-top: 5px;
}
.home-featured-pick {
  margin-top: 0;
  padding-top: 18px;
  padding-bottom: 22px;
}
.home-arrival {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
  gap: 24px;
}
.home-arrival>div+div {
  border-left: 1px solid var(--line);
  padding-left: 24px;
}
.home-arrival strong {
  display: block;
  font-size: 1rem;
  font-weight: 600;
}
.home-arrival span,.home-arrival a {
  display: block;
  color: var(--muted);
  font-size: .875rem;
}
.home-arrival a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.home-space-preview {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 56px;
  align-items: center;
  padding-top: 48px;
  padding-bottom: 48px;
}
.home-space-preview img {
  aspect-ratio: 3/2;
  object-fit: contain;
}
.home-space-preview figcaption {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 10px;
}
.home-space-preview h2 {
  margin-bottom: 16px;
}
.home-space-preview p+p {
  margin-top: 12px;
}
.home-space-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 22px;
}
.home-space-preview+.first-visit-band {
  margin-top: 0;
}
.home-gatherings {
  padding-top: 48px;
  padding-bottom: 48px;
}
.home-gatherings .gatherings {
  margin-top: 0;
}
@media (max-width:1100px) {
  .home-decision {
    gap: 28px;
  }
  .home-space-preview {
    gap: 32px;
  }
}
@media (max-width:700px) {
  .home-decision {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 26px;
    padding-bottom: 28px;
  }
  .home-decision .hero-copy {
    display: contents;
  }
  .home-decision .hero-copy>.eyebrow {
    grid-row: 1;
    margin: 0;
  }
  .home-decision h1 {
    grid-row: 2;
    font-size: 2rem;
  }
  .home-decision .hero-image {
    grid-row: 3;
  }
  .home-decision .lead {
    grid-row: 4;
    margin: 0;
  }
  .home-decision .hero-actions {
    grid-row: 5;
  }
  .home-decision .hero-menu-pick {
    grid-row: 6;
    margin-top: 0;
  }
  .hero-actions .button {
    flex: 1;
    gap: 10px;
    padding: 12px 14px;
    font-size: .875rem;
  }
  .home-arrival {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px 0;
  }
  .home-arrival>div+div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 12px 0 0;
  }
  .home-space-preview {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-top: 32px;
    padding-bottom: 36px;
  }
  .home-gatherings {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}
.seasonal-lobster {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1fr);
  gap: clamp(32px,6vw,88px);
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.seasonal-lobster figure {
  width: 100%;
  max-width: 400px;
}
.seasonal-lobster img {
  aspect-ratio: 2/3;
  object-fit: contain;
}
.seasonal-lobster figcaption {
  font-size: .875rem;
  color: var(--muted);
  margin-top: 12px;
}
.seasonal-lobster-copy h2 {
  margin-bottom: 20px;
}
.seasonal-lobster-copy h3 {
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 14px;
}
.seasonal-lobster-copy>p:not(.eyebrow) {
  line-height: 2;
}
.seasonal-lobster-copy .seasonal-lobster-methods {
  color: var(--accent);
  margin-top: 18px;
  font-weight: 600;
}
.seasonal-lobster-notice {
  margin: 24px 0;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.seasonal-lobster-notice p+p {
  margin-top: 12px;
}
@media (max-width:700px) {
  .seasonal-lobster {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .seasonal-lobster figure {
    margin-inline: auto;
  }
  .seasonal-lobster .button {
    max-width: 100%;
    gap: 16px;
  }
}
.gift-collection {
  border-bottom: 1px solid var(--line);
}
.gift-intro {
  max-width: 760px;
  line-height: 2;
  margin: -4px 0 34px;
}
.gift-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px;
}
.gift-card {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  min-width: 0;
}
.gift-card figure {
  margin: 0;
}
.gift-card img {
  aspect-ratio: 3/2;
  object-position: 50% 50%;
}
.gift-card figcaption {
  font-size: .75rem;
  color: var(--muted);
  margin-top: 10px;
}
.gift-card-copy {
  padding-top: 17px;
}
.gift-card h3 {
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-size: 1.125rem;
  line-height: 1.7;
  font-weight: 600;
  color: var(--foreground);
  margin-bottom: 6px;
}
.gift-card p {
  font-size: .9375rem;
  line-height: 2;
}
.gift-card .gift-card-lead {
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 5px;
}
.gift-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.gift-cta p {
  font-size: .875rem;
}
@media (max-width:700px) {
  .gift-intro {
    margin-bottom: 26px;
  }
  .gift-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .gift-card {
    padding-top: 15px;
  }
  .gift-card-copy {
    padding-top: 14px;
  }
  .gift-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 30px;
  }
  .gift-cta .button {
    max-width: 100%;
  }
}
.meat-sourcing {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
  gap: 65px;
  border-bottom: 1px solid var(--line);
}
.meat-sourcing-intro h2 {
  margin-bottom: 20px;
}
.meat-sourcing .meat-sourcing-promise {
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 16px;
}
.meat-sourcing-intro>p:last-child {
  line-height: 2;
}
.meat-sourcing-list h3 {
  font-family: Arial,'Microsoft JhengHei',sans-serif;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.meat-sourcing-beef {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 28px;
  margin: 0;
}
.meat-sourcing-beef>div {
  border-top: 1px solid var(--line);
  padding: 18px 0 22px;
}
.meat-sourcing-beef dt {
  font-size: 1.25rem;
  font-weight: 600;
}
.meat-sourcing-beef dt span {
  display: block;
  color: var(--accent);
  font-size: .875rem;
  font-weight: 400;
  margin-bottom: 4px;
}
.meat-sourcing-beef dd {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 1rem;
}
.meat-sourcing-pork {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  display: flex;
  align-items: baseline;
  gap: 24px;
}
.meat-sourcing-pork>span {
  color: var(--accent);
  font-size: .875rem;
}
.meat-sourcing-pork p {
  color: var(--foreground);
  font-weight: 600;
}
@media (max-width:1100px) {
  .meat-sourcing {
    gap: 35px;
  }
}
@media (max-width:700px) {
  .meat-sourcing {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .meat-sourcing-beef {
    gap: 0 20px;
  }
}
@media (max-width:380px) {
  .meat-sourcing-beef {
    grid-template-columns: 1fr;
  }
}
.brand {
  min-width: 0;
}
.brand .brand-wordmark {
  width: 280px;
  height: auto;
  aspect-ratio: 356.8/114.089;
  object-fit: contain;
  flex-shrink: 0;
}
@media (max-width:1100px) {
  .brand .brand-wordmark {
    width: 220px;
  }
}
@media (max-width:700px) {
  .brand .brand-wordmark {
    width: min(52vw,210px);
  }
}
:root,.dark {
  --wood: #30231d;
  --wood-raised: #3d2d24;
  --copper-light: #dfbb93;
  --cream: #faf2e7;
}
.button:not(.outline) {
  background: var(--wood);
  border-color: var(--wood);
}
.button:not(.outline):hover {
  background: #4a3529;
  border-color: #4a3529;
}
.first-visit-band {
  margin-top: 60px;
  background: #f1ece4;
  color: #302c27;
  --foreground: #302c27;
  --muted: #625a50;
  --line: #d6cbbb;
  --accent: #795638;
  --soft: #f8f5ef;
}
.first-visit-band .first-visit {
  border-bottom: 0;
  padding-top: 64px;
  padding-bottom: 58px;
}
.first-visit-band .first-visit-heading {
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 40px;
}
.first-visit-band .first-visit-heading>p:last-child {
  font-size: 1rem;
}
.first-visit-band .first-visit-heading h2 {
  font-size: clamp(2rem,3vw,2.75rem);
}
.first-visit-band .first-visit-photo figcaption {
  font-size: .875rem;
}
.first-visit-band .first-visit-number {
  font-size: 1.65rem;
}
.first-visit-band .first-visit-mood {
  font-size: .875rem;
}
.first-visit-band .first-visit-choice h4+p {
  font-size: 1rem;
}
.first-visit-band .first-visit-choice-footer>span {
  font-size: 1rem;
  font-weight: 600;
}
.first-visit-band .first-visit-footnote {
  border-left: 2px solid var(--accent);
  background: var(--soft);
}
.first-visit-band .first-visit-footnote p {
  font-size: .875rem;
}
.first-visit-band a:focus-visible,.site-footer a:focus-visible {
  outline-color: var(--accent);
}
.section-heading .eyebrow,.page-title .eyebrow {
  font-weight: 600;
}
.menu-section>h2 {
  padding-left: 16px;
  border-left: 3px solid var(--accent);
}
.menu-section .item-price {
  font-variant-numeric: tabular-nums;
}
.site-footer {
  background: #eee9e1;
  color: #302c27;
  border-top: 1px solid #d6cbbb;
  --muted: #625a50;
  --line: #d6cbbb;
  --accent: #795638;
}
.site-footer .footer-brand {
  color: #302c27;
}
.site-footer .footer-inner a:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
}
.site-footer .footer-social a {
  border-bottom: 1px solid var(--line);
}
@media (max-width:700px) {
  .first-visit-band {
    margin-top: 34px;
  }
  .first-visit-band .first-visit {
    padding-top: 40px;
    padding-bottom: 36px;
  }
  .first-visit-band .first-visit-heading {
    padding-bottom: 25px;
    margin-bottom: 28px;
  }
  .first-visit-band .first-visit-heading h2 {
    font-size: 1.85rem;
  }
  .first-visit-band .first-visit-footnote {
    padding: 18px;
  }
  .site-footer {
    padding-top: 34px;
  }
}
.home-decision h1 {
  font-size: clamp(2rem,3.1vw,3rem);
  letter-spacing: .035em;
}
.home-decision .lead {
  max-width: 29em;
}
.first-visit-band {
  margin-top: 48px;
  background: #f2f0eb;
  --line: #d9d6ce;
  --soft: #f8f7f3;
}
.first-visit-band .first-visit-heading {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 36px;
}
.first-visit-layout {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 40px 64px;
  align-items: center;
}
.first-visit-copy {
  display: contents;
}
.first-visit-photo {
  width: 100%;
  max-width: 460px;
  justify-self: center;
}
.first-visit-photo img {
  aspect-ratio: 2/3;
  object-fit: contain;
}
.first-visit-signature {
  padding: 0;
}
.first-visit-signature h3 {
  font-size: clamp(2rem,3.2vw,2.75rem);
  margin-bottom: 24px;
}
.first-visit-signature>p {
  font-size: 1rem;
  line-height: 2;
  max-width: 28em;
}
.signature-order {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.signature-order>span {
  font-size: .9375rem;
  color: var(--accent);
}
.signature-order strong {
  font-size: 1.65rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  margin: 0 5px;
}
.first-visit-choices {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  column-gap: 32px;
  border-top: 1px solid var(--line);
}
.first-visit-prompt {
  grid-column: 1/-1;
  padding: 28px 0 20px;
  font-size: 1rem;
  color: var(--foreground);
}
.first-visit-choice {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
  min-width: 0;
}
.first-visit-choice+.first-visit-choice {
  border-top: 0;
  border-left: 1px solid var(--line);
  padding-left: 28px;
}
.first-visit-choice>div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.first-visit-band .first-visit-number {
  font-family: Arial,sans-serif;
  font-size: .875rem;
  color: var(--muted);
}
.first-visit-choice h4 {
  margin-bottom: 12px;
}
.first-visit-choice h4+p {
  flex: 1;
}
.first-visit-choice-footer {
  margin-top: 20px;
  align-items: baseline;
  gap: 8px 16px;
}
.first-visit-band .first-visit-footnote {
  background: transparent;
  border: 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--line);
  margin-top: 32px;
}
.home-space-preview {
  padding-top: 72px;
  padding-bottom: 24px;
}
.home-gatherings {
  padding-top: 24px;
  padding-bottom: 64px;
}
.home-gatherings .gatherings {
  padding-top: 32px;
  border-top: 0;
}
.gatherings-gallery img {
  aspect-ratio: 4/3;
  object-fit: contain;
}
.seasonal-lobster {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 64px;
}
.seasonal-lobster figure {
  max-width: 460px;
  justify-self: center;
}
.gift-card {
  border: 0;
  padding-top: 0;
}
.gift-card-copy {
  padding-top: 22px;
}
.gift-card p {
  font-size: 1rem;
  line-height: 1.9;
}
.gift-card h3 {
  margin-bottom: 12px;
}
.gift-cta {
  margin-top: 28px;
}
@media (max-width:1000px) and (min-width:701px) {
  .first-visit-layout,.seasonal-lobster {
    gap: 32px;
  }
  .first-visit-choices {
    column-gap: 20px;
  }
  .first-visit-choice+.first-visit-choice {
    padding-left: 20px;
  }
}
@media (max-width:700px) {
  .first-visit-layout,.seasonal-lobster {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .first-visit-band {
    margin-top: 28px;
  }
  .first-visit-band .first-visit-heading {
    margin-bottom: 24px;
    padding: 0;
  }
  .first-visit-choices {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .first-visit-prompt {
    padding: 24px 0 0;
  }
  .first-visit-choice {
    padding: 24px 0;
    gap: 8px;
  }
  .first-visit-choice+.first-visit-choice {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 24px 0;
  }
  .first-visit-signature h3 {
    font-size: 2rem;
    margin-bottom: 18px;
  }
  .first-visit-band .first-visit-footnote {
    margin-top: 0;
    padding: 20px 0 0;
  }
  .home-space-preview {
    padding-top: 40px;
    padding-bottom: 16px;
  }
  .home-gatherings {
    padding-top: 16px;
    padding-bottom: 40px;
  }
  .home-gatherings .gatherings {
    padding-top: 24px;
  }
  .signature-order {
    margin-top: 20px;
  }
}
@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-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-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@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: 0px;
}
@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-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@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-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;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
}
@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
  to {
    height: 0;
  }
}
@keyframes caret-blink {
  0%,70%,100% {
    opacity: 1;
  }
  20%,50% {
    opacity: 0;
  }
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
}
@keyframes accordion-up {
  from {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
  to {
    height: 0;
  }
}
@keyframes scroll-fade-reveal-b {
  from {
    --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
  to {
    --scroll-fade-b: 0px;
  }
}
@keyframes scroll-fade-reveal-s {
  from {
    --scroll-fade-s: 0px;
  }
  to {
    --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
}
@keyframes scroll-fade-reveal-e {
  from {
    --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
  }
  to {
    --scroll-fade-e: 0px;
  }
}
@keyframes tw-shimmer {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-scroll-snap-strictness: proximity;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --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-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --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-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

/* Mobile-only refinements; desktop composition and content stay unchanged. */
/* Intermediate widths use two header rows rather than squeezing Chinese labels. */
@media(min-width:701px) and (max-width:1000px){
  html{scroll-padding-top:155px}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;width:calc(100% - 64px);min-height:0;padding:10px 0 8px}
  .site-header .header-book{grid-column:2;grid-row:1;min-height:44px;padding:10px 20px;white-space:nowrap}
  .site-header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;white-space:nowrap}
}
@media(max-width:700px){
  html{scroll-padding-top:140px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{overflow-wrap:break-word}
  .header-inner{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;min-height:0;padding:8px 0}
  .brand .brand-wordmark{width:min(100%,184px);max-width:100%;flex-shrink:1}
  .site-header .header-book{min-height:44px;font-size:.875rem;padding:10px 14px;white-space:nowrap}
  .site-header nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 2px;font-size:.875rem;text-align:center}
  .button{min-height:48px;max-width:100%;gap:16px;font-size:1rem}
  .text-link,.back-top{min-height:44px;padding:10px 0;line-height:1.6;font-size:.875rem}
  .hero-actions .button{min-height:48px}
  .home-decision{gap:16px;padding-top:22px}
  .home-decision .lead{font-size:1rem;line-height:1.9}
  .home-decision .hero-actions{grid-row:4}
  .home-decision .lead{grid-row:5}
  .hero-menu-pick>a span{display:block;margin:5px 0 0}
  .home-arrival a{min-height:44px;padding-top:8px}
  .home-space-links{gap:8px 20px}
  .home-space-preview>div,.first-visit-copy,.first-visit-choice>div,
  .menu-content,.menu-item>div,.contact-grid>section,.contact-social>div,
  .seasonal-lobster-copy,.meat-sourcing-list{min-width:0}
  .first-visit-photo,.seasonal-lobster figure{max-width:360px}
  .first-visit-photo figcaption{flex-wrap:wrap;gap:4px 12px}
  .first-visit-photo figcaption span{font-size:.875rem}
  .first-visit-choice-footer{gap:6px 16px}
  .first-visit-footnote a{flex-shrink:1;max-width:100%}
  .seasonal-lobster .button{width:100%;text-align:center}
  .page-title>p:not(.eyebrow),.menu-intro,.menu-notes,.menu-item p,
  .item-heading h3,.visit-notes dd,.environment-grid p,.gatherings-facts dd,
  .reservation-section>p:not(.eyebrow){font-size:1rem;line-height:1.9}
  .eyebrow,.menu-meta,.menu-sidebar p,.item-tag,.section-service,
  .footer-meta,.footer-inner p{font-size:.875rem}
  .menu-meta{flex-direction:column;gap:6px}
  .menu-sidebar nav{gap:0 16px}
  .menu-sidebar nav a{min-height:48px;font-size:1rem;align-items:center;padding:10px 0}
  .menu-sidebar nav a span{padding-left:8px}
  .menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 0}
  .item-price{font-size:1.0625rem;line-height:1.9;white-space:nowrap}
  .item-price small{font-size:.875rem}
  .item-tag{line-height:1.8}
  .menu-notes{padding:14px}
  .menu-section,.first-visit,.gatherings,#dining-notes,
  .visit-notes dl>div[id],.contact-social,#menu-categories{scroll-margin-top:12px}
  .visit-notes dl>div{gap:10px;padding:22px 0}
  .visit-notes dt{font-size:1rem;line-height:1.8}
  .faq-related{flex-direction:column;align-items:flex-start;gap:6px}
  .contact-social{padding:20px}
  .contact-social .text-link{overflow-wrap:anywhere}
  .contact-phone{font-size:clamp(1.7rem,7vw,2rem);min-height:48px}
  .contact-grid .button,.reservation-section .actions .button,
  .gathering-actions .button{width:100%;text-align:center}
  .reservation-section .actions{gap:12px}
  .footer-inner nav{flex-wrap:wrap;gap:8px 24px}
  .footer-inner a,.footer-social a{display:inline-flex;align-items:center;min-height:44px}
  .footer-meta{flex-wrap:wrap;gap:8px 20px}
}
@media(max-width:360px){
  .hero-actions{flex-direction:column}
  .hero-actions .button{width:100%}
  .first-visit-choice{grid-template-columns:22px minmax(0,1fr);gap:10px}
}
/* A short landscape screen needs content space more than a pinned header. */
@media(max-width:950px) and (max-height:500px) and (orientation:landscape){
  .site-header{position:static}
  html{scroll-padding-top:16px}
}

/* Shared editorial hierarchy. This layer follows desktop and mobile defaults. */
:root{--editorial-ink:#30322d;--editorial-secondary:#5a5d56;--editorial-rule:#d8d9d1}
.eyebrow{font-weight:400;letter-spacing:.14em}
.home-decision h1{line-height:1.48;letter-spacing:.015em;font-weight:500}
.home-decision .lead{line-height:1.95;color:var(--editorial-secondary)}
.home-decision .eyebrow{font-size:.875rem;letter-spacing:.08em}
.home-featured-pick{display:grid;grid-template-columns:130px 1fr 1fr;gap:24px 36px;padding:26px 0;border-top:1px solid var(--editorial-rule);border-bottom:1px solid var(--editorial-rule)}
.home-featured-pick>span{margin:0;align-self:start;padding-top:4px;font-size:.875rem;letter-spacing:.06em;color:var(--editorial-secondary)}
.home-featured-pick article{min-width:0}
.home-featured-pick article+article{border-left:1px solid var(--editorial-rule);padding-left:36px}
.home-featured-pick article>a{display:block;font-family:'Country Serif','Microsoft JhengHei',serif;font-size:1.25rem;font-weight:500;line-height:1.7}
.home-featured-pick article>a:hover{text-decoration:underline;text-underline-offset:6px}
.home-featured-pick .home-pick-meta{display:flex;gap:20px;margin:5px 0 0;font-size:.9375rem;color:var(--editorial-secondary)}
.home-featured-pick .home-pick-meta span{color:var(--editorial-ink);font-variant-numeric:tabular-nums}
.home-featured-pick article>p:last-child{font-size:.875rem;line-height:1.8;margin-top:8px}
.home-featured-pick .home-pick-inclusions{grid-column:2/-1;font-size:.875rem;margin:0;color:var(--editorial-secondary)}
.first-visit-signature h3{letter-spacing:.02em;line-height:1.5}
.first-visit-band .first-visit-signature .eyebrow{font-size:.9375rem;letter-spacing:.035em;color:var(--editorial-secondary)}
.first-visit-band .first-visit-choice h4{font-family:'Country Serif','Microsoft JhengHei',serif;font-size:1.25rem;line-height:1.65;font-weight:500}
.first-visit-band .first-visit-choice-footer>span{color:var(--editorial-ink);font-weight:400}
.first-visit-choice h4+p{color:var(--editorial-secondary)}
.section-heading h2,.home-space-preview h2,.meat-sourcing h2,.seasonal-lobster h2,.reservation-section h2{letter-spacing:.025em}
.gift-card h3{font-family:'Country Serif','Microsoft JhengHei',serif;font-size:1.375rem;font-weight:500}
.gift-card .gift-card-lead{font-weight:400;color:var(--editorial-secondary)}
.menu-page{max-width:1160px}
.menu-page-title{text-align:center;border:0;padding:64px 0 34px}
.menu-page-title h1{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:.08em;line-height:1.5}
.menu-page-title .eyebrow{margin-bottom:14px;font-size:.8125rem;color:var(--editorial-secondary)}
.menu-page-title>p:not(.eyebrow){max-width:none;margin-top:16px;font-size:1rem;color:var(--editorial-secondary)}
.menu-page .menu-meta{border:0;padding:0;justify-content:center;gap:12px 28px;margin-top:24px;font-size:.875rem;line-height:1.8;color:var(--editorial-secondary)}
.menu-meta a:hover{text-decoration:underline;text-underline-offset:5px}
.menu-page .menu-layout{display:block;padding-bottom:72px}
.menu-category-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 30px;border-top:1px solid var(--editorial-rule);border-bottom:1px solid var(--editorial-rule);padding:8px 0;scroll-margin-top:0}
.menu-category-nav a{padding:12px 0;min-height:48px;font-size:1rem;color:var(--editorial-ink)}
.menu-category-nav a:hover{text-decoration:underline;text-underline-offset:8px}
.menu-page .menu-content{width:min(980px,100%);margin:0 auto}
.menu-page .menu-section{padding:62px 0 48px;border-bottom:1px solid var(--editorial-rule);scroll-margin-top:0}
.menu-section-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px;margin-bottom:20px}
.menu-section-title h2{font-size:2rem;line-height:1.55;letter-spacing:.055em;color:var(--editorial-ink);border:0;padding:0}
.menu-section-title>span,.menu-small-title>span{font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-style:italic;letter-spacing:.015em;color:var(--editorial-secondary);line-height:1.6}
.menu-inclusions{padding:17px 22px;margin:0 0 12px;border:0;background:#eeefea}
.menu-inclusions p{font-size:1rem;line-height:1.9;color:var(--editorial-secondary)}
.menu-page .menu-intro{margin:0 0 16px;font-size:1rem;line-height:1.9;color:var(--editorial-secondary)}
.menu-page .menu-notes{margin:0 0 16px;padding:0;border:0;background:none;font-size:1rem;line-height:1.9}
.menu-page .menu-notes p{color:var(--editorial-secondary)}
.menu-page .menu-items{padding:0;margin:0;list-style:none}
.menu-page .menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;padding:28px 0;border-top:0;border-bottom:1px solid var(--editorial-rule);align-items:start}
.menu-page .menu-item:last-child{border-bottom:0}
.menu-page .menu-item-copy{min-width:0}
.menu-page .item-heading{display:block}
.menu-page .item-heading h3,.menu-page .item-heading h4{font-family:'Country Serif','Microsoft JhengHei',serif;font-size:1.25rem;line-height:1.65;font-weight:500;color:var(--editorial-ink);letter-spacing:.025em;margin:0}
.menu-page .item-portion{display:inline-block;margin-left:12px;font-family:Arial,'Microsoft JhengHei',sans-serif;font-size:.875rem;letter-spacing:0;color:var(--editorial-secondary);font-weight:400;white-space:nowrap}
.menu-page .item-name-part{display:inline-block;max-width:100%}
.menu-page .menu-item p.item-english,.menu-page .menu-fish-feature p.item-english{font-family:Georgia,'Times New Roman',serif;font-size:.9375rem;line-height:1.5;font-style:italic;letter-spacing:.01em;margin-top:3px;color:var(--editorial-secondary)}
.menu-page .menu-item p.item-detail{margin-top:8px;max-width:46em;font-size:1rem;line-height:1.85;color:var(--editorial-secondary)}
.menu-page .item-tag{display:inline-block;border:0;background:none;padding:0;margin-top:7px;color:#865048;font-size:.875rem;line-height:1.7}
.menu-page .item-price{display:inline-flex;gap:8px;align-items:baseline;color:var(--editorial-ink);font-family:Arial,'Microsoft JhengHei',sans-serif;font-size:1.1875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.75;white-space:nowrap;padding-top:0}
.menu-page .item-price small{font-size:.75rem;color:var(--editorial-secondary);font-weight:400}
.menu-page .menu-item--featured .item-heading h3{color:#75483d;font-size:1.4375rem}
.menu-page .menu-subsection{margin-top:48px}
.menu-page .menu-items--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.menu-page .menu-items--compact .menu-item:nth-last-child(-n+2){border-bottom:0}
.menu-page .extras{margin-top:38px;padding-top:28px;border-top:1px solid var(--editorial-rule)}
.menu-small-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-bottom:6px}
.menu-small-title h3{font-size:1.5rem;letter-spacing:.04em}
.menu-page .back-top{margin-top:18px;font-size:.875rem;color:var(--editorial-secondary);line-height:1.7;padding:10px 0;min-height:44px}
.menu-page .back-top:hover{text-decoration:underline;text-underline-offset:5px}
.menu-fish-feature{display:grid;grid-template-columns:290px minmax(0,1fr);gap:48px;align-items:center;padding:14px 0 40px;margin-bottom:20px;border-bottom:1px solid var(--editorial-rule)}
.menu-fish-feature figure{margin:0;width:100%;max-width:290px}
.menu-fish-feature img{aspect-ratio:2/3;object-fit:contain}
.menu-fish-feature h3{font-size:1.75rem;line-height:1.6;letter-spacing:.035em;color:var(--editorial-ink)}
.menu-feature-kicker{font-size:.9375rem;margin-bottom:14px;color:var(--editorial-secondary)}
.menu-feature-description{margin-top:22px;font-size:1rem;line-height:2;color:var(--editorial-secondary)}
.menu-fish-order{display:flex;align-items:baseline;gap:16px;margin-top:24px}
.menu-fish-order>span:last-child,.menu-feature-note{font-size:.875rem;color:var(--editorial-secondary)}
.menu-feature-note{margin-top:8px}
.menu-page .visit-notes{width:min(980px,100%);margin:0 auto;border-top:0}
.menu-page .visit-notes dt{color:var(--editorial-ink);font-weight:500}
.menu-page .visit-notes dd{color:var(--editorial-secondary);font-size:1rem}
@media(max-width:1100px){
 .home-featured-pick{grid-template-columns:110px 1fr 1fr;gap:20px 24px}
 .home-featured-pick article+article{padding-left:24px}
 .menu-page .menu-items--compact{display:block}
 .menu-page .menu-items--compact .menu-item:nth-last-child(2){border-bottom:1px solid var(--editorial-rule)}
 .menu-category-nav{gap:0 24px}
}
@media(max-width:700px){
 .home-featured-pick{grid-template-columns:1fr;gap:20px;padding:24px 0}
 .home-featured-pick>span{padding:0}
 .home-featured-pick article+article{border-left:0;border-top:1px solid var(--editorial-rule);padding:20px 0 0}
 .home-featured-pick .home-pick-inclusions{grid-column:auto}
 .home-featured-pick article>a{font-size:1.25rem}
 .first-visit-band .first-visit-choice h4{font-size:1.25rem}
 .menu-page-title{padding:38px 0 28px}
 .menu-page-title h1{font-size:2rem}
 .menu-page .menu-meta{flex-direction:column;align-items:center;gap:4px;margin-top:18px}
 .menu-category-nav{justify-content:flex-start;gap:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0;scroll-margin-top:12px}
 .menu-category-nav a{font-size:1rem;min-height:48px;padding:10px 12px}
 .menu-page .menu-content{width:100%}
 .menu-page .menu-layout{padding-bottom:34px}
 .menu-page .menu-section{padding:40px 0 32px;scroll-margin-top:12px}
 .menu-section-title{gap:5px 16px;margin-bottom:18px}
 .menu-section-title h2{font-size:1.75rem}
 .menu-section-title>span{font-size:.9375rem}
 .menu-inclusions{padding:15px 16px;margin-bottom:6px}
 .menu-page .menu-item{gap:12px 16px;padding:25px 0}
 .menu-page .item-heading h3,.menu-page .item-heading h4{font-size:1.1875rem;line-height:1.7}
 .menu-page .menu-item--featured .item-heading h3{font-size:1.3125rem}
 .menu-page .item-price{font-size:1.125rem;line-height:1.8;gap:5px}
 .menu-page .item-portion{font-size:.875rem;margin-left:8px}
 .menu-page .menu-item p.item-detail{font-size:1rem;line-height:1.85}
 .menu-page .menu-item p.item-english{font-size:.9375rem;line-height:1.6}
 .menu-page .menu-subsection{margin-top:32px}
 .menu-fish-feature{grid-template-columns:1fr;gap:28px;padding:4px 0 32px;margin-bottom:24px}
 .menu-fish-feature figure{max-width:290px;justify-self:center}
 .menu-fish-feature h3{font-size:1.5rem}
 .menu-feature-description{margin-top:18px}
 .menu-small-title h3{font-size:1.375rem}
 .menu-small-title>span{font-size:.9375rem}
 .menu-page .visit-notes dd{font-size:1rem;line-height:1.9}
}
@media(max-width:380px){
 .menu-page .menu-item{column-gap:12px}
 .menu-page .item-price small{display:none}
 .menu-page .item-heading h3,.menu-page .item-heading h4{font-size:1.125rem}
 .menu-page .menu-item--featured .item-heading h3{font-size:1.25rem}
}

/* A photo-led brand page; retain the approved warm palette and type system. */
.image-frame{overflow:hidden;isolation:isolate}
.image-frame img{transition:transform .7s ease-out}
.about-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-top:48px;padding-bottom:32px}
.about-heading .eyebrow{font-size:.8125rem;margin-bottom:14px}
.about-heading h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.5;letter-spacing:.025em}
.about-title-break{display:none}
.about-heading-intro{font-size:1rem;line-height:1.95;flex-shrink:0;padding-bottom:4px}
.about-hero{width:min(1440px,calc(100% - 48px));margin:0 auto}
.about-hero .image-frame{aspect-ratio:2.2/1}
.about-hero img{height:100%;aspect-ratio:auto;object-position:50% 78%}
.about-page figcaption{font-size:.875rem;line-height:1.8;color:var(--editorial-secondary)}
.about-hero>figcaption{margin-top:12px}
.about-story{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:center;padding-top:96px;padding-bottom:96px}
.about-craft-figure{max-width:500px;width:100%}
.about-craft-figure .image-frame{aspect-ratio:4/5}
.about-craft-figure img{height:100%;aspect-ratio:auto;object-position:50% 78%}
.about-craft-figure figcaption{margin-top:14px}
.about-story-copy{min-width:0;max-width:510px}
.about-story-copy .eyebrow{font-size:.8125rem;margin-bottom:20px}
.about-story-copy h2{font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.65;letter-spacing:.025em;margin-bottom:32px}
.about-story-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:2.05;color:var(--editorial-secondary)}
.about-story-copy>p+p{margin-top:22px}
.about-story-copy .text-link{margin-top:30px;font-size:1rem;min-height:44px;padding:8px 0}
.about-page .environment-section{border-top:1px solid var(--editorial-rule);padding-top:70px;padding-bottom:80px;scroll-margin-top:0}
.about-environment-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}
.about-environment-heading .eyebrow{font-size:.8125rem;margin-bottom:14px}
.about-environment-heading>p{font-size:1rem;line-height:1.9;max-width:360px;color:var(--editorial-secondary)}
.environment-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:44px;align-items:start}
.environment-layout figure{min-width:0}
.environment-main .image-frame{aspect-ratio:4/3}
.environment-main img{height:100%;aspect-ratio:auto;object-position:50% 65%}
.environment-details{display:grid;gap:36px}
.environment-details .image-frame{aspect-ratio:16/9}
.environment-details img{height:100%;aspect-ratio:auto;object-position:50% 65%}
.environment-details figure:last-child img{object-position:38% 68%}
.environment-layout figcaption{margin-top:17px}
.environment-layout h3{font-family:'Country Serif','Microsoft JhengHei',serif;font-size:1.375rem;font-weight:500;line-height:1.6;color:var(--editorial-ink);margin-bottom:5px}
.environment-layout figcaption p{font-size:1rem;line-height:1.85;color:var(--editorial-secondary)}
.about-page .visit-notes{padding-top:54px;padding-bottom:60px;border-top:1px solid var(--editorial-rule)}
.about-page .visit-notes .eyebrow{font-size:.8125rem;margin-bottom:14px}
.about-page .visit-notes h2{font-size:1.8rem;line-height:1.6}
.about-page .visit-notes dl{margin-top:28px;margin-bottom:0}
.about-page .visit-notes dl>div{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:44px;padding:26px 0}
.about-page .visit-notes dt{font-size:1.0625rem;font-weight:500;line-height:1.9;color:var(--editorial-ink)}
.about-page .visit-notes dd{font-size:1rem;line-height:1.95;color:var(--editorial-secondary)}
.about-page .faq-related{margin-top:18px}
.about-gathering-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;border-top:1px solid var(--editorial-rule);padding:64px 0 88px;scroll-margin-top:0}
.about-gathering-preview .image-frame{aspect-ratio:16/10}
.about-gathering-preview img{height:100%;aspect-ratio:auto;object-position:50% 62%}
.about-gathering-preview figcaption{margin-top:12px}
.about-gathering-preview .eyebrow{font-size:.8125rem;margin-bottom:16px}
.about-gathering-preview h2{font-size:2rem;line-height:1.6;margin-bottom:18px}
.about-gathering-preview h2+p{font-size:1rem;line-height:1.95;color:var(--editorial-secondary);max-width:440px}
.about-gathering-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}
.about-gathering-links .text-link{font-size:.9375rem;min-height:44px;padding:8px 0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .image-frame:hover img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .image-frame img{transition:none;transform:none}
}
@media(max-width:1000px){
 .about-heading{align-items:flex-start}
 .about-title-break{display:block}
 .about-heading-intro{padding-top:42px}
 .about-story{gap:40px;padding:70px 0}
 .about-story-copy h2{font-size:1.8rem;margin-bottom:22px}
 .about-story-copy>p:not(.eyebrow){font-size:1rem;line-height:1.95}
 .about-story-copy>p+p{margin-top:18px}
 .environment-layout{grid-template-columns:1fr;gap:32px}
 .environment-main .image-frame{aspect-ratio:16/9}
 .environment-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .about-page .visit-notes dl>div{grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:28px}
 .about-gathering-preview{gap:36px}
}
@media(max-width:700px){
 .about-heading{display:block;padding-top:28px;padding-bottom:25px}
 .about-heading h1{font-size:2rem;line-height:1.55;letter-spacing:.025em}
 .about-heading .eyebrow{margin-bottom:12px}
 .about-heading-intro{padding-top:14px;padding-bottom:0;font-size:1rem;line-height:1.85}
 .about-heading-intro br{display:none}
 .about-hero{width:calc(100% - 24px)}
 .about-hero .image-frame{aspect-ratio:4/3}
 .about-hero img{object-position:58% 80%}
 .about-hero>figcaption{margin:10px 8px 0}
 .about-story{grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:48px}
 .about-story-copy h2{font-size:1.8rem;margin-bottom:22px}
 .about-story-copy>p:not(.eyebrow){font-size:1rem;line-height:1.95}
 .about-story-copy>p+p{margin-top:18px}
 .about-craft-figure{max-width:500px;justify-self:center}
 .about-story-copy .eyebrow{margin-bottom:18px}
 .about-story-copy .text-link{margin-top:24px}
 .about-page .environment-section{padding-top:46px;padding-bottom:46px;scroll-margin-top:0}
 .about-environment-heading{display:block;margin-bottom:28px}
 .about-environment-heading>p{margin-top:18px}
 .environment-layout{grid-template-columns:1fr;gap:32px}
 .environment-main .image-frame,.environment-details .image-frame{aspect-ratio:3/2}
 .environment-details{grid-template-columns:1fr;gap:32px}
 .environment-layout figcaption{margin-top:14px}
 .about-page .visit-notes{padding-top:40px;padding-bottom:40px}
 .about-page .visit-notes dl>div{grid-template-columns:1fr;gap:10px;padding:22px 0}
 .about-page .visit-notes h2{font-size:1.65rem}
 .about-gathering-preview{grid-template-columns:1fr;gap:28px;padding:40px 0 48px;scroll-margin-top:0}
 .about-gathering-preview h2{font-size:1.8rem}
 .about-gathering-links{gap:8px 22px}
}

/* Route-scoped forest system; retain the original composition layer for rollback. */
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/noto-serif-tc-600-about.woff2') format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/noto-sans-tc-400-about.woff2') format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/noto-sans-tc-600-about.woff2') format('woff2')}
:root{--about-primary:#2F3A2C;--about-accent:#B8893E;--about-accent-text:#866123;--about-accent-light:#E5C28A;--about-background:#F8F7F3;--about-sage:#EEF0E8;--about-text:#2A2A25;--about-rule:#CCD2C5;--about-gutter:48px}
body:has(.about-page){background:var(--about-background);color:var(--about-text);font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif;font-size:18px;line-height:1.8}
html:has(.about-page){scroll-padding-top:88px}
.about-page{--about-section-gutter:max(var(--about-gutter),calc((100% - 1160px)/2))}
.about-page .wrap{width:min(1160px,calc(100% - var(--about-gutter)*2))}
.about-page h1,.about-page h2,.about-page h3{font-family:'Noto Serif TC','PMingLiU',serif;font-weight:600;letter-spacing:.025em;color:var(--about-primary)}
.about-page h2{font-size:36px;line-height:1.55}
.about-page p,.about-page dd{color:var(--about-text);line-height:1.8}
.about-page .eyebrow{font-size:14px;font-weight:600;line-height:1.8;letter-spacing:.14em;color:var(--about-accent-text);margin-bottom:20px}
.about-page figcaption{font-size:15px;line-height:1.8;color:var(--about-text)}
.about-page .text-link{font-size:17px;line-height:1.8;min-height:44px;padding:8px 0;color:var(--about-primary);border-bottom:1px solid var(--about-accent);text-decoration:none}
.about-page .text-link:hover{color:var(--about-accent-text);border-bottom-width:2px}
.about-page a:focus-visible{outline-color:var(--about-accent)}
.about-page .image-frame{border-radius:4px}
.about-page .image-frame img{filter:saturate(.92) sepia(.06) contrast(.98)}

/* Full-bleed photograph, with its copy on the shared reading grid. */
.about-opening{position:relative;isolation:isolate}
.about-heading{display:block;position:absolute;left:0;right:0;bottom:86px;z-index:2;padding:0;pointer-events:none}
.about-heading h1{font-size:clamp(48px,4.4vw,64px);line-height:1.5;letter-spacing:.035em;color:#fff;text-wrap:balance}
.about-title-break{display:block}
.about-page .about-heading .eyebrow{color:var(--about-accent-light);margin-bottom:22px}
.about-hero{width:100%;margin:0}
.about-hero .image-frame{position:relative;height:80vh;min-height:520px;aspect-ratio:auto;border-radius:0}
.about-hero .image-frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(16,25,15,.3),rgba(16,25,15,.02) 75%),linear-gradient(0deg,rgba(16,25,15,.82),rgba(16,25,15,.17) 65%,rgba(16,25,15,.08))}
.about-hero img{height:100%;aspect-ratio:auto;object-position:50% 72%;filter:saturate(.94) sepia(.06)}
.about-page .about-hero>figcaption{position:absolute;left:var(--about-section-gutter);bottom:28px;z-index:2;margin:0;color:#fff;font-size:15px}

/* The date, craft and environment deliberately have different visual rhythms. */
.about-anniversary{display:grid;grid-template-columns:1.08fr .92fr;gap:100px;align-items:center;padding:50px 0 52px;border-bottom:1px solid var(--about-rule)}
.about-year{font-family:'Noto Serif TC',Georgia,serif;font-weight:600;color:var(--about-accent);font-size:144px;letter-spacing:.015em;line-height:1.2;font-variant-numeric:lining-nums}
.about-anniversary .about-heading-intro{font-size:22px;line-height:1.85;color:var(--about-primary);padding:0}
.about-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:100px;align-items:center;padding-top:118px;padding-bottom:104px}
.about-craft-figure{width:calc(100% + 32px);max-width:640px;margin-right:-32px}
.about-craft-figure .image-frame{aspect-ratio:4/5}
.about-craft-figure img{height:100%;aspect-ratio:auto;object-position:50% 78%}
.about-craft-figure figcaption{margin-top:18px}
.about-story-copy{min-width:0;max-width:490px;padding-top:24px}
.about-story-copy h2{font-size:36px;line-height:1.55;margin-bottom:32px}
.about-story-copy>p:not(.eyebrow){font-size:18px;line-height:1.8}
.about-story-copy>p+p{margin-top:22px}
.about-story-copy .text-link{margin-top:30px}
.about-page .environment-section{border-top:1px solid var(--about-rule);padding-top:76px;padding-bottom:88px;scroll-margin-top:0}
.about-environment-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px}
.about-environment-heading>p{font-size:18px;line-height:1.8;max-width:360px}
.environment-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:44px}
.environment-main .image-frame{aspect-ratio:4/3}
.environment-details{gap:36px}
.environment-details .image-frame{aspect-ratio:16/9}
.environment-layout figcaption{margin-top:18px}
.about-page .environment-layout h3{font-size:24px;line-height:1.6;margin-bottom:7px}
.environment-layout figcaption p{font-size:15px;line-height:1.8}

/* Sage answers separate the practical section without sacrificing contrast. */
.about-page .visit-notes{background:var(--about-sage);padding:68px var(--about-section-gutter) 72px;border:0;scroll-margin-top:0}
.about-page .visit-notes h2{font-size:36px;line-height:1.55}
.about-page .visit-notes dl{margin:34px 0 0}
.about-page .visit-notes dl>div{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;padding:28px 0;border-top:1px solid var(--about-rule)}
.about-page .visit-notes dt{font-size:18px;font-weight:600;line-height:1.8;color:var(--about-primary)}
.about-page .visit-notes dd{font-size:18px;line-height:1.8;color:var(--about-text)}
.about-page .faq-link{font-size:17px;margin-top:10px}
.about-page .faq-related{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:22px}
.about-gathering-preview{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:100px;align-items:center;background:var(--about-primary);padding:88px var(--about-section-gutter) 104px;border:0;scroll-margin-top:0}
.about-gathering-preview .image-frame{aspect-ratio:4/3}
.about-gathering-preview figcaption{margin-top:16px}
.about-page .about-gathering-preview figcaption,.about-page .about-gathering-preview h2,.about-page .about-gathering-preview h2+p{color:var(--about-background)}
.about-page .about-gathering-preview .eyebrow{color:var(--about-accent-light);margin-bottom:22px}
.about-gathering-preview h2{font-size:36px;line-height:1.55;margin-bottom:26px}
.about-gathering-preview h2+p{font-size:18px;line-height:1.8;max-width:440px}
.about-gathering-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:30px}
.about-page .about-gathering-links .text-link{color:var(--about-background);border-color:var(--about-accent-light)}
.about-page .about-gathering-links .text-link:hover{color:var(--about-accent-light)}

/* Shared navigation and footer are changed on About only. */
body:has(.about-page) .site-header{background:var(--about-background);border-color:var(--about-rule)}
body:has(.about-page) .header-inner{width:min(1160px,calc(100% - var(--about-gutter)*2));min-height:104px;transition:min-height .28s ease,padding .28s ease;gap:28px}
body:has(.about-page) .brand .brand-wordmark{width:258px;max-width:100%;height:auto;transition:width .28s ease}
body:has(.about-page) .site-header nav{font-size:16px;gap:28px}
body:has(.about-page) .site-header nav a:hover{color:var(--about-accent-text);text-decoration-color:var(--about-accent)}
body:has(.about-page) .header-book{background:var(--about-primary);border-color:var(--about-primary);color:var(--about-background);font-size:16px;min-height:44px;white-space:nowrap;padding:11px 22px}
body:has(.about-page) .header-book:hover{background:#3F4D3A;border-color:var(--about-accent)}
body:has(.about-page) .site-header.is-compact .header-inner{min-height:64px}
body:has(.about-page) .site-header.is-compact .brand-wordmark{width:184px}
body:has(.about-page) .site-footer{background:var(--about-primary);color:var(--about-background);border-top:1px solid rgba(229,194,138,.25);padding:48px var(--about-gutter) 26px}
body:has(.about-page) .footer-brand{font-family:'Noto Serif TC','PMingLiU',serif;font-weight:600;color:var(--about-background)}
body:has(.about-page) .footer-inner{font-size:17px;line-height:1.8}
body:has(.about-page) .footer-inner p,body:has(.about-page) .footer-inner nav,body:has(.about-page) .footer-social a{font-size:17px;line-height:1.8;color:var(--about-background)}
body:has(.about-page) .footer-social{border-color:rgba(229,194,138,.25)}
body:has(.about-page) .footer-social a{border-color:var(--about-accent-light)}
body:has(.about-page) .site-footer a:hover{color:var(--about-accent-light)}
body:has(.about-page) .site-footer a:focus-visible{outline-color:var(--about-accent-light)}
body:has(.about-page) .footer-meta{color:var(--about-background);border-color:rgba(229,194,138,.25);font-size:15px}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-hero .image-frame:hover img{transform:none}}
@media(max-width:1100px){
 :root{--about-gutter:32px}
 .about-story,.about-anniversary,.about-gathering-preview{gap:60px}
 body:has(.about-page) .site-header nav{gap:22px}
}
@media(max-width:1000px){
 html:has(.about-page){scroll-padding-top:126px}
 .about-story{grid-template-columns:1fr;gap:44px;padding:80px 0 72px}
 .about-craft-figure{width:100%;max-width:560px;margin:0}
 .about-story-copy{max-width:680px;padding-top:0}
 .environment-layout{grid-template-columns:1fr;gap:34px}
 .environment-main .image-frame{aspect-ratio:16/9}
 .environment-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .about-page .visit-notes dl>div{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:32px}
 .about-gathering-preview{gap:40px}
 body:has(.about-page) .header-inner{min-height:0;gap:4px 20px;padding:8px 0}
 body:has(.about-page) .brand .brand-wordmark{width:200px}
 body:has(.about-page) .site-header nav{gap:0;font-size:16px}
 body:has(.about-page) .site-header.is-compact .header-inner{min-height:0;padding:4px 0}
 body:has(.about-page) .site-header.is-compact .brand-wordmark{width:150px}
}
@media(max-width:700px){
 :root{--about-gutter:20px}
 body:has(.about-page){font-size:17px}
 html:has(.about-page){scroll-padding-top:120px}
 .about-page h2{font-size:30px;line-height:1.6}
 .about-page .eyebrow{font-size:13px;margin-bottom:18px;letter-spacing:.12em}
 .about-heading{bottom:80px;padding:0}
 .about-heading h1{font-size:36px;line-height:1.6;letter-spacing:.015em;text-wrap:initial}
 .about-hero .image-frame{height:80vh;height:80svh;min-height:540px}
 .about-hero img{object-position:58% 74%}
 .about-page .about-hero>figcaption{bottom:24px;margin:0}
 .about-anniversary{grid-template-columns:1fr;gap:12px;padding:38px 0 40px}
 .about-year{font-size:124px;line-height:1.15}
 .about-anniversary .about-heading-intro{font-size:19px;line-height:1.85;padding:0}
 .about-anniversary .about-heading-intro br{display:initial}
 .about-story{gap:32px;padding:56px 0 64px}
 .about-story-copy h2{font-size:30px;line-height:1.6;margin-bottom:26px}
 .about-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.8}
 .about-story-copy>p+p{margin-top:20px}
 .about-craft-figure figcaption{margin-top:14px}
 .about-story-copy .text-link{margin-top:24px}
 .about-page .environment-section{padding-top:50px;padding-bottom:58px}
 .about-environment-heading{display:block;margin-bottom:30px}
 .about-environment-heading>p{font-size:17px;margin-top:20px}
 .environment-layout{gap:32px}
 .environment-main .image-frame,.environment-details .image-frame{aspect-ratio:3/2}
 .environment-details{grid-template-columns:1fr;gap:32px}
 .environment-layout figcaption{margin-top:14px}
 .about-page .environment-layout h3{font-size:22px}
 .about-page .visit-notes{padding-top:48px;padding-bottom:52px}
 .about-page .visit-notes h2{font-size:30px;line-height:1.6}
 .about-page .visit-notes dl{margin-top:28px}
 .about-page .visit-notes dl>div{grid-template-columns:1fr;gap:14px;padding:26px 0}
 .about-page .visit-notes dt,.about-page .visit-notes dd{font-size:17px;line-height:1.8}
 .about-page .faq-related{flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px}
 .about-gathering-preview{grid-template-columns:1fr;gap:36px;padding-top:56px;padding-bottom:66px}
 .about-gathering-preview .image-frame{aspect-ratio:4/3}
 .about-gathering-preview h2{font-size:30px;line-height:1.6;margin-bottom:24px}
 .about-gathering-preview h2+p{font-size:17px}
 .about-gathering-links{flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}
 body:has(.about-page) .brand .brand-wordmark{width:174px}
 body:has(.about-page) .site-header nav{font-size:14px;gap:0}
 body:has(.about-page) .site-header nav a{font-size:14px;white-space:nowrap}
 body:has(.about-page) .header-inner{padding:8px 0;gap:4px 12px}
 body:has(.about-page) .header-book{font-size:15px;padding:10px 14px}
 body:has(.about-page) .site-header.is-compact .header-inner{padding:4px 0;gap:0 12px}
 body:has(.about-page) .site-header.is-compact .brand-wordmark{width:138px}
 body:has(.about-page) .site-footer{padding-top:38px;padding-bottom:24px}
 body:has(.about-page) .footer-inner{gap:28px}
 body:has(.about-page) .footer-inner nav{flex-direction:column;gap:2px;align-items:flex-start}
 body:has(.about-page) .footer-social{flex-direction:column;align-items:flex-start;gap:10px}
 body:has(.about-page) .footer-meta{font-size:14px;margin-top:28px}
}
@media(prefers-reduced-motion:reduce){body:has(.about-page) .header-inner,body:has(.about-page) .brand-wordmark{transition:none}}

@font-face{font-family:'Country Serif';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/noto-serif-tc-500-site-0.woff2') format('woff2')}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/noto-serif-tc-500-site-0.woff2') format('woff2')}
@font-face{font-family:'Country Serif';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/noto-serif-tc-600-site-0.woff2') format('woff2')}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/noto-serif-tc-600-site-0.woff2') format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/noto-sans-tc-400-site-0.woff2') format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/noto-sans-tc-600-site-0.woff2') format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/noto-sans-tc-700-site-0.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/instrument-serif-normal-site.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/instrument-serif-italic-site.woff2') format('woff2')}

/* Shared forest / brass system. Small brass text uses a contrast-safe tone. */
.contact-page .contact-grid h2{font-size:34px}
@media(max-width:700px){.contact-page .contact-grid h2{font-size:28px}}
.about-page .about-year{color:#A67934}.site-header .mobile-menu nav a{justify-content:flex-start;text-align:left;font-size:18px}
.button:not(.outline){background:var(--forest);border-color:var(--forest);color:var(--paper)}.button:not(.outline):hover{background:#40503A;border-color:#40503A}.first-visit-band,.site-footer{--foreground:var(--ink);--muted:#5E5E55;--accent:var(--amber-text);--soft:var(--sage);--line:#D2D6CA}.first-visit-band{margin-top:0}.gift-card h3,.meat-sourcing-list h3{font-family:'Country Serif','Noto Serif TC',serif;font-weight:600}.first-visit-band .first-visit-signature .eyebrow{color:var(--amber-text);font-size:15px}.home-forest-hero .button:not(.outline),.wedding-gathering .button:not(.outline){background:var(--amber);border-color:var(--amber);color:var(--ink)}.home-forest-hero .button:not(.outline):hover,.wedding-gathering .button:not(.outline):hover{background:var(--amber-light);border-color:var(--amber-light)}
:root,.dark{--forest:#2F3A2C;--amber:#B8893E;--paper:#F8F7F3;--sage:#EEF0E8;--ink:#2A2A25;--muted:#5E5E55;--amber-text:#805C22;--amber-light:#E4C48F;--background:var(--paper);--foreground:var(--ink);--soft:var(--sage);--accent:var(--amber-text);--line:#D2D6CA;--header-height:88px;--site-gutter:48px;--about-primary:var(--forest);--about-text:var(--ink);--about-background:var(--paper);--about-sage:var(--sage);--about-accent:var(--amber);--about-accent-text:var(--amber-text);--about-accent-light:var(--amber-light)}
html{scroll-padding-top:150px}body,body:has(.about-page){font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif;font-size:18px;line-height:1.8;background:var(--paper);color:var(--ink)}
h1,h2,h3,h4,.about-page h1,.about-page h2,.about-page h3{font-family:'Country Serif','Noto Serif TC',serif;font-weight:600;letter-spacing:.025em;color:var(--forest)}h1,.page-title h1{font-size:52px;line-height:1.5}h2,.section-heading h2,.section-heading h3{font-size:36px;line-height:1.55}h3{font-size:26px}h4{font-size:22px}p,.about-page p{color:var(--ink)}
.wrap{width:min(1160px,calc(100% - var(--site-gutter)*2))}.eyebrow,.about-page .eyebrow{font-size:14px;color:var(--amber-text);letter-spacing:.14em}.text-link{font-size:17px;border-color:var(--amber);line-height:1.8}.text-link:hover{color:var(--amber-text);text-decoration-color:var(--amber)}img{border-radius:4px}a:focus-visible,summary:focus-visible{outline:3px solid var(--amber-text);outline-offset:5px}.image-frame{overflow:hidden;border-radius:4px}
.button,.header-book{background:var(--forest);border-color:var(--forest);color:var(--paper);font-size:17px;min-height:48px;border-radius:3px;padding:12px 24px}.button:hover{background:#40503A}.button.outline{color:var(--forest);border-color:var(--forest);background:transparent}.button.outline:hover{background:var(--sage)}.actions{gap:16px}
.site-header,body:has(.about-page) .site-header{background:var(--paper);border-color:var(--line)}.header-inner,body:has(.about-page) .header-inner{width:min(1280px,calc(100% - var(--site-gutter)*2));height:88px;min-height:0;padding:0;display:flex;gap:24px;transition:height .25s}.brand .brand-wordmark,body:has(.about-page) .brand .brand-wordmark{width:218px;height:auto;aspect-ratio:auto;transition:width .25s}.site-header nav,body:has(.about-page) .site-header nav{gap:26px;font-size:17px}.site-header nav a{white-space:nowrap}.site-header .header-book,body:has(.about-page) .header-book{font-size:17px;padding:11px 20px;min-height:44px;background:var(--forest);color:var(--paper);border-color:var(--forest)}.site-header.is-compact .header-inner,body:has(.about-page) .site-header.is-compact .header-inner{height:64px;min-height:0;padding:0}.site-header.is-compact .brand-wordmark,body:has(.about-page) .site-header.is-compact .brand-wordmark{width:166px}body:has(.site-header.is-compact){--header-height:64px}.mobile-menu,.mobile-booking-bar{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{padding-top:96px;padding-bottom:96px}.page-title{padding-top:64px;padding-bottom:48px}.page-title>p:not(.eyebrow){font-size:18px}.section-heading{margin-bottom:36px}.back-top,.section-service{font-size:14px;color:var(--muted)}
.site-footer,body:has(.about-page) .site-footer{background:var(--forest);color:var(--paper);padding:64px var(--site-gutter) 28px;border-color:#65715F}.site-footer p,.site-footer nav,.site-footer a,.footer-meta,body:has(.about-page) .footer-inner p,body:has(.about-page) .footer-inner nav,body:has(.about-page) .footer-social a{color:var(--paper);font-size:17px;line-height:1.8}.footer-inner{gap:40px}.footer-brand,body:has(.about-page) .footer-brand{font-family:'Country Serif','Noto Serif TC',serif;font-size:32px}.footer-meta,body:has(.about-page) .footer-meta{font-size:14px;border-color:#65715F}.footer-social{color:var(--paper)}.site-footer a:hover{color:var(--amber-light)}.site-footer a:focus-visible{outline-color:var(--amber-light)}
.visit-notes{padding:64px 0;border-top:1px solid var(--line)}.visit-notes h2{font-size:36px}.visit-notes dt,.visit-notes dd{font-size:18px;color:var(--ink);line-height:1.8}.visit-notes dt{color:var(--forest)}.visit-notes dl>div{padding:22px 0;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px}.faq-related{gap:16px 28px}.faq-link{font-size:17px}.section-service{margin-top:24px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.image-frame img{transition:transform .7s cubic-bezier(.2,.6,.3,1)}.image-frame:hover img{transform:scale(1.025)}}
@media(max-width:1100px){:root{--site-gutter:32px}.site-header nav,body:has(.about-page) .site-header nav{gap:18px}.brand .brand-wordmark{width:185px}}
@media(max-width:1000px){:root{--header-height:64px}.header-inner,body:has(.about-page) .header-inner,.site-header.is-compact .header-inner{height:64px;min-height:0;padding:0}.site-header .desktop-nav,.site-header .header-book{display:none}.brand .brand-wordmark,body:has(.about-page) .brand .brand-wordmark,.site-header.is-compact .brand-wordmark,body:has(.about-page) .site-header.is-compact .brand-wordmark{width:164px}.mobile-menu{display:block;margin-left:auto}.mobile-menu summary{display:flex;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.hamburger{display:grid;gap:5px;width:24px}.hamburger i{display:block;width:24px;height:2px;background:var(--forest)}.site-header .mobile-menu nav{position:absolute;top:64px;left:0;right:0;background:var(--paper);display:flex;flex-direction:column;gap:0;padding:18px var(--site-gutter) 24px;border-bottom:1px solid var(--line);font-size:18px}.site-header .mobile-menu nav a{padding:12px 0;border-bottom:1px solid var(--line)}.mobile-menu:not([open]) nav{display:none}.mobile-booking-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;z-index:50;background:var(--forest);color:white;border-top:1px solid #65715F}.mobile-booking-bar a{display:flex;align-items:center;justify-content:center;width:50%;font-size:17px;font-weight:600}.mobile-booking-bar a+a{border-left:1px solid #65715F}.mobile-booking-bar a:focus-visible{outline-color:var(--amber-light);outline-offset:-5px}body{padding-bottom:56px}.visit-notes dl>div{grid-template-columns:1fr;gap:12px}}
@media(max-width:700px){:root{--site-gutter:20px}body,body:has(.about-page){font-size:17px;line-height:1.8}h1,.page-title h1{font-size:36px}h2,.section-heading h2,.section-heading h3,.visit-notes h2{font-size:30px}h3{font-size:25px}h4{font-size:21px}.section{padding-top:64px;padding-bottom:64px}.page-title{padding-top:40px;padding-bottom:32px}.page-title>p:not(.eyebrow){font-size:17px}.section-heading{gap:20px}.button{font-size:17px}.eyebrow,.about-page .eyebrow{font-size:14px}.visit-notes dt,.visit-notes dd{font-size:17px}.site-footer,body:has(.about-page) .site-footer{padding:48px 20px 24px}.footer-inner{flex-direction:column;gap:28px}.footer-inner nav{flex-direction:column;gap:8px}.footer-social{gap:12px 24px}.footer-meta{flex-wrap:wrap;gap:12px}.text-link{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-inner,.brand-wordmark,.image-frame img{transition:none!important}}
.header-inner,body:has(.about-page) .header-inner{height:87px}.site-header.is-compact .header-inner,body:has(.about-page) .site-header.is-compact .header-inner{height:63px}
@media(max-width:1000px){.header-inner,body:has(.about-page) .header-inner,.site-header.is-compact .header-inner,body:has(.about-page) .site-header.is-compact .header-inner{height:63px}.site-header .desktop-nav,body:has(.about-page) .site-header .desktop-nav,.site-header .header-book,body:has(.about-page) .site-header .header-book{display:none}}
.site-footer .footer-brand,body:has(.about-page) .site-footer .footer-brand{color:var(--paper);font-size:32px;font-weight:600}
.faq-accordion{margin-top:32px}.faq-accordion details{border-top:1px solid var(--line);scroll-margin-top:150px}.faq-accordion details:last-child{border-bottom:1px solid var(--line)}.faq-accordion summary{font-size:18px;font-weight:600;color:var(--forest);padding:20px 30px 20px 0;cursor:pointer;list-style:none;position:relative;line-height:1.8}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary::after{content:'+';position:absolute;right:4px;top:19px;font-size:24px;color:var(--amber-text);font-weight:400}.faq-accordion details[open] summary::after{content:'−'}.faq-answer{font-size:18px;white-space:pre-line;line-height:1.8;padding-bottom:24px;color:var(--ink);max-width:900px}.faq-accordion details[open]{padding-bottom:0}.faq-accordion summary:hover{color:var(--amber-text)}
@media(max-width:700px){.faq-answer{font-size:17px}.faq-accordion summary{padding:18px 28px 18px 0}}

/* Photo-led home with alternating warm paper, sage and forest. */
.contact-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center;padding:64px 0}.contact-opening .page-title{padding:0;border:0}.contact-opening img{height:280px;aspect-ratio:auto;object-position:50% 62%}.contact-cards-band{background:var(--sage)}.contact-page .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:48px 0}.contact-reservation-card,.contact-address-card{display:block;background:var(--paper);border:1px solid #CED4C5;border-radius:4px;padding:36px;min-width:0}.contact-page .contact-grid h2{font-size:30px;margin-bottom:20px}.contact-page .contact-phone{font-family:'Noto Sans TC',sans-serif;font-size:40px;color:var(--amber-text);line-height:1.5;font-weight:600;letter-spacing:.015em;display:block;margin-bottom:22px}.contact-page .contact-grid p{font-size:18px;color:var(--ink);line-height:1.8;margin-bottom:26px}.contact-page .contact-grid address{font-size:20px;color:var(--forest);font-style:normal;line-height:1.8}.contact-reservation-card:hover{border-color:var(--amber)}.contact-hours{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;padding:64px 0 48px}.contact-hours h2{font-size:34px}.contact-hours p{display:flex;flex-direction:column;gap:16px;color:var(--ink)}.hours-primary{font-size:21px}.hours-primary strong{font-size:30px;font-weight:600;color:var(--forest)}.hours-primary>span{font-size:21px}.hours-tuesday{font-size:18px;color:var(--amber-text);font-weight:600}.contact-map{margin-bottom:64px}.contact-map iframe{display:block;width:100%;height:360px;border:1px solid var(--line);border-radius:4px}.contact-page .contact-social{margin-bottom:0;background:var(--sage);padding:32px;gap:48px}.contact-page .contact-social h2{font-family:'Country Serif','Noto Serif TC',serif;font-size:26px;color:var(--forest)}.contact-page .contact-social p{font-size:18px;color:var(--ink);line-height:1.8}.contact-reminders{padding:64px 0 96px;border:0}.contact-faq-band{background:var(--sage)}.contact-faq-band .visit-notes{padding:64px 0 96px;border:0}
@media(max-width:1000px){.contact-opening{gap:40px}.contact-reservation-card,.contact-address-card{padding:28px}.contact-hours{grid-template-columns:220px 1fr;gap:30px}.contact-page .contact-phone{font-size:36px}}
@media(max-width:700px){.contact-opening{grid-template-columns:1fr;gap:28px;padding:40px 0}.contact-opening img{height:auto;aspect-ratio:16/9}.contact-page .contact-grid{grid-template-columns:1fr;gap:24px;padding:32px 0}.contact-reservation-card,.contact-address-card{padding:24px}.contact-page .contact-grid section+section{border-top:1px solid #CED4C5;padding-top:24px}.contact-page .contact-phone{font-size:34px;letter-spacing:0}.contact-page .contact-grid h2{font-size:28px}.contact-page .contact-grid p{font-size:17px}.contact-page .contact-grid address{font-size:19px}.contact-hours{grid-template-columns:1fr;gap:20px;padding:48px 0 36px}.contact-hours h2{font-size:30px}.hours-primary{font-size:18px}.hours-primary strong{font-size:25px}.hours-primary>span{font-size:18px}.hours-tuesday{font-size:17px}.contact-map{margin-bottom:48px}.contact-page .contact-social{padding:24px;gap:28px}.contact-page .contact-social p{font-size:17px}.contact-reminders{padding:48px 0 64px}.contact-faq-band .visit-notes{padding:48px 0 64px}}
.about-page .about-heading h1{font-family:'Country Serif','Noto Serif TC',serif;font-size:56px;color:var(--paper);line-height:1.5}.about-page .about-hero .image-frame{height:80vh;height:80svh;min-height:520px;border-radius:0}.about-page .about-hero img{border-radius:0}.about-anniversary-band{background:var(--sage)}.about-anniversary{border:0;padding:64px 0}.about-year{font-family:'Country Serif','Noto Serif TC',serif;color:var(--amber);font-size:144px}.about-story{padding-top:144px;padding-bottom:96px}.about-page .environment-section{padding-top:64px;padding-bottom:96px}.about-page .environment-layout figcaption p{font-size:15px;color:var(--ink)}.about-page .visit-notes{background:var(--sage)}.about-page .about-gathering-preview{background:var(--forest);padding-top:96px;padding-bottom:96px}.about-page .about-gathering-preview h2,.about-page .about-gathering-preview p,.about-page .about-gathering-preview figcaption,.about-page .about-gathering-preview .text-link{color:var(--paper)}.about-page .about-gathering-preview .eyebrow{color:var(--amber-light)}
@media(max-width:700px){.about-page .about-heading h1{font-size:36px;line-height:1.6}.about-page .about-hero .image-frame{min-height:540px}.about-anniversary{padding:40px 0}.about-year{font-size:124px}.about-story{padding:64px 0}.about-page .environment-section{padding:48px 0 64px}.about-page .about-gathering-preview{padding-top:64px;padding-bottom:64px}.about-page .visit-notes dt,.about-page .visit-notes dd{font-size:17px}}
.home-forest-hero{position:relative;height:85vh;height:85svh;min-height:660px;max-height:1050px;display:flex;align-items:flex-end;background:var(--forest);isolation:isolate}.home-garden-image{position:absolute;inset:0;z-index:-2}.home-garden-image img{height:100%;aspect-ratio:auto;border-radius:0;object-position:50% 65%}.home-forest-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(16,23,15,.94),rgba(16,23,15,.60) 45%,rgba(16,23,15,.10))}.home-forest-hero .hero-copy{padding:64px 0}.home-forest-hero h1{font-size:56px;line-height:1.5;color:var(--paper);max-width:760px}.home-forest-hero .eyebrow{color:var(--amber-light)}.home-forest-hero .lead{color:var(--paper);font-size:18px;max-width:620px;line-height:1.8;margin:22px 0 28px}.home-forest-hero .button{background:var(--amber);color:var(--ink);border-color:var(--amber)}.home-forest-hero .button.outline{background:transparent;border-color:var(--paper);color:var(--paper)}.home-forest-hero .button:hover{background:var(--amber-light);color:var(--ink)}
.arrival-band,.first-visit-band,.main-choices-band,.meat-sourcing-band,.gift-band{background:var(--sage)}.home-arrival{display:grid;grid-template-columns:1fr 1fr;padding:28px 0;border:0;gap:32px}.home-arrival>div{border:0;padding:0;display:flex;flex-direction:column;gap:5px}.home-arrival>div+div{border-left:1px solid var(--line);padding-left:40px}.home-arrival strong{font-size:21px;color:var(--forest)}.home-arrival span,.home-arrival a{font-size:17px;color:var(--ink)}.home-arrival a{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:5px}
.first-visit-band{border:0}.first-visit{border:0;padding:80px 0 96px}.first-visit-heading{margin-bottom:40px}.first-visit-layout{grid-template-columns:minmax(0,1fr) minmax(0,.87fr);gap:96px;align-items:center}.first-visit-photo{max-width:none;margin:0;width:100%;overflow:hidden;border-radius:4px}.first-visit-photo img{height:560px;aspect-ratio:auto;object-fit:cover;object-position:50% 56%}.first-visit-signature{padding:0}.first-visit-signature h3{font-size:40px;margin-bottom:26px;line-height:1.5}.first-visit-signature p{font-size:18px;line-height:1.8}.signature-order{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.signature-order span{font-size:18px;color:var(--ink)}.signature-order strong{font-size:32px;color:var(--amber-text)}
.home-ribeye{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;align-items:center;padding:144px 0}.home-ribeye img{height:520px;aspect-ratio:auto;object-position:45% 50%}.home-ribeye h2{font-size:40px}.home-ribeye h2 a{border-bottom:1px solid var(--amber)}.home-ribeye .home-pick-meta{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0;font-size:18px;color:var(--ink)}.home-pick-meta span{font-size:26px;font-weight:600;color:var(--amber-text)}.home-ribeye p{font-size:18px;line-height:1.8}.home-ribeye .home-pick-inclusions{font-size:15px;color:var(--muted);margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.main-choices h2{margin-bottom:44px}.main-choices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.main-choices .first-visit-choice{display:flex;flex-direction:column;gap:0;padding:0;border:0;min-width:0}.main-choices .first-visit-choice>figure{width:100%}.main-choices .first-visit-choice img,.dish-placeholder{aspect-ratio:4/3;object-fit:cover;border-radius:4px}.dish-placeholder{background:#E1E5D8;border:1px solid #CDD3C3;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px}.main-choices .first-visit-number{font-size:20px;color:var(--amber-text);margin:24px 0 10px}.main-choices .first-visit-mood{font-size:15px;color:var(--amber-text);margin-bottom:12px}.main-choices h3{font-size:26px;margin-bottom:18px}.main-choices h3+p{font-size:17px;line-height:1.8}.main-choices .first-visit-choice-footer{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}.first-visit-choice-footer>span{font-size:17px;color:var(--amber-text)}.first-visit-footnote{margin-top:48px;padding:24px 0;border-top:1px solid var(--line);background:transparent;gap:30px}.first-visit-footnote p{font-size:15px;color:var(--muted)}
.home-space-preview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;padding:144px 0 96px;align-items:center}.home-space-preview img{aspect-ratio:4/3;object-position:50% 60%}.home-space-preview figcaption{font-size:15px;color:var(--muted);margin-top:16px}.home-space-preview h2{font-size:36px;margin-bottom:26px}.home-space-preview p{font-size:18px;line-height:1.8}.home-space-links{margin-top:28px}
.gatherings{margin:0;padding:64px 0 0;border:0}.gatherings-intro{max-width:none}.gatherings-facts{grid-template-columns:1fr 1fr;padding:28px 0;margin:32px 0 64px;gap:40px}.gatherings-facts dt{font-size:32px;color:var(--forest)}.gatherings-facts dt span{font-size:18px}.gatherings-facts dd{font-size:17px;color:var(--ink);line-height:1.8}.gatherings-facts dd span{display:block;margin-top:16px;font-weight:600}.gatherings-facts>div+div{padding-left:40px}.car-gathering{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;align-items:center;margin-bottom:96px}.car-gathering img{aspect-ratio:4/3}.car-gathering h3{font-size:32px;margin-bottom:24px}.car-gathering p{font-size:18px;line-height:1.8}.wedding-band{background:var(--forest)}.wedding-gathering{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;padding:96px 0;align-items:center}.wedding-gathering h3{font-size:36px;color:var(--paper);margin-bottom:24px}.wedding-gathering p,.wedding-gathering .gathering-actions>span{color:var(--paper);font-size:18px;line-height:1.8}.wedding-gathering .button{background:var(--amber);color:var(--ink);border-color:var(--amber)}.wedding-gathering .gatherings-note{font-size:14px;margin-top:28px}.wedding-gathering img{aspect-ratio:4/3}
.meat-sourcing{display:block;padding:64px 0;border:0}.meat-sourcing-intro{max-width:830px;margin-bottom:40px}.meat-sourcing-intro h2{font-size:36px;margin-bottom:22px}.meat-sourcing-intro p{font-size:18px;line-height:1.8}.meat-sourcing-promise{color:var(--forest);margin-bottom:12px}.meat-sourcing-list h3{font-size:23px;margin-bottom:24px}.meat-sourcing-beef{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.meat-sourcing-beef>div{border:0;border-left:1px solid #C7CEBE;padding:0 0 0 20px;min-width:0}.meat-sourcing-beef>div:first-child{padding-left:0;border-left:0}.source-flag{flex:none;border-radius:2px;box-shadow:0 0 0 1px #C7CEBE}.meat-sourcing-beef dt{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:19px;color:var(--forest);font-weight:600}.meat-sourcing-beef dt span{font-size:15px;color:var(--muted)}.meat-sourcing-beef dd{font-size:15px;color:var(--ink);margin:12px 0 0}.meat-sourcing-pork{display:flex;align-items:center;gap:24px;margin-top:30px;padding:24px 0 0;border-top:1px solid #C7CEBE}.meat-sourcing-pork>span{font-size:15px;color:var(--muted)}.meat-sourcing-pork p{display:flex;align-items:center;gap:12px;font-size:18px;color:var(--ink)}
.seasonal-lobster{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;padding:144px 0;border:0;align-items:center}.seasonal-lobster figure{width:100%;max-width:none}.seasonal-lobster img{height:560px;aspect-ratio:auto;object-fit:cover}.seasonal-lobster h2{font-size:36px}.seasonal-lobster-copy>p{font-size:18px;line-height:1.8}.seasonal-lobster-notice{background:var(--sage);padding:18px 20px;border-left:3px solid var(--amber)}.seasonal-lobster-notice p{font-size:17px;color:var(--ink)}.gift-collection{border:0}.gift-grid{gap:30px}.gift-card img{aspect-ratio:4/3;object-fit:cover}.gift-card h3{font-size:26px;line-height:1.6}.gift-card p{font-size:17px;line-height:1.8;color:var(--ink)}.gift-card-copy{padding-top:24px}.gift-cta p{font-size:17px;color:var(--ink)}.reservation-section{border:0;padding:96px 0}.reservation-section h2{font-size:36px}.reservation-section>p:not(.eyebrow){font-size:18px;line-height:1.8}
@media(max-width:1000px){.first-visit-layout,.home-ribeye,.home-space-preview,.car-gathering,.wedding-gathering,.seasonal-lobster{gap:40px}.meat-sourcing-beef{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.meat-sourcing-beef>div:nth-child(3){padding-left:0;border-left:0}.main-choices-grid{gap:22px}.main-choices h3{font-size:23px}.home-ribeye,.home-space-preview,.seasonal-lobster{padding:96px 0}}
@media(max-width:700px){.home-forest-hero{height:85svh;min-height:650px}.home-forest-hero .hero-copy{padding:40px 0}.home-garden-image img{object-position:58% 65%}.home-forest-hero h1{font-size:36px;line-height:1.55}.home-forest-hero .lead{font-size:17px;line-height:1.8;margin:20px 0 24px}.hero-actions{gap:12px}.hero-actions .button{padding:12px 16px;font-size:16px}.home-arrival{grid-template-columns:1fr;gap:22px;padding:28px 0}.home-arrival>div+div{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.home-arrival strong{font-size:20px}.home-arrival span,.home-arrival a{font-size:16px}.first-visit{padding:64px 0}.first-visit-layout{grid-template-columns:1fr;gap:36px}.first-visit-photo img{height:auto;aspect-ratio:4/5;object-position:50% 55%}.first-visit-heading{margin-bottom:32px}.first-visit-signature h3{font-size:34px}.first-visit-signature p{font-size:17px}.home-ribeye,.home-space-preview,.car-gathering,.wedding-gathering,.seasonal-lobster{grid-template-columns:1fr;gap:36px;padding:64px 0}.home-ribeye img{height:auto;aspect-ratio:4/3}.home-ribeye h2{font-size:34px}.home-ribeye p{font-size:17px}.main-choices-grid{grid-template-columns:1fr;gap:48px}.main-choices h3{font-size:27px}.main-choices .first-visit-number{font-size:22px}.main-choices h2{margin-bottom:32px}.first-visit-footnote{margin-top:36px;gap:18px;align-items:flex-start}.home-space-preview h2{font-size:30px}.home-space-preview p,.car-gathering p,.wedding-gathering p{font-size:17px}.gatherings{padding-top:0}.gatherings-facts{grid-template-columns:1fr;gap:24px;margin:28px 0 40px}.gatherings-facts>div+div{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.gatherings-facts dt{font-size:30px}.gatherings-facts dd{font-size:17px}.car-gathering{padding-top:0;margin-bottom:0}.car-gathering h3,.wedding-gathering h3{font-size:30px}.wedding-gathering .gatherings-note{font-size:14px}.gathering-actions{align-items:flex-start;flex-direction:column}.gathering-actions .button{padding:12px 16px;font-size:16px}.meat-sourcing{padding:64px 0}.meat-sourcing-intro h2{font-size:30px}.meat-sourcing-intro p{font-size:17px}.meat-sourcing-beef{grid-template-columns:1fr}.meat-sourcing-beef>div,.meat-sourcing-beef>div:nth-child(3){border:0;border-top:1px solid #C7CEBE;padding:20px 0 0}.meat-sourcing-beef>div:first-child{border-top:0;padding-top:0}.meat-sourcing-beef dt{font-size:20px}.meat-sourcing-pork{gap:16px;flex-wrap:wrap}.seasonal-lobster img{height:auto;aspect-ratio:4/5}.seasonal-lobster h2{font-size:30px}.seasonal-lobster-copy>p{font-size:17px}.gift-card h3{font-size:26px}.gift-grid{gap:40px}.reservation-section{padding:64px 0}.reservation-section h2{font-size:30px}.reservation-section>p:not(.eyebrow){font-size:17px}}

/* The web menu follows a paper menu's name/portion/price rhythm. */
@media(max-width:700px){.menu-page .menu-page-title{padding:32px 0 24px}.menu-page .menu-section{padding:26px 0 20px}.menu-fish-feature figure img{max-height:160px}.menu-page .visit-notes{margin-top:20px}}
.drink-category>summary{cursor:pointer;list-style:none;position:relative;padding-right:36px}.drink-category>summary::-webkit-details-marker{display:none}.drink-category>summary::after{content:'+';position:absolute;right:8px;top:8px;font-size:28px;color:var(--amber-text)}.drink-category[open]>summary::after{content:'−'}.drink-category:not([open]) .menu-section-heading{margin-bottom:0}
.menu-page .menu-content{width:100%;margin:0}.menu-page .menu-item,.menu-page .menu-items--compact .menu-item{display:block;gap:0;padding:12px 0;border-bottom:1px solid var(--line);background:transparent}.menu-page .item-heading h3,.menu-page .item-heading h4,.menu-page .menu-item--featured .item-heading h3{font-family:'Country Serif','Noto Serif TC',serif;font-size:21px;font-weight:600;line-height:1.6;color:var(--forest)}.menu-page .menu-item--featured .item-heading h3{color:var(--amber-text)}.menu-page .item-portion{font-family:'Noto Sans TC',sans-serif;font-size:14px;margin-left:8px;display:inline;white-space:normal;color:var(--muted)}.menu-page .item-name-part{display:inline}.menu-page .item-price{font-family:'Noto Sans TC',sans-serif;font-size:22px;font-weight:700;color:var(--amber-text);gap:5px;line-height:1.6}.menu-page .item-price small{font-size:14px;display:inline;color:inherit}.menu-page .menu-item p.item-english,.menu-page .menu-fish-feature p.item-english{font-size:14px;line-height:1.6;color:var(--muted)}.menu-page .menu-item p.item-detail{margin-top:4px;font-size:17px;line-height:1.8;color:var(--ink)}.menu-page .item-tag{font-size:14px;color:var(--amber-text);line-height:1.6}.menu-page .menu-section{padding:48px 0 32px;scroll-margin-top:148px}.menu-page .menu-subsection{margin-top:24px;padding-top:40px;scroll-margin-top:148px}.menu-page .menu-notes{padding:16px 20px;background:var(--sage);border-left:3px solid var(--amber);margin:0 0 22px}.menu-page .menu-notes p,.menu-page .menu-intro{font-size:17px;line-height:1.8;color:var(--ink)}.menu-page .visit-notes{width:100%}.menu-page-title{text-align:left}.menu-page-title h1{font-size:52px;letter-spacing:.025em}.menu-page-title .eyebrow{font-size:14px;color:var(--amber-text)}.menu-page-title>p:not(.eyebrow){font-size:18px;color:var(--ink)}.menu-page .menu-meta{justify-content:flex-start;font-size:16px;color:var(--ink)}
@media(max-width:700px){.menu-page-title h1{font-size:36px}.menu-page-title>p:not(.eyebrow){font-size:17px}.menu-page .menu-meta{align-items:flex-start;font-size:15px}.menu-page .menu-section{padding:32px 0 24px;scroll-margin-top:135px}.menu-page .menu-subsection{margin-top:16px;padding-top:28px;scroll-margin-top:135px}.menu-page .menu-item,.menu-page .menu-items--compact .menu-item{padding:10px 0}.menu-page .item-heading h3,.menu-page .item-heading h4,.menu-page .menu-item--featured .item-heading h3{font-size:19px}.menu-page .item-price{font-size:21px;gap:3px}.menu-page .menu-notes{padding:12px 14px;margin-bottom:18px}}
.menu-page-title{border:0}.menu-meta{font-size:16px;color:var(--ink);border-color:var(--amber)}.menu-layout{display:block;padding:0 0 64px}.menu-category-nav{position:sticky;top:var(--header-height);z-index:20;display:flex;flex-wrap:nowrap;gap:8px;padding:14px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;overflow-x:auto;scrollbar-width:thin}.steak-nav-group{display:contents}.menu-category-nav a{display:inline-flex;align-items:center;flex:none;font-size:16px;line-height:1.6;padding:8px 14px;border:1px solid var(--line);border-radius:3px;color:var(--forest);white-space:nowrap}.menu-category-nav a.is-active{background:var(--forest);color:var(--paper);border-color:var(--forest)}.menu-category-nav a:hover{border-color:var(--amber)}.menu-content{min-width:0}.menu-section{padding:48px 0 32px;border-color:var(--line);scroll-margin-top:148px}.menu-subsection{padding-top:40px;margin-top:24px;scroll-margin-top:148px}.menu-section-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:22px}.menu-section-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0}.menu-section-title h2{font-size:36px;color:var(--forest);line-height:1.5}.menu-section-title span{font-size:15px;color:var(--amber-text);letter-spacing:.08em}.menu-title-photo{width:240px;height:120px;flex:none}.menu-title-photo img{height:100%;aspect-ratio:auto;object-position:50% 50%}.menu-title-photo.dish-placeholder{font-size:14px;aspect-ratio:auto}.menu-inclusions,.menu-notes{background:var(--sage);border:0;border-left:3px solid var(--amber);padding:16px 20px;margin:0 0 22px;border-radius:0 4px 4px 0}.menu-inclusions p,.menu-notes p{font-size:17px;line-height:1.8;color:var(--ink)}.menu-inclusions p+p,.menu-notes p+p{margin-top:5px}.menu-intro{font-size:17px;line-height:1.8;margin:14px 0 18px;color:var(--ink)}
.menu-items,.menu-items--compact{display:block;list-style:none;padding:0;margin:0}.menu-item,.menu-items--compact .menu-item{display:block;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;min-width:0;margin:0}.menu-item-copy{width:100%;min-width:0}.item-line{display:flex;align-items:baseline;gap:10px;width:100%;min-width:0}.item-heading{display:block;min-width:0;flex:0 1 auto;max-width:calc(100% - 85px)}.item-heading h3,.item-heading h4{font-family:'Country Serif','Noto Serif TC',serif;font-size:21px;line-height:1.6;font-weight:600;color:var(--forest);letter-spacing:.01em;margin:0}.item-name-part{display:inline}.item-name-part+.item-name-part::before{content:' '}.item-portion{font-family:'Noto Sans TC',sans-serif;font-size:14px;line-height:1.8;color:var(--muted);display:inline;white-space:normal;margin-left:8px;font-weight:400}.item-leader{flex:1;min-width:12px;border-bottom:1px dotted #AEB5A4;transform:translateY(-5px)}.item-line:not(:has(.item-price)) .item-leader{display:none}.item-line:not(:has(.item-price)) .item-heading{max-width:100%}.item-price,.menu-items--compact .item-price{font-family:'Noto Sans TC',sans-serif;font-size:22px;font-weight:700;white-space:nowrap;color:var(--amber-text);line-height:1.6;display:flex;gap:5px;flex:none;letter-spacing:0}.item-price small{font-size:14px;color:inherit;font-weight:400}.menu-item p,.menu-items--compact .menu-item p{margin-top:4px;font-size:17px;line-height:1.8;color:var(--ink)}.menu-item .item-english,.menu-items--compact .item-english{font-size:14px;color:var(--muted);line-height:1.6;letter-spacing:.015em}.item-tag{display:inline-block;font-size:14px;line-height:1.6;color:var(--amber-text);background:transparent;border-color:#C3AC85;padding:1px 7px;margin-top:7px}.menu-item--featured .item-heading h3{color:var(--amber-text)}.extras{margin-top:32px}.menu-small-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:14px}.menu-small-title h3{font-size:26px}.menu-small-title span{font-size:14px;color:var(--amber-text)}.back-top{margin-top:18px;padding:8px 0;font-size:14px}.menu-fish-feature{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:center;background:var(--sage);padding:24px;margin:0 0 24px;border:0}.menu-fish-feature figure img{height:240px;aspect-ratio:auto;object-fit:cover;object-position:50% 56%}.menu-fish-feature h3{font-size:28px;line-height:1.55;margin:8px 0}.menu-feature-kicker{font-size:15px;color:var(--amber-text)}.menu-fish-feature .item-english{font-size:14px;color:var(--muted)}.menu-feature-description{font-size:17px;line-height:1.8;margin-top:12px;color:var(--ink)}.menu-fish-order{margin-top:16px;display:flex;align-items:baseline;gap:16px}.menu-fish-order>span:not(.item-price),.menu-feature-note{font-size:14px;color:var(--muted)}.menu-feature-note{margin-top:10px}.menu-page .visit-notes{background:var(--sage);padding:40px 28px;margin-top:40px;border:0}.menu-page .visit-notes h2{font-size:34px}.menu-page .faq-accordion{margin-top:22px}.menu-page .faq-accordion summary{padding-top:15px;padding-bottom:15px}
@media(min-width:1024px){.menu-items,.menu-items--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;align-items:start}.menu-items .menu-item{height:100%}.menu-section:nth-child(even){background:var(--sage);box-shadow:0 0 0 20px var(--sage)}.menu-section:nth-child(even) .menu-inclusions,.menu-section:nth-child(even) .menu-notes{background:var(--paper)}}
@media(max-width:700px){.menu-layout{padding-bottom:40px}.menu-category-nav{gap:6px;padding:10px 0}.menu-category-nav a{font-size:15px;padding:8px 12px}.menu-section{padding:32px 0 24px;scroll-margin-top:135px}.menu-subsection{padding-top:28px;margin-top:16px;scroll-margin-top:135px}.menu-section-heading{gap:18px;margin-bottom:18px}.menu-section-title h2{font-size:29px}.menu-section-title span{font-size:14px;letter-spacing:.02em}.menu-title-photo{width:94px;height:94px}.menu-section-heading .menu-section-title{flex:1;min-width:0}.menu-inclusions,.menu-notes{padding:12px 14px;margin-bottom:18px}.menu-inclusions p,.menu-notes p{font-size:17px}.menu-item,.menu-items--compact .menu-item{padding:10px 0}.item-heading h3,.item-heading h4{font-size:19px;line-height:1.6}.item-line{gap:7px}.item-heading{max-width:calc(100% - 79px)}.item-price,.menu-items--compact .item-price{font-size:21px;gap:3px}.item-price small{font-size:14px}.item-portion{font-size:14px;margin-left:6px}.menu-item p,.menu-items--compact .menu-item p{font-size:17px;line-height:1.8}.menu-item .item-english,.menu-items--compact .item-english{font-size:14px}.menu-fish-feature{grid-template-columns:1fr;padding:20px;gap:18px}.menu-fish-feature figure img{height:200px;aspect-ratio:auto;object-position:50% 55%}.menu-fish-feature h3{font-size:26px}.menu-feature-description{font-size:17px}.menu-page .visit-notes{padding:32px 18px;margin-top:24px}.menu-page .visit-notes h2{font-size:28px}.menu-meta{font-size:15px}.extras{margin-top:28px}}

/* Final menu spacing; type sizes remain accessible. */
html:has(.menu-page){scroll-padding-top:148px}.menu-page .menu-section,.menu-page .menu-subsection,.menu-page #dining-notes,.menu-page .faq-accordion details{scroll-margin-top:0}
.menu-page .faq-accordion summary{padding-top:12px;padding-bottom:12px}
@media(max-width:700px){.menu-page .menu-page-title{padding:30px 0 20px}.menu-page .menu-section{padding:24px 0 18px}.menu-page .menu-fish-feature figure img{height:160px}.menu-page .visit-notes{margin-top:20px}.menu-page .menu-category-nav{scrollbar-width:none}.menu-page .menu-category-nav::-webkit-scrollbar{display:none}}
@media(max-width:700px){html:has(.menu-page){scroll-padding-top:140px}.menu-page .menu-section,.menu-page .menu-subsection,.menu-page #dining-notes{scroll-margin-top:0}}

/* 新設計共用層（2026-10-09 起）：色票、字型、頁首、頁尾、通用元件。
   概念：沉穩的料理雜誌。暖白紙底、中文明體為主、英文只當小字；
   酒紅只用在價格、人數、電話與細線；炭黑區塊壓住重量。其餘舊樣式沿用，色票在此統一換掉。 */
:root,.dark{
  --paper:#F5F2EC;--background:#F5F2EC;--ink:#221F1B;--foreground:#221F1B;--forest:#221F1B;
  --muted:#5B554D;--ink-2:#5B554D;--ink-3:#6F685E;--line:#DCD5CA;--hair:#DCD5CA;
  --sage:#ECE6DB;--soft:#ECE6DB;--accent-soft:#ECE6DB;
  --red:#7D241E;--amber:#7D241E;--amber-text:#7D241E;--accent:#7D241E;--amber-light:#C9BFAF;
  --char:#1F1C19;--char-ink:#EDE7DD;--char-soft:#A69E92;--night:#151412;
  --display:'Instrument Serif','Noto Serif TC','Times New Roman',serif;
  --mincho:'Noto Serif TC','Country Serif','Songti TC','PMingLiU',serif;
  --sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;
  color-scheme:light;
}
body,body:has(.about-page){font-family:var(--sans);font-size:17px;line-height:2;letter-spacing:.04em;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.about-page h1,.about-page h2,.about-page h3{font-family:var(--mincho);font-weight:500;color:var(--ink);letter-spacing:.1em;text-wrap:balance;word-break:keep-all}
p,.about-page p{color:inherit}
img{border-radius:0}
.wrap{width:auto;max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 共用小元件 */
.en{font-family:var(--display);letter-spacing:.01em}
.en-i{font-family:var(--display);font-style:italic;letter-spacing:.01em}
.label{display:flex;align-items:baseline;gap:14px;font-size:14px;color:var(--ink-3);letter-spacing:.14em}
.label .en-i{font-size:22px;color:var(--ink);letter-spacing:0}
.more{display:inline-flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.14em;text-decoration:none;padding:10px 0;color:inherit}
.more::after{content:'';width:40px;height:1px;background:currentColor;transition:width .3s}
.more:hover::after{width:64px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-size:16px;letter-spacing:.14em;text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:background .3s,color .3s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:#3A352F}
.btn-light{background:#F5F2EC;border-color:#F5F2EC;color:#221F1B}
.btn-light:hover{background:#fff;color:#221F1B}
.btn-line{border-color:rgba(255,255,255,.75);color:#fff}
.btn-line:hover{background:#fff;color:#221F1B}
.sec-t{font-family:var(--mincho);font-weight:500;font-size:clamp(28px,2.8vw,40px);line-height:1.5;letter-spacing:.16em;margin-top:10px}
.v{display:flex;flex-direction:row-reverse;gap:.9em;align-items:flex-start}
.v>span{display:block;width:1em;word-break:break-all;line-height:1.36;text-align:center}

/* 頁首：有大照片的頁面為透明疊在照片上，其餘為紙色 */
.top{position:absolute;inset:0 0 auto 0;z-index:30;color:#fff;background:transparent;border:0}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:calc(env(safe-area-inset-top,0px) + 20px) clamp(16px,4vw,56px) 0}
.logo{display:block;width:176px;height:56px;background:currentColor;-webkit-mask:url(/images/country-wordmark.svg) left center/contain no-repeat;mask:url(/images/country-wordmark.svg) left center/contain no-repeat}
.top-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);font-size:15px;letter-spacing:.14em}
.top-nav a{text-decoration:none;padding:10px 0;color:inherit;white-space:nowrap}
.top-nav a:hover{opacity:.7}
.top-nav a.tel{border:1px solid rgba(255,255,255,.7);padding:9px 18px}
.top-nav a.tel:hover{opacity:1;background:#fff;color:#221F1B}
body:not(:has(.hp-hero,.pg-hero)) .top{position:relative;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line)}
body:not(:has(.hp-hero,.pg-hero)) .top-in{padding-bottom:14px}
body:not(:has(.hp-hero,.pg-hero)) .top-nav a.tel{border-color:var(--ink)}
body:not(:has(.hp-hero,.pg-hero)) .top-nav a.tel:hover{background:var(--ink);color:var(--paper)}
:root:has(.hp-hero),:root:has(.pg-hero){--header-height:0px}
.top .mobile-menu{display:none;margin-left:auto}
.top .mobile-menu summary{display:flex;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;list-style:none}
.top .mobile-menu summary::-webkit-details-marker{display:none}
.top .hamburger{display:grid;gap:6px;width:26px}
.top .hamburger i{display:block;width:26px;height:1.5px;background:currentColor}
.top .mobile-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;gap:0;background:var(--char);color:var(--char-ink);padding:8px clamp(16px,4vw,56px) 24px;font-size:17px;letter-spacing:.14em}
.top .mobile-menu nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(237,231,221,.16);text-align:left;color:inherit}
.top .mobile-menu:not([open]) nav{display:none}
@media(max-width:1000px){
  .top .mobile-menu{display:block}
  .top .top-nav{display:none}
  .logo{width:140px;height:46px}
  .top-in{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}
}

/* 頁尾 */
.foot{background:var(--night);color:#D9D5CE;padding:64px clamp(20px,5vw,64px) 28px}
.foot a{color:#D9D5CE;text-decoration:none}
.foot a:hover{color:#fff}
.foot a:focus-visible{outline-color:#fff}
.foot-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:32px 48px;align-items:start}
.foot .logo{width:200px;height:64px;background:#F2EFEA}
.foot-en{font-family:var(--display);font-style:italic;font-size:19px;color:#D9D5CE;letter-spacing:.02em;margin-top:10px;line-height:1.6}
.foot-sub{font-size:15px;color:#9A958D;margin-top:6px;letter-spacing:.12em}
.foot-tel{font-family:var(--display);font-size:34px;line-height:1.3;letter-spacing:.02em;display:block}
.foot-info p{font-size:15px;color:#9A958D;letter-spacing:.1em;margin-top:6px}
.foot-nav{display:flex;flex-direction:column;gap:0;font-size:15px;letter-spacing:.14em}
.foot-nav a{padding:6px 0}
.foot .footer-social{max-width:1280px;margin:36px auto 0;padding-top:24px;border-top:1px solid rgba(217,213,206,.16);display:flex;flex-wrap:wrap;gap:4px 32px;font-size:15px;letter-spacing:.12em;color:#D9D5CE}
.foot .footer-social a{border:0;padding:8px 0}
.foot-meta{max-width:1280px;margin:16px auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;letter-spacing:.14em;color:#8F8A83}
@media(max-width:800px){.foot{padding-top:48px}.foot-in{grid-template-columns:minmax(0,1fr)}}

/* 手機底部訂位列 */
.mobile-booking-bar{background:var(--char);color:var(--char-ink);border-top:1px solid rgba(237,231,221,.14)}
.mobile-booking-bar a+a{border-left-color:rgba(237,231,221,.14)}
.mobile-booking-bar a{letter-spacing:.14em;font-weight:400}

/* 舊元件在新色票下的收斂：FAQ、社群、頁內連結 */
.text-link,.faq-link{font-size:16px;letter-spacing:.1em;border-bottom:1px solid var(--red);padding-bottom:2px}
.text-link:hover,.faq-link:hover{color:var(--red)}
.eyebrow,.about-page .eyebrow{font-family:var(--display);font-style:italic;font-size:19px;letter-spacing:.02em;color:var(--ink-3);text-transform:none}
.visit-notes{padding:48px 0;border-top:1px solid var(--line)}
.visit-notes h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:.14em}
.visit-notes dt{font-family:var(--mincho);font-weight:500;color:var(--ink);font-size:17px}
.visit-notes dd{font-size:16px;color:var(--ink-2)}
.faq-accordion summary{font-family:var(--mincho);font-weight:500;color:var(--ink);font-size:18px;letter-spacing:.08em}
.faq-accordion summary::after{color:var(--red)}
.faq-answer{color:var(--ink-2);font-size:16px}
.contact-social{background:transparent;padding:0;border-top:1px solid var(--ink)}
.contact-social h2{font-family:var(--mincho);font-weight:500;font-size:24px;letter-spacing:.12em}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.more::after,.btn{transition:none}}

/* 首頁（依 2026-10-09 核准的雜誌風樣稿）。類別皆以 hp- 開頭，不影響其他頁。 */
.hp img{display:block;max-width:100%;border-radius:0}
.hp figure{margin:0}
.hp h2,.hp h3{text-wrap:balance}
.hp-dish img,.hp-concept img,.hp-garden img,.hp-gather img,.hp-gifts img{filter:saturate(.9) contrast(1.04)}

/* 1. 開場 */
.hp-hero{position:relative;height:100vh;height:100svh;min-height:600px;max-height:980px;overflow:hidden;background:var(--night);color:#fff}
.hp-slides img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;opacity:0;transition:opacity 1.6s ease}
.hp-slides img:nth-child(3){object-position:50% 65%}
.hp-slides img.on{opacity:1}
.hp-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.5) 0%,rgba(20,17,14,.22) 40%,rgba(20,17,14,0) 66%),linear-gradient(180deg,rgba(20,17,14,.42) 0%,rgba(20,17,14,0) 26%,rgba(20,17,14,.1) 55%,rgba(20,17,14,.66) 100%);pointer-events:none}
.hp-copy{position:absolute;z-index:3;left:clamp(20px,6vw,96px);right:clamp(20px,6vw,96px);bottom:clamp(88px,15vh,150px);max-width:760px}
.hp-en{font-family:var(--display);font-style:italic;font-size:clamp(17px,1.4vw,20px);color:#F2ECE2;text-shadow:0 1px 12px rgba(0,0,0,.5);letter-spacing:.03em;padding-bottom:18px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.35);display:inline-block;line-height:1.5}
.hp-copy h1{font-family:var(--mincho);font-weight:500;font-size:clamp(32px,3.7vw,56px);line-height:1.62;letter-spacing:.12em;color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.25)}
.hp-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hp-act a{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;font-size:16px;letter-spacing:.14em;text-decoration:none;border:1px solid rgba(255,255,255,.75);color:#fff;transition:background .3s,color .3s}
.hp-act a:first-child{background:#F5F2EC;border-color:#F5F2EC;color:#221F1B}
.hp-act a:hover{background:#fff;color:#221F1B}
.hp-tate{position:absolute;z-index:3;right:clamp(16px,4vw,56px);top:50%;transform:translateY(-50%);color:#E8E1D6;font-family:var(--mincho);font-weight:400;font-size:clamp(16px,1.4vw,19px);letter-spacing:0;gap:.6em}
.hp-tate>span{line-height:1.7}
.hp-foot{position:absolute;z-index:3;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);bottom:clamp(20px,4vh,40px);display:flex;justify-content:space-between;align-items:flex-end;gap:16px;font-size:14px;letter-spacing:.14em}
.hp-count{display:flex;gap:14px;font-family:var(--display);font-size:17px;letter-spacing:.04em}
.hp-count[hidden]{display:none}
.hp-count button{background:none;border:0;color:rgba(255,255,255,.55);font:inherit;cursor:pointer;padding:6px 2px;min-width:32px;min-height:36px}
.hp-count button[aria-current="true"]{color:#fff;border-bottom:1px solid #fff}
@media(max-width:760px){.hp-tate{display:none}.hp-copy{bottom:136px}.hp-foot{bottom:72px;justify-content:flex-end}.hp-foot>span{display:none}}

/* 2. 家園的招牌 */
.hp-pick{padding-block:clamp(88px,10vw,140px) clamp(72px,8vw,112px)}
.hp-pick-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.hp-ctrl{display:flex;align-items:center;gap:18px}
.hp-ctrl[hidden]{display:none}
.hp-num{font-family:var(--display);font-size:19px;letter-spacing:.04em;min-width:3.6em;text-align:center}
.hp-ctrl button{width:48px;height:48px;border:1px solid var(--line);background:transparent;border-radius:50%;cursor:pointer;color:var(--ink);display:grid;place-items:center;transition:border-color .3s}
.hp-ctrl button:hover{border-color:var(--ink)}
.hp-rail{display:grid;grid-auto-flow:column;grid-auto-columns:max(260px,calc((100% - 80px) / 3));gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.hp-rail::-webkit-scrollbar{display:none}
.hp-dish{scroll-snap-align:start;min-width:0}
.hp-dish figure{aspect-ratio:4/5;overflow:hidden;background:#E9E4DA}
.hp-dish img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hp-dish:hover img{transform:scale(1.04)}
.hp-meta{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.hp-dish h3{font-size:20px;line-height:1.7;letter-spacing:.12em}
.hp-price{font-family:var(--display);font-size:26px;letter-spacing:.02em;white-space:nowrap;color:var(--red)}
.hp-price small{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.hp-dish p{margin-top:12px;font-size:16px;line-height:2;color:var(--ink-2)}
.hp-dish .hp-spec{margin-top:8px;font-size:14px;color:var(--ink-3);letter-spacing:.1em;line-height:1.8}
.hp-pick-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:40px;font-size:15px;color:var(--ink-3)}
@media(max-width:760px){.hp-rail{grid-auto-columns:78%;gap:20px}.hp-pick-head{flex-direction:column;align-items:flex-start}}

/* 3. 家園的講究（炭黑） */
.hp-concept{padding-block:clamp(88px,10vw,140px);background:var(--char);color:var(--char-ink)}
.hp-concept .label{color:var(--char-soft)}
.hp-concept .label .en-i{color:var(--char-ink)}
.hp-concept .more{color:var(--char-ink);margin-top:28px}
.hp-concept .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.hp-concept h2{font-family:var(--mincho);font-weight:500;font-size:clamp(24px,2.3vw,32px);letter-spacing:0;color:var(--char-ink)}
.hp-concept h2>span{line-height:1.5}
.hp-concept-body{padding-top:clamp(40px,8vw,120px)}
.hp-concept-body .label{margin-bottom:32px}
.hp-concept-body p:not(.label){font-family:var(--mincho);font-size:17px;line-height:2.3;letter-spacing:.1em;color:var(--char-ink);max-width:24em}
.hp-concept-body p+p{margin-top:20px}
.hp-concept figure{margin-top:clamp(0px,4vw,40px)}
.hp-concept figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hp-concept figcaption{margin-top:12px;font-size:14px;color:var(--char-soft);letter-spacing:.12em}
.hp-beef{grid-column:2/4;margin-top:clamp(48px,6vw,88px)}
.hp-beef-lead{font-family:var(--mincho);font-size:18px;letter-spacing:.14em;color:var(--char-ink);padding-bottom:18px}
.hp-beef dl{margin:0;border-top:1px solid var(--char-ink)}
.hp-beef dl>div{display:grid;grid-template-columns:7em minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(237,231,221,.16);font-size:15px}
.hp-beef dt{color:var(--char-soft);letter-spacing:.14em}
.hp-beef dd{margin:0}
.hp-beef dd:nth-of-type(1){font-family:var(--mincho);font-size:18px;letter-spacing:.16em}
.hp-beef dd:nth-of-type(2){color:var(--char-soft);text-align:right}
@media(max-width:900px){.hp-concept .wrap{grid-template-columns:minmax(0,1fr)}.hp-concept h2.v{font-size:24px;justify-content:flex-end}.hp-concept-body{padding-top:0}.hp-concept figure{max-width:420px}.hp-beef{grid-column:1/-1}.hp-beef dl>div{grid-template-columns:5.5em minmax(0,1fr)}.hp-beef dd:nth-of-type(2){grid-column:1/-1;text-align:left}}

/* 4. 庭園 */
.hp-garden{padding-block:clamp(72px,9vw,128px)}
.hp-garden-stage{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.hp-garden-stage .hp-w{grid-column:1/span 8;grid-row:1}
.hp-garden-stage .hp-w img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hp-garden-card{grid-column:8/span 5;grid-row:1;align-self:end;margin-bottom:-56px;background:#FBF9F5;border:1px solid var(--line);padding:clamp(28px,3vw,44px);position:relative;z-index:2}
.hp-garden-card .label{margin-bottom:22px}
.hp-garden-card h2{font-size:clamp(26px,2.4vw,34px);line-height:1.7;letter-spacing:.16em}
.hp-garden-card p:not(.label){margin-top:16px;font-size:16px;color:var(--ink-2)}
.hp-garden-card .more{margin-top:8px}
.hp-garden-sub{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:clamp(88px,10vw,140px)}
.hp-garden-sub figure:nth-child(1){grid-column:2/span 4}
.hp-garden-sub figure:nth-child(2){grid-column:7/span 3;margin-top:96px}
.hp-garden-sub img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hp-garden-sub figcaption{margin-top:12px;font-size:14px;color:var(--ink-2);letter-spacing:.12em}
@media(max-width:900px){.hp-garden-stage .hp-w{grid-column:1/-1}.hp-garden-card{grid-column:2/-1;grid-row:2;margin:-48px 0 0}.hp-garden-sub figure:nth-child(1){grid-column:1/span 7}.hp-garden-sub figure:nth-child(2){grid-column:8/span 5;margin-top:64px}}

/* 季節限定：龍蝦 */
.hp-lobster{padding-block:clamp(24px,4vw,56px) clamp(72px,9vw,128px)}
.hp-lobster .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,96px);align-items:start;padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.hp-lobster h2{font-size:clamp(26px,2.4vw,34px);line-height:1.7;letter-spacing:.16em;margin:18px 0 16px}
.hp-lobster-text p:not(.label){font-size:16px;color:var(--ink-2);max-width:34em}
.hp-lobster-text .hp-lobster-method{margin-top:12px;color:var(--ink);font-family:var(--mincho);letter-spacing:.12em}
.hp-lobster-note{margin-top:12px;font-size:15px}
.hp-lobster-text .btn{margin-top:28px}
.hp-lobster figure{margin-top:clamp(0px,5vw,64px)}
.hp-lobster img{width:100%;aspect-ratio:2/3;object-fit:cover}
@media(max-width:760px){.hp-lobster .wrap{grid-template-columns:minmax(0,1fr)}.hp-lobster figure{max-width:320px}}

/* 5. 相聚 */
.hp-gather{padding-block:clamp(72px,9vw,128px);background:var(--sage)}
.hp-gather .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px)}
.hp-gather h2{font-size:clamp(26px,2.4vw,34px);line-height:1.7;letter-spacing:.16em;margin-top:18px}
.hp-gather-side p:not(.label){margin-top:20px;font-size:16px;color:var(--ink-2)}
.hp-gather-side figure{margin-top:40px}
.hp-gather-side img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hp-gather figcaption{margin-top:10px;font-size:14px;color:var(--ink-3);letter-spacing:.1em}
.hp-spec-table{margin:0;border-top:1px solid var(--ink);align-self:start}
.hp-spec-table>div{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr);gap:20px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.hp-spec-table dt{font-family:var(--mincho);font-weight:500;font-size:18px;letter-spacing:.16em}
.hp-spec-table dd{margin:0}
.hp-spec-table dd:nth-of-type(1){font-family:var(--display);font-size:clamp(34px,3.6vw,52px);line-height:1;color:var(--red);letter-spacing:0}
.hp-spec-table dd:nth-of-type(1) small{font-family:var(--sans);font-size:14px;color:var(--ink-2);margin-left:6px;letter-spacing:.1em}
.hp-spec-table dd:nth-of-type(2){font-size:15px;color:var(--ink-2);line-height:1.9}
.hp-car{margin-top:40px}
.hp-car img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 60%}
.hp-gather-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:36px}
.hp-fine{margin-top:16px;font-size:14px;color:var(--ink-3);line-height:1.9}
@media(max-width:760px){.hp-gather .wrap{grid-template-columns:minmax(0,1fr)}.hp-spec-table>div{grid-template-columns:minmax(0,1fr) auto}.hp-spec-table dd:nth-of-type(2){grid-column:1/-1}}

/* 6. 伴手禮 */
.hp-gifts{padding-block:clamp(72px,9vw,128px) clamp(64px,8vw,104px)}
.hp-gifts-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:48px}
.hp-gifts-head>p{font-size:15px;color:var(--ink-2);line-height:1.9}
.hp-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.hp-gift-grid article:nth-child(2){margin-top:56px}
.hp-gift-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hp-gift-grid h3{font-size:19px;letter-spacing:.12em;margin-top:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.hp-gift-grid p{margin-top:12px;font-size:16px;line-height:2;color:var(--ink-2)}
@media(max-width:760px){.hp-gift-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hp-gift-grid article:nth-child(2){margin-top:0}}

/* 7. 訂位與交通 */
.hp-visit{border-top:1px solid var(--line);padding-block:clamp(80px,9vw,128px)}
.hp-visit .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.hp-lead{margin-top:20px;font-family:var(--mincho);font-size:17px;letter-spacing:.2em;color:var(--ink-2)}
.hp-phone{display:block;margin-top:40px;font-family:var(--display);font-size:clamp(40px,4.4vw,66px);line-height:1;color:var(--red);text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.hp-phone-note{margin-top:14px;font-size:14px;color:var(--ink-3);line-height:1.9}
.hp-info{margin:0;border-top:1px solid var(--ink)}
.hp-info>div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.hp-info dt{font-size:14px;color:var(--ink-3);letter-spacing:.16em;padding-top:3px}
.hp-info dd{margin:0;font-family:var(--mincho);font-size:17px;letter-spacing:.1em;line-height:2}
.hp-info dd small{display:block;font-family:var(--sans);font-size:14px;color:var(--ink-2);letter-spacing:.06em}
.hp-links{display:flex;flex-wrap:wrap;gap:8px 36px;margin-top:24px}
@media(max-width:760px){.hp-visit .wrap{grid-template-columns:minmax(0,1fr)}.hp-info>div{grid-template-columns:5.5em minmax(0,1fr)}}

@media(prefers-reduced-motion:reduce){.hp-slides img{transition:opacity .01s}.hp-dish img{transition:none}}
@media(min-width:761px){.hp-gather-side{position:sticky;top:32px;align-self:start}}

/* 好評推薦頁 /content-post/（承接舊站網址） */
.reviews-page .page-title{padding-top:clamp(56px,7vw,96px);padding-bottom:40px;border:0}
.reviews-page .page-title h1{font-size:clamp(32px,3.7vw,52px);letter-spacing:.14em;line-height:1.5;margin-top:6px}
.reviews-page .page-title>p:not(.eyebrow){max-width:36em;font-size:17px;color:var(--ink-2);margin-top:18px}
.reviews-page h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:.14em;margin-bottom:24px}
.reviews-posts{padding-bottom:88px}
.reviews-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);columns:2;column-gap:56px}
.reviews-list li{break-inside:avoid;border-bottom:1px solid var(--line)}
.reviews-list a{display:flex;flex-direction:column;gap:4px;padding:20px 0;text-decoration:none;color:var(--ink)}
.reviews-source{font-size:14px;letter-spacing:.14em;color:var(--red)}
.reviews-title{font-family:var(--mincho);font-weight:500;font-size:18px;line-height:1.7;letter-spacing:.06em;color:var(--ink)}
.reviews-domain{font-size:14px;color:var(--ink-3)}
.reviews-list a:hover .reviews-title{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.reviews-band{background:var(--sage)}
.reviews-trip{padding-block:72px}
.reviews-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-bottom:32px}
.reviews-trip-grid article{background:var(--paper);padding:28px 30px;border-top:1px solid var(--ink)}
.reviews-trip-grid h3{font-size:20px;letter-spacing:.08em;margin-bottom:10px}
.reviews-trip-grid p{font-size:16px;color:var(--ink-2)}
.reviews-trip-grid .reviews-meta{margin-top:14px;font-size:14px;color:var(--ink-3)}
.reviews-videos{padding-block:72px 96px}
.reviews-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.reviews-video-grid a{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--char)}
.reviews-video-grid img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;filter:saturate(.9)}
.reviews-video-grid span{position:absolute;inset:auto auto 12px 12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(21,20,18,.85);color:#fff;font-size:16px}
.reviews-video-grid a:hover span{background:var(--red)}
@media(max-width:1000px){.reviews-list{columns:1}.reviews-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.reviews-page .page-title{padding-top:40px;padding-bottom:28px}.reviews-posts{padding-bottom:56px}.reviews-trip{padding-block:48px}.reviews-trip-grid{grid-template-columns:minmax(0,1fr);gap:20px}.reviews-trip-grid article{padding:22px}.reviews-videos{padding-block:48px 64px}.reviews-video-grid{grid-template-columns:minmax(0,1fr)}}

/* 關於、交通訂位、菜單頁：沿用首頁的雜誌風設計語言。規則以 .pg 為範圍。 */
.pg img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.pg figure{margin:0}
.pg h1,.pg h2,.pg h3{text-wrap:balance;word-break:keep-all}
.pg .visit-notes>.eyebrow,.pg .contact-social .eyebrow{display:none}

/* 連結與按鈕 */
.pg-link{display:inline-flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.14em;text-decoration:none;padding:10px 0;color:var(--ink);border:0;white-space:nowrap}
.pg-link::after{content:'';width:40px;height:1px;background:currentColor;transition:width .3s}
.pg-link:hover{color:var(--ink)}
.pg-link:hover::after{width:64px}
.pg-links{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:24px}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-size:16px;letter-spacing:.14em;text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:transparent;white-space:nowrap;transition:background .3s,color .3s}
.pg-btn:hover{background:var(--ink);color:var(--paper)}
.pg-btn-amber{background:var(--ink);color:var(--paper)}
.pg-btn-amber:hover{background:#3A352F}

/* 開場：滿版照片，標題在左下 */
.pg-en{display:inline-block;font-family:var(--display);font-style:italic;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:#E8E1D6;letter-spacing:.03em;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.35)}
.pg-hero{position:relative;height:72vh;height:72svh;min-height:480px;max-height:760px;overflow:hidden;background:var(--night);color:#fff;isolation:isolate}
.pg-hero--short{height:56vh;height:56svh;min-height:400px;max-height:560px}
.pg .pg-hero-image{position:absolute;inset:0;z-index:-2;object-position:50% 62%;filter:saturate(.9) contrast(1.04)}
.pg-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,17,14,.5) 0%,rgba(20,17,14,0) 65%),linear-gradient(180deg,rgba(20,17,14,.55) 0%,rgba(20,17,14,.08) 30%,rgba(20,17,14,.25) 55%,rgba(20,17,14,.8) 100%)}
.pg-hero .wrap{height:100%;max-width:none;margin:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 clamp(20px,6vw,96px) clamp(48px,8vh,88px)}
.pg .pg-hero h1{font-size:clamp(32px,3.7vw,56px);line-height:1.62;letter-spacing:.12em;color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.25);margin:0}
.pg .pg-hero p:not(.pg-en){font-size:17px;color:#E8E1D6;margin-top:14px;line-height:1.9}
.pg-hero--short .wrap{padding-bottom:clamp(40px,6vh,72px)}

/* 關於：1982 */
.pg-year .wrap{display:flex;align-items:baseline;gap:clamp(24px,5vw,72px);padding-block:clamp(64px,8vw,112px) 0}
.pg .about-year{font-family:var(--display);font-weight:400;font-size:clamp(96px,13vw,190px);line-height:.9;color:var(--red);letter-spacing:-.01em}
.pg .pg-year p{font-family:var(--mincho);font-size:clamp(20px,2vw,26px);line-height:1.9;letter-spacing:.14em;color:var(--ink)}

/* 關於：親手裁切（文字在左、照片在右並略為下移） */
.pg-story{padding-block:clamp(64px,8vw,112px)}
.pg-story .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:start}
.pg-story figure{order:2;margin-top:clamp(0px,5vw,64px)}
.pg-story figure img{aspect-ratio:4/5}
.pg figcaption{font-size:14px;color:var(--ink-3);margin-top:12px;letter-spacing:.1em;line-height:1.8}
.pg-story h2{font-size:clamp(28px,2.8vw,40px);line-height:1.6;letter-spacing:.14em;margin-bottom:28px}
.pg-story p{font-size:17px;line-height:2.1;color:var(--ink-2);margin-bottom:16px;max-width:30em}

/* 關於：環境（寬照片疊字卡，兩張錯位小圖） */
.pg-band{position:relative}
.pg-band>img{aspect-ratio:16/8;height:auto;object-position:50% 55%;filter:saturate(.9) contrast(1.04)}
.pg-band .wrap{position:relative;margin-top:calc(clamp(32px,5vw,72px) * -1)}
.pg-card{max-width:520px;margin-left:auto;background:var(--paper);padding:clamp(28px,3vw,48px)}
.pg .pg-card h2{font-size:clamp(26px,2.4vw,34px);line-height:1.7;letter-spacing:.16em;margin-bottom:12px}
.pg .pg-card p{font-size:16px;color:var(--ink-2)}
.pg-env-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:clamp(56px,7vw,96px) clamp(64px,8vw,112px)}
.pg-env-grid figure:nth-child(1){grid-column:1/span 6}
.pg-env-grid figure:nth-child(2){grid-column:8/span 5;margin-top:clamp(0px,7vw,96px)}
.pg-env-grid img{aspect-ratio:4/3;height:auto;filter:saturate(.9) contrast(1.04)}
.pg-env-grid h3{font-size:20px;letter-spacing:.14em;margin:18px 0 4px}
.pg .pg-env-grid figcaption{margin:0;color:var(--ink)}
.pg .pg-env-grid figcaption p{font-size:15px;color:var(--ink-2)}

/* 問答（共用） */
.pg-faq{padding-bottom:clamp(64px,8vw,96px)}
.contact-page .pg-faq{padding-top:clamp(48px,6vw,72px)}
.pg .pg-faq .visit-notes{background:transparent;padding:0;border:0;margin-top:0}
.pg .pg-faq .visit-notes+.visit-notes{margin-top:64px}
.pg .pg-faq .visit-notes h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:8px}

/* 關於：相聚（淺米色帶） */
.pg-gather{background:var(--sage);padding-block:clamp(64px,8vw,112px)}
.pg-gather .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,88px);align-items:center}
.pg-gather img{aspect-ratio:4/3;height:auto;filter:saturate(.9) contrast(1.04)}
.pg .pg-gather h2{font-size:clamp(26px,2.4vw,34px);line-height:1.7;letter-spacing:.16em;margin-bottom:20px}
.pg .pg-gather p{font-size:17px;color:var(--ink-2)}

/* 交通：資訊三欄（淺色，細線分隔） */
.pg-info .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:clamp(64px,8vw,104px)}
.pg-info section{padding:0 clamp(24px,3vw,48px);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.pg-info section:first-child{padding-left:0;border-left:0}
.pg .pg-info h2{font-size:18px;letter-spacing:.16em;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--ink);align-self:stretch}
.pg .pg-info p{font-size:16px;color:var(--ink-2);margin-bottom:22px;line-height:1.9}
.pg-info address{font-style:normal;font-family:var(--mincho);font-size:20px;line-height:1.8;letter-spacing:.1em;color:var(--ink);margin-bottom:12px}
.pg-phone{font-family:var(--display);font-size:clamp(38px,3.8vw,54px);line-height:1.2;letter-spacing:.01em;color:var(--red);text-decoration:none;margin-bottom:14px;white-space:nowrap}
.pg .pg-info .pg-hours{font-size:17px;color:var(--ink);margin-bottom:12px}
.pg-hours strong{font-family:var(--display);font-size:38px;font-weight:400;color:var(--red);letter-spacing:.01em}
.pg .pg-info .pg-tuesday{font-size:16px;color:var(--ink-2)}
.pg-info .pg-btn{margin-top:auto}
.pg-map iframe{display:block;width:100%;height:420px;border:0;filter:grayscale(.35) contrast(.98)}
.pg-social{padding-block:clamp(56px,7vw,88px) 24px}
.pg .pg-social .contact-social{background:transparent;padding:28px 0 0;gap:56px}
.pg .pg-social .contact-social h2{font-size:22px}

/* 菜單：開場 */
.pg .pg-menu-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:18px;font-size:16px;color:#E8E1D6}
.pg .pg-menu-meta a{color:#fff;border-bottom:1px solid rgba(255,255,255,.6);text-decoration:none}
.menu-page.pg .menu-category-nav{border-top:0}

/* 好評推薦入口（首頁、關於、交通共用） */
.pg-reviews{display:block;text-decoration:none;color:var(--ink);border-top:1px solid var(--ink)}
.pg-reviews .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-block:36px}
.pg-reviews strong{font-family:var(--mincho);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:.16em}
.pg-reviews span span{font-size:15px;color:var(--ink-2);letter-spacing:.1em}
.pg-reviews:hover strong{color:var(--red)}

@media(max-width:1000px){
  .pg-info .wrap{grid-template-columns:minmax(0,1fr);gap:0;padding-block:48px}
  .pg-info section{padding:28px 0;border-left:0;border-top:1px solid var(--line)}
  .pg-info section:first-child{padding-top:0;border-top:0}
  .pg-info .pg-btn{margin-top:0}
}
@media(max-width:760px){
  .pg-hero{min-height:560px}
  .pg-hero--short{min-height:420px}
  .pg-hero .wrap{padding-bottom:104px}
  .pg-year .wrap{flex-direction:column;align-items:flex-start;gap:12px}
  .pg-story .wrap,.pg-gather .wrap{grid-template-columns:minmax(0,1fr);gap:32px}
  .pg-story figure{order:0;margin-top:0}
  .pg-band>img{aspect-ratio:4/3}
  .pg-card{margin-left:0}
  .pg-env-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .pg-env-grid figure:nth-child(n){grid-column:1/-1;margin-top:0}
  .pg-map iframe{height:320px}
  .pg-reviews .wrap{flex-direction:column;gap:4px;padding-block:28px}
  .pg-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.pg-btn,.pg-link::after{transition:none}}

/* 菜單頁根節點沿用舊版 max-width，會讓整頁靠左；改回滿寬，內容由 .wrap 置中 */
.menu-page.pg{max-width:none;width:100%;margin-inline:0}
/* 極品火鍋是直幅照片，改用直幅小圖框，避免被橫向裁切 */
.menu-page .menu-title-photo--tall{width:132px;height:198px}
.menu-page .menu-title-photo--tall img{object-position:50% 56%}
@media(max-width:700px){.menu-page .menu-title-photo--tall{width:94px;height:132px}}
