/* Owner-approved appearance, 2026-10-07. Native hitboxes/state/media stay owned
 * by their existing components. Static CSS owns material depth. */
html[data-theme] {
  --accent:#f5a04f;
  --segmented-yellow:#f5a04f;
}

/* The dark dock keeps its native palette/gradients with a gentler stop range.
 * No inset edge highlights: quiet material illumination replaces convex edges. */
html[data-theme="dark"][data-room-palette] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] {
  --ld-rest:linear-gradient(145deg,color-mix(in srgb,var(--rooms-ld-top) 65%,var(--rooms-ld-mid)) 0%,var(--rooms-ld-mid) 48%,color-mix(in srgb,var(--rooms-ld-bottom) 65%,var(--rooms-ld-mid)) 100%);
  --ld-hover:linear-gradient(145deg,color-mix(in srgb,var(--rooms-ld-hover-top) 65%,var(--rooms-room-control)) 0%,var(--rooms-room-control) 48%,color-mix(in srgb,var(--rooms-ld-hover-bottom) 65%,var(--rooms-room-control)) 100%);
  --ld-shadow:0 2px 4px rgba(0,0,0,.10);
  --ld-hover-shadow:0 4px 9px -6px rgba(0,0,0,.24);
}

html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] {
  --ld-lift:-2px;
}
/* A transparent video border must not leave the old green speaker shadow.
 * Speaking remains represented by the native microphone and participant state. */
html[data-theme] .participant-tile.active-speaker {
  box-shadow:0 20px 54px rgba(0,0,0,.30)!important;
}
@media (hover:hover) and (pointer:fine) {
  html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek:not(:disabled) .ld-face {
    color:#f5a04f!important;
  }
}

/* Message boundaries remain a soft, readable separator, including own messages. */
html[data-theme] .chat-bubble,
html[data-theme] .chat-attachment-card {
  border-color:color-mix(in srgb,var(--line-strong) 52%,transparent)!important;
}
/* Focus is an interaction boundary; it is never erased with decorative outlines. */
html[data-theme] :is(button,a[href],summary,[role="button"],input,textarea,select):focus-visible {
  outline:2px solid #f5a04f!important;
  outline-offset:2px!important;
}
@media (forced-colors:active) {
  html[data-theme] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek:not(:disabled) .ld-face {color:ButtonText!important;}
  html[data-theme] :is(button,a[href],summary,[role="button"],input,textarea,select):focus-visible {outline-color:Highlight!important;}
  html[data-theme] :is(.chat-bubble,.chat-attachment-card) {border-color:CanvasText!important;}
}

/* Owner-approved B boundaries, launcher gradient and continuous chat plane,
 * 2026-10-08. Ordinary authored CSS; no DOM/CSS observers or material rebuild. */
@layer orator-quiet-edges {
 /* One native token owns both composers and both own-message surfaces. */
 html[data-theme] #roomView :is(#chatInput,.room-ai-composer textarea) {background:linear-gradient(rgba(0,0,0,var(--orator-card-depth)),rgba(0,0,0,var(--orator-card-depth))),var(--room-inset,var(--panel))!important}
 html[data-theme] #roomView :is(.chat-message.local .chat-bubble,.room-ai-turn.user>p) {background:linear-gradient(rgba(0,0,0,var(--orator-card-depth)),rgba(0,0,0,var(--orator-card-depth))),var(--room-chat-own-bg,var(--panel))!important;border-color:color-mix(in srgb,var(--text) 5%,transparent)!important}
 html[data-theme="dark"] #roomView .toolbar-wrap[data-orator-lift-dock="r3"] .ld-button.is-peek:not(.active):not(:disabled) .ld-face::before {opacity:.15!important}
 html[data-theme] :is(#roomView,#homeView,#joinView,.modal) :is(.room-clock,.clock-tabs,.transcript-side-panel,.workspace-panel-shell,.room-transcript-shell,.transcript-summary-card,.transcript-meeting-summary,.transcript-summary-source-picker,.recording-setup-card,.recording-active-section,.recording-compatibility-note,.recording-disclosure,.recording-destination-row,.recording-scope-option,.recording-source-card,.recording-library-button,.confirm-card,.settings-card,.my-settings-section,.breakout-room,.chat-bubble,.chat-attachment-card,.status-pill,.badge) {border-color:color-mix(in srgb,var(--text) 5%,transparent)!important}
 html[data-theme] #roomView :is(.participant-panel,.workspace-panel-shell,.panel-tabs,.workspace-panel-tabs,.ai-panel-tabs,.transcript-tabs,.room-ai-tabs,.transcript-summary-tabs,.clock-tabs) {border:1px solid color-mix(in srgb,var(--text) 6%,transparent)!important}
 html[data-theme] #roomView :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {border-color:color-mix(in srgb,var(--text) 6%,transparent)!important}
 html[data-theme] #roomView :is(.room-main,.participant-tile) {border-color:transparent!important}
}
html[data-theme] #homeView .launch-card {
 --launch-top:rgb(var(--rooms-rgb-1a3150,26,49,80));--launch-mid:rgb(var(--rooms-rgb-112139,17,33,57));--launch-bottom:rgb(var(--rooms-rgb-0b1627,11,22,39));
 background:linear-gradient(145deg,color-mix(in srgb,var(--launch-top) 45%,var(--launch-mid)) 0%,var(--launch-mid) 48%,color-mix(in srgb,var(--launch-bottom) 45%,var(--launch-mid)) 100%)!important;
 box-shadow:0 14px 32px rgba(0,0,0,.15)!important;
}
html[data-theme="light"] #homeView .launch-card {--launch-top:#fffdf9;--launch-mid:var(--l-panel);--launch-bottom:var(--l-panel-top)}
html[data-theme] #homeView .launch-card::before {opacity:.10!important}
html[data-theme] #homeView .launch-card:is(:hover,:focus-visible) {box-shadow:0 17px 36px rgba(0,0,0,.20)!important}
html[data-theme] #homeView .launch-card:is(:hover,:focus-visible)::before {opacity:.17!important}
/* One parent material avoids stacking a shade on every chat subregion. */
@layer orator-quiet-edges {
 html[data-theme] #participantPanel :is(.panel-topbar,.participants-pane,.participant-list,.chat-panel,.chat-head,.chat-history-controls,.chat-messages,.chat-form,.chat-status,.chat-resizer) {background:transparent!important;box-shadow:none!important}
 html[data-theme] #participantPanel .chat-panel {border-color:transparent!important}
 html[data-theme] #participantPanel #chatHistoryControls:has(#loadOlderChatBtn.hidden):has(#chatHistoryStatus:empty) {height:0!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important}
 html[data-theme] #participantPanel .chat-resizer {border-top:1px solid color-mix(in srgb,var(--text) 5%,transparent)!important;border-bottom:0!important}
}
