/* Six role-based palettes. Native appearance still owns color mode and motion.
   Text roles are tested at >=4.5:1; focus and input boundaries at >=3:1.
   Reference: W3C WCAG 2.2 contrast; Material/Atlassian semantic color roles. */
:root[data-native-theme]{
 --nt-ease:cubic-bezier(.22,1,.36,1);
 --line:var(--border);--pw-accent:var(--accent);--accent-ink:var(--pw-accent-ink);
 --surface:var(--panel);--surface-2:var(--pw-soft);--card:var(--panel);--text:var(--ink);
 --au-violet:var(--nt-secondary);--au-cyan:var(--accent);--au-surface:var(--panel);
 --ex-line:var(--nt-control-border);--ex-glow:color-mix(in srgb,var(--accent) 7%,transparent);
 --nt-wash-a:color-mix(in srgb,var(--accent) 8%,transparent);--nt-wash-b:color-mix(in srgb,var(--nt-secondary) 8%,transparent);
 --nt-code-bg:var(--pw-soft);--nt-code-ink:var(--ink);--nt-bubble-link:var(--nt-bubble-ink);
 --green:#9cd5b0;--amber:#ecc28f;--red:#f1a5b3;
}
:root[data-native-theme][data-theme="light"]{--green:#216d43;--amber:#865615;--red:#a43951}
:root[data-native-theme="aurora"]{
 --bg:#151822;--panel:#202632;--border:#424d64;--ink:#f2f4ff;
 --muted:#b0bbd1;--accent:#a8bdff;--nt-secondary:#c5a4ed;--pw-accent-ink:#1a2345;
 --cc-soft:#2b3341;--pw-soft:#191e29;--pw-elevated:#293242;--nt-control-border:#7f8aa2;
 --nt-bubble:#334779;--nt-bubble-border:#6077a5;--nt-bubble-ink:#f4f6ff;--nt-bubble-meta:#d0dcfc;
}
:root[data-native-theme="aurora"][data-theme="light"]{
 --bg:#f4f6fd;--panel:#ffffff;--border:#c7cede;--ink:#222b47;
 --muted:#566282;--accent:#4258aa;--nt-secondary:#7957a4;--pw-accent-ink:#ffffff;
 --cc-soft:#e8ecfa;--pw-soft:#f7f8fd;--pw-elevated:#edf0fa;--nt-control-border:#7a849c;
 --nt-bubble:#e5ebff;--nt-bubble-border:#b5c3e8;--nt-bubble-ink:#25375e;--nt-bubble-meta:#4f618b;
}
:root[data-native-theme="graphite"]{
 --bg:#191817;--panel:#262523;--border:#4c473e;--ink:#f6f3ec;
 --muted:#bdb6a9;--accent:#d0b88c;--nt-secondary:#aeb4bc;--pw-accent-ink:#302616;
 --cc-soft:#33312d;--pw-soft:#1f1e1c;--pw-elevated:#35332f;--nt-control-border:#8d8577;
 --nt-bubble:#474035;--nt-bubble-border:#807258;--nt-bubble-ink:#fff9ee;--nt-bubble-meta:#dfd1b7;
}
:root[data-native-theme="graphite"][data-theme="light"]{
 --bg:#f7f5f0;--panel:#fffdf8;--border:#d1c7b8;--ink:#302c24;
 --muted:#6c6151;--accent:#766039;--nt-secondary:#5f6b78;--pw-accent-ink:#ffffff;
 --cc-soft:#ebe6dc;--pw-soft:#faf7f1;--pw-elevated:#efebe3;--nt-control-border:#8a7f6e;
 --nt-bubble:#efe7d7;--nt-bubble-border:#cab99e;--nt-bubble-ink:#403525;--nt-bubble-meta:#756040;
}
:root[data-native-theme="ocean"]{
 --bg:#101c26;--panel:#192d3b;--border:#365769;--ink:#ecf7ff;
 --muted:#a9c3d3;--accent:#87d6ed;--nt-secondary:#8cb5fb;--pw-accent-ink:#0e3542;
 --cc-soft:#243e4d;--pw-soft:#152531;--pw-elevated:#284352;--nt-control-border:#7396aa;
 --nt-bubble:#214f68;--nt-bubble-border:#52859e;--nt-bubble-ink:#effaff;--nt-bubble-meta:#b6ddea;
}
:root[data-native-theme="ocean"][data-theme="light"]{
 --bg:#f0f7fa;--panel:#ffffff;--border:#c0d5df;--ink:#183c50;
 --muted:#4e6b7c;--accent:#116a88;--nt-secondary:#315fa5;--pw-accent-ink:#ffffff;
 --cc-soft:#e0eff5;--pw-soft:#f4f9fc;--pw-elevated:#e6f3f8;--nt-control-border:#6d8a9b;
 --nt-bubble:#dbeff8;--nt-bubble-border:#aacddc;--nt-bubble-ink:#224d64;--nt-bubble-meta:#456b80;
}
:root[data-native-theme="ember"]{
 --bg:#211715;--panel:#332420;--border:#614438;--ink:#fff4eb;
 --muted:#d0b4a3;--accent:#f3b58d;--nt-secondary:#e3bd74;--pw-accent-ink:#482818;
 --cc-soft:#45312a;--pw-soft:#291d19;--pw-elevated:#483128;--nt-control-border:#a08372;
 --nt-bubble:#663b2b;--nt-bubble-border:#a17151;--nt-bubble-ink:#fff5ec;--nt-bubble-meta:#f1cfb4;
}
:root[data-native-theme="ember"][data-theme="light"]{
 --bg:#fcf5ef;--panel:#fffcf8;--border:#dec8b8;--ink:#432b22;
 --muted:#7e5c49;--accent:#98522d;--nt-secondary:#826525;--pw-accent-ink:#ffffff;
 --cc-soft:#f5e7dc;--pw-soft:#fdf7f1;--pw-elevated:#f8ebe0;--nt-control-border:#98745d;
 --nt-bubble:#f7e4d3;--nt-bubble-border:#dec1a7;--nt-bubble-ink:#633c29;--nt-bubble-meta:#835e45;
}
:root[data-native-theme="forest"]{
 --bg:#142019;--panel:#21332a;--border:#405e48;--ink:#eff8ec;
 --muted:#b2c7b1;--accent:#a7d6a2;--nt-secondary:#d0c98a;--pw-accent-ink:#203e24;
 --cc-soft:#2d4436;--pw-soft:#192820;--pw-elevated:#32493a;--nt-control-border:#809d7c;
 --nt-bubble:#365b3c;--nt-bubble-border:#648866;--nt-bubble-ink:#f2ffec;--nt-bubble-meta:#cae4bd;
}
:root[data-native-theme="forest"][data-theme="light"]{
 --bg:#f2f7ee;--panel:#fcfff8;--border:#c7d7ba;--ink:#293b27;
 --muted:#5b6d50;--accent:#466d3f;--nt-secondary:#736728;--pw-accent-ink:#ffffff;
 --cc-soft:#e6f0df;--pw-soft:#f7fbf2;--pw-elevated:#eaf4e3;--nt-control-border:#788c69;
 --nt-bubble:#e3f0d8;--nt-bubble-border:#bbd2aa;--nt-bubble-ink:#31502b;--nt-bubble-meta:#526f43;
}
:root[data-native-theme="rose"]{
 --bg:#231820;--panel:#362630;--border:#624555;--ink:#fff1f8;
 --muted:#cfb0c2;--accent:#eeb1cf;--nt-secondary:#c1b1ed;--pw-accent-ink:#46243b;
 --cc-soft:#49333f;--pw-soft:#2b1e27;--pw-elevated:#4b3542;--nt-control-border:#a18496;
 --nt-bubble:#633c51;--nt-bubble-border:#a27790;--nt-bubble-ink:#fff5fb;--nt-bubble-meta:#efd0e2;
}
:root[data-native-theme="rose"][data-theme="light"]{
 --bg:#fbf2f7;--panel:#fffafd;--border:#ddc6d4;--ink:#462a3c;
 --muted:#7e5d74;--accent:#954d7b;--nt-secondary:#6f579c;--pw-accent-ink:#ffffff;
 --cc-soft:#f4e3ed;--pw-soft:#fcf7fa;--pw-elevated:#f6e8f0;--nt-control-border:#8e7084;
 --nt-bubble:#f5dfec;--nt-bubble-border:#dfb6d0;--nt-bubble-ink:#622f4c;--nt-bubble-meta:#81536f;
}

/* Role bridges for existing workspaces; dimensions and behavior stay with them. */
:root[data-native-theme] body.aurora-hub{color:var(--ink)}
:root[data-native-theme] body.aurora-hub .ix-workspace{--ix-accent:var(--accent);--ix-surface:var(--panel);--ix-line:var(--border)}
:root[data-native-theme] body.aurora-hub.pw-product:not([data-view="chat"]) .workspace{background-image:linear-gradient(155deg,var(--nt-wash-a),transparent 240px),linear-gradient(15deg,var(--nt-wash-b),transparent 320px)}
:root[data-native-theme] body.aurora-hub.pw-product[data-view="chat"] .pw-chat-panel{background:linear-gradient(180deg,transparent calc(100% - 160px),var(--nt-wash-a) 88%,var(--nt-wash-b))}
:root[data-native-theme] body.aurora-hub .pw-message-stream .chat-message-user{background:var(--nt-bubble)!important;border-color:var(--nt-bubble-border)!important}
:root[data-native-theme] body.aurora-hub .pw-message-stream .chat-message-user .pw-message-body{color:var(--nt-bubble-ink)}
:root[data-native-theme] body.aurora-hub .pw-message-stream .chat-message-user .pw-message-body :is(p,li,strong,em){color:inherit}
:root[data-native-theme] body.aurora-hub .chat-message-user .pw-message-meta{color:var(--nt-bubble-meta)}
:root[data-native-theme] body.aurora-hub .chat-message-user .pw-message-body a{color:var(--nt-bubble-link);text-decoration:underline}
:root[data-native-theme] body.aurora-hub.pw-product[data-view="chat"] :is(.pw-composer-shell,.pw-phone-composer-shell) #chat-send{background:var(--pw-accent);color:var(--pw-accent-ink)}
:root[data-native-theme] body.aurora-hub :is(input,select,textarea,.cc-secondary,.ex-action,.mc-page-button,.tp-control,.sw-control,.ix-button,.audra-button){border-color:var(--nt-control-border)}
:root[data-native-theme] body.aurora-hub :is(input,select,textarea){color:var(--ink)}
:root[data-native-theme] body.aurora-hub :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
:root[data-native-theme] body.aurora-hub :is(input,select,textarea):focus{border-color:var(--accent)}
:root[data-native-theme] body.aurora-hub :is(pre,.cc-log,.hm-output,.fw-preview-text){background:var(--nt-code-bg);color:var(--nt-code-ink)}
:root[data-native-theme] body.aurora-hub .cc-chat .chat-message:not(.chat-message-user) .chat-markdown{color:var(--ink)}
:root[data-native-theme] body.aurora-hub .cc-chat .chat-markdown :is(code,pre){background:var(--nt-code-bg);color:var(--nt-code-ink)}
:root[data-native-theme] body.aurora-hub .cc-chat .chat-markdown pre code{background:transparent;color:inherit}
:root[data-native-theme] body.aurora-hub .cc-chat .chat-inventory summary{color:var(--accent)!important}
:root[data-native-theme] body.aurora-hub .cc-chat .chat-message th{color:var(--muted)!important}
:root[data-native-theme] body.aurora-hub :is(.audra-book-meta,.audra-preference-note,.audra-track-meta){color:var(--muted)}
:root[data-native-theme] body.aurora-hub :is(.audra-book-title,.audra-book-details):hover{color:var(--accent)}
:root[data-native-theme] body.aurora-hub .audra-book-progress::-webkit-progress-value{background:var(--accent)}
:root[data-native-theme] body.aurora-hub .audra-book-progress::-moz-progress-bar{background:var(--accent)}
:root[data-native-theme] body.aurora-hub .cj-orb i{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 25%,transparent),color-mix(in srgb,var(--nt-secondary) 22%,transparent));border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
:root[data-native-theme] body.aurora-hub .cj-orb i:nth-child(2){background:linear-gradient(150deg,color-mix(in srgb,var(--nt-secondary) 24%,transparent),color-mix(in srgb,var(--accent) 20%,transparent))}
:root[data-native-theme] body.aurora-hub nav a.active{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}
/* Existing status labels and icons retain their meaning across every scheme. */
:root[data-native-theme] body.aurora-hub :is(.ix-ok,.ix-indexer-state,.ix-seeds strong){color:var(--green)}
:root[data-native-theme] body.aurora-hub .ix-error{color:var(--red)!important}
:root[data-native-theme] body.aurora-hub .ix-confirm-label{color:var(--accent)}
:root[data-native-theme] body.aurora-hub .ix-indexer:has(input:checked){border-color:var(--accent)}

