:root {
  --theme-primary:#8b6bb8;--theme-accent:#7997d8;--theme-bg:#eee9f3;--theme-text:#342b45;--theme-muted:#6f647d;
  --theme-user-bubble:rgba(112,82,137,.94);--theme-user-bubble-text:#fff;
  --theme-assistant-bubble:rgba(255,255,255,.82);--theme-assistant-bubble-text:#342b45;
  --theme-card:rgba(255,255,255,.62);--theme-card-text:#342b45;--theme-card-muted:#6f647d;--theme-input-text:#342b45;
  --theme-bottom-nav:rgba(255,255,255,.74);--theme-nav-text:#62576f;--theme-nav-active-text:#5e3f7c;--theme-preview-text:#342b45;
  --theme-header-bg:rgba(255,255,255,.68);--theme-header-text:#342b45;--theme-input-bg:rgba(255,255,255,.76);--theme-composer-bg:rgba(255,255,255,.68);
  --theme-user-bubble-border:rgba(91,67,112,.14);--theme-assistant-bubble-border:rgba(91,67,112,.14);--theme-input-radius:18px;
  --theme-border:rgba(91,67,112,.14);--theme-shadow-soft:0 8px 22px rgba(63,44,78,.10);--theme-blur:12px;
  --theme-radius-bubble:24px;--theme-radius-card:28px;--theme-font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --theme-font-size:15px;--theme-chat-width:auto;--theme-bubble-max:78%;--theme-message-gap:14px;--theme-nav-height:86px;
  --theme-glass:.62;--theme-background-dim:.12;--theme-bubble-opacity:.96;--theme-nav-opacity:.92;--theme-card-opacity:.82;
  --theme-radius-nav:24px;--theme-blur-nav:12px;--theme-blur-bubble:0px;--theme-background-blur:0px;
  --theme-animation-duration:.2s;--theme-background-image:none;
  --theme-bubble-texture:none;--theme-nav-texture:none;--theme-input-decoration:none;--theme-header-decoration:none;--theme-avatar-frame:none;
  --xb-color-bg:var(--theme-bg);--xb-color-text:var(--theme-text);--xb-header-bg:var(--theme-header-bg);--xb-header-text:var(--theme-header-text);
  --xb-card-bg:var(--theme-card);--xb-card-text:var(--theme-card-text);--xb-composer-bg:var(--theme-composer-bg);--xb-input-bg:var(--theme-input-bg);--xb-input-text:var(--theme-input-text);
  --xb-bottom-nav-bg:var(--theme-bottom-nav);--xb-nav-text:var(--theme-nav-text);--xb-chat-user-bubble-bg:var(--theme-user-bubble);--xb-chat-user-bubble-text:var(--theme-user-bubble-text);
  --xb-chat-assistant-bubble-bg:var(--theme-assistant-bubble);--xb-chat-assistant-bubble-text:var(--theme-assistant-bubble-text);--xb-border-color:var(--theme-border);--xb-radius-bubble:var(--theme-radius-bubble);--xb-radius-card:var(--theme-radius-card);
  --xb-color-surface:var(--theme-card);--xb-color-surface-soft:color-mix(in srgb,var(--theme-card) 76%,var(--theme-bg));--xb-color-text-muted:var(--theme-muted);--xb-color-accent:var(--theme-primary);--xb-color-accent-soft:color-mix(in srgb,var(--theme-primary) 15%,var(--theme-card));
  --xb-accent:var(--theme-primary);--xb-accent-soft:color-mix(in srgb,var(--theme-primary) 13%,var(--theme-card));--xb-accent-soft-2:color-mix(in srgb,var(--theme-primary) 22%,var(--theme-card));--xb-accent-strong:color-mix(in srgb,var(--theme-primary) 86%,var(--theme-text));--xb-accent-border:color-mix(in srgb,var(--theme-primary) 28%,var(--theme-border));--xb-accent-text:var(--theme-primary);--xb-accent-icon-bg:color-mix(in srgb,var(--theme-primary) 14%,var(--theme-card));--xb-accent-card-bg:color-mix(in srgb,var(--theme-primary) 19%,var(--theme-card));--xb-accent-card-text:var(--theme-card-text);--xb-fab-bg:color-mix(in srgb,var(--theme-primary) 20%,var(--theme-bottom-nav));--xb-fab-text:var(--theme-primary);
  --xb-page-bg:var(--theme-bg);--xb-page-text:var(--theme-text);--xb-card-muted:var(--theme-card-muted);--xb-card-border:var(--theme-border);--xb-card-shadow:var(--theme-shadow-soft);
  --xb-nav-active-bg:color-mix(in srgb,var(--theme-primary) 14%,var(--theme-bottom-nav));--xb-nav-active-text:var(--theme-primary);--xb-nav-active-icon:var(--theme-primary);
  --xb-button-bg:var(--theme-primary);--xb-button-text:#fff;--xb-button-border:var(--theme-border);--xb-input-border:var(--theme-border);
  --xb-status-bg:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-card));--xb-status-text:var(--theme-card-text);--xb-badge-bg:color-mix(in srgb,var(--theme-primary) 13%,var(--theme-card));--xb-badge-text:var(--theme-card-text);
  --xb-avatar-ring:var(--theme-accent);--xb-progress-bg:color-mix(in srgb,var(--theme-card-muted) 18%,var(--theme-card));--xb-progress-fill:var(--theme-primary);--xb-radius-button:calc(var(--theme-radius-card) * .48);
  --xb-bg-image:none;--xb-bg-image-opacity:.35;--xb-header-decor:none;--xb-user-bubble-decor:none;--xb-assistant-bubble-decor:none;--xb-avatar-frame:none;--xb-input-decor:none;--xb-home-card-decor:none;--xb-nav-accent:none;
  --bg:var(--theme-bg);--surface:var(--theme-card);--surface-soft:color-mix(in srgb,var(--theme-card) 82%,var(--theme-bg));
  --primary:var(--theme-primary);--primary-dark:var(--theme-accent);--primary-light:color-mix(in srgb,var(--theme-primary) 16%,transparent);
  --text:var(--theme-card-text);--muted:var(--theme-card-muted);--line:var(--theme-border);--shadow:var(--theme-shadow-soft);
  --radius-lg:var(--theme-radius-card);--nav-height:var(--theme-nav-height);font-family:var(--theme-font-family);font-size:var(--theme-font-size)
}
body,.app-shell{color:var(--xb-color-text);background-color:var(--xb-color-bg);font-family:var(--theme-font-family)}
.app-shell{background-image:linear-gradient(rgba(0,0,0,var(--theme-background-dim)),rgba(0,0,0,var(--theme-background-dim))),var(--theme-background-image);background-position:center;background-size:cover}
.bottom-nav{min-height:var(--theme-nav-height);border-color:var(--xb-border-color);border-radius:var(--theme-radius-nav) var(--theme-radius-nav) 0 0;color:var(--xb-nav-text);background:var(--xb-bottom-nav-bg);box-shadow:var(--theme-shadow-soft);backdrop-filter:blur(var(--theme-blur-nav)) saturate(115%)}
.bottom-nav a{color:var(--theme-nav-text)}.bottom-nav a.is-active,.bottom-nav a[aria-current=page]{color:var(--theme-nav-active-text)}
.card,.settings-zone section,.dashboard-card,.memory-card,.appearance-settings,.chat-background-settings,.avatar-settings,.preference-data-settings{border-color:var(--xb-border-color);border-radius:var(--xb-radius-card);color:var(--xb-card-text);background:color-mix(in srgb,var(--xb-card-bg) calc(var(--theme-card-opacity) * 100%),transparent);box-shadow:var(--theme-shadow-soft);contain:layout paint}
.settings-zone section p,.settings-zone section small,.card p,.card small{color:var(--theme-card-muted)}
.message-row{margin-bottom:var(--theme-message-gap);contain:layout paint;content-visibility:auto;contain-intrinsic-size:auto 76px}
.message-bubble{max-width:var(--theme-bubble-max);border-color:var(--theme-assistant-bubble-border);border-radius:var(--theme-radius-bubble);color:var(--theme-assistant-bubble-text);background:var(--theme-assistant-bubble);box-shadow:none;opacity:var(--theme-bubble-opacity)}
.message-row--user .message-bubble{border-color:var(--theme-user-bubble-border);color:var(--theme-user-bubble-text);background:var(--theme-user-bubble)}
.message-bubble p{color:var(--xb-chat-assistant-bubble-text)!important}.message-row--user .message-bubble p{color:var(--xb-chat-user-bubble-text)!important}
.composer__field,input,select,textarea,dialog{border-color:var(--theme-border);color:var(--theme-input-text);background:color-mix(in srgb,var(--theme-card) 88%,transparent)}
button,.provider-button--primary,.message-game-link{border-radius:calc(var(--theme-radius-card) * .5);transition-duration:var(--theme-animation-duration)}
html.has-xinban-theme,html.has-xinban-theme body{background:var(--theme-bg)}
html.has-xinban-theme body.chat-page{color:var(--theme-text);background:var(--theme-bg)}
html.has-xinban-theme .chat-shell{background-color:var(--xb-color-bg);background-image:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--theme-primary) 25%,transparent),transparent 34%),radial-gradient(circle at 88% 54%,color-mix(in srgb,var(--theme-accent) 16%,transparent),transparent 31%),linear-gradient(180deg,color-mix(in srgb,var(--xb-color-bg) 72%,transparent),color-mix(in srgb,var(--xb-color-bg) 82%,transparent)),var(--xb-bg-image),var(--theme-background-image);background-position:center;background-size:cover}
html.has-xinban-theme .chat-header{border-color:var(--xb-border-color);color:var(--xb-header-text);background:var(--xb-header-bg);box-shadow:var(--theme-shadow-soft);backdrop-filter:blur(var(--theme-blur-nav))}
html.has-xinban-theme .chat-header::after{position:absolute;z-index:0;right:10px;bottom:0;width:min(120px,32%);max-width:120px;height:54px;max-height:54px;contain:paint;pointer-events:none;background:var(--xb-header-decor) right bottom/contain no-repeat;content:""}
html.has-xinban-theme .chat-header::after{opacity:var(--xb-slot-chat-header-decor-opacity);border:var(--xb-slot-chat-header-decor-border-width) solid var(--xb-slot-chat-header-decor-border-color);border-radius:var(--xb-slot-chat-header-decor-radius);box-shadow:var(--xb-slot-chat-header-decor-shadow);transform:translate(var(--xb-slot-chat-header-decor-x),var(--xb-slot-chat-header-decor-y)) rotate(var(--xb-slot-chat-header-decor-rotation)) scale(var(--xb-slot-chat-header-decor-scale))}
html.has-xinban-theme .chat-header__button{border-color:var(--theme-border);color:var(--theme-nav-active-text);background:var(--theme-card)}
html.has-xinban-theme .chat-companion h1{color:var(--xb-header-text)}html.has-xinban-theme .chat-companion p{color:var(--theme-muted)}
html.has-xinban-theme .chat-model-badge{border-color:var(--theme-border);color:var(--theme-accent);background:color-mix(in srgb,var(--theme-primary) 12%,transparent)}
html.has-xinban-theme .conversation-note{border-color:var(--theme-border);color:var(--theme-card-muted);background:var(--theme-card)}
html.has-xinban-theme .message-row .message-bubble{position:relative;max-width:var(--theme-bubble-max);border-color:var(--theme-assistant-bubble-border);border-radius:var(--xb-radius-bubble);color:var(--xb-chat-assistant-bubble-text);background:var(--xb-chat-assistant-bubble-bg);box-shadow:var(--theme-shadow-soft);opacity:var(--theme-bubble-opacity)}
html.has-xinban-theme .message-row .message-bubble{background-image:var(--theme-bubble-texture);background-position:right bottom;background-repeat:no-repeat;background-size:auto 54%}
html.has-xinban-theme .message-row--user .message-bubble{border-color:var(--theme-user-bubble-border);color:var(--xb-chat-user-bubble-text);background:var(--xb-chat-user-bubble-bg);box-shadow:var(--theme-shadow-soft)}
html.has-xinban-theme .message-row--ai .message-bubble::before,html.has-xinban-theme .message-row--user .message-bubble::after{position:absolute;z-index:0;bottom:-7px;width:44px;max-width:44px;height:44px;max-height:44px;contain:paint;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain;content:""}html.has-xinban-theme .message-row--ai .message-bubble::before{left:-8px;background-image:var(--xb-assistant-bubble-decor)}html.has-xinban-theme .message-row--user .message-bubble::after{right:-8px;background-image:var(--xb-user-bubble-decor)}
html.has-xinban-theme .message-row--ai .message-bubble::before{opacity:var(--xb-slot-assistant-bubble-decor-opacity);border:var(--xb-slot-assistant-bubble-decor-border-width) solid var(--xb-slot-assistant-bubble-decor-border-color);border-radius:var(--xb-slot-assistant-bubble-decor-radius);box-shadow:var(--xb-slot-assistant-bubble-decor-shadow);transform:translate(var(--xb-slot-assistant-bubble-decor-x),var(--xb-slot-assistant-bubble-decor-y)) rotate(var(--xb-slot-assistant-bubble-decor-rotation)) scale(var(--xb-slot-assistant-bubble-decor-scale))}html.has-xinban-theme .message-row--user .message-bubble::after{opacity:var(--xb-slot-user-bubble-decor-opacity);border:var(--xb-slot-user-bubble-decor-border-width) solid var(--xb-slot-user-bubble-decor-border-color);border-radius:var(--xb-slot-user-bubble-decor-radius);box-shadow:var(--xb-slot-user-bubble-decor-shadow);transform:translate(var(--xb-slot-user-bubble-decor-x),var(--xb-slot-user-bubble-decor-y)) rotate(var(--xb-slot-user-bubble-decor-rotation)) scale(var(--xb-slot-user-bubble-decor-scale))}
html.has-xinban-theme .message-row .message-bubble p{color:var(--xb-chat-assistant-bubble-text)!important}html.has-xinban-theme .message-row--user .message-bubble p{color:var(--xb-chat-user-bubble-text)!important}
html.has-xinban-theme .message-bubble>p{position:relative;z-index:1}
html.has-xinban-theme .composer{border-color:var(--xb-border-color);background:var(--xb-composer-bg);box-shadow:var(--theme-shadow-soft)}
html.has-xinban-theme .composer .composer__field{border-color:var(--xb-border-color);border-radius:var(--theme-input-radius);color:var(--xb-input-text);background:var(--xb-input-bg)}
html.has-xinban-theme .composer::after{position:absolute;z-index:0;right:58px;bottom:6px;width:46px;max-width:46px;height:46px;max-height:46px;contain:paint;pointer-events:none;background:var(--xb-input-decor) center/contain no-repeat;content:""}
html.has-xinban-theme .composer::after{opacity:var(--xb-slot-input-decor-opacity);border:var(--xb-slot-input-decor-border-width) solid var(--xb-slot-input-decor-border-color);border-radius:var(--xb-slot-input-decor-radius);box-shadow:var(--xb-slot-input-decor-shadow);transform:translate(var(--xb-slot-input-decor-x),var(--xb-slot-input-decor-y)) rotate(var(--xb-slot-input-decor-rotation)) scale(var(--xb-slot-input-decor-scale))}
html.has-xinban-theme .chat-header>*,html.has-xinban-theme .composer-tools,html.has-xinban-theme .composer__voice,html.has-xinban-theme .composer__field,html.has-xinban-theme .composer__send{z-index:1}
html.has-xinban-theme .composer textarea{color:var(--theme-input-text);background:transparent}html.has-xinban-theme .composer textarea::placeholder{color:var(--theme-card-muted)}
html.has-xinban-theme .composer .composer__image,html.has-xinban-theme .composer .composer__file,html.has-xinban-theme .composer .composer__sticker,html.has-xinban-theme .composer__voice{color:var(--theme-nav-active-text);background:var(--theme-card)}
html.has-xinban-theme .composer__send,html.has-xinban-theme .message-game-link{color:#fff;background:linear-gradient(145deg,var(--theme-primary),color-mix(in srgb,var(--theme-primary) 72%,#241c36))}
html.has-xinban-theme .bottom-nav{color:var(--xb-nav-text);background:var(--xb-bottom-nav-bg)}html.has-xinban-theme .bottom-nav a{color:var(--xb-nav-text)}html.has-xinban-theme .bottom-nav a.is-active,html.has-xinban-theme .bottom-nav a[aria-current=page]{color:var(--theme-nav-active-text)}
html.has-xinban-theme .bottom-nav{background-image:var(--xb-nav-accent),var(--theme-nav-texture);background-position:center bottom,center;background-repeat:no-repeat;background-size:auto 32px,cover}
html.has-xinban-theme .chat-avatar::before{position:absolute;z-index:0;inset:0;max-width:100%;max-height:100%;contain:paint;pointer-events:none;background:var(--xb-avatar-frame) center/contain no-repeat;content:""}
html.has-xinban-theme .bottom-nav .bottom-nav__chat svg{border-color:var(--theme-border);color:#fff;background:linear-gradient(145deg,var(--theme-primary),var(--theme-accent));box-shadow:var(--theme-shadow-soft)}
html.has-xinban-theme .session-drawer,html.has-xinban-theme .attachment-tray,html.has-xinban-theme .sticker-panel{border-color:var(--theme-border);color:var(--theme-card-text);background:color-mix(in srgb,var(--theme-card) 94%,var(--theme-bg));box-shadow:var(--theme-shadow-soft)}
[data-theme-effects=performance] *{animation-duration:0s!important;scroll-behavior:auto!important;transition-duration:0s!important}
[data-theme-effects=performance] .bottom-nav{backdrop-filter:none;box-shadow:none}
[data-theme-effects=performance] .message-bubble::before,[data-theme-effects=performance] .message-bubble::after,[data-theme-effects=performance] .chat-header::after,[data-theme-effects=performance] .composer::after,[data-theme-effects=performance] .companion-hero::after,[data-theme-effects=performance] .today-card::before{display:none}

/* Safe cross-page visual slots. External selectors never execute; localized images only paint bounded pseudo-elements. */
html.has-xinban-theme .home-shell,html.has-xinban-theme .dashboard-shell,html.has-xinban-theme .settings-shell,html.has-xinban-theme .theme-workshop-shell{color:var(--xb-color-text);background-color:var(--xb-color-bg);background-image:linear-gradient(rgba(0,0,0,calc(var(--theme-background-dim) * .5)),rgba(0,0,0,calc(var(--theme-background-dim) * .5))),var(--xb-bg-image);background-position:center;background-repeat:no-repeat;background-size:cover}
html.has-xinban-theme .home-header,html.has-xinban-theme .dashboard-header,html.has-xinban-theme .settings-header,html.has-xinban-theme .theme-workshop-header{color:var(--xb-header-text)}
html.has-xinban-theme .quiet-button,html.has-xinban-theme .dashboard-header__button,html.has-xinban-theme .settings-header__back,html.has-xinban-theme .theme-workshop-header a{border-color:var(--xb-border-color);color:var(--theme-nav-active-text);background:var(--xb-header-bg)}
html.has-xinban-theme .companion-hero,html.has-xinban-theme .companion-profile{border-color:var(--xb-border-color);border-radius:var(--xb-radius-card);color:var(--xb-card-text);background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 74%,var(--xb-card-bg)),color-mix(in srgb,var(--theme-accent) 45%,var(--xb-color-bg)));box-shadow:var(--theme-shadow-soft)}
html.has-xinban-theme .today-card,html.has-xinban-theme .action-card,html.has-xinban-theme .status-card,html.has-xinban-theme .activity-card,html.has-xinban-theme .settings-zone section,html.has-xinban-theme .theme-panel{border-color:var(--xb-border-color);border-radius:var(--xb-radius-card);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--theme-shadow-soft)}
html.has-xinban-theme .home-section-heading,html.has-xinban-theme .dashboard-section-heading,html.has-xinban-theme .settings-section-heading{color:var(--xb-color-text)}
html.has-xinban-theme .home-section-heading p,html.has-xinban-theme .home-section-heading>span,html.has-xinban-theme .dashboard-section-heading p,html.has-xinban-theme .dashboard-section-heading>span{color:var(--theme-card-muted)}
html.has-xinban-theme .companion-hero,html.has-xinban-theme .today-card,html.has-xinban-theme .companion-profile{isolation:isolate}
html.has-xinban-theme .companion-hero::after,html.has-xinban-theme .today-card::before,html.has-xinban-theme .companion-profile::before{position:absolute;z-index:0;right:-4px;bottom:-4px;width:min(150px,42%);max-width:150px;height:120px;max-height:120px;contain:paint;pointer-events:none;opacity:.48;background:var(--xb-home-card-decor) right bottom/contain no-repeat;content:""}
html.has-xinban-theme .companion-hero::after,html.has-xinban-theme .today-card::before,html.has-xinban-theme .companion-profile::before{opacity:var(--xb-slot-home-card-decor-opacity);border:var(--xb-slot-home-card-decor-border-width) solid var(--xb-slot-home-card-decor-border-color);border-radius:var(--xb-slot-home-card-decor-radius);box-shadow:var(--xb-slot-home-card-decor-shadow);transform:translate(var(--xb-slot-home-card-decor-x),var(--xb-slot-home-card-decor-y)) rotate(var(--xb-slot-home-card-decor-rotation)) scale(var(--xb-slot-home-card-decor-scale))}
html.has-xinban-theme .companion-portrait::after,html.has-xinban-theme .dashboard-avatar::after{position:absolute;z-index:0;inset:-5px;max-width:calc(100% + 10px);max-height:calc(100% + 10px);contain:paint;pointer-events:none;background:var(--xb-avatar-frame) center/contain no-repeat;content:""}
html.has-xinban-theme .companion-portrait::after,html.has-xinban-theme .dashboard-avatar::after,html.has-xinban-theme .chat-avatar::before{opacity:var(--xb-slot-avatar-frame-opacity);border:var(--xb-slot-avatar-frame-border-width) solid var(--xb-slot-avatar-frame-border-color);border-radius:var(--xb-slot-avatar-frame-radius);box-shadow:var(--xb-slot-avatar-frame-shadow);transform:translate(var(--xb-slot-avatar-frame-x),var(--xb-slot-avatar-frame-y)) rotate(var(--xb-slot-avatar-frame-rotation)) scale(var(--xb-slot-avatar-frame-scale))}
@media(min-width:521px){.bottom-nav{border-radius:0 0 var(--theme-radius-card) var(--theme-radius-card)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}

/* v60 canonical coverage: color-only overrides. These rules intentionally do not alter chat layout geometry. */
html.has-xinban-theme body{color:var(--xb-page-text);background-color:var(--xb-page-bg)}
html.has-xinban-theme :is(.home-page,.dashboard-page,.settings-page,.theme-workshop-page,.review-page,.memory-page,.sticker-manager-page,.game-page){color:var(--xb-page-text);background-color:var(--xb-page-bg)}
html.has-xinban-theme :is(.home-header__eyebrow,.dashboard-header__eyebrow,.settings-header p,.home-section-heading p,.home-section-heading>span,.dashboard-section-heading p,.dashboard-section-heading>span,.review-header small){color:var(--xb-color-text-muted,var(--theme-muted))}
html.has-xinban-theme :is(.home-header h1,.dashboard-header h1,.settings-header h1,.theme-workshop-header h1,.review-header h1){color:var(--xb-page-text)}
html.has-xinban-theme :is(.quiet-button,.dashboard-header__button,.settings-header__back,.review-header>a){border-color:var(--xb-button-border);color:var(--xb-nav-active-text);background-color:var(--xb-header-bg);box-shadow:var(--xb-card-shadow)}

html.has-xinban-theme :is(.companion-hero,.companion-profile){border-color:var(--xb-card-border);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.companion-portrait,.dashboard-avatar){border-color:var(--xb-avatar-ring);background-color:color-mix(in srgb,var(--xb-card-bg) 12%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--xb-avatar-ring) 18%,transparent)}
html.has-xinban-theme :is(.companion-portrait__orbit,.companion-profile__chat){border-color:color-mix(in srgb,var(--xb-avatar-ring) 48%,transparent)}
html.has-xinban-theme .companion-portrait__moon,html.has-xinban-theme .dashboard-avatar__moon{background:rgba(255,255,255,.72);box-shadow:0 0 38px color-mix(in srgb,var(--xb-accent) 14%,transparent)}
html.has-xinban-theme .companion-portrait__moon::after,html.has-xinban-theme .dashboard-avatar__moon::after{background:color-mix(in srgb,var(--xb-page-bg) 88%,var(--xb-accent))}
html.has-xinban-theme :is(.online-pill,.online-label,.status-card__tag){border-color:var(--xb-card-border);color:var(--xb-status-text);background:var(--xb-status-bg)}
html.has-xinban-theme :is(.online-pill span,.online-label span,.status-card__tag i){background:var(--xb-progress-fill);box-shadow:0 0 0 4px color-mix(in srgb,var(--xb-progress-fill) 15%,transparent)}

