/* Cloud 9 — 日系簡約風：和紙留白、墨灰字、緋紅與藍鼠重點 */
.theme-japanese {
  --bg-sky-top: #faf8f5;
  --bg-sky-bottom: #f3efe8;
  --surface: #fffcf9;
  --surface-2: #f7f4ef;
  --surface-strong: #ebe6dd;
  --text: #2b2b2b;
  --muted: #6f6a62;
  --text-soft: #5a5650;
  --accent: #b54343;
  --accent-2: #5c7080;
  --mint: #7a9e76;
  --sun: #c9a87c;
  --border-play: #ddd7cc;
  --radius: 6px;
  --radius-blob: 10px;
  --shadow-pop: 0 1px 4px rgba(43, 43, 43, 0.06);
  --shadow-pop-hover: 0 3px 12px rgba(43, 43, 43, 0.1);
  --font-ui: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
  --font-display: "Noto Serif JP", "Noto Sans JP", "Hiragino Mincho ProN", serif;
  --link: #5c7080;
  --header-bg: #fffcf9;
  --header-shadow: 0 1px 0 rgba(43, 43, 43, 0.06);
  --header-border: 1px solid #ebe6dd;
  --footer-bg: #3a3a3a;
  --footer-text: #d9d5ce;
  --footer-brand: #faf8f5;
  --footer-link: #e8c4c4;
  --footer-accent: #c9a87c;
  --hero-bg: #fffcf9;
  --hero-text: #2b2b2b;
  --hero-lead: #6f6a62;
  --section-board-bg: #fffcf9;
  --btn-primary-bg: #c65d57;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #8fad8a;
  --btn-secondary-text: #ffffff;
  --btn-ghost-bg: #f0ebe3;
  --btn-ghost-text: #2b2b2b;
  --btn-danger-bg: #d97070;
  --btn-danger-border: #9e3a3a;
  --btn-danger-text: #ffffff;
  --nav-chip-bg: #f0ebe3;
  --nav-chip-text: #2b2b2b;
  --chip-bg: #f5efea;
  --chip-text: #5c7080;
  --hero-cloud-bg: rgba(255, 252, 249, 0.7);
  --hero-cloud-border: rgba(221, 215, 204, 0.8);
  --hero-cloud-shadow: 0 6px 20px rgba(43, 43, 43, 0.05);
  --flash-bg: #eef4ea;
  --flash-text: #4a6346;
  --flash-error-bg: #faf0f0;
  --flash-error-text: #8b3a3a;
  --flash-success-bg: #eef4ea;
  --flash-success-text: #4a6346;
  --flash-info-bg: #eef2f5;
  --flash-info-text: #4a5f6f;
  --flash-warning-bg: #faf5ee;
  --flash-warning-text: #7a5c3a;
  --backstage-column-bg: rgba(250, 248, 245, 0.94);
  --backstage-sidebar-bg: #fffcf9;
  --backstage-sidebar-shadow: 1px 0 0 rgba(43, 43, 43, 0.06);
  --backstage-menu-bg: #f0ebe3;
  --backstage-menu-hover-shadow: 0 2px 8px rgba(43, 43, 43, 0.06);
  --backstage-menu-active-bg: #c65d57;
  --backstage-menu-active-text: #ffffff;
  --category-pill-bg: #f0ebe3;
  --category-pill-text: #2b2b2b;
  --category-pill-hover-text: #b54343;
  --category-pill-hover-border: #b54343;
  --category-pill-active-bg: #c65d57;
  --category-pill-active-text: #ffffff;
  --category-pill-active-border: #b54343;
  --category-pill-active-shadow: 0 2px 8px rgba(181, 67, 67, 0.2);
  --account-nav-bg: #f0ebe3;
  --account-nav-text: #2b2b2b;
  --account-nav-active-bg: var(--btn-primary-bg);
  --account-nav-active-text: #ffffff;
  --account-nav-active-border: transparent;
  --ai-chat-fab-bg: #fffcf9;
  --ai-chat-messages-bg: #fffcf9;
  --ai-chat-user-bubble-bg: #faf0f0;
  --ai-chat-user-bubble-border: rgba(181, 67, 67, 0.25);
  --ai-chat-input-focus-ring: rgba(92, 112, 128, 0.15);
  --ai-chat-blockquote-border: rgba(181, 67, 67, 0.35);
  --ai-chat-blockquote-bg: rgba(181, 67, 67, 0.06);
  --ai-chat-disclaimer-bg: #faf5ee;
  --ai-chat-disclaimer-text: #7a5c3a;

  margin: 0;
  font-family: var(--font-ui);
  color: var(--text);
  line-height: 1.75;
  min-height: 100vh;
  background-color: var(--bg-sky-bottom);
  background-attachment: fixed;
}