/* Appearance chooser: native radio groups remain usable with keyboard and touch. */
body.aurora-hub #cc-appearance{width:min(620px,calc(100vw - 24px))}
body.aurora-hub #cc-appearance .cc-appearance-options{margin:14px 0}
body.aurora-hub #cc-appearance .cc-appearance-options legend{font-size:12px;margin-bottom:8px;color:var(--muted)}
body.aurora-hub #cc-appearance .cc-appearance-options>label{min-height:54px;padding:10px 12px;margin-bottom:6px;border-color:var(--nt-control-border);background:var(--pw-soft);gap:10px}
body.aurora-hub #cc-appearance .cc-appearance-options strong{font-size:13px;line-height:1.35}
body.aurora-hub #cc-appearance .cc-appearance-options small{font-size:11px;line-height:1.4;margin-top:3px;color:var(--muted)}
body.aurora-hub #cc-appearance .nt-scheme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.aurora-hub #cc-appearance .nt-scheme-choice{display:grid;grid-template-rows:36px auto;position:relative;min-width:0;min-height:108px;gap:8px;margin:0;padding:10px;border:1px solid var(--nt-control-border);border-radius:12px;background:var(--pw-soft);cursor:pointer;transition:background-color 180ms var(--nt-ease),border-color 180ms var(--nt-ease)}
body.aurora-hub #cc-appearance .nt-scheme-choice:has(input:checked){border-color:var(--accent);background:var(--cc-soft)}
body.aurora-hub #cc-appearance .nt-scheme-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
body.aurora-hub #cc-appearance .nt-scheme-choice input{position:absolute;top:10px;right:10px;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}
body.aurora-hub #cc-appearance .nt-swatch{display:block;position:relative;min-width:0;width:100%;height:36px;border:1px solid color-mix(in srgb,var(--nt-preview-ink) 14%,transparent);border-radius:8px;background:linear-gradient(145deg,var(--nt-preview-surface) 45%,color-mix(in srgb,var(--nt-preview-accent) 52%,var(--nt-preview-surface)))}
body.aurora-hub #cc-appearance .nt-swatch::after{content:"";position:absolute;bottom:7px;left:7px;width:35%;height:4px;border-radius:2px;background:var(--nt-preview-accent)}
:root .nt-swatch-aurora{--nt-preview-surface:#202632;--nt-preview-accent:#a8bdff;--nt-preview-ink:#f2f4ff}
:root[data-theme="light"] .nt-swatch-aurora{--nt-preview-surface:#ffffff;--nt-preview-accent:#4258aa;--nt-preview-ink:#222b47}
:root .nt-swatch-graphite{--nt-preview-surface:#262523;--nt-preview-accent:#d0b88c;--nt-preview-ink:#f6f3ec}
:root[data-theme="light"] .nt-swatch-graphite{--nt-preview-surface:#fffdf8;--nt-preview-accent:#766039;--nt-preview-ink:#302c24}
:root .nt-swatch-ocean{--nt-preview-surface:#192d3b;--nt-preview-accent:#87d6ed;--nt-preview-ink:#ecf7ff}
:root[data-theme="light"] .nt-swatch-ocean{--nt-preview-surface:#ffffff;--nt-preview-accent:#116a88;--nt-preview-ink:#183c50}
:root .nt-swatch-ember{--nt-preview-surface:#332420;--nt-preview-accent:#f3b58d;--nt-preview-ink:#fff4eb}
:root[data-theme="light"] .nt-swatch-ember{--nt-preview-surface:#fffcf8;--nt-preview-accent:#98522d;--nt-preview-ink:#432b22}
:root .nt-swatch-forest{--nt-preview-surface:#21332a;--nt-preview-accent:#a7d6a2;--nt-preview-ink:#eff8ec}
:root[data-theme="light"] .nt-swatch-forest{--nt-preview-surface:#fcfff8;--nt-preview-accent:#466d3f;--nt-preview-ink:#293b27}
:root .nt-swatch-rose{--nt-preview-surface:#362630;--nt-preview-accent:#eeb1cf;--nt-preview-ink:#fff1f8}
:root[data-theme="light"] .nt-swatch-rose{--nt-preview-surface:#fffafd;--nt-preview-accent:#954d7b;--nt-preview-ink:#462a3c}
body.aurora-hub #cc-appearance .nt-choice-copy{min-width:0;overflow-wrap:anywhere}
body.aurora-hub #cc-appearance .nt-theme-status{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 0}
body.aurora-hub #cc-appearance .nt-theme-status:empty{display:none}
@media(max-width:520px){
 body.aurora-hub #cc-appearance .nt-scheme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.aurora-hub #cc-appearance .nt-scheme-choice{min-height:104px;padding:8px;gap:6px}
 body.aurora-hub #cc-appearance .nt-scheme-choice input{top:8px;right:8px}
}
:root[data-reduced-motion="true"] body.aurora-hub .nt-scheme-choice{transition:none!important}
@media(prefers-reduced-motion:reduce){:root:not([data-motion="full"]) body.aurora-hub .nt-scheme-choice{transition:none}}
@media(prefers-contrast:more){:root[data-native-theme],:root[data-native-theme][data-theme]{--border:var(--nt-control-border);--muted:var(--ink)}}
/* Let platform high-contrast colors replace decorative tint without hiding state. */
@media(forced-colors:active){
 :root[data-native-theme],:root[data-native-theme][data-theme]{--bg:Canvas;--panel:Canvas;--border:ButtonText;--ink:CanvasText;--muted:CanvasText;--accent:LinkText;--cc-soft:Canvas;--pw-soft:Canvas;--pw-elevated:Canvas;--pw-accent:ButtonFace;--pw-accent-ink:ButtonText;--nt-control-border:ButtonText;--nt-bubble:Canvas;--nt-bubble-border:CanvasText;--nt-bubble-ink:CanvasText;--nt-bubble-meta:CanvasText;--nt-wash-a:transparent;--nt-wash-b:transparent;--green:CanvasText;--amber:CanvasText;--red:CanvasText}
 body.aurora-hub #cc-appearance .nt-swatch{background:Canvas;border-color:CanvasText}
 body.aurora-hub #cc-appearance .nt-swatch::after{background:Highlight}
 body.aurora-hub #cc-appearance .nt-scheme-choice:has(input:checked){outline:2px solid Highlight;outline-offset:2px}
}

/* Newer MiniMike surfaces share these roles too. Keep geometry with their owners. */
:root[data-native-theme] body.aurora-hub dialog#mm-navigation.mm-navigation{background:var(--bg)}
:root[data-native-theme] body.aurora-hub.pw-product #chat-messages .cmn-message.chat-message-user .pw-message-body{color:var(--nt-bubble-ink)}
:root[data-native-theme] body.aurora-hub.pw-product #chat-messages .cmn-message.chat-message-user .pw-message-meta{color:var(--nt-bubble-meta)}
:root[data-native-theme] body.aurora-hub.pw-product #chat-messages .chat-message-assistant.cmn-message{color:var(--ink)}
:root[data-native-theme] body.aurora-hub .mm-navigation .mm-app-link[aria-current="page"],
:root[data-native-theme] body.aurora-hub .mm-navigation .mm-saved-chat[aria-current="true"]{background:var(--cc-soft);color:var(--accent)}
:root[data-native-theme] body.aurora-hub .mm-navigation :is(.mm-navigation-search,.mm-navigation-heading button,.mm-navigation-footer button){border-color:var(--nt-control-border)}

/* Keep persistent appearance controls separated at compact desktop widths. */
body.aurora-hub .sidebar-bottom{display:block}