html.has-xinban-theme :is(.today-card,.action-card,.status-card,.activity-timeline,.memory-card,.explanation-card,.review-notice,.review-status,.candidate-card,.review-card,.sticker-upload,.sticker-import,.single-sticker,.manager-card){border-color:var(--xb-card-border);border-radius:var(--xb-radius-card);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.today-card__copy span,.today-card__copy p,.today-card__meter small,.action-card__copy small,.action-card__arrow,.status-card__label,.status-card__detail span,.status-card__detail strong,.memory-count span,.activity-entry time,.activity-entry p,.candidate-meta,.review-source){color:var(--xb-card-muted)}
html.has-xinban-theme :is(.today-card__mark,.action-card__icon,.status-card__icon,.activity-entry__marker){color:var(--xb-color-accent);background:var(--xb-color-accent-soft)}
html.has-xinban-theme .today-card__meter span{background:var(--xb-progress-bg)}
html.has-xinban-theme .today-card__meter span:nth-child(-n+4){background:var(--xb-progress-fill)}
html.has-xinban-theme :is(.status-card__detail,.activity-entry__body){border-color:var(--xb-card-border)}
html.has-xinban-theme .action-card--chat{color:var(--xb-button-text);background:linear-gradient(135deg,var(--xb-button-bg),color-mix(in srgb,var(--xb-button-bg) 72%,var(--xb-page-bg)));box-shadow:var(--xb-card-shadow)}

