:root {
  color-scheme: light;
  font-family: "Avenir Next", "Noto Sans TC", "PingFang TC", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --surface: #fffefa;
  --surface-muted: #f2f7f4;
  --text: #18342f;
  --muted: #46635b;
  --accent: #087a69;
  --accent-strong: #075f53;
  --accent-soft: #d9eee6;
  --border: #b7d0c8;
  --focus: #d57c25;
}

* { box-sizing: border-box; }
html, body { min-width: 0; margin: 0; overflow-x: clip; }
body { min-height: 100vh; background: var(--surface-muted); color: var(--text); }
a, button, select, input { font: inherit; }
a, select, button { min-width: 44px; min-height: 44px; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, [tabindex="-1"]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
.auth-mount{display:grid;gap:1rem;max-width:48rem}.google-sign-in{min-height:44px;display:flex;align-items:center}.login-account-list{display:grid;gap:.75rem;padding:0;list-style:none}.login-account-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.5rem}.login-account-list span{min-width:0;overflow-wrap:anywhere}.login-account-list strong{font-size:.875rem}.login-account-list button{flex:0 0 auto;padding:.5rem .75rem}
.skip-link {
  position: fixed; z-index: 10; inset-block-start: .5rem; inset-inline-start: .5rem;
  max-width: calc(100vw - 1rem); padding: .75rem 1rem; background: var(--text); color: var(--surface); overflow-wrap: anywhere; transform: translateY(-200%);
}
.skip-link:focus { transform: none; }
#product-shell { min-height: 100vh; display: grid; grid-template: auto auto 1fr / minmax(0, 1fr); }
.product-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1rem, 4vw, 3rem); background: var(--surface); border-block-end: 1px solid var(--border); }
.brand { display: inline-flex; align-items: center; color: var(--text); font-weight: 800; text-decoration: none; }
.brand img { display: block; width: clamp(8.5rem, 18vw, 12rem); max-width: 100%; height: auto; max-height: 4rem; object-fit: contain; }
.shell-preferences { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.shell-preferences label { font-size: .875rem; }
select { max-width: 100%; padding-inline: .75rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--text); }
nav { display: flex; flex-wrap: wrap; gap: .5rem; padding: .5rem clamp(1rem, 4vw, 3rem); background: var(--surface); border-block-end: 1px solid var(--border); }
nav a { display: inline-flex; align-items: center; padding-inline: .875rem; color: var(--text); border-radius: .5rem; text-decoration: none; white-space: nowrap; }
nav a[aria-current="page"] { background: var(--accent); color: #fff; text-decoration: underline; text-underline-offset: .25em; }
main { width: min(100% - 2rem, 60rem); margin-inline: auto; padding-block: clamp(2rem, 6vw, 5rem); }
main h1 { max-width: 25ch; margin-block: 0 1rem; font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.1; overflow-wrap: anywhere; }
main p { max-width: 65ch; font-size: 1.125rem; line-height: 1.6; overflow-wrap: anywhere; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.live-meeting { display: grid; gap: 1rem; min-width: 0; }
.live-header { position: sticky; inset-block-start: 0; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; align-items: center; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.live-header h2 { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.live-title-group { display: grid; gap: .25rem; min-width: 0; }
.live-meeting-code { display: flex; align-items: center; justify-self: start; gap: .4rem; min-width: 0; min-height: 2.75rem; padding: .35rem .65rem; overflow: hidden; color: var(--muted); border-radius: .45rem; font: inherit; font-size: .8rem; font-weight: 750; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.live-meeting-code::before { content: attr(data-label); font-weight: 600; letter-spacing: normal; }
.live-meeting-code::after { content: attr(data-action); padding-inline-start: .4rem; border-inline-start: 1px solid currentColor; font-weight: 700; letter-spacing: normal; }
.live-badge { display: inline-flex; align-items: center; min-height: 32px; padding: .25rem .625rem; border: 2px solid currentColor; border-radius: 999px; font-weight: 700; }
.live-badge--recording::before { content: "●"; margin-inline-end: .375rem; }
.live-failure { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border: 2px solid var(--border); border-inline-start-width: .5rem; background: var(--surface); }
.live-failure p { margin: 0; font-size: 1rem; }
.live-captions { min-height: 45vh; max-height: 65vh; overflow: auto; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); overflow-anchor: none; }
.live-captions h3 { margin-block-start: 0; }
.live-video-stage { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); grid-auto-rows: minmax(0, 1fr); place-content: center; gap: .75rem; padding: .75rem; border: 1px solid var(--border); border-radius: .75rem; background: #101318; }
.live-video-stage[data-tile-count="1"] { grid-template-columns: minmax(0, min(100%, 64rem)); }
.live-video-stage[data-tile-count="2"] { grid-template-columns: repeat(2, minmax(0, min(50%, 36rem))); }
.live-video-stage[data-tile-count="3"], .live-video-stage[data-tile-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.live-video-tile { position: relative; min-width: 0; overflow: hidden; border: 1px solid #3b4250; border-radius: .65rem; background: #050608; aspect-ratio: 16 / 9; }
.live-video-tile--featured { grid-column: 1 / -1; min-height: min(52vh, 34rem); }
.live-video-tile--active { box-shadow: inset 0 0 0 3px #8ab4f8; }
.live-video-tile video { display: block; width: 100%; height: 100%; object-fit: cover; }
.live-video-tile[data-source="screen_share"] video { object-fit: contain; }
.live-video-meta { position: absolute; inset: auto .5rem .5rem .5rem; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .35rem .5rem; border-radius: .45rem; color: #fff; background: rgb(0 0 0 / 72%); }
.live-video-meta button { min-height: 36px; color: #fff; border-color: #fff; background: #202631; }
.live-video-empty { grid-column: 1 / -1; margin: 0; padding: 2rem 1rem; color: #fff; text-align: center; }
.live-media-feedback { padding: .75rem; border: 1px solid var(--danger, #b42318); border-radius: .5rem; }
.caption-search { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; margin-block-end: .75rem; }
.caption-search label { display: grid; flex: 1 1 15rem; gap: .25rem; font-weight: 650; }
.caption-search input { min-width: 0; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--text); }
.caption-window { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.caption-card { min-width: 0; padding: .875rem; border: 1px solid var(--border); border-radius: .625rem; background: rgba(242, 245, 249, var(--caption-opacity, 1)); overflow-wrap: anywhere; }
.caption-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.caption-editor { margin-block: 1rem; padding: 1rem; border: 2px solid var(--border); border-radius: .75rem; background: var(--surface); }
.caption-editor form, .caption-editor-actions { display: grid; gap: .75rem; }
.caption-editor label { display: grid; gap: .25rem; font-weight: 600; }
.caption-editor textarea { resize: vertical; min-height: 7rem; }
.caption-editor input, .caption-editor select, .caption-editor textarea { max-width: 100%; padding: .625rem; font: inherit; color: inherit; background: inherit; border: 1px solid var(--border); border-radius: .375rem; }
.caption-editor-actions { margin-block: 1rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); align-items: end; }
.caption-editor-readonly { padding: .75rem; border-inline-start: .3rem solid currentColor; }
.caption-editor-history { max-height: 14rem; overflow: auto; padding-inline-start: 1.5rem; }
.caption-editor :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.caption-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.caption-card > p { margin-block: .5rem 0; font-size: calc(1rem * var(--caption-font-scale, 1)); line-height: 1.45; }
.caption-translation { padding-inline-start: .75rem; border-inline-start: .25rem solid var(--accent); }
.caption-follow { position: sticky; inset-block-end: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-block-start: .75rem; padding: .5rem; border: 1px solid var(--border); background: var(--surface); }
.caption-preference-controls form { display: grid; gap: .75rem; }
.caption-preference-controls label { display: grid; gap: .25rem; font-weight: 600; }
.caption-preference-controls input, .caption-preference-controls select { min-width: 0; min-height: 44px; }
.caption-preference-controls .caption-autoscroll { display: inline-flex; width: fit-content; align-items: center; gap: .5rem; cursor: pointer; }
.caption-preference-controls .caption-autoscroll input[type="checkbox"] { flex: 0 0 1.1rem; width: 1.1rem; min-width: 1.1rem; height: 1.1rem; min-height: 1.1rem; margin: 0; accent-color: #1a73e8; }
.live-meeting[data-caption-layout="side-by-side"] .caption-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .5rem 1rem; }
.live-meeting[data-caption-layout="side-by-side"] .caption-meta, .live-meeting[data-caption-layout="side-by-side"] .caption-fallback, .live-meeting[data-caption-layout="side-by-side"] .translation-safety-review { grid-column: 1 / -1; }
.live-meeting[data-caption-contrast="high"] .live-captions, .live-meeting[data-caption-contrast="high"] .caption-card { color: #fff; background: #000; border-color: #fff; }
.live-meeting--projector .live-captions { min-height: 72vh; max-height: 82vh; }
.live-meeting--projector .caption-card > p { font-size: calc(1.25rem * var(--caption-font-scale, 1)); }
.live-meeting:fullscreen { min-height: 100vh; padding: 1rem; overflow: auto; background: var(--surface-muted); }
.mic-off-notice { margin: 0; font-size: 1rem; font-weight: 650; }
.live-controls { position: sticky; inset-block-end: 0; z-index: 4; display: grid; grid-template-columns: repeat(6, minmax(44px, 1fr)); gap: .5rem; padding: .75rem .75rem max(.75rem, env(safe-area-inset-bottom)); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.live-controls button { min-height: 48px; padding: .5rem; overflow-wrap: anywhere; }
.live-control-icon { display: block; width: 1.35rem; height: 1.35rem; flex: none; }
.live-control-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-controls button[disabled] { opacity: .7; text-decoration: line-through; }
.live-drawer { position: fixed; z-index: 20; inset-block: 0; inset-inline-end: 0; width: min(100%, 28rem); overflow: auto; padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom)); border-inline-start: 2px solid var(--border); background: var(--surface); box-shadow: 0 0 0 100vmax rgb(0 0 0 / .5); }
.language-controls form { display: grid; gap: .75rem; margin-block: .75rem 1.25rem; }
.language-controls label { display: grid; gap: .375rem; font-weight: 600; }
.language-controls select { min-height: 44px; padding: .5rem; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: .375rem; }
.language-uncertain { padding: .5rem; border: 2px solid var(--warning, #8a4b00); font-weight: 600; }
@media (min-width: 48rem) { .live-header { grid-template-columns: minmax(0, 1fr) repeat(3, auto); } }
@media (max-width: 48rem) { .live-video-stage { grid-template-columns: repeat(2, minmax(0, 1fr)); } .live-video-tile--featured { min-height: min(42vh, 25rem); } .live-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 30rem) { .live-video-stage { grid-template-columns: minmax(0, 1fr); padding: .5rem; } .live-video-tile--featured { min-height: auto; } .live-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); font-size: .75rem; } .live-header { grid-template-columns: minmax(0, 1fr); } .live-meeting[data-caption-layout="side-by-side"] .caption-card { display: block; } }

/* In-meeting experience: familiar Meet-style stage, side rail, and always-visible controls. */
body.meeting-window { overflow: hidden; color: #e8eaed; background: #202124; }
body.meeting-window {
  --meet-control-size: 48px; --meet-control-icon-size: 20px; --meet-control-gap: 8px;
  --meet-control-bg: #3c4043; --meet-control-hover: #4a4d51; --meet-control-active: #303134; --meet-control-fg: #e8eaed;
  --meet-control-off-bg: #5c2b29; --meet-control-off-hover: #713330; --meet-control-off-fg: #fce8e6;
  --meet-control-selected-bg: #8ab4f8; --meet-control-selected-hover: #aecbfa; --meet-control-selected-fg: #202124;
  --meet-control-disabled-bg: #303134; --meet-control-disabled-fg: #bdc1c6;
  --meet-control-danger: #d93025; --meet-control-danger-hover: #b3261e; --meet-control-danger-active: #8c1d18;
}
body.meeting-window #product-shell { display: block; min-height: 100dvh; }
body.meeting-window .product-header,
body.meeting-window #primary-navigation,
body.meeting-window #main-content > h1,
body.meeting-window #main-content > p { display: none; }
body.meeting-window #main-content { width: 100%; height: 100dvh; margin: 0; padding: 0; }
body.meeting-window .live-meeting-mount { height: 100%; margin: 0; }
body.meeting-window .live-meeting {
  min-height: 100dvh; height: 100dvh; gap: .625rem; padding: .75rem;
  grid-template-rows: auto minmax(0, 1fr) auto; color: #e8eaed; background: #202124;
}
body.meeting-window .live-header {
  position: static; grid-template-columns: minmax(0, 1fr) auto auto auto; padding: .375rem .5rem;
  color: #e8eaed; background: transparent; border: 0; border-radius: 0;
}
body.meeting-window .live-header h2 { font-size: 1rem; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
body.meeting-window .live-meeting-code { color: #e8eaed; border-color: #5f6368; background: #303134; }
body.meeting-window .live-header time { color: #bdc1c6; font-variant-numeric: tabular-nums; }
body.meeting-window .live-badge { min-height: 30px; padding: .2rem .55rem; font-size: .75rem; border-width: 1px; color: #bdc1c6; }
body.meeting-window .live-badge--recording { color: #f28b82; }
.live-waiting-alert { min-height: 44px; padding: .5rem .75rem; color: #202124; background: #fbbc04; border: 1px solid #fdd663; border-radius: .5rem; font-weight: 800; cursor: pointer; }
.live-waiting-alert:hover { background: #fdd663; }
.live-badge-label-compact { display: none; }
.live-workspace { min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.live-meeting-canvas { position: relative; min-width: 0; min-height: 0; display: grid; align-content: stretch; overflow: hidden; border-radius: 1rem; background: #171717; }
body.meeting-window .live-video-stage { min-height: 0; height: 100%; padding: .625rem; border: 0; border-radius: 1rem; background: #171717; }
body.meeting-window .live-video-stage[data-tile-count="1"] { place-items: center; }
body.meeting-window .live-video-stage[data-tile-count="1"] .live-video-tile { width: min(100%, 64rem); }
body.meeting-window .live-video-tile { border: 0; border-radius: .875rem; background: #2d2e30; box-shadow: 0 1px 2px rgb(0 0 0 / 45%); cursor: grab; touch-action: none; }
body.meeting-window .live-video-tile--active { box-shadow: inset 0 0 0 3px #8ab4f8, 0 1px 2px rgb(0 0 0 / 45%); }
body.meeting-window .live-video-tile--active::after { content: ""; position: absolute; inset: 0; pointer-events: none; border: 3px solid #8ab4f8; border-radius: inherit; animation: live-speaker-pulse 1.4s ease-in-out infinite; }
body.meeting-window .live-video-tile--floating { position: absolute; min-width: 11.25rem; min-height: 4.5rem; max-width: calc(100% - 1.25rem); max-height: calc(100% - 1.25rem); resize: both; touch-action: none; }
body.meeting-window .live-video-tile--dragging { opacity: .9; box-shadow: 0 12px 32px rgb(0 0 0 / 55%); cursor: grabbing; }
body.meeting-window .live-video-tile--minimized { min-height: 4.5rem; height: 4.5rem !important; aspect-ratio: auto; }
body.meeting-window .live-video-tile--minimized > video,
body.meeting-window .live-video-tile--minimized > .live-participant-avatar-image,
body.meeting-window .live-video-tile--minimized > .live-participant-avatar-fallback { display: none; }
body.meeting-window .live-video-stage--maximized { display: block; }
body.meeting-window .live-video-tile--maximized { position: relative; inset: auto !important; width: 100% !important; height: 100% !important; min-height: min(72dvh, 52rem); max-width: none; max-height: none; aspect-ratio: auto; resize: none; cursor: default; }
body.meeting-window .live-video-tile--maximized .participant-window-control[data-window-icon="bring-front"],
body.meeting-window .live-video-tile--maximized .participant-window-control[data-window-icon="minimize"] { display: none; }
body.meeting-window .live-video-empty { place-self: center; color: #bdc1c6; font-size: 1rem; }
body.meeting-window .live-video-meta { z-index: 4; inset: auto .625rem .625rem; border-radius: .625rem; background: rgb(32 33 36 / 88%); backdrop-filter: blur(8px); touch-action: none; }
body.meeting-window .live-video-meta > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.meeting-window .live-video-meta > button { min-width: 44px; min-height: 44px; display: grid; place-items: center; padding: .5rem; color: #e8eaed; background: #3c4043; border: 1px solid #5f6368; border-radius: .5rem; cursor: pointer; }
body.meeting-window .live-video-meta > button:hover,
body.meeting-window .live-video-meta > button:focus-visible { color: #202124; background: #e8f0fe; border-color: #8ab4f8; }
.live-participant-voice { position: absolute; z-index: 3; inset: .625rem auto auto .625rem; display: inline-flex; align-items: center; gap: .4rem; min-height: 32px; padding: .3rem .55rem; color: #e8f0fe; background: rgb(23 78 166 / 88%); border-radius: 999px; font-size: .75rem; font-weight: 750; backdrop-filter: blur(8px); }
.live-video-tile[data-speaking="true"] .live-participant-voice { color: #202124; background: #8ab4f8; }
.live-speaker-meter { display: inline-flex; align-items: end; gap: 2px; width: 15px; height: 15px; }
.live-speaker-meter i { display: block; width: 3px; min-height: 4px; height: var(--speaker-level-height, 7px); background: currentColor; border-radius: 3px; transform-origin: bottom; }
.live-video-tile[data-speaking="true"] .live-speaker-meter i { animation: live-speaker-bar .55s ease-in-out infinite alternate; }
.live-video-tile[data-speaking="true"] .live-speaker-meter i:nth-child(2) { animation-delay: -.18s; }
.live-video-tile[data-speaking="true"] .live-speaker-meter i:nth-child(3) { animation-delay: -.34s; }
@keyframes live-speaker-pulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes live-speaker-bar { from { transform: scaleY(.45); } to { transform: scaleY(1); } }
.live-side-rail { position: fixed; z-index: 10; inset: 4.25rem 1rem auto auto; width: 22rem; height: min(70dvh, 44rem); min-width: 18rem; min-height: 12rem; display: grid; grid-template-rows: auto auto minmax(0, 1fr); overflow: hidden; resize: both; color: #202124; background: #fff; border-radius: 1rem; box-shadow: 0 4px 20px rgb(0 0 0 / 36%); }
.live-side-rail[data-window-mode="maximized"] { inset: 3.75rem .75rem 6.75rem; width: auto; height: auto; resize: none; }
.live-side-rail[data-window-mode="minimized"] { inset: 4.25rem 0 auto auto; width: 3.25rem; min-width: 0; height: 3.25rem; min-height: 0; resize: none; border-radius: 1rem 0 0 1rem; }
.live-side-rail[data-window-mode="minimized"] > :not(.live-side-heading) { display: none; }
.live-side-rail[data-window-mode="minimized"] .live-side-heading { padding: .25rem; }
.live-side-rail[data-window-mode="minimized"] .live-side-heading h3,
.live-side-rail[data-window-mode="minimized"] [data-live-window-action="maximize"] { display: none; }
.live-side-rail[data-window-mode="minimized"] .live-window-control--first { margin: 0; }
.live-side-heading { display: flex; align-items: center; min-height: 3.25rem; padding: .75rem 1rem .35rem; }
.live-side-rail .live-side-heading { cursor: move; touch-action: none; user-select: none; }
.live-side-heading h3 { margin: 0; font-size: 1rem; }
.live-window-control { width: 44px; min-width: 44px; min-height: 44px; display: grid; place-items: center; margin-inline-start: .25rem; padding: .5rem; overflow: hidden; color: #3c4043; background: #f1f3f4; border: 1px solid #dadce0; border-radius: .5rem; font-size: 0; cursor: pointer; }
.live-window-control--first { margin-inline-start: auto; }
.live-window-control::before,
.live-drawer-minimize::before,
.participant-window-control::before { content: ""; display: block; width: 1.25rem; height: 1.25rem; background: currentColor; mask: var(--window-icon) center / contain no-repeat; -webkit-mask: var(--window-icon) center / contain no-repeat; pointer-events: none; }
[data-window-icon="collapse"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v16H4ZM9 12h8m-4-4 4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="expand"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v16H4Zm11 8H7m4-4-4 4 4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="maximize"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h14v14H5Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="restore"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h12v12M4 8h12v12H4Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="minimize"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 18h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
[data-window-icon="bring-front"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8V4h12v12h-4M4 8h12v12H4Zm6 8v-5m-3 3 3-3 3 3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="pin"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 3 6 6-2 2 3 4-1 1-4-3-2 2-2-2 2-2-3-4Zm0 12-5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
[data-window-icon="unpin"] { --window-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 3 6 6-2 2 3 4-1 1-4-3-2 2-2-2 2-2-3-4Zm0 12-5 5M4 4l16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.live-side-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; padding: 0 .75rem .75rem; border-block-end: 1px solid #e4e7eb; }
.live-side-tabs button { min-height: 44px; padding: .5rem .75rem; color: #5f6368; background: transparent; border: 0; border-radius: .4rem; font-weight: 700; }
.live-side-tabs button[aria-selected="true"] { color: #174ea6; background: #e8f0fe; }
.live-side-rail > .live-chat, .live-side-rail > .live-recording, .live-drawer-tools > .live-chat, .live-drawer-tools > .live-recording { min-height: 0; overflow: auto; padding: .875rem 1rem 1rem; }
.live-side-rail .meeting-chat, .live-side-rail .recording-consent, .live-drawer-tools .meeting-chat, .live-drawer-tools .recording-consent { display: grid; gap: .875rem; }
.meeting-chat h3, .recording-consent h3 { margin: 0; font-size: 1.05rem; }
.meeting-chat > ol { display: grid; align-content: start; gap: .625rem; min-height: 8rem; max-height: min(42dvh, 26rem); margin: 0; padding: 0; overflow: auto; list-style: none; }
.meeting-chat > ol > li { padding: .75rem; border-radius: .75rem; background: #f1f3f4; overflow-wrap: anywhere; }
.meeting-chat > ol > li > p { margin: .25rem 0; }
.meeting-chat > ol > li > p:first-of-type { color: #5f6368; font-size: .75rem; }
.meeting-chat > ol > li > button { margin-block-start: .5rem; margin-inline-end: .55rem; }
.meeting-chat form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding-block-start: .75rem; border-block-start: 1px solid #e4e7eb; }
.meeting-chat form > select, .meeting-chat form > label { grid-column: 1 / -1; }
.meeting-chat form > [hidden] { display: none !important; }
.meeting-chat label { display: grid; gap: .35rem; color: #3c4043; font-size: .8rem; font-weight: 650; }
.meeting-chat textarea, .meeting-chat input, .meeting-chat select, .recording-consent select { width: 100%; min-width: 0; min-height: 44px; padding: .55rem .7rem; color: #202124; background: #fff; border: 1px solid #bdc1c6; border-radius: .65rem; font: inherit; }
.meeting-chat textarea { min-height: 5.5rem; resize: vertical; }
.meeting-chat input[type="file"] { padding: .45rem; font-size: .75rem; }
.meeting-chat button, .recording-consent button { min-height: 44px; padding: .55rem .8rem; border: 0; border-radius: .5rem; font-weight: 700; }
.meeting-chat form > button[type="submit"] { grid-column: 2; color: #fff; background: #1a73e8; }
.chat-file-preview { width: 100%; margin-block-start: .25rem; color: #174ea6; background: #e8f0fe; border: 1px solid #aecbfa !important; }
.chat-file-modal { position: fixed; z-index: 50; inset: 5dvh 5vw; width: min(56rem, 90vw); height: min(90dvh, 48rem); margin: auto; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .75rem; padding: 1rem; overflow: hidden; color: #202124; background: #fff; border: 1px solid #bdc1c6; border-radius: .5rem; box-shadow: 0 0 0 100vmax rgb(0 0 0 / 65%), 0 12px 32px rgb(0 0 0 / 45%); }
.chat-file-modal header { display: flex; align-items: center; gap: .75rem; border-block-end: 1px solid #dadce0; }
.chat-file-modal h3 { min-width: 0; margin: 0 auto .75rem 0; overflow-wrap: anywhere; }
.chat-file-modal header button, .chat-file-download { min-height: 44px; padding: .6rem .85rem; color: #fff; background: #3c4043; border: 1px solid #202124; border-radius: .5rem; font-weight: 750; }
.chat-file-modal img, .chat-file-modal iframe { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; border: 0; background: #f8f9fa; }
.chat-file-modal pre { min-height: 0; margin: 0; padding: .75rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: #f8f9fa; border: 1px solid #dadce0; }
.chat-file-download { justify-self: end; display: inline-flex; align-items: center; text-decoration: none; background: #1a73e8; border-color: #174ea6; }
.recording-consent > p { margin: 0; }
.recording-consent > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.recording-consent > div label { flex: 1 1 100%; display: grid; gap: .35rem; font-size: .8rem; font-weight: 650; }
.recording-consent [data-recording-indicator] { width: fit-content; padding: .4rem .65rem; color: #5f6368; background: #f1f3f4; border-radius: 999px; font-weight: 700; }
.recording-consent [data-recording-indicator]:has(time) { color: #b3261e; background: #fce8e6; }
body.meeting-window .live-captions {
  position: absolute; z-index: 3; inset: auto 50% 5rem auto; transform: translateX(50%);
  width: min(92%, 52rem); min-height: 0; max-height: 38%; padding: .5rem .75rem; overflow: auto;
  color: #fff; background: rgb(32 33 36 / 88%); border: 0; border-radius: .75rem; box-shadow: 0 2px 12px rgb(0 0 0 / 45%); backdrop-filter: blur(10px);
}
body.meeting-window .live-captions > h3,
body.meeting-window .live-captions .caption-range,
body.meeting-window .live-captions .caption-follow { display: none; }
body.meeting-window .live-captions .caption-search { display: flex; margin-block-end: .45rem; }
body.meeting-window .live-captions .caption-search label { font-size: .75rem; }
body.meeting-window .live-captions .caption-search input { min-height: 36px; color: #fff; background: rgb(255 255 255 / 10%); border-color: rgb(255 255 255 / 38%); }
body.meeting-window .live-captions:focus-within > h3,
body.meeting-window .live-captions:focus-within .caption-range,
body.meeting-window .live-captions:focus-within .caption-follow { display: flex; }
body.meeting-window .live-captions:focus-within > h3,
body.meeting-window .live-captions:focus-within .caption-range { display: block; }
body.meeting-window .caption-window { gap: .35rem; }
body.meeting-window .caption-card { padding: .45rem .6rem; color: #fff; background: transparent; border: 0; }
body.meeting-window .caption-card > p { margin-block: .25rem 0; }
body.meeting-window .caption-translation { border-color: #8ab4f8; }
.live-bottom-dock {
  min-width: 0; display: grid; grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr); align-items: center; gap: .625rem;
  padding: .25rem .5rem max(.25rem, env(safe-area-inset-bottom)); color: #e8eaed; background: #202124;
}
.live-bottom-dock > [data-audio-quality], .live-bottom-dock > .mic-off-notice { grid-column: 1; margin: 0; color: #bdc1c6; font-size: .75rem; line-height: 1.25; }
.live-bottom-dock > [data-audio-quality] { display: none; }
body.meeting-window .live-bottom-dock > .mic-off-notice { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.live-audio-controls { grid-column: 2; display: flex; align-items: center; gap: .4rem; }
.live-audio-controls select { width: 8rem; min-height: 48px; color: #e8eaed; background: #3c4043; border: 0; border-radius: 999px; }
.live-audio-controls button, body.meeting-window .live-controls button {
  min-height: 48px; padding: .5rem .8rem; color: #e8eaed; background: #3c4043; border: 0; border-radius: 999px;
}
body.meeting-window .live-controls { grid-column: 2; position: static; display: flex; justify-content: center; gap: .5rem; padding: 0; background: transparent; border: 0; }
body.meeting-window .live-controls button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; flex: 0 0 auto; width: var(--meet-control-size); min-width: var(--meet-control-size); height: var(--meet-control-size); min-height: var(--meet-control-size); max-width: 8.5rem; color: var(--meet-control-fg); background: var(--meet-control-bg); box-shadow: 0 1px 2px rgb(0 0 0 / 35%); transition: background-color 120ms ease, color 120ms ease, transform 120ms ease; }
body.meeting-window .live-control-icon { width: var(--meet-control-icon-size); height: var(--meet-control-icon-size); flex: 0 0 auto; }
body.meeting-window .live-controls button:not(.live-control-leave) .live-control-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.meeting-window .live-controls button:hover { background: var(--meet-control-hover); }
body.meeting-window .live-controls button:active { background: var(--meet-control-active); transform: translateY(1px); }
body.meeting-window .live-controls button[data-control-kind="device"][data-state="off"] { color: var(--meet-control-off-fg); background: var(--meet-control-off-bg); }
body.meeting-window .live-controls button[data-control-kind="device"][data-state="off"]:hover { background: var(--meet-control-off-hover); }
body.meeting-window .live-controls button[data-state="selected"] { color: var(--meet-control-selected-fg); background: var(--meet-control-selected-bg); }
body.meeting-window .live-controls button[data-state="selected"]:hover { background: var(--meet-control-selected-hover); }
body.meeting-window .live-controls button[disabled] { color: var(--meet-control-disabled-fg); background: var(--meet-control-disabled-bg); opacity: 1; text-decoration: none; box-shadow: none; }
body.meeting-window button:focus-visible,
body.meeting-window [tabindex="0"]:focus-visible { outline: 3px solid #aecbfa; outline-offset: 2px; }
body.meeting-window .live-controls .live-control-leave { width: auto; min-width: 7.25rem; max-width: none; color: #fff; background: var(--meet-control-danger); padding-inline: 1.15rem; }
body.meeting-window .live-controls .live-control-leave:hover { background: var(--meet-control-danger-hover); }
body.meeting-window .live-controls .live-control-leave:active { background: var(--meet-control-danger-active); }
body.meeting-window .live-controls .live-control-leave .live-control-label { overflow: visible; text-overflow: clip; }
body.meeting-window .live-video-tile[data-source="avatar"] { display: grid; place-items: center; }
body.meeting-window .live-participant-avatar-image, body.meeting-window .live-participant-avatar-fallback { width: clamp(5rem, 18vw, 10rem); height: clamp(5rem, 18vw, 10rem); border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px rgb(255 255 255 / 14%); }
body.meeting-window .live-participant-avatar-fallback { display: grid; place-items: center; color: #fff; background: #5f6368; font-size: clamp(2rem, 7vw, 4.5rem); font-weight: 650; }
body.meeting-window .advanced-audio-controls { display: grid; gap: .65rem; padding: .8rem; border: 1px solid #dadce0; border-radius: .75rem; }
body.meeting-window .advanced-audio-controls h4, body.meeting-window .advanced-audio-controls p { margin: 0; }
body.meeting-window .advanced-audio-controls label { display: grid; gap: .35rem; }
body.meeting-window .advanced-audio-controls select, body.meeting-window .advanced-audio-controls button { min-height: 44px; }
.camera-background-controls { display: grid; gap: .65rem; margin-block: .9rem; padding: .8rem; border: 1px solid #dadce0; border-radius: .75rem; }
.camera-background-controls label { display: grid; gap: .35rem; font-weight: 700; }
.camera-background-controls select, .camera-background-custom input { width: 100%; min-height: 44px; }
.screen-share-controls { display: grid; gap: .45rem; margin-block: .9rem; padding: .8rem; border: 1px solid #dadce0; border-radius: .75rem; }
.screen-share-controls label { display: flex; align-items: center; gap: .55rem; min-height: 44px; font-weight: 700; cursor: pointer; }
.screen-share-controls input { width: 1.1rem; height: 1.1rem; margin: 0; flex: 0 0 auto; }
.screen-share-controls p { margin: 0; color: #5f6368; line-height: 1.45; }
body.meeting-window .live-controls [data-live-action="microphone"][data-speaking="true"] { box-shadow: 0 0 0 3px rgb(138 180 248 / 45%), 0 1px 2px rgb(0 0 0 / 35%); animation: live-mic-control-pulse 1.2s ease-in-out infinite; }
@keyframes live-mic-control-pulse { 50% { box-shadow: 0 0 0 6px rgb(138 180 248 / 18%), 0 1px 2px rgb(0 0 0 / 35%); } }
body.meeting-window .live-failure { z-index: 4; margin: .5rem; color: #202124; border-radius: .75rem; }
body.meeting-window .live-media-feedback { position: absolute; z-index: 5; inset: .75rem .75rem auto; display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: auto; margin: 0; padding: .75rem 1rem; color: #7a1d17; background: #fce8e6; border: 1px solid #d93025; border-radius: .75rem; box-shadow: 0 4px 16px rgb(32 33 36 / 20%); }
body.meeting-window .live-media-feedback button { min-height: 44px; flex: 0 0 auto; color: #fff; background: #7a1d17; border: 0; border-radius: .5rem; font-weight: 700; }
body.meeting-window .live-drawer { color: #202124; background: #fff; border: 0; border-radius: 1rem 0 0 1rem; }
.live-drawer-heading { position: sticky; z-index: 3; inset-block-start: 0; display: flex; align-items: center; gap: .5rem; margin-block-end: .75rem; padding: .4rem; background: #fff; border-block-end: 1px solid #dadce0; }
.live-drawer-heading::before { content: attr(data-title); min-width: 0; margin-inline-end: auto; font-size: 1.05rem; font-weight: 750; }
.live-drawer-minimize, .live-drawer-close { min-height: 44px; padding: .55rem .75rem; border: 1px solid transparent; border-radius: .5rem; font-weight: 750; }
.live-drawer-minimize { width: 44px; min-width: 44px; display: grid; place-items: center; padding: .5rem; color: #174ea6; background: #e8f0fe; border-color: #aecbfa; }
.live-drawer-close { color: #fff; background: #3c4043; border-color: #202124; }
.live-drawer-close:hover { background: #202124; }
.live-drawer button { border-radius: .5rem; }
.live-drawer [data-live-action="participants-previous"] { margin-inline-end: .5rem; }
.participant-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.live-drawer-tools { display: grid; grid-template-rows: auto auto minmax(10rem, auto); margin-block-end: 1.25rem; overflow: hidden; border: 1px solid #dadce0; border-radius: .5rem; }
.live-drawer-leave { width: 100%; min-height: 48px; color: #fff; background: #d93025; border: 0; border-radius: .5rem; font-weight: 750; }
.live-drawer[data-window-mode="minimized"] { inset: 4.25rem 0 auto auto; width: 3.5rem; height: auto; padding: .35rem; overflow: hidden; border-radius: .75rem 0 0 .75rem; box-shadow: 0 4px 16px rgb(0 0 0 / 38%); }
.live-drawer[data-window-mode="minimized"] > :not(.live-drawer-heading),
.live-drawer[data-window-mode="minimized"] .live-drawer-heading > :not(.live-drawer-minimize) { display: none; }
.live-drawer[data-window-mode="minimized"] .live-drawer-heading { margin: 0; padding: 0; border: 0; }
.live-drawer[data-window-mode="minimized"] .live-drawer-heading::before { display: none; }
.live-drawer[data-window-mode="minimized"] .live-drawer-minimize { width: 44px; }

@media (max-width: 64rem) {
  .live-bottom-dock { grid-template-columns: minmax(0, 1fr); }
  .live-bottom-dock > .mic-off-notice, .live-bottom-dock > [data-audio-quality] { display: none; }
  .live-audio-controls { grid-column: 1; }
  body.meeting-window .live-controls { grid-column: 1; }
}
@media (max-width: 48rem) {
  body.meeting-window { overflow: auto; }
  body.meeting-window #main-content, body.meeting-window .live-meeting-mount { height: auto; min-height: 100dvh; }
  body.meeting-window .live-meeting { height: auto; min-height: 100dvh; padding: .5rem; padding-block-end: calc(8.5rem + env(safe-area-inset-bottom)); }
  body.meeting-window .live-header { grid-template-columns: minmax(0, 1fr) auto auto; }
  body.meeting-window .live-header .live-badge { display: inline-flex; max-width: none; overflow: visible; white-space: nowrap; }
  body.meeting-window .live-header .live-badge--recording .live-badge-label { display: none; }
  body.meeting-window .live-header .live-badge--recording .live-badge-label-compact { display: inline; }
  body.meeting-window .live-header .live-badge--connectivity { display: none; }
  body.meeting-window .live-header .live-waiting-alert { grid-column: 1 / -1; justify-self: end; }
  .live-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(70dvh, 1fr); }
  .live-side-rail { display: none; }
  body.meeting-window .live-video-stage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.meeting-window .live-video-stage[data-tile-count="1"] { grid-template-columns: minmax(0, 1fr); }
  .live-bottom-dock { position: fixed; z-index: 12; inset: auto 0 0; display: block; padding: .45rem max(.45rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left)); box-shadow: 0 -3px 12px rgb(0 0 0 / 35%); }
  .live-audio-controls { display: none; }
  .live-audio-controls select { display: none; }
  body.meeting-window .live-controls { display: grid; grid-template-columns: repeat(4, minmax(44px, 1fr)); grid-template-areas: "microphone camera captions more" "screen voice leave leave"; gap: .35rem; width: 100%; overflow: visible; }
  body.meeting-window .live-controls [data-live-action="microphone"] { grid-area: microphone; }
  body.meeting-window .live-controls [data-live-action="camera"] { grid-area: camera; }
  body.meeting-window .live-controls [data-live-action="screen-share"] { grid-area: screen; }
  body.meeting-window .live-controls [data-live-action="captions"] { grid-area: captions; }
  body.meeting-window .live-controls [data-live-action="voice"] { grid-area: voice; }
  body.meeting-window .live-controls [data-live-action="more"] { grid-area: more; }
  body.meeting-window .live-controls [data-live-action="leave-now"] { grid-area: leave; }
  body.meeting-window { --meet-control-size: 52px; --meet-control-icon-size: 22px; }
  body.meeting-window .live-controls button { justify-self: center; width: var(--meet-control-size); max-width: none; min-width: var(--meet-control-size); min-height: var(--meet-control-size); padding: .4rem; font-size: .75rem; }
  body.meeting-window .live-controls .live-control-leave { justify-self: stretch; width: 100%; min-width: 0; }
  body.meeting-window .live-controls .live-control-leave .live-control-label { position: static; width: auto; height: auto; margin: 0; clip: auto; }
  body.meeting-window .live-drawer { inset: auto 0 0; width: 100%; max-height: min(72dvh, 48rem); padding: .75rem .75rem max(.75rem, env(safe-area-inset-bottom)); border-radius: .75rem .75rem 0 0; box-shadow: 0 -100vmax 0 100vmax rgb(0 0 0 / .52); }
  body.meeting-window .live-drawer[data-window-mode="minimized"] { inset: auto 0 calc(8.5rem + env(safe-area-inset-bottom)) auto; width: 3.5rem; max-height: none; padding: .35rem; border-radius: .75rem 0 0 .75rem; box-shadow: 0 4px 16px rgb(0 0 0 / 38%); }
  .chat-file-modal { inset: .5rem; width: auto; height: auto; padding: .75rem; }
  .chat-file-modal header { align-items: flex-start; }
}
@media (max-width: 30rem) {
  body.meeting-window .live-meeting { padding-block-start: max(.5rem, env(safe-area-inset-top)); }
  body.meeting-window .live-header { grid-template-columns: minmax(0, 1fr) auto; gap: .35rem; }
  body.meeting-window .live-header .live-title-group,
  body.meeting-window .live-header .live-waiting-alert { grid-column: 1 / -1; width: 100%; }
  body.meeting-window .live-header .live-meeting-code { max-width: 100%; }
  body.meeting-window .live-header time { display: none; }
  .live-workspace { grid-template-rows: minmax(68dvh, 1fr); }
  body.meeting-window .live-video-stage { grid-template-columns: minmax(0, 1fr); }
  body.meeting-window .live-video-tile { cursor: default; touch-action: auto; }
  body.meeting-window .live-video-tile--floating { position: relative; inset: auto !important; width: auto !important; max-width: 100%; resize: none; }
  body.meeting-window .live-video-meta { inset: auto .35rem .35rem; gap: .2rem; padding: .25rem; }
  body.meeting-window .live-video-meta > span { font-size: .75rem; }
  body.meeting-window .live-video-meta > button { flex: 0 0 44px; width: 44px; padding: .25rem; font-size: .75rem; }
  body.meeting-window .live-captions { width: calc(100% - 1rem); max-height: 30dvh; }
  body.meeting-window .live-captions:not(:focus-within) .caption-card:nth-last-child(n + 4) { display: none; }
  body.meeting-window .caption-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  body.meeting-window .caption-meta > :last-child { grid-column: 1 / -1; color: #bdc1c6; font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
.glossary-import form{display:grid;gap:.75rem;max-width:52rem}.glossary-import label{display:grid;gap:.25rem}.glossary-import textarea{font:inherit}.glossary-import table{border-collapse:collapse;width:100%}.glossary-import th,.glossary-import td{border:1px solid currentColor;padding:.35rem;text-align:left}.glossary-import button{width:max-content}.glossary-import [aria-busy="true"]{opacity:.75}
@media (forced-colors: active) { .live-badge, .live-failure, .caption-card, .live-controls { color: CanvasText; background: Canvas; border-color: CanvasText; forced-color-adjust: auto; } .caption-translation { border-color: LinkText; } }
.preferences-mount { margin-block-start: 2rem; }
.room-templates-mount { margin-block-start: 2rem; }
.meeting-create-wizard-mount { min-width: 0; margin-block-start: 2rem; }
.home-quick-one-to-one, .quick-one-to-one, .home-personal-translator { margin-block-start: 1.5rem; padding: clamp(1rem, 3vw, 1.5rem); border: 2px solid var(--accent); border-radius: .85rem; background: var(--surface); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
.home-quick-one-to-one .primary-action, .home-personal-translator .primary-action { display: inline-flex; margin-block-start: .5rem; text-decoration: none; }
.quick-defaults, .quick-advanced-hint { color: var(--muted); }
.quick-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.quick-fields label { display: grid; gap: .4rem; font-weight: 700; }
.quick-fields select { min-width: 0; min-height: 44px; }
.quick-one-to-one .wizard-check { margin-block: .85rem; }
.quick-status { min-height: 1.5em; }
.advanced-create { margin-block-start: 1.5rem; }
.advanced-create > summary { min-height: 44px; padding: .7rem; cursor: pointer; font-weight: 700; }
.personal-translator-mount { min-width: 0; margin-block-start: 1.5rem; }
.personal-translator { min-width: 0; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); }
.personal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.personal-heading h2, .personal-heading p { margin-block-start: 0; }
.personal-badges { display: flex; gap: .5rem; flex-wrap: wrap; }
.personal-badges span { padding: .35rem .65rem; border: 1px solid var(--accent); border-radius: 999px; font-size: .9rem; font-weight: 700; }
.personal-translator form { display: grid; gap: .75rem; }
.personal-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: .75rem; }
.personal-fields label { display: grid; gap: .375rem; font-weight: 700; }
.personal-fields select, .personal-swap, .personal-start { min-height: 44px; }
.personal-fields select { width: 100%; min-width: 0; }
.personal-swap { min-width: 44px; padding: .5rem; font-size: 1.25rem; }
.personal-privacy { padding: .75rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }
.personal-start { width: max-content; padding-inline: 1.25rem; }
.personal-status { min-height: 1.5em; margin: 0; font-weight: 700; }
.personal-mic-note { color: var(--muted); }
.personal-captions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block-start: 1.25rem; }
.personal-captions article { min-width: 0; min-height: 10rem; padding: 1rem; border: 1px solid var(--border); border-radius: .65rem; background: var(--surface-muted); }
.personal-captions h3 { margin-block-start: 0; font-size: 1rem; color: var(--muted); }
.personal-captions p { margin: 0; font-size: clamp(1.15rem, 2.5vw, 1.6rem); line-height: 1.55; overflow-wrap: anywhere; }
.personal-history { margin-block-start: 1.5rem; }
.personal-history li { padding-block: .75rem; border-block-end: 1px solid var(--border); }
.personal-history li p { margin: .25rem 0; }
.meeting-invitation-mount { min-width: 0; margin-block-start: 2rem; }
.meeting-join-mount, .join-approvals-mount, .meeting-preflight-mount, .host-waiting-room-mount, .live-meeting-mount { min-width: 0; margin-block-start: 2rem; }
.meeting-join, .join-approvals { display: grid; gap: 1rem; min-width: 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.meeting-join form { display: grid; gap: 1rem; }
.meeting-join label { display: grid; gap: .375rem; font-weight: 650; }
.meeting-join input { width: 100%; min-width: 0; min-height: 44px; padding: .625rem .75rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--text); }
.meeting-join label:has(input[type="checkbox"]) { grid-template-columns: auto minmax(0,1fr); align-items: center; }
.meeting-join input[type="checkbox"] { width: 1.25rem; min-height: 1.25rem; }
.join-approval-item { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-block: .75rem; border-block-start: 1px solid var(--border); }
.join-approval-item span { flex: 1 1 12rem; overflow-wrap: anywhere; }
.meeting-join button, .meeting-join a, .join-approvals button { min-height: 44px; padding: .625rem 1rem; }
.meeting-invitation, .invite-error { min-width: 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); overflow-wrap: anywhere; }
.invite-lifecycle { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.invite-lifecycle > div, .invite-actions, .invite-modal > div { display: flex; flex-wrap: wrap; gap: .75rem; }
.meeting-start-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-block-start: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface-muted); }
.meeting-start-controls p { flex: 1 1 14rem; margin: 0; }
.meeting-start-controls .primary-action { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.invite-artifacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin-block-start: 1.25rem; }
.invite-artifact { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface-muted); }
.invite-artifact h2 { font-size: 1.05rem; }
.invite-artifact pre, .invite-artifact a { display: block; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.invite-artifact img { display: block; width: min(100%, 18rem); height: auto; margin-inline: auto; image-rendering: pixelated; }
.invite-actions { margin-block-start: 1rem; }
.meeting-invitation button, .invite-error button, .invite-modal button { min-block-size: 44px; min-inline-size: 44px; }
.invite-delivery-boundary { margin-block-start: 1.25rem; padding: .75rem; border-inline-start: .25rem solid var(--border); }
.destructive { border-color: #a12622; color: #8b1d1a; }
.invite-modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgb(0 0 0 / .65); }
.invite-modal { width: min(100%, 32rem); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.5rem; border-radius: .75rem; background: var(--surface); color: var(--text); }
@media (forced-colors: active) { .meeting-invitation, .invite-artifact, .invite-modal, .meeting-join, .join-approvals { border: 1px solid CanvasText; } .destructive { color: LinkText; } }
@media (prefers-reduced-motion: reduce) { .meeting-invitation *, .invite-modal * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
.meeting-wizard, .meeting-wizard-awaiting, .meeting-wizard-complete { min-width: 0; max-width: 100%; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.wizard-stepper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-block: 1rem 2rem; padding: 0; list-style: none; }
.wizard-stepper li { min-width: 0; }
.wizard-stepper button { width: 100%; min-width: 0; padding: .625rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface-muted); color: var(--text); overflow-wrap: anywhere; }
.wizard-stepper button[aria-current="step"] { border: 3px solid var(--accent); font-weight: 750; text-decoration: underline; text-underline-offset: .2em; }
.meeting-wizard fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.meeting-wizard legend { max-width: 100%; margin-block-end: 1rem; font-size: 1.35rem; font-weight: 750; overflow-wrap: anywhere; }
.wizard-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.wizard-field { display: grid; align-content: start; gap: .375rem; min-width: 0; }
.wizard-field label, .wizard-check label, .wizard-language-options legend { font-weight: 650; }
.wizard-field input, .wizard-field select { width: 100%; min-width: 0; min-height: 44px; padding: .625rem .75rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--text); background: var(--surface); }
.wizard-check { display: flex; align-items: center; gap: .625rem; min-width: 0; min-height: 44px; }
.wizard-check input { width: 1.25rem; height: 1.25rem; flex: none; accent-color: var(--accent); }
.wizard-language-options { grid-column: 1 / -1; }
.wizard-language-options select[multiple] { min-height: 13rem; padding: .25rem; }
.wizard-language-options select[multiple] option { min-height: 44px; padding: .65rem .75rem; }
.wizard-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-block-start: 1.5rem; }
.wizard-actions button, .meeting-wizard-complete a { min-height: 44px; padding: .625rem 1rem; white-space: normal; }
.wizard-error-summary, .wizard-conflict { min-width: 0; margin-block: 1rem; padding: 1rem; border: 2px solid #a12622; border-radius: .5rem; background: var(--surface); overflow-wrap: anywhere; }
.wizard-error-summary h3, .wizard-conflict h3 { margin-block-start: 0; }
.wizard-error-summary a { color: var(--text); text-decoration-thickness: .12em; }
.wizard-conflict dl { display: grid; grid-template-columns: minmax(8rem, auto) minmax(0, 1fr); gap: .5rem 1rem; }
.wizard-conflict dt { font-weight: 700; }
.wizard-conflict dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.field-error { margin: 0; color: #a12622; font-weight: 650; }
.wizard-policy-summary { grid-column: 1 / -1; padding: .75rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }
[data-wizard-status][data-state="failed"], [data-wizard-status][data-state="reconciling"] { font-weight: 700; }
.room-template-panel { min-width: 0; max-width: 100%; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.template-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.template-card { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; overflow-wrap: anywhere; }
.template-card h3, .template-card p { margin-block-start: 0; }
.template-card button, .template-preview button, .template-error button { min-height: 44px; max-width: 100%; padding: .625rem .875rem; white-space: normal; }
.template-preview { min-width: 0; margin-block-start: 1.5rem; padding: 1rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); overflow-wrap: anywhere; }
.template-preview:empty { display: none; }
.template-diff { display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); gap: .5rem 1rem; }
.template-diff dt { font-weight: 700; }
.template-diff dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.template-change { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .625rem; }
.template-change-side { min-width: 0; padding: .625rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); }
.template-change-after { border-color: var(--accent); }
.template-change-label { display: block; margin-block-end: .25rem; color: var(--muted); font-size: .875rem; font-weight: 700; }
.template-change-arrow { color: var(--accent); font-size: 1.25rem; font-weight: 800; }
.template-value-list, .template-change-list { margin: 0; padding-inline-start: 1.25rem; }
.template-value-details { display: grid; grid-template-columns: minmax(6rem, auto) minmax(0, 1fr); gap: .25rem .75rem; margin: 0; }
.template-value-details dt { font-weight: 650; }
.template-value-details dd { margin: 0; }
.template-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: 1rem; }
.template-blocked, .template-error { padding: 1rem; border: 2px solid #a12622; border-radius: .5rem; background: var(--surface); }
.preferences-panel { min-width: 0; max-width: 100%; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); }
.preference-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.preference-meta > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.preference-meta h2, .preference-meta p { margin-block: 0 1rem; }
.preferences-panel form, .preferences-panel [role="group"] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; min-width: 0; max-width: 100%; }
.preference-group-heading { max-width: 100%; margin: 0; font-size: 1.25rem; overflow-wrap: anywhere; }
.preference-field { display: grid; gap: .375rem; min-width: 0; max-width: 100%; }
.preference-field label, .preference-options label { font-weight: 650; }
.preference-field input, .preference-field select { width: 100%; min-width: 0; min-height: 44px; padding: .625rem .75rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--text); background: var(--surface); }
.preference-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .5rem 1rem; }
.preference-options label { display: flex; align-items: center; gap: .625rem; min-height: 44px; }
.preference-options input[type="checkbox"] { width: 1.25rem; height: 1.25rem; flex: none; accent-color: var(--accent); }
.field-help { margin: 0; font-size: 1rem; }
.primary-action, .preference-errors button { justify-self: start; max-width: 100%; min-height: 44px; padding: .625rem 1rem; border: 2px solid var(--accent); border-radius: .5rem; font-weight: 700; color: #fff; background: var(--accent); overflow-wrap: anywhere; white-space: normal; }
.primary-action:disabled { opacity: .65; }
.preference-errors { margin-block: 1rem; padding: 1rem; border: 2px solid #a12622; border-radius: .5rem; background: var(--surface-muted); overflow-wrap: anywhere; }
.preference-errors h3 { margin-block-start: 0; }
.preference-errors li { margin-block: .5rem; }
.device-restore { padding: 1rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }
.device-restore h3 { margin-block-start: 0; }
[data-preference-status][data-kind="success"] { font-weight: 700; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.meeting-preflight, .waiting-participant, .host-waiting-room, .preflight-error {
  display: grid; gap: 1.25rem; min-width: 0; max-width: 100%; padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); overflow-wrap: anywhere;
}
.meeting-preflight h2, .meeting-preflight h3, .waiting-participant h2, .host-waiting-room h2 { margin-block: 0; }
.preflight-languages fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; }
.preflight-languages legend { padding-inline: .25rem; font-size: 1.25rem; font-weight: 750; }
.preflight-languages label { display: grid; gap: .375rem; min-width: 0; font-weight: 650; }
.preflight-languages select { width: 100%; }
.preflight-languages button { justify-self: start; padding: .625rem 1rem; }
.preflight-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.preflight-check { display: grid; align-content: start; gap: .75rem; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface-muted); }
.preflight-check[data-check-state="passed"] { border-inline-start: .4rem solid #18713c; }
.preflight-check[data-check-state="warning"], .preflight-check[data-check-state="denied"], .preflight-check[data-check-state="missing"] { border-inline-start: .4rem solid #a26200; }
.preflight-check[data-check-state="failed"], .preflight-check[data-check-state="blocked"] { border-inline-start: .4rem solid #a12622; }
.preflight-check button { justify-self: start; max-width: 100%; padding: .625rem 1rem; white-space: normal; }
.preflight-result { margin: 0; font-size: 1rem; font-weight: 700; }
.preflight-check meter { width: 100%; height: 1.25rem; }
.preflight-checkbox { display: flex; align-items: flex-start; gap: .625rem; min-height: 44px; font-weight: 650; }
.preflight-checkbox input { flex: none; width: 1.25rem; height: 1.25rem; margin-block-start: .15rem; accent-color: var(--accent); }
.preflight-recovery, .preflight-feedback { margin: 0; padding: .75rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }
.preflight-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.preflight-actions button, .waiting-participant button, .preflight-error button { padding: .625rem 1rem; white-space: normal; }
.waiting-self-label { font-weight: 750; }
.host-waiting-room form { display: grid; gap: 1rem; min-width: 0; }
.waiting-list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.waiting-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: .5rem; }
.waiting-list label { display: flex; align-items: center; gap: .625rem; min-width: 0; font-weight: 700; overflow-wrap: anywhere; }
.waiting-list input { width: 1.25rem; height: 1.25rem; flex: none; }
.waiting-reason { max-width: 24ch; overflow-wrap: anywhere; }
.waiting-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.waiting-item-actions button { min-height: 44px; padding: .5rem .75rem; border-radius: .45rem; font-weight: 750; }
.live-join-approvals, .live-waiting-room { min-width: 0; }
.live-drawer .join-approvals--embedded { gap: .75rem; padding: 1rem; color: #202124; background: #fff8e1; border-color: #f9ab00; border-radius: .65rem; }
.live-drawer .join-approvals--embedded h3 { margin: 0; }
.join-approvals--embedded .join-approvals-refresh { justify-self: start; padding: .5rem .75rem; border-radius: .45rem; }
.join-approvals--embedded .join-approval-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .5rem; padding-block: .5rem; }
.join-approvals--embedded .join-approval-item span { min-width: 0; }
.join-approvals--embedded .join-approval-item button { min-width: 5rem; border-radius: .45rem; }
.live-drawer .host-waiting-room--embedded { gap: .75rem; padding: 1rem; color: #202124; background: #fff8e1; border-color: #f9ab00; border-radius: .65rem; }
.live-drawer .host-waiting-room--embedded h3 { margin: 0; }
.host-waiting-room--embedded .waiting-room-refresh { min-height: 44px; justify-self: start; padding: .5rem .75rem; border-radius: .45rem; }
.host-waiting-room--embedded .waiting-list li { grid-template-columns: minmax(0, 1fr) auto; }
.host-waiting-room--embedded .waiting-item-actions { grid-column: 1 / -1; }
.host-waiting-room--embedded .waiting-room-empty { margin: 0; color: #5f6368; }

.transcript-results { display: grid; gap: 1rem; min-width: 0; max-width: 60rem; }
.my-meetings { display: grid; gap: 1rem; min-width: 0; max-width: 72rem; }
.my-meetings h2 { margin: 0; }
.meeting-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.meeting-card { display: grid; align-content: start; gap: .75rem; min-width: 0; padding: 1.125rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: 0 .35rem 1.25rem rgb(0 0 0 / .06); overflow-wrap: anywhere; }
.meeting-card h3 { margin: 0; font-size: 1.2rem; }
.meeting-role { justify-self: start; padding: .2rem .6rem; border-radius: 999px; background: var(--surface-muted); color: var(--text); font-size: .875rem; font-weight: 750; }
.meeting-card dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem .75rem; margin: 0; }
.meeting-card dt { color: var(--muted); font-weight: 700; }
.meeting-card dd { min-width: 0; margin: 0; }
.meeting-code-value { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.meeting-code-value code { min-width: 0; overflow: hidden; color: var(--text); font-weight: 750; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.meeting-code-copy { flex: none; min-height: 2.75rem; padding: .4rem .75rem; border-radius: .45rem; }
.meeting-card .primary-action { align-self: end; justify-self: stretch; text-align: center; }
.meeting-recordings { display: grid; gap: .625rem; min-width: 0; padding-block-start: .75rem; border-block-start: 1px solid var(--border); }
.meeting-recordings h4, .meeting-recordings p { margin: 0; }
.meeting-recordings > ul { display: grid; gap: .625rem; margin: 0; padding: 0; list-style: none; }
.meeting-recordings > ul > li { display: grid; gap: .5rem; min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface-muted); }
.recording-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem .5rem; min-width: 0; }
.recording-summary small { grid-column: 1 / -1; color: var(--muted); }
.recording-status { padding: .2rem .45rem; border-radius: .35rem; color: #3c4043; background: #e8eaed; font-size: .75rem; font-weight: 750; white-space: nowrap; }
.recording-status--ready { color: #0d652d; background: #e6f4ea; }
.recording-status--failed { color: #a50e0e; background: #fce8e6; }
.recording-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
.recording-actions button, .recording-download, .recording-player-close { min-height: 44px; padding: .55rem .75rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--text); background: var(--surface); font: inherit; font-weight: 750; text-align: center; cursor: pointer; }
.recording-actions button:first-child { color: #fff; background: #174ea6; border-color: #174ea6; }
.recording-actions button:disabled { cursor: wait; opacity: .65; }
.recording-error { color: #a50e0e; }
.recording-player-modal { position: fixed; z-index: 100; inset: 50% auto auto 50%; width: min(64rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); display: grid; gap: .75rem; padding: 1rem; overflow: auto; color: #202124; background: #fff; border: 1px solid #dadce0; border-radius: .75rem; box-shadow: 0 0 0 100vmax rgb(0 0 0 / 65%), 0 12px 40px rgb(0 0 0 / 35%); transform: translate(-50%, -50%); }
.recording-player-modal header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.recording-player-modal h2 { margin: 0; font-size: clamp(1rem, 2.2vw, 1.35rem); }
.recording-player-modal video { width: 100%; max-height: min(70dvh, 45rem); background: #000; border-radius: .5rem; }
.recording-player-modal .recording-download { justify-self: end; min-width: 8rem; text-decoration: none; }
.recording-content-modal { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.recording-content-modal > header, .recording-content-modal > .recording-content-warning, .recording-content-modal > .recording-download { grid-column: 1 / -1; }
.recording-content-section { min-width: 0; padding: .75rem; border: 1px solid #dadce0; border-radius: .6rem; background: #f8f9fa; }
.recording-content-section h3 { margin-block-start: 0; }
.recording-content-list { display: grid; gap: .625rem; max-height: 52dvh; margin: 0; padding-inline-start: 1.5rem; overflow: auto; }
.recording-content-list > li { padding: .625rem; background: #fff; border: 1px solid #dadce0; border-radius: .45rem; overflow-wrap: anywhere; }
.recording-content-list p { margin: .2rem 0; }
.recording-content-meta { color: #5f6368; font-size: .85rem; font-weight: 700; }
.recording-translations { display: grid; gap: .25rem; margin-block-start: .5rem; padding-inline-start: 1.25rem; color: #3c4043; }
.recording-content-warning { margin: 0; padding: .75rem; color: #7a4f01; background: #fef7e0; border-inline-start: .3rem solid #f9ab00; }
.meetings-feedback, .meetings-empty { padding: 1rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }
.my-meetings > button { justify-self: start; width: auto; padding: .625rem 1rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--text); background: var(--surface); }
.transcript-results form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: .75rem; }
.transcript-results label { display: grid; gap: .375rem; min-width: 0; font-weight: 650; }
.transcript-results input[type="checkbox"] { width: 1.25rem; height: 1.25rem; }
.transcript-results button, .transcript-results a { min-height: 44px; padding: .625rem 1rem; }
.export-jobs { display: grid; gap: .75rem; padding: 0; list-style: none; }
.export-jobs li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; overflow-wrap: anywhere; }
.export-feedback { min-height: 1.5em; padding: .75rem; border-inline-start: .35rem solid var(--accent); background: var(--surface-muted); }

@media (min-width: 1024px) {
  #product-shell { grid-template: auto 1fr / 15rem minmax(0, 1fr); }
  .product-header { grid-column: 1 / -1; }
  nav { grid-row: 2; flex-direction: column; align-items: stretch; padding-block: 1.5rem; border-block-end: 0; border-inline-end: 1px solid var(--border); overflow: visible; }
  main { grid-column: 2; grid-row: 2; }
}

@media (max-width: 1023px) {
  #product-shell { padding-block-end: calc(68px + env(safe-area-inset-bottom)); }
  nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 50;
    min-height: 60px;
    flex-wrap: nowrap;
    align-items: stretch;
    padding: .5rem max(1rem, env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));
    border-block: 1px solid var(--border) 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  nav a { flex: 0 0 auto; min-height: 44px; }
}

@media (max-width: 48rem) {
  .recording-content-modal { grid-template-columns: minmax(0, 1fr); }
  .recording-content-modal > header, .recording-content-modal > .recording-content-warning, .recording-content-modal > .recording-download { grid-column: 1; }
  .recording-content-list { max-height: 36dvh; }
}

@media (max-width: 767px) {
  body.meeting-window .live-media-feedback { align-items: stretch; flex-direction: column; }
  body.meeting-window .live-media-feedback button { width: 100%; }
  .product-header { align-items: flex-start; flex-direction: column; }
  .shell-preferences { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .shell-preferences label { align-self: end; }
  .shell-preferences select { width: 100%; }
  .wizard-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wizard-fields { grid-template-columns: minmax(0, 1fr); }
  .wizard-language-options, .wizard-policy-summary { grid-column: 1; }
  .preflight-languages fieldset, .preflight-checks { grid-template-columns: minmax(0, 1fr); }
  .transcript-results form { grid-template-columns: minmax(0, 1fr); }
  .quick-fields { grid-template-columns: minmax(0, 1fr); }
  .quick-one-to-one .primary-action, .home-quick-one-to-one .primary-action { width: 100%; justify-content: center; }
  .home-personal-translator .primary-action, .personal-start { width: 100%; justify-content: center; }
  .meeting-start-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
  .meeting-start-controls .primary-action { width: 100%; }
  .personal-fields, .personal-captions { grid-template-columns: minmax(0, 1fr); }
  .personal-swap { justify-self: center; transform: rotate(90deg); }
  .template-diff { grid-template-columns: minmax(0, 1fr); }
  .template-diff dd { margin-block-end: .5rem; }
  .template-change { grid-template-columns: minmax(0, 1fr); }
  .template-change-arrow { transform: rotate(90deg); justify-self: center; }
  .template-value-details { grid-template-columns: minmax(0, 1fr); }
  .template-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .template-actions button { width: 100%; }
  .meeting-card-grid { grid-template-columns: minmax(0, 1fr); }
  .meeting-card dl { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .meeting-card dd { margin-block-end: .5rem; }
  .meeting-code-value { flex-wrap: wrap; }
  .recording-player-modal { inset: .5rem; width: auto; max-height: calc(100dvh - 1rem); transform: none; }
  .recording-player-modal header { align-items: center; }
}

@media (max-width: 359px) {
  .shell-preferences { grid-template-columns: minmax(0, 1fr); }
  .wizard-stepper { grid-template-columns: minmax(0, 1fr); }
  .wizard-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .wizard-actions button { width: 100%; }
  .wizard-conflict dl { grid-template-columns: minmax(0, 1fr); }
  .wizard-conflict dd { margin-block-end: .5rem; }
  .waiting-list li { grid-template-columns: minmax(0, 1fr); }
  .host-waiting-room--embedded .waiting-list li { grid-template-columns: minmax(0, 1fr); }
  .join-approvals--embedded .join-approval-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .join-approvals--embedded .join-approval-item span { grid-column: 1 / -1; }
  .join-approvals--embedded .join-approval-item button { width: 100%; min-width: 0; }
  .waiting-item-actions { justify-content: stretch; }
  .waiting-item-actions button { flex: 1 1 8rem; }
  .preflight-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .preflight-actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
  nav a[aria-current="page"] { border: 2px solid LinkText; }
  a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, [tabindex="-1"]:focus-visible { outline-color: Highlight; }
  .wizard-stepper button[aria-current="step"], .wizard-error-summary, .wizard-conflict { border-color: Highlight; }
  .meeting-preflight, .waiting-participant, .host-waiting-room, .preflight-error, .preflight-check { border-color: CanvasText; }
  .preflight-check[data-check-state] { border-inline-start-color: Highlight; }
}

@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; --surface: #102924; --surface-muted: #0a1d19; --text: #f4fffa; --muted: #cce3da; --accent: #79d7bc; --accent-strong: #c9f6e4; --accent-soft: #153d35; --border: #668e82; --focus: #ffc36b; }
  nav a[aria-current="page"] { color: #06231e; }
}

.operations-dashboard-mount { min-width: 0; }
.operations-dashboard-mount section { min-width: 0; }
.operations-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .75rem; margin-block: 1rem; }
.operations-summary > * { margin: 0; padding: .625rem; border: 1px solid var(--border); overflow-wrap: anywhere; }
.operations-summary dt { font-weight: 700; }
.operations-table-region { max-width: 100%; overflow-x: auto; margin-block: 1rem; border: 1px solid var(--border); }
.operations-table-region table { width: 100%; min-width: 38rem; border-collapse: collapse; }
.operations-table-region th, .operations-table-region td { padding: .625rem; border-block-end: 1px solid var(--border); text-align: start; }
.operations-table-region button { min-height: 44px; max-width: 20rem; overflow-wrap: anywhere; }
@media (forced-colors: active) { .operations-summary > *, .operations-table-region { border-color: CanvasText; } }
.provider-model-control-mount, .provider-model-control-mount section { min-width: 0; }
.provider-model-list { display: grid; gap: .75rem; margin-block: 1rem; }
.provider-model-list article { border: 1px solid var(--border); padding: .75rem; overflow-wrap: anywhere; }
.provider-model-list ul { max-width: 100%; overflow-x: auto; }
.provider-model-control-mount form { display: grid; gap: .75rem; }
.provider-model-control-mount label { display: grid; gap: .25rem; }
.provider-model-control-mount textarea { max-width: 100%; font-family: ui-monospace, monospace; }
@media (forced-colors: active) { .provider-model-list article { border-color: CanvasText; } }

/* Premium health-tech visual system. Kept separate from interaction styles so every route shares the same calm, trustworthy treatment. */
body:not(.meeting-window) {
  background:
    radial-gradient(circle at 8% -8%, rgb(167 225 205 / .62), transparent 28rem),
    radial-gradient(circle at 100% 12%, rgb(206 235 228 / .72), transparent 30rem),
    linear-gradient(135deg, #f6fbf8 0%, #edf6f2 48%, #f8faf4 100%);
}
body:not(.meeting-window)::before {
  content: ""; position: fixed; z-index: -1; inset: 0; pointer-events: none; opacity: .4;
  background-image: linear-gradient(rgb(8 122 105 / .035) 1px, transparent 1px), linear-gradient(90deg, rgb(8 122 105 / .035) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
}
#product-shell { position: relative; }
.product-header {
  min-height: 5.5rem; padding-block: .9rem; background: rgb(255 254 250 / .82); border-block-end-color: rgb(183 208 200 / .72);
  box-shadow: 0 .25rem 1.5rem rgb(17 62 52 / .06); backdrop-filter: blur(18px);
}
.brand { gap: .65rem; letter-spacing: -.015em; }
.brand::after { content: "Healthcare intelligence"; display: block; padding-inline-start: .7rem; color: var(--muted); border-inline-start: 1px solid var(--border); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.brand .brand-logo { width: clamp(9rem, 15vw, 12rem); max-height: 4rem; filter: saturate(1.04) contrast(1.06); }
.brand-logo-dark { display: none; }
@media (prefers-color-scheme: dark) { .brand-logo-light { display: none; } .brand-logo-dark { display: block; } }
html[data-theme="light"] .brand-logo-light { display: block; } html[data-theme="light"] .brand-logo-dark { display: none; }
html[data-theme="dark"] .brand-logo-light { display: none; } html[data-theme="dark"] .brand-logo-dark { display: block; }
.shell-preferences { padding: .35rem; border: 1px solid rgb(183 208 200 / .8); border-radius: .85rem; background: rgb(255 255 253 / .68); }
.shell-preferences label { color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .02em; }
select, input, textarea {
  border-color: var(--border); border-radius: .7rem; background: rgb(255 255 253 / .88); box-shadow: inset 0 1px 0 rgb(255 255 255 / .75); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
select:hover, input:hover, textarea:hover { border-color: #72a999; }
select:focus, input:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgb(8 122 105 / .12); }
nav { gap: .35rem; padding-block: .65rem; background: rgb(250 253 251 / .72); border-block-end-color: rgb(183 208 200 / .62); backdrop-filter: blur(12px); }
nav a { min-height: 2.7rem; padding-inline: 1rem; color: #31544b; border: 1px solid transparent; border-radius: 999px; font-size: .92rem; font-weight: 700; transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
nav a:hover { color: var(--accent-strong); border-color: rgb(8 122 105 / .18); background: rgb(255 255 253 / .78); transform: translateY(-1px); }
nav a[aria-current="page"] { color: #fff; background: linear-gradient(135deg, #0a8b77, #076255); border-color: #076255; box-shadow: 0 .45rem .9rem rgb(7 95 83 / .2); text-decoration: none; }
main { width: min(100% - 2rem, 70rem); padding-block: clamp(2.25rem, 6vw, 5.75rem); }
main > h1 { color: #123d35; font-size: clamp(2.35rem, 6vw, 4.35rem); font-weight: 780; letter-spacing: -.055em; text-wrap: balance; }
main > h1::after { content: ""; display: block; width: 4rem; height: .3rem; margin-block-start: 1.1rem; border-radius: 999px; background: linear-gradient(90deg, var(--accent), #77cbb2); }
main > p { color: var(--muted); font-size: clamp(1.05rem, 1.4vw, 1.2rem); }
main > section:not(.live-meeting), .personal-translator, .meeting-wizard, .meeting-wizard-awaiting, .meeting-wizard-complete, .room-template-panel, .preferences-panel, .meeting-join, .join-approvals, .meeting-invitation, .meeting-preflight, .waiting-participant, .host-waiting-room, .preflight-error {
  border-color: rgb(183 208 200 / .9); border-radius: 1.1rem; background: rgb(255 255 252 / .87); box-shadow: 0 1rem 2.75rem rgb(22 68 57 / .07); backdrop-filter: blur(14px);
}
.home-quick-one-to-one, .quick-one-to-one, .home-personal-translator { border: 1px solid rgb(122 192 169 / .64); background: linear-gradient(135deg, rgb(231 247 240 / .96), rgb(255 255 252 / .92)); }
.home-quick-one-to-one h2, .quick-one-to-one h2, .home-personal-translator h2, .personal-heading h2 { color: #135547; letter-spacing: -.025em; }
.personal-badges span { color: #176553; border-color: #a6d8c6; background: #effaf5; }
.personal-captions article, .invite-artifact, .preflight-check, .template-card, .meeting-card { border-color: rgb(183 208 200 / .86); border-radius: .9rem; background: linear-gradient(145deg, #fbfefc, #f0f8f4); box-shadow: 0 .5rem 1.5rem rgb(22 68 57 / .05); }
.primary-action, .preference-errors button {
  min-height: 2.9rem; padding-inline: 1.25rem; border: 1px solid #076255; border-radius: .75rem; background: linear-gradient(135deg, #0a8b77, #076255); box-shadow: 0 .55rem 1.1rem rgb(7 95 83 / .2); letter-spacing: .01em; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.primary-action:hover:not(:disabled), .preference-errors button:hover:not(:disabled) { background: linear-gradient(135deg, #0c9e87, #087060); box-shadow: 0 .8rem 1.45rem rgb(7 95 83 / .26); transform: translateY(-2px); }
button:not(.primary-action) { border-color: #9fc9bb; border-radius: .7rem; color: #174d42; background: rgb(255 255 252 / .8); font-weight: 650; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
button:not(.primary-action):hover:not(:disabled) { border-color: #5cae98; background: #eff9f4; transform: translateY(-1px); }
.wizard-stepper button[aria-current="step"] { color: var(--accent-strong); border-color: var(--accent); background: var(--accent-soft); text-decoration: none; }
.caption-translation, .wizard-policy-summary, .template-preview, .device-restore, .preflight-recovery, .preflight-feedback { border-inline-start-color: #20a587; background: #edf8f3; }
@media (max-width: 48rem) {
  body:not(.meeting-window) { padding-block-end: calc(5.8rem + env(safe-area-inset-bottom)); }
  .product-header { align-items: flex-start; min-height: auto; }
  .brand::after { display: none; }
  .shell-preferences { width: 100%; justify-content: space-between; }
  .shell-preferences label { display: none; }
  .shell-preferences select { width: calc(50% - .25rem); }
  nav { position: fixed; z-index: 30; inset: auto .7rem max(.55rem, env(safe-area-inset-bottom)); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(4.35rem, 1fr); gap: .2rem; max-width: none; padding: .35rem; overflow-x: auto; border: 1px solid rgb(183 208 200 / .9); border-radius: 1.1rem; background: rgb(255 255 252 / .9); box-shadow: 0 .75rem 2rem rgb(22 68 57 / .18); }
  nav a { justify-content: center; min-width: 4.35rem; padding-inline: .55rem; font-size: .76rem; }
  main { width: min(100% - 1.5rem, 70rem); padding-block: 1.75rem 2.5rem; }
  main > h1 { font-size: clamp(2.15rem, 11vw, 3.35rem); }
}
@media (max-width: 30rem) {
  .product-header { display: grid; gap: .65rem; }
  .personal-fields, .quick-fields, .wizard-fields, .preflight-languages fieldset, .preflight-checks { grid-template-columns: 1fr; }
  .personal-swap { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { nav a, button, select, input, textarea, .primary-action { transition: none !important; } }

/* Explicit user selection takes precedence over the operating-system appearance. */
html[data-theme="light"] { color-scheme: light; --surface: #fffefa; --surface-muted: #f2f7f4; --text: #18342f; --muted: #46635b; --accent: #087a69; --accent-strong: #075f53; --accent-soft: #d9eee6; --border: #b7d0c8; --focus: #d57c25; }
html[data-theme="light"] body:not(.meeting-window) { background: radial-gradient(circle at 8% -8%, rgb(167 225 205 / .62), transparent 28rem), radial-gradient(circle at 100% 12%, rgb(206 235 228 / .72), transparent 30rem), linear-gradient(135deg, #f6fbf8 0%, #edf6f2 48%, #f8faf4 100%); }
html[data-theme="light"] .product-header { background: rgb(255 254 250 / .92); border-color: rgb(183 208 200 / .72); }
html[data-theme="light"] .brand { color: #18342f; } html[data-theme="light"] .brand::after { color: #46635b; border-color: #b7d0c8; }
html[data-theme="light"] .shell-preferences, html[data-theme="light"] select, html[data-theme="light"] input, html[data-theme="light"] textarea { color: #18342f; border-color: #b7d0c8; background: rgb(255 255 253 / .92); }
html[data-theme="light"] nav { background: rgb(250 253 251 / .84); border-color: rgb(183 208 200 / .62); } html[data-theme="light"] nav a { color: #31544b; } html[data-theme="light"] nav a[aria-current="page"] { color: #fff; background: linear-gradient(135deg, #0a8b77, #076255); }
html[data-theme="light"] main > h1 { color: #123d35; } html[data-theme="light"] main > p { color: #46635b; }
html[data-theme="light"] main > section:not(.live-meeting), html[data-theme="light"] .personal-translator, html[data-theme="light"] .meeting-wizard, html[data-theme="light"] .preferences-panel, html[data-theme="light"] .meeting-join, html[data-theme="light"] .meeting-preflight { color: #18342f; border-color: rgb(183 208 200 / .9); background: rgb(255 255 252 / .9); }
html[data-theme="light"] .home-quick-one-to-one, html[data-theme="light"] .quick-one-to-one, html[data-theme="light"] .home-personal-translator { background: linear-gradient(135deg, rgb(231 247 240 / .96), rgb(255 255 252 / .92)); }
html[data-theme="light"] .home-quick-one-to-one h2, html[data-theme="light"] .quick-one-to-one h2, html[data-theme="light"] .home-personal-translator h2, html[data-theme="light"] .personal-heading h2 { color: #135547; }
html[data-theme="light"] .primary-action { color: #fff; background: linear-gradient(135deg, #0a8b77, #076255); }

html[data-theme="dark"] { color-scheme: dark; --surface: #102924; --surface-muted: #0a1d19; --text: #f4fffa; --muted: #cce3da; --accent: #79d7bc; --accent-strong: #c9f6e4; --accent-soft: #153d35; --border: #668e82; --focus: #ffc36b; }
html[data-theme="dark"] body:not(.meeting-window) { background: radial-gradient(circle at 8% -8%, rgb(26 111 92 / .72), transparent 29rem), radial-gradient(circle at 100% 12%, rgb(20 74 74 / .78), transparent 31rem), linear-gradient(135deg, #071b18 0%, #0b2924 52%, #091d24 100%); }
html[data-theme="dark"] .product-header { background: rgb(9 34 30 / .88); border-color: rgb(111 170 151 / .45); } html[data-theme="dark"] .brand { color: #f4fffa; } html[data-theme="dark"] .brand::after { color: #d5ebe2; border-color: #6d9a8b; }
html[data-theme="dark"] .shell-preferences, html[data-theme="dark"] select, html[data-theme="dark"] input, html[data-theme="dark"] textarea { color: #effcf6; border-color: #5f907f; background: rgb(12 46 39 / .88); }
html[data-theme="dark"] nav { background: rgb(8 31 27 / .82); border-color: rgb(111 170 151 / .36); } html[data-theme="dark"] nav a { color: #effcf6; } html[data-theme="dark"] nav a[aria-current="page"] { color: #06231e; background: linear-gradient(135deg, #9ee3ca, #64c6ae); }
html[data-theme="dark"] main > h1 { color: #f4fffa; } html[data-theme="dark"] main > p { color: #d5ebe2; }
html[data-theme="dark"] main > section:not(.live-meeting), html[data-theme="dark"] .personal-translator, html[data-theme="dark"] .meeting-wizard, html[data-theme="dark"] .preferences-panel, html[data-theme="dark"] .meeting-join, html[data-theme="dark"] .meeting-preflight { color: #effaf5; border-color: rgb(112 171 152 / .58); background: rgb(13 48 41 / .9); }
html[data-theme="dark"] .home-quick-one-to-one, html[data-theme="dark"] .quick-one-to-one, html[data-theme="dark"] .home-personal-translator { background: linear-gradient(135deg, rgb(15 71 58 / .95), rgb(12 45 40 / .94)); }
html[data-theme="dark"] .home-quick-one-to-one h2, html[data-theme="dark"] .quick-one-to-one h2, html[data-theme="dark"] .home-personal-translator h2, html[data-theme="dark"] .personal-heading h2 { color: #effff8; }
html[data-theme="dark"] .primary-action { color: #052b24; background: linear-gradient(135deg, #a8eacb, #62c5ac); }

@media (min-width: 1024px) {
  nav a { min-height: 3rem; padding-inline: 1.2rem; font-size: 1.08rem; font-weight: 760; letter-spacing: .01em; }
}

/* The dark appearance is intentionally a complete palette, rather than light cards with dark-mode text. */
@media (prefers-color-scheme: dark) {
  body:not(.meeting-window) {
    background:
      radial-gradient(circle at 8% -8%, rgb(26 111 92 / .72), transparent 29rem),
      radial-gradient(circle at 100% 12%, rgb(20 74 74 / .78), transparent 31rem),
      linear-gradient(135deg, #071b18 0%, #0b2924 52%, #091d24 100%);
  }
  body:not(.meeting-window)::before { opacity: .52; background-image: linear-gradient(rgb(139 235 205 / .065) 1px, transparent 1px), linear-gradient(90deg, rgb(139 235 205 / .065) 1px, transparent 1px); }
  .product-header { background: rgb(9 34 30 / .88); border-block-end-color: rgb(111 170 151 / .45); box-shadow: 0 .25rem 1.5rem rgb(0 0 0 / .22); }
  .brand { color: #f4fffa; }
  .brand::after { color: #d5ebe2; border-inline-start-color: #6d9a8b; }
  .shell-preferences { border-color: rgb(125 190 170 / .55); background: rgb(19 57 49 / .72); }
  .shell-preferences label { color: #e0f4eb; }
  select, input, textarea { color: #effcf6; border-color: #5f907f; background: rgb(12 46 39 / .88); box-shadow: inset 0 1px 0 rgb(255 255 255 / .05); }
  select:hover, input:hover, textarea:hover { border-color: #9ce1c9; }
  select:focus, input:focus, textarea:focus { border-color: #9ce1c9; box-shadow: 0 0 0 4px rgb(121 215 188 / .2); }
  nav { background: rgb(8 31 27 / .82); border-block-end-color: rgb(111 170 151 / .36); }
  nav a { color: #effcf6; }
  nav a:hover { color: #fff; border-color: rgb(159 230 205 / .52); background: rgb(54 111 95 / .56); }
  nav a[aria-current="page"] { color: #06231e; background: linear-gradient(135deg, #9ee3ca, #64c6ae); border-color: #a5ead1; box-shadow: 0 .45rem .9rem rgb(0 0 0 / .28); }
  main > h1 { color: #f0fff8; }
  main > h1::after { background: linear-gradient(90deg, #96e4c9, #76cfe7); }
  main > p, .quick-defaults, .quick-advanced-hint, .personal-mic-note { color: #d5ebe2; }
  main > section:not(.live-meeting), .personal-translator, .meeting-wizard, .meeting-wizard-awaiting, .meeting-wizard-complete, .room-template-panel, .preferences-panel, .meeting-join, .join-approvals, .meeting-invitation, .meeting-preflight, .waiting-participant, .host-waiting-room, .preflight-error { border-color: rgb(112 171 152 / .58); background: rgb(13 48 41 / .88); box-shadow: 0 1rem 2.75rem rgb(0 0 0 / .22); }
  .home-quick-one-to-one, .quick-one-to-one, .home-personal-translator { border-color: rgb(105 205 174 / .62); background: linear-gradient(135deg, rgb(15 71 58 / .95), rgb(12 45 40 / .94)); }
  .home-quick-one-to-one h2, .quick-one-to-one h2, .home-personal-translator h2, .personal-heading h2 { color: #effff8; }
  .personal-badges span { color: #d4f7e9; border-color: #65b99f; background: #153f36; }
  .personal-captions article, .invite-artifact, .preflight-check, .template-card, .meeting-card { border-color: rgb(112 171 152 / .55); background: linear-gradient(145deg, #153f36, #0d302b); box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / .16); }
  .primary-action, .preference-errors button { color: #052b24; border-color: #a6ead1; background: linear-gradient(135deg, #a8eacb, #62c5ac); box-shadow: 0 .55rem 1.1rem rgb(0 0 0 / .24); }
  .primary-action:hover:not(:disabled), .preference-errors button:hover:not(:disabled) { background: linear-gradient(135deg, #d2f8e5, #84d9c3); }
  button:not(.primary-action) { color: #e4faf1; border-color: #619985; background: rgb(24 70 59 / .88); }
  button:not(.primary-action):hover:not(:disabled) { border-color: #9ce1c9; background: #285f51; }
  .wizard-stepper button[aria-current="step"] { color: #d9faed; border-color: #8edfc3; background: #184c40; }
  .caption-translation, .wizard-policy-summary, .template-preview, .device-restore, .preflight-recovery, .preflight-feedback { border-inline-start-color: #7ed9ba; background: #153f36; }
}

/* Keep an explicit user choice authoritative even when it disagrees with the system theme. */
html[data-theme="light"] nav a { color: #31544b !important; }
html[data-theme="light"] nav a[aria-current="page"] { color: #fff !important; }
html[data-theme="light"] .shell-preferences label, html[data-theme="light"] .brand::after { color: #31544b !important; }
html[data-theme="light"] main > p, html[data-theme="light"] .quick-defaults, html[data-theme="light"] .quick-advanced-hint, html[data-theme="light"] .personal-mic-note, html[data-theme="light"] .personal-captions h3, html[data-theme="light"] .template-change-label, html[data-theme="light"] .meeting-card dt, html[data-theme="light"] .recording-summary small { color: #46635b !important; }
html[data-theme="light"] main > section:not(.live-meeting), html[data-theme="light"] .personal-translator, html[data-theme="light"] .meeting-wizard, html[data-theme="light"] .preferences-panel, html[data-theme="light"] .meeting-join, html[data-theme="light"] .meeting-preflight { color: #18342f !important; }
html[data-theme="light"] .personal-translator { background: rgb(255 255 252 / .96) !important; }
html[data-theme="light"] .personal-heading h2, html[data-theme="light"] .personal-translator h3, html[data-theme="light"] .personal-translator label, html[data-theme="light"] .personal-status, html[data-theme="light"] .personal-history li { color: #18342f !important; }
html[data-theme="light"] .personal-heading p, html[data-theme="light"] .personal-mic-note, html[data-theme="light"] .personal-captions h3 { color: #46635b !important; }
html[data-theme="light"] .personal-privacy { color: #18342f; background: #edf8f3 !important; }
html[data-theme="light"] .personal-captions article { color: #18342f !important; border-color: #b7d0c8 !important; background: #f4faf7 !important; }
html[data-theme="light"] .personal-captions p { color: #18342f !important; }
html[data-theme="light"] .personal-history li { border-color: #c9ddd6; }
html[data-theme="light"] .brand-logo-light { display: block !important; }
html[data-theme="light"] .brand-logo-dark { display: none !important; }
html[data-theme="dark"] nav a { color: #effcf6 !important; }
html[data-theme="dark"] nav a[aria-current="page"] { color: #06231e !important; }
html[data-theme="dark"] .brand-logo-light { display: none !important; }
html[data-theme="dark"] .brand-logo-dark { display: block !important; }
