html[data-orbit-theme="sunset"] {
  --theme-ink: #874335; --theme-muted: #9b746e; --theme-accent: #f67670;
  --theme-line: #e9b6aa; --theme-panel: #fff9f0d9;
  --theme-sky: radial-gradient(circle at 50% 27%, #fffef8 0 15%, transparent 48%), radial-gradient(ellipse at 4% 90%, #ffc9b6 0, transparent 40%), radial-gradient(ellipse at 100% 80%, #ffd7b9 0, transparent 38%), linear-gradient(150deg, #ffe4da, #fff9ed 55%, #fff0df);
  --theme-orb-filter: hue-rotate(142deg) saturate(1.85) contrast(1.8) brightness(.76);
  --theme-orb-halo: #bf647c94; --theme-orb-edge: #a93e58;
  --theme-head: #fff3df; --theme-body: #fff5e5; --theme-limb: #ffafa0;
  --theme-ear: #ffaaa0; --theme-glow: #ffb99399; --theme-eye: #fff9e7;
}
html[data-orbit-theme="mint"] {
  --theme-ink: #147c91; --theme-muted: #6687a5; --theme-accent: #25bbbc;
  --theme-line: #9fdedc; --theme-panel: #f5ffffd9;
  --theme-sky: radial-gradient(circle at 52% 32%, #fffef9 0 13%, transparent 45%), radial-gradient(ellipse at 0 95%, #b8f9e6 0, transparent 42%), radial-gradient(ellipse at 100% 15%, #9adbf9 0, transparent 45%), linear-gradient(145deg, #d5f9ef, #f6ffff 55%, #d2f5fc);
  --theme-orb-filter: hue-rotate(-53deg) saturate(1.8) contrast(1.8) brightness(.75);
  --theme-orb-halo: #288d9b94; --theme-orb-edge: #147287;
  --theme-head: #f7ffff; --theme-body: #f2ffff; --theme-limb: #7dbdf0;
  --theme-ear: #78d7ed; --theme-glow: #9fffe499; --theme-eye: #a8ffff;
}
html[data-orbit-theme="lavender"] {
  --theme-ink: #6652a2; --theme-muted: #8b80ae; --theme-accent: #9980e9;
  --theme-line: #d4c4ee; --theme-panel: #fffaffdd;
  --theme-sky: radial-gradient(circle at 48% 31%, #fffdf5 0 12%, transparent 46%), radial-gradient(ellipse at 4% 78%, #e0d2ff 0, transparent 43%), radial-gradient(ellipse at 100% 70%, #f9d9ed 0, transparent 42%), linear-gradient(145deg, #f4eaff, #fffaf8 55%, #e9e0ff);
  --theme-orb-filter: hue-rotate(48deg) saturate(1.45) contrast(1.8) brightness(.76);
  --theme-orb-halo: #7958b996; --theme-orb-edge: #594397;
  --theme-head: #faf6ff; --theme-body: #f8f4ff; --theme-limb: #b6a2f6;
  --theme-ear: #c3acf3; --theme-glow: #d5bcff99; --theme-eye: #d4faff;
}

html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) body.orb-journey,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #giftView.gift-page {
  background: var(--theme-sky) !important;
  color: var(--theme-ink) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-orb canvas,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #particleOrb {
  filter: var(--theme-orb-filter) drop-shadow(0 0 2px var(--theme-orb-edge)) drop-shadow(0 0 24px var(--theme-orb-halo));
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-orb::before,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneAvatarStage::before {
  content: ""; position: absolute; z-index: 0; pointer-events: none;
  left: 50%; top: 0; width: min(66%, 470px); height: 86%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 43%, var(--theme-orb-halo), transparent 68%);
  filter: blur(22px);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-transition-layer {
  background: var(--theme-sky);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-transition-orb {
  background: radial-gradient(circle, var(--theme-glow), transparent 70%);
  box-shadow: 0 0 90px var(--theme-glow);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-transition-orb img {
  filter: var(--theme-orb-filter);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-transition-orb::after {
  border-color: var(--theme-line);
  box-shadow: 0 0 38px var(--theme-glow);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .journey-transition-label {
  color: var(--theme-ink);
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.journey-reading-entering #particleOrb {
  filter: var(--theme-orb-filter) drop-shadow(0 0 28px var(--theme-orb-halo));
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-companion {
  filter: drop-shadow(0 12px 18px #71576a35) drop-shadow(0 0 23px var(--theme-glow));
}
html[data-orbit-theme="sunset"] .orb-companion {
  --pet-cape-light: #b45a7b; --pet-cape-mid: #783754; --pet-cape-dark: #492b55; --pet-cape-fold: #dc89a0;
  --pet-hat-light: #c36b80; --pet-hat-mid: #793d68; --pet-hat-dark: #4a2c5f; --pet-hat-band: #71334c;
  --pet-brim-light: #d58d9b; --pet-brim-mid: #944c72; --pet-brim-dark: #512b55;
  --pet-shell-light: #fff0de; --pet-shell-mid: #ffb2a5; --pet-shell-dark: #e67e86;
  --pet-arm: #f59b99; --pet-foot: #e58b8d; --pet-outline: #98576e;
  --pet-face: #3d263d; --pet-face-edge: #ad6283; --pet-eye: #fff8dd;
  --pet-crystal-light: #fff5d0; --pet-crystal-mid: #ffc493; --pet-crystal-dark: #d774a1;
}
html[data-orbit-theme="mint"] .orb-companion {
  --pet-cape-light: #24939b; --pet-cape-mid: #1b6178; --pet-cape-dark: #164f68; --pet-cape-fold: #65c6ba;
  --pet-hat-light: #45b6aa; --pet-hat-mid: #237e91; --pet-hat-dark: #1b5c77; --pet-hat-band: #185b6b;
  --pet-brim-light: #8cdec9; --pet-brim-mid: #348f97; --pet-brim-dark: #19506b;
  --pet-shell-light: #f4ffef; --pet-shell-mid: #8bdfca; --pet-shell-dark: #43b7bd;
  --pet-arm: #6ccfca; --pet-foot: #48b8bc; --pet-outline: #246c87;
  --pet-face: #103b50; --pet-face-edge: #398d98; --pet-eye: #d8fff0;
  --pet-crystal-light: #fffedb; --pet-crystal-mid: #a2ffe2; --pet-crystal-dark: #45b8c1;
}
html[data-orbit-theme="lavender"] .orb-companion {
  --pet-cape-light: #aa82cc; --pet-cape-mid: #644e9b; --pet-cape-dark: #504075; --pet-cape-fold: #c6a7e2;
  --pet-hat-light: #b79bda; --pet-hat-mid: #7763ad; --pet-hat-dark: #594a87; --pet-hat-band: #69528d;
  --pet-brim-light: #d5b9e8; --pet-brim-mid: #8e70b7; --pet-brim-dark: #514376;
  --pet-shell-light: #fff7ff; --pet-shell-mid: #cbb7f4; --pet-shell-dark: #a38fdf;
  --pet-arm: #bda5ed; --pet-foot: #a991df; --pet-outline: #695b9e;
  --pet-face: #292241; --pet-face-edge: #806cb3; --pet-eye: #e7faff;
  --pet-crystal-light: #fff8e4; --pet-crystal-mid: #e6bcff; --pet-crystal-dark: #9a79d6;
}

html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-brand,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-brand small,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey h2,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #giftView h2,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey p,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #giftView p,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey label { color: var(--theme-ink) !important; }
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey .ui-area,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey .login-panel {
  background: var(--theme-panel) !important;
  border-color: var(--theme-line) !important;
  box-shadow: 0 20px 55px #5c78901c !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey input,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey select {
  background: #ffffffc9 !important; border-color: var(--theme-line) !important; color: var(--theme-ink) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orb-journey button:not(.orbit-theme-trigger),
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #giftView button:not(.orbit-theme-trigger) {
  background: var(--theme-accent) !important; border-color: transparent !important; color: white !important;
  box-shadow: 0 10px 25px var(--theme-glow) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .meeting-topbar {
  background: transparent !important; border-bottom-color: var(--theme-line) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .meeting-identity strong,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .meeting-identity small,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .meeting-timer,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .orb-caption p,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .fortune-avatar-presence { color: var(--theme-ink) !important; }
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .voice-toolbar {
  background: linear-gradient(transparent, var(--theme-panel)) !important;
  border-top-color: var(--theme-line) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .fortune-panel-shell,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .dialogue-box,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .fortune-session-panel,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .fortune-module,
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .fortune-context-preview {
  background: var(--theme-panel) !important; border-color: var(--theme-line) !important;
  color: var(--theme-ink) !important; box-shadow: 0 16px 45px #67758b18 !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first :is(.fortune-side-heading h2, .fortune-side-heading h3, .fortune-preparation-intro h3, .fortune-module p, .fortune-context-summary, .speaker-name, .dialogue-text, .fortune-panel-eyebrow, #realtimeCallStatus, .lesson-focus h3, .lesson-focus p) {
  color: var(--theme-ink) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first :is(.voice-toolbar button, #meetingEndSessionButton, .transcript-heading button) {
  background: var(--theme-panel) !important; color: var(--theme-ink) !important; border-color: var(--theme-line) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first #realtimeCallButton {
  background: var(--theme-accent) !important; color: #fff !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first .lesson-focus {
  background: var(--theme-panel) !important; color: var(--theme-ink) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first :is(.lesson-selected-card, .lesson-satellite) {
  background: var(--theme-panel) !important; color: var(--theme-ink) !important;
  border-color: var(--theme-line) !important;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) #fortuneView.fortune-screen.voice-first :is(.lesson-selected-card strong, .lesson-selected-card span, .lesson-satellite strong, .lesson-satellite span) {
  color: var(--theme-ink) !important;
}

.orbit-theme-trigger {
  position: fixed !important; z-index: 90 !important; top: 20px; right: 20px;
  display: inline-flex !important; align-items: center; gap: 7px;
  padding: 8px 13px !important; margin: 0 !important; width: auto !important; min-height: 34px;
  border: 1px solid #8bbfe55e !important; border-radius: 30px !important;
  background: #0b2035dc !important; color: #e4f5ff !important;
  box-shadow: 0 8px 25px #02091344 !important; font: 500 12px 'Noto Sans JP', sans-serif !important;
  cursor: pointer;
}
html[data-orbit-theme]:not([data-orbit-theme="cosmic"]) .orbit-theme-trigger {
  background: var(--theme-panel) !important; color: var(--theme-ink) !important; border-color: var(--theme-line) !important;
}
#fortuneView .meeting-topbar-actions .orbit-theme-trigger {
  position: static !important; flex: 0 0 auto; min-width: 0; box-shadow: none !important;
}
body:has(#fortuneView) .orbit-theme-trigger--gift { display: none !important; right: 20px; top: 20px; }
body:has(#giftView:not(.hidden)) .orbit-theme-trigger--gift { display: inline-flex !important; }
.orbit-theme-overlay[hidden] { display: none !important; }
.orbit-theme-overlay {
  position: fixed; z-index: 200; inset: 0; display: grid; place-items: center;
  padding: 18px; background: #07101bb8; backdrop-filter: blur(8px);
}
.orbit-theme-dialog {
  width: min(570px, 100%); max-height: min(680px, 90dvh); overflow-y: auto;
  padding: 24px; border: 1px solid #92bde477; border-radius: 22px;
  background: #0d1d30; color: #ecf7ff; box-shadow: 0 25px 90px #0008;
  font-family: 'Noto Sans JP', sans-serif;
}
.orbit-theme-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.orbit-theme-heading span { color: #80b5d5; font: 600 10px 'Manrope', sans-serif; letter-spacing: .2em; }
.orbit-theme-heading h2 { margin: 5px 0 0; color: inherit !important; font-size: 23px; }
.orbit-theme-dialog p { margin: 9px 0 18px; color: #acc4d6 !important; font-size: 13px; }
.orbit-theme-close { border: 0 !important; background: transparent !important; color: inherit !important; box-shadow: none !important; font-size: 25px !important; cursor: pointer; }
.orbit-theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.orbit-theme-options button {
  display: flex !important; flex-direction: column; align-items: start; gap: 4px;
  margin: 0 !important; padding: 10px !important; min-width: 0; width: 100%;
  text-align: left; border: 2px solid transparent !important; border-radius: 14px !important;
  background: #152b42 !important; color: #eaf7ff !important; box-shadow: none !important; cursor: pointer;
}
.orbit-theme-options button[aria-pressed="true"] { border-color: #a9efff !important; }
.orbit-theme-swatch { display: block; height: 78px; width: 100%; border-radius: 9px; background: radial-gradient(circle at 50% 55%, #54cfff, #102657 55%, #020612); }
[data-theme-option="sunset"] .orbit-theme-swatch { background: radial-gradient(circle at 50% 55%, #ffbd9f, #fff8ec 44%, #ffd1c0); }
[data-theme-option="mint"] .orbit-theme-swatch { background: radial-gradient(circle at 50% 55%, #7ce7e5, #f2ffff 44%, #a8dffb); }
[data-theme-option="lavender"] .orbit-theme-swatch { background: radial-gradient(circle at 50% 55%, #bca8ff, #fff8fd 44%, #e0d3ff); }
.orbit-theme-options strong { font-size: 14px; }
.orbit-theme-options small { color: #abc4d5; font-size: 11px; }
.orbit-theme-dialog .orbit-theme-note { margin: 16px 0 0; font-size: 11px; }
html[data-orbit-theme] body.orb-journey .orbit-theme-dialog p,
html[data-orbit-theme] body.orb-journey .orbit-theme-dialog h2 { color: #ecf7ff !important; }
html[data-orbit-theme] body.orb-journey .orbit-theme-options button {
  background: #152b42 !important; color: #eaf7ff !important;
  border: 2px solid transparent !important; box-shadow: none !important;
}
html[data-orbit-theme] body.orb-journey .orbit-theme-options button[aria-pressed="true"] { border-color: #a9efff !important; }
html[data-orbit-theme] body.orb-journey .orbit-theme-close {
  background: transparent !important; color: #ecf7ff !important; border: 0 !important; box-shadow: none !important;
}
@media (max-width: 700px) {
  .orbit-theme-trigger { top: 14px; right: 14px; padding: 7px 10px !important; }
  .orbit-theme-trigger span:last-child { display: none; }
  body:has(#fortuneView) .orbit-theme-trigger--gift { right: 14px; top: 14px; }
  .orbit-theme-dialog { padding: 18px; }
}
