/* Text tokens are independent of decorative accent colors. */
:root[data-theme]{--theme-text:#f5f5ff;--readable-accent:var(--theme-accent);color-scheme:dark}
:root[data-theme="matrix"]{--theme-text:#b3ffc5}
:root[data-theme="win98"]{--theme-text:#161616;--readable-accent:#000080;color-scheme:light}
:root[data-theme="liminal"]{--theme-text:#302e24;--readable-accent:#62551b;color-scheme:light}
:root[data-theme="aero"]{--theme-text:#173d50;--readable-accent:#0d659b;color-scheme:light}
:root[data-theme="barbiecore"]{--theme-text:#a60058;--readable-accent:#a60058;color-scheme:light}
:root[data-theme] body .camera-report,:root[data-theme] body .self-camera-tools button,:root[data-theme] body .country-picker-trigger,:root[data-theme] body .country-picker button{font-family:var(--ui-font)!important;letter-spacing:normal}
:root[data-theme] body .camera-report,:root[data-theme] body .self-camera-tools .controls button{color:var(--theme-text);background:var(--theme-surface)}
:root[data-theme] body .self-camera-tools #themes{color:var(--readable-accent)}
:root[data-theme] body .country-control>label,:root[data-theme] body .own-gender-control>label,:root[data-theme] body .gender-control summary{color:var(--theme-muted)}
:root[data-theme] body .country-picker-trigger,:root[data-theme] body .own-gender-control select,:root[data-theme] body .gender-control summary span{color:var(--theme-text)}
:root[data-theme] body .country-picker button,:root[data-theme] body .country-picker input,:root[data-theme] body dialog select,:root[data-theme] body dialog textarea{color:var(--theme-text);background:var(--theme-surface)}
:root[data-theme] body input::placeholder,:root[data-theme] body textarea::placeholder{color:var(--theme-muted);opacity:1}
:root[data-theme] body dialog{color:var(--theme-text)}
:root[data-theme] body dialog a,:root[data-theme] body .discovery a{color:var(--readable-accent)}
:root[data-theme] body dialog .secondary,:root[data-theme] body .theme-card strong{color:var(--theme-text)}
:root[data-theme] body .theme-card>span:last-child{color:var(--theme-muted)}
:root[data-theme] body .discovery{color:var(--theme-text)}
:root[data-theme] body :is(select,textarea) option{background:var(--theme-surface);color:var(--theme-text)}
:root[data-theme] body :focus-visible{outline:2px solid var(--readable-accent);outline-offset:3px}
/* Keep era-specific shapes on the camera overlay controls. */
:root:is([data-theme="win98"],[data-theme="matrix"],[data-theme="webcore"],[data-theme="vaporwave"],[data-theme="synthwave"]) body .self-camera-tools button,:root:is([data-theme="win98"],[data-theme="matrix"],[data-theme="webcore"],[data-theme="vaporwave"],[data-theme="synthwave"]) body .camera-report{border-radius:0}
:root[data-theme="win98"] body .self-camera-tools button,:root[data-theme="win98"] body .camera-report{border:2px outset #eee;box-shadow:inset -1px -1px #808080}
:root[data-theme="barbiecore"] body .self-camera-tools button,:root[data-theme="barbiecore"] body .camera-report{border-radius:22px}
:root[data-theme="aero"] body .primary{background:linear-gradient(#176c96,#0d527d 48%,#104469 51%,#0c6292);color:#fff}
:root[data-theme="liminal"] body #themes{color:var(--readable-accent)}
/* Bright backgrounds need dark dialog text, including selected-country rows. */
:root:is([data-theme="win98"],[data-theme="liminal"],[data-theme="aero"],[data-theme="barbiecore"]) body .gender-popover,:root:is([data-theme="win98"],[data-theme="liminal"],[data-theme="aero"],[data-theme="barbiecore"]) body .gender-popover label,:root:is([data-theme="win98"],[data-theme="liminal"],[data-theme="aero"],[data-theme="barbiecore"]) body .gender button:not(.selected){color:var(--theme-text)}
:root:is([data-theme="win98"],[data-theme="liminal"],[data-theme="aero"],[data-theme="barbiecore"]) body:not(.fullscreen-app) .chat input,:root:is([data-theme="win98"],[data-theme="liminal"],[data-theme="aero"],[data-theme="barbiecore"]) body:not(.fullscreen-app) .chat .bubble{color:var(--theme-text)}
/* Native mobile controls sit on a deliberately dark surface above video. */
:root[data-theme] body.fullscreen-app .app-chat-sheet input{color:#fff;background:#080b18a6}
:root[data-theme] body.fullscreen-app .app-chat-sheet input::placeholder{color:#f1f1ff}
:root[data-theme] body.fullscreen-app .app-chat-sheet .bubble{color:#fff}
:root[data-theme] body.fullscreen-app .app-chat-sheet input:focus-visible{outline-color:#fff}
:root[data-theme] body .country-picker .country-option:hover,:root[data-theme] body .country-picker .country-option[aria-pressed="true"]{background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface));outline:1px solid var(--readable-accent);outline-offset:-1px}
:root[data-theme] body .country-check{color:var(--readable-accent)}
:root[data-theme] body .country-picker small{color:var(--theme-muted)}
