/* 生成物・手で直さない ── HeroUI の見比べ用の本物（見本帳 heroui.html だけが読む。⛔ アプリに入れない）
   元：@heroui/styles 3.2.7（Apache-2.0・Copyright 2025 NextUI Inc.・LICENSE は同じフォルダ）を Tailwind CSS 4.3.3（MIT）で普通の CSS に変換し、
   クラスに頭 hu- を付け、変数を .hu-scope の中に閉じた（作り方＝scripts/build-heroui-ref.js）。HeroUI から変えた所＝頭 hu-・.hu-scope・下の土台。 */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  .hu-scope {
    --spacing: 0.25rem;
    --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-medium: 500;
    --radius-3xl: calc(var(--radius) * 3);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --color-field: var(--field-background, var(--default));
    --color-field-hover: var(--field-hover);
    --border-width-field: var(--field-border-width, var(--border-width));
    --ease-smooth: ease;
  }
}
@layer utilities;
@layer theme {
  @layer base {
    .hu-scope {
      --white: oklch(100% 0 0);
      --black: oklch(0% 0 0);
      --snow: oklch(0.9911 0 0);
      --eclipse: oklch(0.2103 0.0059 285.89);
      --spacing: 0.25rem;
      --border-width: 1px;
      --field-border-width: 0px;
      --disabled-opacity: 0.5;
      --ring-offset-width: 2px;
      --cursor-interactive: pointer;
      --cursor-disabled: not-allowed;
      --radius: 0.5rem;
      --field-radius: calc(var(--radius) * 1.5);
      --accent: oklch(0.6204 0.195 253.83);
      --accent-foreground: var(--snow);
      --success: oklch(0.7329 0.1935 150.81);
      --success-foreground: var(--eclipse);
      --field-border: transparent;
      --skeleton-animation: shimmer;
      --tooltip-delay: 1500ms;
      --tooltip-close-delay: 500ms;
    }
    .hu-scope {
      color-scheme: light;
      --background: oklch(0.9702 0 0);
      --foreground: var(--eclipse);
      --surface: var(--white);
      --surface-foreground: var(--foreground);
      --surface-secondary: oklch(0.9524 0.0013 286.37);
      --surface-secondary-foreground: var(--foreground);
      --surface-tertiary: oklch(0.9373 0.0013 286.37);
      --surface-tertiary-foreground: var(--foreground);
      --overlay: var(--white);
      --overlay-foreground: var(--foreground);
      --muted: oklch(0.5517 0.0138 285.94);
      --scrollbar: var(--scrollbar-thumb);
      --scrollbar-thumb: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        --scrollbar-thumb: color-mix(in oklch, var(--foreground) 15%, transparent);
      }
      --scrollbar-track: transparent;
      --scrollbar-gutter: auto;
      --scrollbar-width: thin;
      --scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
      --default: oklch(94% 0.001 286.375);
      --default-foreground: var(--eclipse);
      --field-background: var(--white);
      --field-foreground: oklch(0.2103 0.0059 285.89);
      --field-placeholder: var(--muted);
      --warning: oklch(0.7819 0.1585 72.33);
      --warning-foreground: var(--eclipse);
      --danger: oklch(0.6532 0.2328 25.74);
      --danger-foreground: var(--snow);
      --segment: var(--white);
      --segment-foreground: var(--eclipse);
      --border: oklch(90% 0.004 286.32);
      --separator: oklch(92% 0.004 286.32);
      --focus: var(--accent);
      --link: var(--foreground);
      --backdrop: rgba(0, 0, 0, 0.5);
      --surface-hover: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --surface-hover: color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%);
      }
      --background-secondary: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        --background-secondary: color-mix(in oklab, var(--background) 96%, var(--foreground) 4%);
      }
      --background-tertiary: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        --background-tertiary: color-mix(in oklab, var(--background) 92%, var(--foreground) 8%);
      }
      --background-inverse: var(--foreground);
      --default-hover: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-hover: color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%);
      }
      --accent-hover: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-hover: color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%);
      }
      --success-hover: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-hover: color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%);
      }
      --warning-hover: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-hover: color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%);
      }
      --danger-hover: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-hover: color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%);
      }
      --field-hover: var(--field-background, var(--default));
      @supports (color: color-mix(in lab, red, red)) {
        --field-hover: color-mix(
      in oklab,
      var(--field-background, var(--default)) 90%,
      var(--field-foreground, var(--foreground)) 2%
    );
      }
      --field-focus: var(--field-background, var(--default));
      --field-border-hover: var(--field-border, var(--border));
      @supports (color: color-mix(in lab, red, red)) {
        --field-border-hover: color-mix(
      in oklab,
      var(--field-border, var(--border)) 88%,
      var(--field-foreground, var(--foreground)) 10%
    );
      }
      --field-border-focus: var(--field-border, var(--border));
      @supports (color: color-mix(in lab, red, red)) {
        --field-border-focus: color-mix(
      in oklab,
      var(--field-border, var(--border)) 74%,
      var(--field-foreground, var(--foreground)) 22%
    );
      }
      --default-soft: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-soft: color-mix(in oklab, var(--default) 50%, transparent);
      }
      --default-soft-foreground: var(--default-foreground);
      --default-soft-hover: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-soft-hover: color-mix(in oklab, var(--default) 60%, transparent);
      }
      --accent-soft: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft: color-mix(in oklab, var(--accent) 15%, transparent);
      }
      --accent-soft-foreground: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-foreground: color-mix(in oklab, var(--accent) 70%, var(--foreground) 30%);
      }
      --accent-soft-hover: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-hover: color-mix(in oklab, var(--accent) 20%, transparent);
      }
      --danger-soft: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft: color-mix(in oklab, var(--danger) 15%, transparent);
      }
      --danger-soft-foreground: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-foreground: color-mix(in oklab, var(--danger) 70%, var(--foreground) 40%);
      }
      --danger-soft-hover: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-hover: color-mix(in oklab, var(--danger) 20%, transparent);
      }
      --warning-soft: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft: color-mix(in oklab, var(--warning) 15%, transparent);
      }
      --warning-soft-foreground: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-foreground: color-mix(in oklab, var(--warning) 80%, var(--foreground) 70%);
      }
      --warning-soft-hover: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-hover: color-mix(in oklab, var(--warning) 20%, transparent);
      }
      --success-soft: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft: color-mix(in oklab, var(--success) 15%, transparent);
      }
      --success-soft-foreground: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-foreground: color-mix(in oklab, var(--success) 80%, var(--foreground) 60%);
      }
      --success-soft-hover: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-hover: color-mix(in oklab, var(--success) 20%, transparent);
      }
      --separator-secondary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --separator-secondary: color-mix(in oklab, var(--surface) 85%, var(--surface-foreground) 15%);
      }
      --separator-tertiary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --separator-tertiary: color-mix(in oklab, var(--surface) 81%, var(--surface-foreground) 19%);
      }
      --border-secondary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --border-secondary: color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%);
      }
      --border-tertiary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --border-tertiary: color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%);
      }
      --surface-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.04), 0 1px 2px 0 rgba(0, 0, 0, 0.06),
      0 0 1px 0 rgba(0, 0, 0, 0.06);
      --overlay-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.06), 0 -6px 12px 0 rgba(0, 0, 0, 0.03),
      0 14px 28px 0 rgba(0, 0, 0, 0.08);
      --field-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.04), 0 1px 2px 0 rgba(0, 0, 0, 0.06),
      0 0 1px 0 rgba(0, 0, 0, 0.06);
    }
    html:not([data-theme="light"]) .hu-scope {
      color-scheme: dark;
      --background: oklch(12% 0.005 285.823);
      --foreground: var(--snow);
      --surface: oklch(0.2103 0.0059 285.89);
      --surface-foreground: var(--foreground);
      --surface-secondary: oklch(0.257 0.0037 286.14);
      --surface-secondary-foreground: var(--foreground);
      --surface-tertiary: oklch(0.2721 0.0024 247.91);
      --surface-tertiary-foreground: var(--foreground);
      --overlay: oklch(0.2103 0.0059 285.89);
      --overlay-foreground: var(--foreground);
      --muted: oklch(70.5% 0.015 286.067);
      --scrollbar: var(--scrollbar-thumb);
      --scrollbar-thumb: var(--foreground);
      @supports (color: color-mix(in lab, red, red)) {
        --scrollbar-thumb: color-mix(in oklch, var(--foreground) 15%, transparent);
      }
      --scrollbar-track: transparent;
      --scrollbar-gutter: auto;
      --scrollbar-width: thin;
      --scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
      --default: oklch(27.4% 0.006 286.033);
      --default-foreground: var(--snow);
      --field-background: oklch(0.2103 0.0059 285.89);
      --field-foreground: var(--foreground);
      --field-placeholder: var(--muted);
      --warning: oklch(0.8203 0.1388 76.34);
      --warning-foreground: var(--eclipse);
      --danger: oklch(0.594 0.1967 24.63);
      --danger-foreground: var(--snow);
      --segment: oklch(0.3964 0.01 285.93);
      --segment-foreground: var(--foreground);
      --border: oklch(28% 0.006 286.033);
      --separator: oklch(25% 0.006 286.033);
      --focus: var(--accent);
      --link: var(--foreground);
      --backdrop: rgba(0, 0, 0, 0.6);
      --surface-shadow: 0 0 0 0 transparent inset;
      --overlay-shadow: 0 0 1px 0 rgba(255, 255, 255, 0.3) inset;
      --field-shadow: 0 0 0 0 transparent inset;
      --surface-hover: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --surface-hover: color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%);
      }
      --background-secondary: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        --background-secondary: color-mix(in oklab, var(--background) 96%, var(--foreground) 4%);
      }
      --background-tertiary: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        --background-tertiary: color-mix(in oklab, var(--background) 92%, var(--foreground) 8%);
      }
      --background-inverse: var(--foreground);
      --default-hover: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-hover: color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%);
      }
      --accent-hover: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-hover: color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%);
      }
      --success-hover: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-hover: color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%);
      }
      --warning-hover: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-hover: color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%);
      }
      --danger-hover: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-hover: color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%);
      }
      --field-hover: var(--field-background, var(--default));
      @supports (color: color-mix(in lab, red, red)) {
        --field-hover: color-mix(
      in oklab,
      var(--field-background, var(--default)) 90%,
      var(--field-foreground, var(--foreground)) 2%
    );
      }
      --field-focus: var(--field-background, var(--default));
      --field-border-hover: var(--field-border, var(--border));
      @supports (color: color-mix(in lab, red, red)) {
        --field-border-hover: color-mix(
      in oklab,
      var(--field-border, var(--border)) 88%,
      var(--field-foreground, var(--foreground)) 10%
    );
      }
      --field-border-focus: var(--field-border, var(--border));
      @supports (color: color-mix(in lab, red, red)) {
        --field-border-focus: color-mix(
      in oklab,
      var(--field-border, var(--border)) 74%,
      var(--field-foreground, var(--foreground)) 22%
    );
      }
      --default-soft: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-soft: color-mix(in oklab, var(--default) 50%, transparent);
      }
      --default-soft-foreground: var(--default-foreground);
      --default-soft-hover: var(--default);
      @supports (color: color-mix(in lab, red, red)) {
        --default-soft-hover: color-mix(in oklab, var(--default) 60%, transparent);
      }
      --accent-soft: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft: color-mix(in oklab, var(--accent) 12%, transparent);
      }
      --accent-soft-foreground: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-foreground: color-mix(in oklab, var(--accent) 80%, var(--foreground) 30%);
      }
      --accent-soft-hover: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-hover: color-mix(in oklab, var(--accent) 16%, transparent);
      }
      --danger-soft: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft: color-mix(in oklab, var(--danger) 15%, transparent);
      }
      --danger-soft-foreground: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-foreground: color-mix(in oklab, var(--danger) 80%, var(--foreground) 30%);
      }
      --danger-soft-hover: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-hover: color-mix(in oklab, var(--danger) 20%, transparent);
      }
      --warning-soft: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft: color-mix(in oklab, var(--warning) 12%, transparent);
      }
      --warning-soft-foreground: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-foreground: color-mix(in oklab, var(--warning) 80%, var(--foreground) 30%);
      }
      --warning-soft-hover: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-hover: color-mix(in oklab, var(--warning) 16%, transparent);
      }
      --success-soft: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft: color-mix(in oklab, var(--success) 12%, transparent);
      }
      --success-soft-foreground: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-foreground: color-mix(in oklab, var(--success) 80%, var(--foreground) 30%);
      }
      --success-soft-hover: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-hover: color-mix(in oklab, var(--success) 16%, transparent);
      }
      --separator-secondary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --separator-secondary: color-mix(in oklab, var(--surface) 85%, var(--surface-foreground) 15%);
      }
      --separator-tertiary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --separator-tertiary: color-mix(in oklab, var(--surface) 81%, var(--surface-foreground) 19%);
      }
      --border-secondary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --border-secondary: color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%);
      }
      --border-tertiary: var(--surface);
      @supports (color: color-mix(in lab, red, red)) {
        --border-tertiary: color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%);
      }
    }
    [data-vibrant-palette="true"]:not(.dark):not([data-theme="dark"]) {
      --accent-soft-foreground: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-foreground: color-mix(in oklab, var(--accent) 92%, var(--foreground) 8%);
      }
      --danger-soft-foreground: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-foreground: color-mix(in oklab, var(--danger) 92%, var(--foreground) 8%);
      }
      --warning-soft-foreground: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-foreground: color-mix(in oklab, var(--warning) 92%, var(--foreground) 8%);
      }
      --success-soft-foreground: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-foreground: color-mix(in oklab, var(--success) 92%, var(--foreground) 8%);
      }
    }
    [data-vibrant-palette="true"].dark, [data-vibrant-palette="true"][data-theme="dark"] {
      --accent-soft-foreground: var(--accent);
      @supports (color: color-mix(in lab, red, red)) {
        --accent-soft-foreground: color-mix(in oklab, var(--accent) 92%, var(--foreground) 8%);
      }
      --danger-soft-foreground: var(--danger);
      @supports (color: color-mix(in lab, red, red)) {
        --danger-soft-foreground: color-mix(in oklab, var(--danger) 92%, var(--foreground) 8%);
      }
      --warning-soft-foreground: var(--warning);
      @supports (color: color-mix(in lab, red, red)) {
        --warning-soft-foreground: color-mix(in oklab, var(--warning) 92%, var(--foreground) 8%);
      }
      --success-soft-foreground: var(--success);
      @supports (color: color-mix(in lab, red, red)) {
        --success-soft-foreground: color-mix(in oklab, var(--success) 92%, var(--foreground) 8%);
      }
    }
  }
}
@layer components {
  .hu-button {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    height: calc(var(--spacing) * 10);
    width: fit-content;
    transform-origin: center;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
    border-radius: calc(var(--radius) * 3);
    padding-inline: calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    --tw-outline-style: none;
    outline-style: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 9);
    }
    transition: transform 250ms var(--ease-smooth), background-color 100ms var(--ease-out), box-shadow 100ms var(--ease-out);
    transform: translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
    &:is([data-reduce-motion="true"], [data-reduce-motion="true"] *) {
      transition-property: none;
      &::before, &::after {
        transition-property: none;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      &:not(:is([data-reduce-motion="true"], [data-reduce-motion="true"] *)) {
        transition-property: none;
        &::before, &::after {
          transition-property: none;
        }
      }
    }
    cursor: var(--cursor-interactive);
    --button-bg: transparent;
    --button-bg-hover: var(--button-bg);
    --button-bg-pressed: var(--button-bg-hover);
    --button-fg: currentColor;
    background-color: var(--button-bg);
    color: var(--button-fg);
    &:focus-visible:not([data-focused]), &[data-focus-visible="true"] {
      --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);
      --tw-ring-color: var(--focus);
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-offset-color: var(--background);
      --tw-outline-style: none;
      outline-style: none;
      --tw-ring-offset-width: var(--ring-offset-width);
    }
    &:disabled, &[aria-disabled="true"] {
      opacity: var(--disabled-opacity);
      cursor: var(--cursor-disabled);
      pointer-events: none;
    }
    &[data-pending="true"] {
      pointer-events: none;
    }
    &:active, &[data-pressed="true"] {
      will-change: transform;
      background-color: var(--button-bg-pressed);
      transform: scale(0.97);
    }
    @media (hover: hover) {
      &:hover, &[data-hovered="true"] {
        background-color: var(--button-bg-hover);
      }
    }
    & svg:not([data-slot="spinner"] svg, [data-slot="link-icon"] svg) {
      pointer-events: none;
      margin-inline: calc(var(--spacing) * -0.5);
      margin-block: calc(var(--spacing) * 0.5);
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      flex-shrink: 0;
      align-self: center;
      @media (width >= 40rem) {
        margin-block: var(--spacing);
      }
      @media (width >= 40rem) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4);
      }
    }
  }
  .hu-button--sm {
    height: calc(var(--spacing) * 9);
    padding-inline: calc(var(--spacing) * 3);
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 8);
    }
    & svg:not([data-slot="spinner"] svg, [data-slot="link-icon"] svg) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
    &:active, &[data-pressed="true"] {
      transform: scale(0.98);
    }
  }
  .hu-button--lg {
    height: calc(var(--spacing) * 11);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 10);
    }
    &:active, &[data-pressed="true"] {
      transform: scale(0.96);
    }
  }
  .hu-button--primary {
    --button-bg: var(--accent);
    --button-bg-hover: var(--accent-hover);
    --button-bg-pressed: var(--accent-hover);
    --button-fg: var(--accent-foreground);
  }
  .hu-button--secondary {
    --button-bg: var(--default);
    --button-bg-hover: var(--default-hover);
    --button-bg-pressed: var(--default-hover);
    --button-fg: var(--accent-soft-foreground);
  }
  .hu-button--tertiary {
    --button-bg: var(--default);
    --button-bg-hover: var(--default-hover);
    --button-bg-pressed: var(--default-hover);
  }
  .hu-button--ghost, .hu-button--outline {
    --button-bg: transparent;
    --button-bg-hover: var(--default);
    --button-bg-pressed: var(--default);
    --button-fg: var(--default-foreground);
  }
  .hu-button--outline {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--border);
    --button-bg-hover: var(--default);
    @supports (color: color-mix(in lab, red, red)) {
      --button-bg-hover: color-mix(in srgb, var(--default) 60%, transparent);
    }
  }
  .hu-button--danger {
    --button-bg: var(--danger);
    --button-bg-hover: var(--danger-hover);
    --button-bg-pressed: var(--danger-hover);
    --button-fg: var(--danger-foreground);
  }
  .hu-button--danger-soft {
    --button-bg: var(--danger-soft);
    --button-bg-hover: var(--danger-soft-hover);
    --button-bg-pressed: var(--danger-soft-hover);
    --button-fg: var(--danger-soft-foreground);
  }
  .hu-button--icon-only {
    width: calc(var(--spacing) * 10);
    padding: 0px;
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 9);
    }
  }
  .hu-button--icon-only.hu-button--sm {
    width: calc(var(--spacing) * 9);
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 8);
    }
  }
  .hu-button--icon-only.hu-button--lg {
    width: calc(var(--spacing) * 11);
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 10);
    }
  }
  .hu-button--full-width {
    width: 100%;
  }
  .hu-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 3);
    overflow: visible;
    padding: calc(var(--spacing) * 4);
    --tw-shadow: var(--surface-shadow);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-radius: min(32px, var(--radius-3xl));
  }
  .hu-card__header {
    display: flex;
    flex-direction: column;
  }
  .hu-card__title {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--foreground);
  }
  .hu-card__description {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
    color: var(--muted);
  }
  .hu-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--spacing);
  }
  .hu-card__footer {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .hu-card--transparent {
    --tw-border-style: none;
    border-style: none;
    background-color: transparent;
    --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);
  }
  .hu-card--default {
    background-color: var(--surface);
  }
  .hu-card--secondary {
    background-color: var(--surface-secondary);
  }
  .hu-card--tertiary {
    background-color: var(--surface-tertiary);
  }
  .hu-input {
    border-radius: var(--field-radius, calc(var(--radius) * 1.5));
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--field-background, var(--default));
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    color: var(--field-foreground, var(--foreground));
    --tw-shadow: var(--field-shadow);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-outline-style: none;
    outline-style: none;
    &::placeholder {
      color: var(--field-placeholder, var(--muted));
    }
    @media (width >= 40rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    border-width: var(--border-width-field);
    border-color: var(--field-border);
    --input-bg: var(--color-field);
    --input-bg-hover: var(--color-field-hover);
    --input-bg-focus: var(--field-focus);
    --input-autofill-shadow: 0 0 0 1000px var(--input-bg) inset, var(--tw-inset-shadow, 0 0 #0000),
    var(--tw-inset-ring-shadow, 0 0 #0000), var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
    transition: background-color 150ms var(--ease-smooth), border-color 150ms var(--ease-smooth), box-shadow 150ms var(--ease-out);
    &:is([data-reduce-motion="true"], [data-reduce-motion="true"] *) {
      transition-property: none;
      &::before, &::after {
        transition-property: none;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      &:not(:is([data-reduce-motion="true"], [data-reduce-motion="true"] *)) {
        transition-property: none;
        &::before, &::after {
          transition-property: none;
        }
      }
    }
    @media (hover: hover) {
      &:hover:not(:focus):not(:focus-visible), &[data-hovered="true"]:not([data-focused="true"]):not([data-focus-visible="true"]) {
        background-color: var(--field-hover);
        --input-bg: var(--input-bg-hover);
        border-color: var(--field-border-hover);
      }
    }
    &:focus, &[data-focused="true"] {
      --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);
      --tw-ring-color: var(--focus);
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-outline-style: none;
      outline-style: none;
      --tw-ring-offset-width: 0px;
      border-color: var(--field-border-focus);
      --input-bg: var(--input-bg-focus);
      background-color: var(--input-bg);
    }
    &[data-invalid="true"] {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
      outline-color: var(--danger);
      --tw-outline-style: solid;
      outline-style: solid;
      --tw-ring-offset-width: 3px;
      &:focus, &:focus-visible, &[data-focused="true"], &[data-focus-visible="true"], &:focus-within, &[data-focus-within="true"] {
        --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);
        --tw-ring-color: var(--danger);
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-offset-width: 0px;
      }
      --input-bg: var(--input-bg-focus);
      background-color: var(--input-bg);
    }
    &:disabled, &[data-disabled="true"], &[aria-disabled="true"] {
      opacity: var(--disabled-opacity);
      cursor: var(--cursor-disabled);
      pointer-events: none;
    }
    &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active, &:autofill, &:autofill:hover, &:autofill:focus, &:autofill:active {
      background-color: var(--input-bg);
      box-shadow: var(--input-autofill-shadow);
      -webkit-box-shadow: var(--input-autofill-shadow);
      -webkit-text-fill-color: var(--field-foreground);
      caret-color: var(--field-foreground);
      transition: background-color 9999s ease-in-out 0s, border-color 150ms var(--ease-smooth);
      @media (prefers-reduced-motion: reduce) {
        transition: background-color 9999s ease-in-out 0s;
      }
    }
  }
  .hu-input--secondary {
    --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);
    background-color: var(--input-bg);
    --input-bg: var(--default);
    --input-bg-hover: var(--default-hover);
    --input-bg-focus: var(--default);
    @media (hover: hover) {
      &:hover:not(:focus):not(:focus-visible), &[data-hovered="true"]:not([data-focus-visible="true"]):not([data-focused="true"]) {
        --input-bg: var(--input-bg-hover);
        background-color: var(--input-bg);
      }
    }
    &:focus, &[data-focused="true"] {
      --input-bg: var(--input-bg-focus);
      background-color: var(--input-bg);
    }
    &[data-invalid="true"] {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
      outline-color: var(--danger);
      --tw-outline-style: solid;
      outline-style: solid;
      --tw-ring-offset-width: 3px;
      &:focus, &:focus-visible, &[data-focused="true"], &[data-focus-visible="true"], &:focus-within, &[data-focus-within="true"] {
        --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);
        --tw-ring-color: var(--danger);
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-offset-width: 0px;
      }
      --input-bg: var(--input-bg-focus);
      background-color: var(--input-bg);
    }
  }
  .hu-input--full-width {
    width: 100%;
  }
  .hu-chip {
    display: inline-flex;
    width: fit-content;
    flex-shrink: 0;
    align-items: center;
    gap: calc(var(--spacing) * 0.5);
    border-radius: calc(var(--radius) * 2);
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 0.5);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --chip-bg: var(--default);
    --chip-fg: currentColor;
    background-color: var(--chip-bg);
    color: var(--chip-fg);
  }
  .hu-chip__label {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .hu-chip--accent {
    --chip-fg: var(--accent-soft-foreground);
  }
  .hu-chip--danger {
    --chip-fg: var(--danger-soft-foreground);
  }
  .hu-chip--default {
    --chip-fg: var(--default-foreground);
  }
  .hu-chip--success {
    --chip-fg: var(--success-soft-foreground);
  }
  .hu-chip--warning {
    --chip-fg: var(--warning-soft-foreground);
  }
  .hu-chip--tertiary {
    --chip-bg: transparent;
  }
  .hu-chip--sm {
    padding-inline: var(--spacing);
    padding-block: 0px;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .hu-chip--lg {
    padding-inline: calc(var(--spacing) * 3);
    padding-block: var(--spacing);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .hu-chip--primary.hu-chip--accent {
    --chip-bg: var(--accent);
    --chip-fg: var(--accent-foreground);
  }
  .hu-chip--primary.hu-chip--success {
    --chip-bg: var(--success);
    --chip-fg: var(--success-foreground);
  }
  .hu-chip--primary.hu-chip--warning {
    --chip-bg: var(--warning);
    --chip-fg: var(--warning-foreground);
  }
  .hu-chip--primary.hu-chip--danger {
    --chip-bg: var(--danger);
    --chip-fg: var(--danger-foreground);
  }
  .hu-chip--accent.hu-chip--soft {
    --chip-bg: var(--accent-soft);
    --chip-fg: var(--accent-soft-foreground);
  }
  .hu-chip--success.hu-chip--soft {
    --chip-bg: var(--success-soft);
    --chip-fg: var(--success-soft-foreground);
  }
  .hu-chip--warning.hu-chip--soft {
    --chip-bg: var(--warning-soft);
    --chip-fg: var(--warning-soft-foreground);
  }
  .hu-chip--danger.hu-chip--soft {
    --chip-bg: var(--danger-soft);
    --chip-fg: var(--danger-soft-foreground);
  }
  .hu-chip--default.hu-chip--soft {
    --chip-bg: var(--default-soft);
    --chip-fg: var(--default-soft-foreground);
  }
}
@property --tw-font-weight {
  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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-font-weight: 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-border-style: solid;
      --tw-leading: initial;
      --tw-outline-style: solid;
    }
  }
}

/* 土台（Tailwind の preflight の代わり・.hu-scope の中だけ）。無いと崩れる物＝2026-11-03 の実測（vendor/heroui/README.md §2） */
@layer base {
  .hu-scope { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif; color: var(--foreground); line-height: 1.5; }
  .hu-scope *, .hu-scope ::before, .hu-scope ::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
  .hu-scope button, .hu-scope input, .hu-scope textarea { font: inherit; color: inherit; background-color: transparent; }
}