.theme-japanese a:not(.btn):not(.category-pill):not(.account-center__nav-item) {
  color: var(--link);
  text-decoration: none;
  font-weight: 500;
}

.theme-japanese a:not(.btn):not(.category-pill):not(.account-center__nav-item):hover {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.theme-japanese .site-logo {
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-shadow: none;
}

.theme-japanese .hero {
  border-width: 1px;
  box-shadow: var(--shadow-pop);
}

.theme-japanese .hero__cloud {
  display: none;
}

.theme-japanese .hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-shadow: none;
}

.theme-japanese .hero__eyebrow {
  background: #faf0f0;
  color: #8b3a3a;
  border-color: #e8c4c4;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.theme-japanese .hero__lead {
  color: var(--hero-lead);
  font-weight: 400;
}

.theme-japanese .section--muted,
.theme-japanese .btn {
  border-width: 1px;
}

.theme-japanese .btn {
  font-weight: 600;
  letter-spacing: 0.04em;
}

.theme-japanese .btn:hover {
  transform: translateY(-1px);
}

.theme-japanese .btn--primary,
.theme-japanese .btn--secondary,
.theme-japanese .btn--danger {
  border-color: transparent;
}

.theme-japanese a.btn--primary,
.theme-japanese button.btn--primary {
  color: var(--btn-primary-text, #ffffff);
}

.theme-japanese a.btn--primary:link,
.theme-japanese a.btn--primary:visited,
.theme-japanese a.btn--primary:active,
.theme-japanese a.btn--primary:hover,
.theme-japanese a.btn--primary:focus-visible,
.theme-japanese button.btn--primary:hover,
.theme-japanese button.btn--primary:focus-visible {
  color: var(--btn-primary-text, #ffffff);
  text-decoration: none;
}

.theme-japanese .btn--ghost {
  background: var(--btn-ghost-bg);
  color: var(--btn-ghost-text);
  border-color: var(--border-play);
}

.theme-japanese .site-nav a {
  background: var(--nav-chip-bg);
  color: var(--nav-chip-text);
  border-color: transparent;
}

.theme-japanese .site-nav a:hover,
.theme-japanese .site-nav a:focus-visible {
  background: #ebe6dd;
  color: #2b2b2b;
  border-color: var(--border-play);
}

.theme-japanese .site-header__dashboard-switch-select,
.theme-japanese .site-header__logout-btn,
.theme-japanese .site-theme-switch__select {
  background: var(--surface);
  color: var(--text);
  border-color: var(--border-play);
}

.theme-japanese .text-link--pop {
  background: var(--chip-bg);
  color: var(--chip-text);
  border-color: #d4cdc2;
  box-shadow: var(--shadow-pop);
}

.theme-japanese .feature-card,
.theme-japanese .news-card,
.theme-japanese .product-card {
  background: var(--surface);
  border-color: var(--border-play);
}

.theme-japanese .feature-card__icon {
  background: #f5efea;
  border-color: #ddd7cc;
}

.theme-japanese .section__title,
.theme-japanese .section__title--big {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.theme-japanese .server-info__row {
  background: var(--surface-strong);
}

.theme-japanese .server-info__address {
  background: #eef2f5;
  color: #4a5f6f;
  border-color: #c5cdd4;
}

.theme-japanese .product-card__detail-btn {
  background: var(--chip-bg);
  color: var(--chip-text);
  border-color: #d4cdc2;
}

.theme-japanese .product-card__detail-btn[aria-expanded="true"] {
  background: #eef2f5;
  color: #4a5f6f;
}

.theme-japanese .form-control,
.theme-japanese select,
.theme-japanese textarea,
.theme-japanese input[type="number"] {
  background: #fffcf9;
  color: var(--text);
  border-color: var(--border-play);
}

.theme-japanese .form-control:focus,
.theme-japanese select:focus,
.theme-japanese textarea:focus {
  border-color: var(--accent-2);
  box-shadow: 0 0 0 2px rgba(92, 112, 128, 0.15);
  outline: none;
}

.theme-japanese .form-control::placeholder,
.theme-japanese textarea::placeholder {
  color: #9a9590;
}

.theme-japanese .account-center__nav-item.is-active {
  background: var(--account-nav-active-bg);
  color: var(--account-nav-active-text);
}

.theme-japanese .support-status-badge--open {
  background: #eef2f5;
  color: #4a5f6f;
}

.theme-japanese .support-status-badge--closed {
  background: #f0ebe3;
  color: #6f6a62;
}

.theme-japanese .shop-product-grant .c9-grant-entry__badge,
.theme-japanese .shop-product-grant .c9-grant-entry__amount,
.theme-japanese .shop-product-grant__qty {
  color: #5c7080;
  background: #eef2f5;
}

.theme-japanese .btn--link.danger {
  color: #b54343;
}

.theme-japanese .form-error {
  color: #b54343;
}