html.has-xinban-theme :is(.settings-intro,.provider-button--primary,.theme-actions button[data-theme-apply],.candidate-actions button,.review-actions button,.review-more){border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-button-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.provider-form,.provider-panel,.appearance-settings,.preference-data-settings,.chat-background-settings,.avatar-settings,.theme-panel,.theme-import-review,.theme-asset-card,.theme-asset-preview-dialog){border-color:var(--xb-card-border);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.settings-header__mode,.provider-endpoint,.provider-mode,.theme-readability-fix,.theme-actions button,.theme-actions label,.theme-chat-link){border-color:var(--xb-badge-bg);color:var(--xb-badge-text);background:var(--xb-badge-bg)}
html.has-xinban-theme :is(input,select,textarea,.provider-field input,.review-filters input,.review-filters select,.review-editor input,.review-editor select,.review-editor textarea){border-color:var(--xb-input-border);color:var(--xb-input-text);background:var(--xb-input-bg)}
html.has-xinban-theme :is(button,.provider-button,.theme-actions button,.review-more){border-radius:var(--xb-radius-button)}

html.has-xinban-theme :is(.bottom-nav,.game-nav){border-color:var(--xb-card-border);color:var(--xb-nav-text);background:var(--xb-bottom-nav-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.bottom-nav,.game-nav) a{color:var(--xb-nav-text)}
html.has-xinban-theme :is(.bottom-nav,.game-nav) a:is(.is-active,[aria-current=page]){border-radius:var(--xb-radius-button);color:var(--xb-nav-active-text);background:var(--xb-nav-active-bg)}

/* Game shell coverage; board intersections, stones and drawing canvases retain functional colors. */
html.has-xinban-theme body.game-page{color:var(--xb-page-text);background:var(--xb-page-bg)}
html.has-xinban-theme .game-header{color:var(--xb-header-text)}
html.has-xinban-theme .game-header p,html.has-xinban-theme .panel-heading p{color:var(--xb-color-text-muted,var(--theme-muted))}
html.has-xinban-theme .game-header a,html.has-xinban-theme .panel-heading>button{color:var(--xb-color-accent)}
html.has-xinban-theme .hero-card{border-color:var(--xb-card-border);color:var(--xb-card-text);background:linear-gradient(145deg,color-mix(in srgb,var(--xb-color-accent) 72%,var(--xb-card-bg)),color-mix(in srgb,var(--theme-accent) 48%,var(--xb-page-bg)));box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.lobby-card,.game-panel,.guess-result,.preset-drawing){border-color:var(--xb-card-border);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.lobby-card p,.game-status,.answer-field){color:var(--xb-card-muted)}
html.has-xinban-theme :is(.lobby-icon,.status,.mode-tabs button,.drawing-tools button,.guess-result button){border-color:var(--xb-button-border);color:var(--xb-badge-text);background:var(--xb-badge-bg)}
html.has-xinban-theme :is(.lobby-card button,.primary-button,.secondary-button,.guess-form button,.mode-tabs .is-active){border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-button-bg)}
html.has-xinban-theme :is(.answer-field input,.guess-form input){border-color:var(--xb-input-border);color:var(--xb-input-text);background:var(--xb-input-bg)}

