/* Kawaii Soda 1.1.29: logo trademark, optional Noir palette, and paw halo only.
   Existing layouts, artwork, slogan spacing and player rules remain in their source files. */

/* The existing two-line wordmark keeps its original footprint. */
.brand-words > .brand-primary > sup,
.soda-book-words > .soda-book-primary > sup,
.mark-top > sup {
  top: -.08em !important;
  transform: translateX(-.08em) scale(1.125);
  transform-origin: left top;
}

.soda-noir-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 56px;
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #a9416d;
  border-radius: 999px;
  background: transparent;
  color: #85274f;
  font: 800 10px/1 Arial, "Helvetica Neue", sans-serif;
  letter-spacing: .065em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.soda-noir-toggle:hover { background: #fce6ef; }
.soda-noir-toggle:focus-visible { outline: 3px solid #e3408a; outline-offset: 3px; }
.site-header #current-language { white-space: nowrap; flex-shrink: 0; }
.site-header .language-picker summary > .icon { flex-shrink: 0; }
.book-header .soda-noir-toggle { color: #ffc4de; border-color: #b46e8e; }
.book-header .soda-noir-toggle:hover { background: #39232e; }

/* Preserve the paw artwork, outline, dimensions, pulse and playback states. */
.kawaii-music-paw-reference > img {
  filter: drop-shadow(2px 0 0 #c82359) drop-shadow(-2px 0 0 #c82359)
    drop-shadow(0 2px 0 #c82359) drop-shadow(0 -2px 0 #c82359)
    drop-shadow(0 0 10px rgba(255, 61, 155, .65))
    drop-shadow(0 0 19px rgba(255, 61, 155, .35));
}
.kawaii-music-control.is-playing .kawaii-music-paw-reference > img {
  filter: drop-shadow(2px 0 0 #c82359) drop-shadow(-2px 0 0 #c82359)
    drop-shadow(0 2px 0 #c82359) drop-shadow(0 -2px 0 #c82359)
    drop-shadow(0 0 12px rgba(255, 61, 155, .8))
    drop-shadow(0 0 22px rgba(255, 61, 155, .45));
}

html[data-soda-theme="noir"] {
  color-scheme: dark;
  --paper: #100e13;
  --ink: #fff0f7;
  --muted: #cdbbc8;
  --pink: #ff65ac;
  --deep-pink: #ff83bf;
  --light-pink: #33202d;
  --line: #563448;
  --blue: #94d3ff;
  --wine: #ff9cc9;
  --shadow: 0 16px 55px #0004;
}
html[data-soda-theme="noir"] body { background: #100e13; color: #fff0f7; }
html[data-soda-theme="noir"] .skip-link { background: #ff83bf; color: #24101b; }
html[data-soda-theme="noir"] .site-header { background: #161018f5; border-bottom-color: #64334e; }
html[data-soda-theme="noir"] .main-nav.is-open,
html[data-soda-theme="noir"] .language-options { background: #20151f; border-color: #64334e; }
html[data-soda-theme="noir"] .main-nav > a { border-bottom-color: #563448; }
html[data-soda-theme="noir"] .language-options button { color: #fff0f7; }
html[data-soda-theme="noir"] .language-options button:hover,
html[data-soda-theme="noir"] .language-options button[aria-pressed="true"] { color: #ff9dcd; background: #392131; }
html[data-soda-theme="noir"] .brand-words > .brand-primary,
html[data-soda-theme="noir"] .soda-book-words > .soda-book-primary { color: #fff0f7; }
html[data-soda-theme="noir"] .brand-words > .brand-secondary,
html[data-soda-theme="noir"] .brand-words > .brand-primary > sup,
html[data-soda-theme="noir"] .soda-book-words > .soda-book-secondary,
html[data-soda-theme="noir"] .soda-book-words > .soda-book-primary > sup,
html[data-soda-theme="noir"] .mark-bottom { color: #ff83bf; }
html[data-soda-theme="noir"] .soda-noir-toggle { background: #ff83bf; border-color: #ff83bf; color: #24101b; }
html[data-soda-theme="noir"] .soda-noir-toggle:hover { background: #ffa4d0; }
html[data-soda-theme="noir"] .icon-button,
html[data-soda-theme="noir"] .hero-controls .icon-button { background: #352130; color: #fff0f7; border-color: #745168; }
html[data-soda-theme="noir"] .icon-button:hover { background: #51283f; }

/* Colors only: section and card geometry remains unchanged. */
html[data-soda-theme="noir"] .announcement,
html[data-soda-theme="noir"] .brand-ribbon { background: #2d1423; color: #ffd7eb; border-color: #64334e; }
html[data-soda-theme="noir"] .hero-float-note,
html[data-soda-theme="noir"] .water-pill { background: #251b28; border-color: #775168; color: #fff0f7; }
html[data-soda-theme="noir"] .hero-footnote,
html[data-soda-theme="noir"] .japan-art figcaption,
html[data-soda-theme="noir"] .footer-location,
html[data-soda-theme="noir"] .footer-catalogue,
html[data-soda-theme="noir"] .rights-notice p,
html[data-soda-theme="noir"] .rights-notice .rights-status,
html[data-soda-theme="noir"] .social-inner > p:not(.eyebrow) { color: #d5bdce; }
html[data-soda-theme="noir"] .product-card,
html[data-soda-theme="noir"] .partner-card { background: #20161f; border-color: #60394f; }
html[data-soda-theme="noir"] .product-visual,
html[data-soda-theme="noir"] .product-dialog-visual { background: #32232e; }
html[data-soda-theme="noir"] .product-number,
html[data-soda-theme="noir"] .product-brand { color: #ffabd3; }
html[data-soda-theme="noir"] .japan-section { background: #21151e; border-color: #60394f; }
html[data-soda-theme="noir"] .edition-toggle { background: #38232f; border-color: #79425e; }
html[data-soda-theme="noir"] .edition-toggle > button { color: #f6ddea; }
html[data-soda-theme="noir"] .edition-toggle > button.active { background: #ff83bf; color: #24101b; }
html[data-soda-theme="noir"] .kawaii-stamp { color: #ad1f55; }
html[data-soda-theme="noir"] .water-section { background: #121f2b; border-color: #365269; }
html[data-soda-theme="noir"] .single-panel,
html[data-soda-theme="noir"] .visual-showcase-card,
html[data-soda-theme="noir"] .brands-alive-card { background: linear-gradient(135deg, #281823, #171119 60%, #301827); border-color: #79425e; }
html[data-soda-theme="noir"] .creative-wordmark { background: #2a1826; border-color: #79425e; }
html[data-soda-theme="noir"] .social-section { background: #301628; }
html[data-soda-theme="noir"] .site-footer { background: #130e14; border-color: #60394f; }
html[data-soda-theme="noir"] .faqs details { border-color: #563448; }

html[data-soda-theme="noir"] .filter { color: #f6ddea; border-color: #82526b; }
html[data-soda-theme="noir"] .filter.active,
html[data-soda-theme="noir"] .filter:hover { background: #ff83bf; color: #24101b; border-color: #ff83bf; }
html[data-soda-theme="noir"] .button:where(:not(.outline, .blue-button, .dark-button, .social-outline, .pink, .dark)) { background: #b7225c; color: #fff; }
html[data-soda-theme="noir"] .button:where(:not(.outline, .blue-button, .dark-button, .social-outline, .pink, .dark)):hover { background: #d12a6d; }
html[data-soda-theme="noir"] .button.outline,
html[data-soda-theme="noir"] .social-outline { color: #ffd6e9; border-color: #d082a7; background: transparent; }
html[data-soda-theme="noir"] .button.outline:hover,
html[data-soda-theme="noir"] .social-outline:hover { color: #fff; background: #4d263d; }
html[data-soda-theme="noir"] .dark-button,
html[data-soda-theme="noir"] .button.dark { background: #51263f; color: #fff; }
html[data-soda-theme="noir"] .dark-button:hover,
html[data-soda-theme="noir"] .button.dark:hover { background: #713452; }
html[data-soda-theme="noir"] .blue-button { background: #165f8e; color: #fff; }
html[data-soda-theme="noir"] .blue-button:hover { background: #2375a8; }
html[data-soda-theme="noir"] .idol-copy .button:not(.outline) { background: #ffadd0; color: #32152e; }
html[data-soda-theme="noir"] .idol-copy .button:not(.outline):hover { background: #ffd0e4; }

html[data-soda-theme="noir"] .collaboration-kicker,
html[data-soda-theme="noir"] .collaboration-copy h3 span,
html[data-soda-theme="noir"] .brands-title-pink { color: #ff8ac3; }
html[data-soda-theme="noir"] .collaboration-copy h3,
html[data-soda-theme="noir"] .collaboration-copy h3 .title-first,
html[data-soda-theme="noir"] .brands-title-dark { color: #fff0f7; }
html[data-soda-theme="noir"] .collaboration-description,
html[data-soda-theme="noir"] .collaboration-soon,
html[data-soda-theme="noir"] .collaboration-genre { color: #ddc4d4; }
html[data-soda-theme="noir"] .collaboration-card { background: #281923; border-color: #79425e; }
html[data-soda-theme="noir"] .collab-jump-links > a { background: #2a1925; color: #ffd4e9; border-color: #79425e; }
html[data-soda-theme="noir"] .collab-jump-links > a:hover { background: #4a263b; color: #fff; }
html[data-soda-theme="noir"] .partner-copy h3 > span { color: #ff9dcd; }
html[data-soda-theme="noir"] .creative-wordmark > .marionetas-wordmark,
html[data-soda-theme="noir"] .creative-wordmark > .marionetas-wordmark .tm-final-letter > sup { color: #ff8ac3 !important; }
html[data-soda-theme="noir"] #kawaii-pizza-game .game-title-brand .game-title-pizza,
html[data-soda-theme="noir"] #kawaii-pizza-game .game-title-pizza .tm-final-letter > sup { color: #fff0f7 !important; }
html[data-soda-theme="noir"] #kawaii-pizza-game .game-title-subtitle { color: #ff9dcd !important; }
html[data-soda-theme="noir"] .corporate-contact:hover > strong,
html[data-soda-theme="noir"] .corporate-contact > span { color: #ff9dcd; }
html[data-soda-theme="noir"] .footer-nav .corporate-contact > strong { color: #d5bdce; }

/* Image pixels and gallery behavior are untouched. */
html[data-soda-theme="noir"] dialog { background: #1c141e; color: #fff0f7; border-color: #79425e; }
html[data-soda-theme="noir"] .art-image-frame { background: #0c090e; }
html[data-soda-theme="noir"] .art-dialog-header,
html[data-soda-theme="noir"] .art-dialog-footer { background: #21161f; border-color: #60394f; }
html[data-soda-theme="noir"] .gallery-zoom,
html[data-soda-theme="noir"] .image-expand,
html[data-soda-theme="noir"] .visual-showcase-poster .gallery-zoom { background: #291521; color: #ffd4e9; border-color: #d387ab; }
html[data-soda-theme="noir"] .dark-campaign-toolbar > span { color: #ead1e0; }

/* The independent book page retains its existing dark hero and artwork. */
html[data-soda-theme="noir"] .skip,
html[data-soda-theme="noir"] .cover-figure,
html[data-soda-theme="noir"] .real-portrait { color: #2b2030; }
html[data-soda-theme="noir"] .portrait-section { background: #2c1c29; }
html[data-soda-theme="noir"] .synopsis,
html[data-soda-theme="noir"] .portrait-copy > p:not(.eyebrow),
html[data-soda-theme="noir"] .book-topics span,
html[data-soda-theme="noir"] .cast-intro,
html[data-soda-theme="noir"] .cast-copy > p:not(.cast-role),
html[data-soda-theme="noir"] .cast-copy blockquote,
html[data-soda-theme="noir"] .cast-count,
html[data-soda-theme="noir"] .cover-note,
html[data-soda-theme="noir"] .book-closing > p { color: #dec6d6; }
html[data-soda-theme="noir"] .cast-role,
html[data-soda-theme="noir"] .signature { color: #ff9dcd; }
html[data-soda-theme="noir"] .cast-card { background: #231821; border-color: #60394f; }
html[data-soda-theme="noir"] .cast-art,
html[data-soda-theme="noir"] .cast-card:nth-child(3n+2) .cast-art,
html[data-soda-theme="noir"] .cast-card:nth-child(3n) .cast-art { background: #382633; }
html[data-soda-theme="noir"] .cast-art::before,
html[data-soda-theme="noir"] .cast-card:nth-child(3n+2) .cast-art::before,
html[data-soda-theme="noir"] .cast-card:nth-child(3n) .cast-art::before { background: #4b3144; }
html[data-soda-theme="noir"] .cast-filters button { border-color: #98617d; }
html[data-soda-theme="noir"] .cast-filters button[aria-pressed="true"] { background: #ff83bf; color: #24101b; border-color: #ff83bf; }

html[data-soda-theme="noir"] .kawaii-music-paw-reference > img,
html[data-soda-theme="noir"] .kawaii-music-control.is-playing .kawaii-music-paw-reference > img {
  filter: drop-shadow(2px 0 0 #c82359) drop-shadow(-2px 0 0 #c82359)
    drop-shadow(0 2px 0 #c82359) drop-shadow(0 -2px 0 #c82359)
    drop-shadow(0 0 7px rgba(255, 87, 174, .95))
    drop-shadow(0 0 17px rgba(255, 52, 151, .75))
    drop-shadow(0 0 29px rgba(255, 52, 151, .4));
}

/* Only the header's new control needs tighter spacing on small screens. */
@media (max-width: 760px) {
  .site-header .header-actions { gap: 7px; }
  .soda-noir-toggle { min-width: 46px; min-height: 39px; padding: 7px; font-size: 9px; }
}
@media (max-width: 430px) {
  .site-header .header-inner { gap: 7px; }
  .site-header .header-actions { gap: 4px; }
  .book-header-inner { gap: 7px; }
  .soda-noir-toggle { min-width: 41px; padding-inline: 5px; }
}
@media (max-width: 360px) {
  .site-header .header-inner { gap: 5px; }
  .site-header .header-actions { gap: 2px; }
  .book-header-inner { gap: 4px; }
  .soda-noir-toggle { min-width: 38px; padding-inline: 4px; font-size: 8px; }
  html[lang="ja"] .site-header .header-inner { width: calc(100% - 16px); gap: 3px; }
  html[lang="ja"] .site-header .main-nav { left: -8px; right: -8px; }
}

/* Kawaii Soda 1.1.30 — single Noir exception requested by the owner.
   Only the MarionetasInc™ × Kawaii Cola presentation card remains white in Noir.
   No other Noir surface, gallery, audio control, layout or artwork is changed. */
html[data-soda-theme="noir"] #marionetasinc .creative-wordmark {
  background: #fff !important;
  border-color: #f0dce6 !important;
}
html[data-soda-theme="noir"] #marionetasinc .creative-wordmark > .marionetas-wordmark,
html[data-soda-theme="noir"] #marionetasinc .creative-wordmark > .marionetas-wordmark .tm-final-letter > sup {
  color: #ac2b60 !important;
}
html[data-soda-theme="noir"] #marionetasinc .creative-wordmark .creative-x {
  color: #bf7292 !important;
}

/* Kawaii Soda 1.1.31 — owner-requested logo proportion correction only.
   KAWAII and SODA use the same type size and the same visible line width.
   The trademark is absolutely positioned, so it is not included in the KAWAII line width.
   Applies equally to header and footer; no other layout, slogan, gallery, theme or player rules change. */
.brand-words > .brand-primary {
  position: relative !important;
  display: inline-block !important;
  width: max-content !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
}
.brand-words > .brand-primary > sup {
  position: absolute !important;
  left: calc(100% + .025em) !important;
  right: auto !important;
  top: -.08em !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .32em !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: scale(1.125) !important;
  transform-origin: left top !important;
}
.brand-words > .brand-secondary {
  display: block !important;
  width: max-content !important;
  padding: 0 !important;
  margin-top: 2px !important;
  font-size: 18px !important;
  line-height: .96 !important;
  letter-spacing: .13em !important;
  white-space: nowrap !important;
}
@media (max-width: 1190px) {
  .brand-words > .brand-primary,
  .brand-words > .brand-secondary {
    font-size: 18px !important;
  }
}
@media (max-width: 760px) {
  .brand-words > .brand-primary,
  .brand-words > .brand-secondary {
    font-size: 18px !important;
  }
}


/* Kawaii Soda 1.1.32 — gallery assets + desktop logo parity only.
   Desktop KAWAII/SODA remains at the same 18px type size as phone; ™ stays excluded from width. */