/* v62 collaboration and space coverage. Color-only overrides preserve page and chat geometry. */
html.has-xinban-theme body.collaboration-page,
html.has-xinban-theme body.space-page,
html.has-xinban-theme body.space-studio-page{color:var(--xb-page-text);background:var(--xb-page-bg)}
html.has-xinban-theme :is(.collaboration-page,.space-page,.space-studio-page) :is(.page-header h1,.studio-header h1,.section-heading h2,.intro-card h2,.room-header h2,.preview-card h2,.profile-card h2,.panel h2){color:var(--xb-page-text)}
html.has-xinban-theme :is(.collaboration-page,.space-page,.space-studio-page) :is(.page-header p,.studio-header p,.studio-kicker,.section-heading p,.eyebrow,label,legend,.agent-option small,.intro-card div>p:last-child,.preview-card div>p:last-child,.panel>p,.profile-card dt){color:var(--xb-color-text-muted)}

html.has-xinban-theme .collaboration-page :is(.intro-card,.create-card,.room-card,.agent-card,.summary-card){border-color:var(--xb-card-border);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme .collaboration-page .page-header>a{border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-button-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme .collaboration-page :is(textarea,input,select,.provider-config-dialog form){border-color:var(--xb-input-border);color:var(--xb-input-text);background:var(--xb-input-bg)}
html.has-xinban-theme .collaboration-page textarea:focus{border-color:var(--xb-color-accent);box-shadow:0 0 0 3px var(--xb-color-accent-soft)}
html.has-xinban-theme .collaboration-page :is(.roundtable-mark,.agent-option:has(input:checked),.room-context span){color:var(--xb-badge-text);background:var(--xb-color-accent-soft)}
html.has-xinban-theme .collaboration-page :is(.roundtable-mark i,.roundtable-mark span,.agent-avatar,.participant-avatar,.message__avatar){border-color:var(--xb-avatar-ring);color:var(--xb-button-text);background:var(--xb-color-accent);box-shadow:none}
html.has-xinban-theme .collaboration-page :is(.agent-card>button,.secondary-button,.provider-config-actions button){border-color:var(--xb-button-border);color:var(--xb-card-text);background:var(--xb-color-surface-soft)}
html.has-xinban-theme .collaboration-page :is(.primary-button,.provider-config-actions button[type=submit]){border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-color-accent);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme .collaboration-page :is(.message__body,.message--chatgpt .message__body){color:var(--xb-card-text);background:var(--xb-color-surface-soft)}
html.has-xinban-theme .collaboration-page .message__body p{color:var(--xb-card-muted)}

html.has-xinban-theme :is(.space-page,.space-studio-page) :is(.preview-card,.studio-card,.studio-preview,.profile-card,.panel,fieldset){border-color:var(--xb-card-border);color:var(--xb-card-text);background:var(--xb-card-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.space-page,.space-studio-page) :is(.page-header>span,.profile-card dl div,.preset-preview span){border-color:var(--xb-card-border);color:var(--xb-badge-text);background:var(--xb-badge-bg)}
html.has-xinban-theme :is(.space-page,.space-studio-page) :is(input[type=text],input[type=url],select){border-color:var(--xb-input-border);color:var(--xb-input-text);background:var(--xb-input-bg)}
html.has-xinban-theme :is(.space-page,.space-studio-page) input[type=range]{accent-color:var(--xb-color-accent)}
html.has-xinban-theme :is(.space-page,.space-studio-page) :is(.section-heading button,fieldset button,.file-control,.button--quiet){border-color:var(--xb-button-border);color:var(--xb-card-text);background:var(--xb-color-surface-soft)}
html.has-xinban-theme :is(.space-page,.space-studio-page) :is(.segmented button.is-active,.button:not(.button--quiet)){border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-color-accent)}
html.has-xinban-theme :is(.space-page,.space-studio-page) :is(input,select,button):focus-visible{outline-color:var(--xb-color-accent);border-color:var(--xb-color-accent)}
html.has-xinban-theme :is(.space-page,.space-studio-page) .moon{color:var(--xb-color-accent);background:var(--xb-color-accent-soft);box-shadow:0 0 36px color-mix(in srgb,var(--xb-color-accent) 20%,transparent)}
html.has-xinban-theme :is(.space-page,.space-studio-page) .app-tab-bar{border-color:var(--xb-card-border);color:var(--xb-nav-text);background:var(--xb-bottom-nav-bg);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.space-page,.space-studio-page) .app-tab-bar a{color:var(--xb-nav-text)}
html.has-xinban-theme :is(.space-page,.space-studio-page) .app-tab-bar a[aria-current=page]{color:var(--xb-nav-active-text);background:var(--xb-nav-active-bg)}
html.has-xinban-theme :is(.space-page,.space-studio-page) .app-tab-bar__chat-icon{border-color:var(--xb-button-border);background:var(--xb-color-accent);box-shadow:var(--xb-card-shadow)}

html.has-xinban-theme :is(.bottom-nav,.app-tab-bar) a:is(.is-active,[aria-current=page]){color:var(--xb-nav-active-text);background:var(--xb-nav-active-bg)}
html.has-xinban-theme .bottom-nav .bottom-nav__chat svg{border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-color-accent);box-shadow:var(--xb-card-shadow)}
html.has-xinban-theme :is(.today-card__mark,.action-card__icon,.status-card__icon){color:var(--xb-color-accent);background:var(--xb-color-accent-soft)}
html.has-xinban-theme .today-card__meter span:nth-child(-n+4){background:var(--xb-progress-fill)}
html.has-xinban-theme .action-card--chat{color:var(--xb-button-text);background:var(--xb-color-accent)}

/* v63 computed audit fixes. Bridge legacy companion variables without changing layout. */
html.has-xinban-theme .collaboration-page{--ink:var(--xb-card-text);--muted:var(--xb-card-muted);--purple:var(--xb-color-accent);--purple-dark:var(--xb-color-accent);--lavender:var(--xb-color-accent-soft);--paper:var(--xb-card-bg);--line:var(--xb-card-border);--shadow:var(--xb-card-shadow)}
html.has-xinban-theme .collaboration-page :is(.section-heading>span,.room-status,.empty-room,.summary-card>p){color:var(--xb-color-text-muted)}
html.has-xinban-theme .collaboration-page :is(.agent-option:has(input:checked),.roundtable-mark,.room-context span){background:var(--xb-color-accent-soft)}
html.has-xinban-theme .collaboration-page :is(.roundtable-mark i,.roundtable-mark span,.roundtable-mark span:last-child,.agent-avatar,.participant-avatar,.participant-avatar--chatgpt,.message__avatar){border-color:var(--xb-avatar-ring);color:var(--xb-button-text);background:var(--xb-color-accent)}
html.has-xinban-theme .collaboration-page :is(.primary-button,.message-game-link){background:var(--xb-button-bg)}

html.has-xinban-theme :is(.space-page,.space-studio-page){--theme-color-text:var(--xb-page-text);--theme-color-text-muted:var(--xb-color-text-muted);--theme-color-primary:var(--xb-color-accent);--theme-color-primary-strong:var(--xb-button-bg);--theme-color-primary-bright:var(--theme-accent);--theme-color-surface:var(--xb-card-bg);--theme-color-surface-soft:var(--xb-color-surface-soft);--theme-color-border:var(--xb-card-border);--theme-color-focus:var(--xb-color-accent-soft);--theme-shadow:var(--xb-card-shadow);--avatar-border-color:var(--xb-avatar-ring);--avatar-ring-color:var(--xb-color-accent-soft);--avatar-surface:linear-gradient(145deg,var(--theme-accent),var(--xb-color-accent))}
html.has-xinban-theme :is(.space-page,.space-studio-page).companion-themed-page{background-color:var(--xb-page-bg);background-image:linear-gradient(180deg,var(--xb-page-bg),color-mix(in srgb,var(--xb-page-bg) 92%,var(--xb-color-accent)))}
html.has-xinban-theme :is(.space-page,.space-studio-page) .preview-card::after,
html.has-xinban-theme :is(.space-page,.space-studio-page) .studio-preview__background{background-image:linear-gradient(180deg,var(--xb-page-bg),color-mix(in srgb,var(--xb-page-bg) 92%,var(--xb-color-accent)))}

html.has-xinban-theme :is(.chat-background-actions button:first-child,.avatar-settings__actions button,.avatar-editor__actions button:last-child,.session-new,.composer__send,.message-game-link){border-color:var(--xb-button-border);color:var(--xb-button-text);background:var(--xb-button-bg);box-shadow:var(--xb-card-shadow)}

/* v65 imported themes use their own accent or neutral glass; default purple is preset-only. */
html.has-xinban-theme body.home-page{background-image:linear-gradient(180deg,var(--xb-page-bg),color-mix(in srgb,var(--xb-page-bg) 94%,var(--xb-card-bg)))}
html.has-xinban-theme .companion-hero__glow--two{background:var(--xb-accent-icon-bg)}

/* v66 fixed-region custom design. No user selectors or layout geometry are accepted. */
html.has-xinban-theme[data-xb-design-regions~="chat-page"] body.chat-page{color:var(--xb-design-chat-page-text);background-color:var(--xb-design-chat-page-bg);background-image:var(--xb-design-chat-page-image);background-position:var(--xb-design-chat-page-image-position);background-repeat:var(--xb-design-chat-page-image-repeat);background-size:var(--xb-design-chat-page-image-size);background-blend-mode:var(--xb-design-chat-page-image-blend)}
html.has-xinban-theme[data-xb-design-regions~="chat-header"] .chat-header{border-width:var(--xb-design-chat-header-border-width);border-color:var(--xb-design-chat-header-border);border-radius:var(--xb-design-chat-header-radius);color:var(--xb-design-chat-header-text);background-color:var(--xb-design-chat-header-bg);box-shadow:var(--xb-design-chat-header-shadow);backdrop-filter:blur(var(--xb-design-chat-header-blur))}
html.has-xinban-theme[data-xb-design-regions~="chat-user-bubble"] .message-row--user .message-bubble{border-width:var(--xb-design-chat-user-bubble-border-width);border-color:var(--xb-design-chat-user-bubble-border);border-radius:var(--xb-design-chat-user-bubble-radius);color:var(--xb-design-chat-user-bubble-text);background-color:var(--xb-design-chat-user-bubble-bg);box-shadow:var(--xb-design-chat-user-bubble-shadow)}
html.has-xinban-theme[data-xb-design-regions~="chat-assistant-bubble"] .message-row--ai .message-bubble{border-width:var(--xb-design-chat-assistant-bubble-border-width);border-color:var(--xb-design-chat-assistant-bubble-border);border-radius:var(--xb-design-chat-assistant-bubble-radius);color:var(--xb-design-chat-assistant-bubble-text);background-color:var(--xb-design-chat-assistant-bubble-bg);box-shadow:var(--xb-design-chat-assistant-bubble-shadow)}
html.has-xinban-theme[data-xb-design-regions~="chat-composer"] .composer{border-width:var(--xb-design-chat-composer-border-width);border-color:var(--xb-design-chat-composer-border);border-radius:var(--xb-design-chat-composer-radius);color:var(--xb-design-chat-composer-text);background-color:var(--xb-design-chat-composer-bg);box-shadow:var(--xb-design-chat-composer-shadow);backdrop-filter:blur(var(--xb-design-chat-composer-blur))}
html.has-xinban-theme[data-xb-design-regions~="chat-bottom-nav"] body.chat-page .bottom-nav{border-color:var(--xb-design-chat-bottom-nav-border);border-radius:var(--xb-design-chat-bottom-nav-radius);color:var(--xb-design-chat-bottom-nav-text);background-color:var(--xb-design-chat-bottom-nav-bg);box-shadow:var(--xb-design-chat-bottom-nav-shadow);backdrop-filter:blur(var(--xb-design-chat-bottom-nav-blur))}
html.has-xinban-theme[data-xb-design-regions~="chat-send-button"] .composer__send{border-color:var(--xb-design-chat-send-button-border);border-radius:var(--xb-design-chat-send-button-radius);color:var(--xb-design-chat-send-button-text);background:var(--xb-design-chat-send-button-bg);box-shadow:var(--xb-design-chat-send-button-shadow)}
html.has-xinban-theme[data-xb-design-regions~="chat-active-button"] body.chat-page .bottom-nav .bottom-nav__chat svg,html.has-xinban-theme[data-xb-design-regions~="chat-active-button"] body.chat-page .bottom-nav a.is-active,html.has-xinban-theme[data-xb-design-regions~="chat-active-button"] body.chat-page .bottom-nav a[aria-current=page]{border-color:var(--xb-design-chat-active-button-border);border-radius:var(--xb-design-chat-active-button-radius);color:var(--xb-design-chat-active-button-text);background:var(--xb-design-chat-active-button-bg);box-shadow:var(--xb-design-chat-active-button-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-page"] body.home-page{color:var(--xb-design-home-page-text);background-color:var(--xb-design-home-page-bg);background-image:var(--xb-design-home-page-image);background-position:var(--xb-design-home-page-image-position);background-repeat:var(--xb-design-home-page-image-repeat);background-size:var(--xb-design-home-page-image-size)}
html.has-xinban-theme[data-xb-design-regions~="home-hero"] .companion-hero{border-width:var(--xb-design-home-hero-border-width);border-color:var(--xb-design-home-hero-border);border-radius:var(--xb-design-home-hero-radius);color:var(--xb-design-home-hero-text);background:var(--xb-design-home-hero-bg);box-shadow:var(--xb-design-home-hero-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-today-card"] .today-card{border-width:var(--xb-design-home-today-card-border-width);border-color:var(--xb-design-home-today-card-border);border-radius:var(--xb-design-home-today-card-radius);color:var(--xb-design-home-today-card-text);background:var(--xb-design-home-today-card-bg);box-shadow:var(--xb-design-home-today-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-start-chat-card"] .action-card--chat{border-width:var(--xb-design-home-start-chat-card-border-width);border-color:var(--xb-design-home-start-chat-card-border);border-radius:var(--xb-design-home-start-chat-card-radius);color:var(--xb-design-home-start-chat-card-text);background:var(--xb-design-home-start-chat-card-bg);box-shadow:var(--xb-design-home-start-chat-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-secondary-cards"] :is(.action-card--memory,.action-card--status){border-width:var(--xb-design-home-secondary-cards-border-width);border-color:var(--xb-design-home-secondary-cards-border);border-radius:var(--xb-design-home-secondary-cards-radius);color:var(--xb-design-home-secondary-cards-text);background:var(--xb-design-home-secondary-cards-bg);box-shadow:var(--xb-design-home-secondary-cards-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-icon-block"] :is(.today-card__mark,.action-card__icon){border-color:var(--xb-design-home-icon-block-border);border-radius:var(--xb-design-home-icon-block-radius);color:var(--xb-design-home-icon-block-text);background:var(--xb-design-home-icon-block-bg);box-shadow:var(--xb-design-home-icon-block-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-progress"] .today-card__meter{background:var(--xb-design-home-progress-bg)}html.has-xinban-theme[data-xb-design-regions~="home-progress"] .today-card__meter span:nth-child(-n+4){background:var(--xb-design-home-progress-accent)}
html.has-xinban-theme[data-xb-design-regions~="home-avatar"] .companion-portrait{border-color:var(--xb-design-home-avatar-accent);box-shadow:var(--xb-design-home-avatar-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-status"] :is(.online-pill,.online-label,.status-card__tag){border-color:var(--xb-design-home-status-border);border-radius:var(--xb-design-home-status-radius);color:var(--xb-design-home-status-text);background:var(--xb-design-home-status-bg)}
html.has-xinban-theme[data-xb-design-regions~="home-bottom-nav"] body.home-page .bottom-nav{border-color:var(--xb-design-home-bottom-nav-border);border-radius:var(--xb-design-home-bottom-nav-radius);color:var(--xb-design-home-bottom-nav-text);background:var(--xb-design-home-bottom-nav-bg);box-shadow:var(--xb-design-home-bottom-nav-shadow)}
html.has-xinban-theme[data-xb-design-regions~="home-active-button"] body.home-page .bottom-nav a.is-active,html.has-xinban-theme[data-xb-design-regions~="home-active-button"] body.home-page .bottom-nav a[aria-current=page]{color:var(--xb-design-home-active-button-text);background:var(--xb-design-home-active-button-bg);border-radius:var(--xb-design-home-active-button-radius)}
html.has-xinban-theme[data-xb-design-regions~="space-page"] :is(.space-page,.space-studio-page){color:var(--xb-design-space-page-text);background-color:var(--xb-design-space-page-bg);background-image:var(--xb-design-space-page-image)}
html.has-xinban-theme[data-xb-design-regions~="space-card"] :is(.space-page,.space-studio-page) :is(.preview-card,.studio-card,.panel){border-color:var(--xb-design-space-card-border);border-radius:var(--xb-design-space-card-radius);color:var(--xb-design-space-card-text);background:var(--xb-design-space-card-bg);box-shadow:var(--xb-design-space-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="space-avatar-card"] :is(.space-page,.space-studio-page) :is(.avatar-card,.avatar-preview,.profile-card){border-color:var(--xb-design-space-avatar-card-border);border-radius:var(--xb-design-space-avatar-card-radius);color:var(--xb-design-space-avatar-card-text);background:var(--xb-design-space-avatar-card-bg);box-shadow:var(--xb-design-space-avatar-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="space-input"] :is(.space-page,.space-studio-page) :is(input,textarea){border-color:var(--xb-design-space-input-border);color:var(--xb-design-space-input-text);background:var(--xb-design-space-input-bg)}html.has-xinban-theme[data-xb-design-regions~="space-button"] :is(.space-page,.space-studio-page) button{border-color:var(--xb-design-space-button-border);color:var(--xb-design-space-button-text);background:var(--xb-design-space-button-bg)}
html.has-xinban-theme[data-xb-design-regions~="collaboration-page"] .collaboration-page{color:var(--xb-design-collaboration-page-text);background-color:var(--xb-design-collaboration-page-bg);background-image:var(--xb-design-collaboration-page-image)}
html.has-xinban-theme[data-xb-design-regions~="collaboration-card"] .collaboration-page :is(.intro-card,.create-card,.agent-card,.message){border-color:var(--xb-design-collaboration-card-border);border-radius:var(--xb-design-collaboration-card-radius);color:var(--xb-design-collaboration-card-text);background:var(--xb-design-collaboration-card-bg);box-shadow:var(--xb-design-collaboration-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="collaboration-avatar-card"] .collaboration-page :is(.agent-card,.participant-card,.participant-avatar,.message__avatar){border-color:var(--xb-design-collaboration-avatar-card-border);border-radius:var(--xb-design-collaboration-avatar-card-radius);color:var(--xb-design-collaboration-avatar-card-text);background:var(--xb-design-collaboration-avatar-card-bg);box-shadow:var(--xb-design-collaboration-avatar-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="collaboration-input"] .collaboration-page :is(input,textarea){border-color:var(--xb-design-collaboration-input-border);color:var(--xb-design-collaboration-input-text);background:var(--xb-design-collaboration-input-bg)}html.has-xinban-theme[data-xb-design-regions~="collaboration-button"] .collaboration-page :is(button,.primary-button){border-color:var(--xb-design-collaboration-button-border);color:var(--xb-design-collaboration-button-text);background:var(--xb-design-collaboration-button-bg)}
html.has-xinban-theme[data-xb-design-regions~="settings-page"] :is(.settings-page,.theme-workshop-page){color:var(--xb-design-settings-page-text);background-color:var(--xb-design-settings-page-bg);background-image:var(--xb-design-settings-page-image)}
html.has-xinban-theme[data-xb-design-regions~="settings-card"] :is(.settings-page,.theme-workshop-page) :is(.settings-zone section,.theme-panel){border-color:var(--xb-design-settings-card-border);border-radius:var(--xb-design-settings-card-radius);color:var(--xb-design-settings-card-text);background:var(--xb-design-settings-card-bg);box-shadow:var(--xb-design-settings-card-shadow)}
html.has-xinban-theme[data-xb-design-regions~="settings-button"] :is(.settings-page,.theme-workshop-page) button{border-color:var(--xb-design-settings-button-border);color:var(--xb-design-settings-button-text);background-color:var(--xb-design-settings-button-bg)}html.has-xinban-theme[data-xb-design-regions~="settings-input"] :is(.settings-page,.theme-workshop-page) :is(input,select,textarea){border-color:var(--xb-design-settings-input-border);color:var(--xb-design-settings-input-text);background-color:var(--xb-design-settings-input-bg)}html.has-xinban-theme[data-xb-design-regions~="settings-bottom-nav"] body.settings-page .bottom-nav{border-color:var(--xb-design-settings-bottom-nav-border);color:var(--xb-design-settings-bottom-nav-text);background:var(--xb-design-settings-bottom-nav-bg)}
html.has-xinban-theme :is(.bottom-nav,.app-tab-bar) a:is(.is-active,[aria-current=page]){border:1px solid var(--xb-accent-border);color:var(--xb-nav-active-text);background:var(--xb-nav-active-bg);box-shadow:0 6px 18px color-mix(in srgb,var(--xb-accent) 9%,transparent)}
html.has-xinban-theme :is(.bottom-nav,.app-tab-bar) a:is(.is-active,[aria-current=page]) svg{color:var(--xb-nav-active-icon)}
html.has-xinban-theme .bottom-nav .bottom-nav__chat svg,
html.has-xinban-theme .app-tab-bar .app-tab-bar__chat-icon{border-color:var(--xb-accent-border);color:var(--xb-fab-text);background:var(--xb-fab-bg);box-shadow:0 7px 18px color-mix(in srgb,var(--xb-accent) 12%,transparent)}
html.has-xinban-theme .action-card--chat{border-color:var(--xb-accent-border);color:var(--xb-card-text);background:var(--xb-accent-card-bg);box-shadow:0 10px 28px color-mix(in srgb,var(--xb-accent) 10%,transparent)}
html.has-xinban-theme .action-card--chat .action-card__icon{color:var(--xb-accent-text);background:var(--xb-accent-icon-bg)}
html.has-xinban-theme .action-card--chat :is(.action-card__copy small,.action-card__arrow){color:color-mix(in srgb,var(--xb-accent-card-text) 72%,var(--xb-accent))}
html.has-xinban-theme :is(.today-card__mark,.action-card__icon,.status-card__icon,.activity-entry__marker){border:1px solid var(--xb-accent-border);color:var(--xb-accent-text);background:var(--xb-accent-icon-bg)}
html.has-xinban-theme .today-card__meter span{background:var(--xb-progress-bg)}
html.has-xinban-theme .today-card__meter span:nth-child(-n+4){background:var(--xb-progress-fill)}
html.has-xinban-theme :is(.composer__send,.message-game-link){border:1px solid var(--xb-accent-border);color:var(--xb-fab-text);background:var(--xb-fab-bg);box-shadow:0 6px 16px color-mix(in srgb,var(--xb-accent) 10%,transparent)}
html.has-xinban-theme :is(.chat-background-actions button:first-child,.avatar-settings__actions button,.avatar-editor__actions button:last-child){border-color:var(--xb-accent-border);color:var(--xb-accent-text);background:var(--xb-accent-soft-2);box-shadow:0 6px 16px color-mix(in srgb,var(--xb-accent) 9%,transparent)}
html.has-xinban-theme :is(.collaboration-page,.space-page,.space-studio-page) :is(.primary-button,.segmented button.is-active,.button:not(.button--quiet)){border-color:var(--xb-accent-border);color:var(--xb-accent-strong);background:var(--xb-accent-soft-2);box-shadow:0 6px 18px color-mix(in srgb,var(--xb-accent) 9%,transparent)}
