:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color-scheme: dark light; --red:#e23f53; --red-dark:#aa2033; --paper:#f7f3ed; }
* { box-sizing: border-box; } body { margin:0; } button { font:inherit; cursor:pointer; }
.app { min-height:100vh; padding:28px; transition:background .2s,color .2s; }
.dark { background:radial-gradient(circle at 70% -20%, rgba(226,63,83,.22), transparent 34%), #050506; color:#fff8ef; }
.light { background:radial-gradient(circle at 80% 0%, rgba(226,63,83,.18), transparent 32%), var(--paper); color:#151315; }
.nav,.hero,.workspace { max-width:1240px; margin:0 auto; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.brand,.nav-actions,.hero-actions,.capture-row,.record-top,.player-controls { display:flex; align-items:center; gap:12px; }
.brand strong { font-size:1.2rem; letter-spacing:-.03em; }
.ban-logo { width:42px; height:42px; border:4px solid var(--red); border-radius:50%; position:relative; display:grid; place-items:center; flex:0 0 auto; }
.ban-logo span,.ban-logo::after { content:''; width:31px; height:4px; background:var(--red); transform:rotate(46deg); border-radius:999px; position:absolute; }
.big { width:78px; height:78px; margin:auto; }
.big span,.big::after { width:58px; }
.nav button,.ghost,.toggle,.capture-row button,.player-controls button { border:1px solid rgba(127,127,127,.25); background:rgba(255,255,255,.06); color:inherit; border-radius:999px; padding:10px 14px; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:42px; align-items:center; padding:78px 0 48px; }
.eyebrow { color:var(--red); text-transform:uppercase; font-size:.76rem; font-weight:800; letter-spacing:.16em; }
h1 { font-size:clamp(3rem,8vw,6.8rem); line-height:.86; letter-spacing:-.08em; margin:0 0 24px; max-width:760px; }
h1 span { color:var(--red); }
.lede { font-size:1.25rem; line-height:1.6; max-width:640px; opacity:.82; }
.primary { border:0; border-radius:999px; padding:13px 18px; background:var(--red); color:white; box-shadow:0 12px 40px rgba(226,63,83,.28); }
.microcopy { margin-top:20px; opacity:.62; font-size:.92rem; }
.record-card,.panel { border:1px solid rgba(127,127,127,.22); border-radius:30px; background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.045)); box-shadow:0 24px 80px rgba(0,0,0,.24); backdrop-filter:blur(16px); }
.record-card { padding:18px; }
.record-top { justify-content:space-between; font-size:.9rem; }
.live-dot { display:inline-block; width:10px; height:10px; margin-right:10px; background:var(--red); border-radius:50%; box-shadow:0 0 0 8px rgba(226,63,83,.16); }
.video-stage { min-height:300px; margin:16px 0; border-radius:24px; background:#000; display:grid; place-items:center; text-align:center; color:white; }
.video-stage p { color:var(--red); font-weight:800; }
.capture-row { flex-wrap:wrap; }.capture-row button.active { background:var(--red); color:white; }
.workspace { display:grid; grid-template-columns:1fr 1.4fr .9fr; gap:18px; padding-bottom:32px; }
.panel { padding:20px; }.section-title { display:flex; justify-content:space-between; gap:14px; margin-bottom:18px; }
.section-title span { font-weight:850; letter-spacing:-.03em; }.section-title small { opacity:.55; text-align:right; }
.agenda-item { display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:start; padding:14px 0; border-top:1px solid rgba(127,127,127,.18); }
.agenda-item h3,.summary h3 { margin:0 0 6px; }.agenda-item p,.summary p,.clip p { margin:0; opacity:.68; line-height:1.45; }
.timestamp { color:var(--red); background:rgba(226,63,83,.1); border:1px solid rgba(226,63,83,.25); border-radius:12px; padding:8px; }
.pill { border:1px solid rgba(127,127,127,.2); border-radius:999px; padding:5px 8px; font-size:.72rem; opacity:.76; }.pill.required { color:white; background:var(--red-dark); border-color:transparent; opacity:1; }
.player-window { min-height:220px; border-radius:24px; background:linear-gradient(135deg,#111,#2b0f15); display:grid; place-items:center; color:#fff; }
.progress { height:8px; background:rgba(127,127,127,.16); border-radius:999px; margin:14px 0; overflow:hidden; }.progress span { display:block; width:62%; height:100%; background:var(--red); border-radius:inherit; }.small { padding:10px 14px; }
.clips { display:grid; gap:10px; margin-top:18px; }.clip { display:grid; grid-template-columns:auto 1fr auto auto; gap:8px; padding:13px; border-radius:18px; background:rgba(127,127,127,.09); }.clip strong { color:var(--red); text-transform:uppercase; font-size:.72rem; }.clip p { grid-column:1/-1; }
ul { padding-left:18px; line-height:1.8; }
@media (max-width:980px) { .hero,.workspace { grid-template-columns:1fr; } .nav { align-items:flex-start; } .nav-actions { flex-wrap:wrap; justify-content:flex-end; } }
.workspace-chip,.status-line { border:1px solid rgba(127,127,127,.2); border-radius:999px; padding:10px 14px; background:rgba(255,255,255,.06); }
.status-line { display:inline-block; margin-top:18px; color:var(--red); }
.upload-label input { display:none; }
.agenda-item small { display:block; margin-top:6px; opacity:.55; }
.marker-form,.auth-panel form { display:grid; gap:10px; margin-top:18px; }
.marker-form { grid-template-columns:1fr 76px auto; }
.marker-form input,.auth-panel input { width:100%; border:1px solid rgba(127,127,127,.24); border-radius:14px; padding:11px 12px; background:rgba(255,255,255,.07); color:inherit; }
.marker-log { list-style:none; padding:0; margin:14px 0 0; font-size:.9rem; }
.marker-log li { padding:9px 0; border-top:1px solid rgba(127,127,127,.14); }
.auth-panel { margin-top:20px; padding-top:16px; border-top:1px solid rgba(127,127,127,.18); }
.auth-page { max-width:1280px; min-height:calc(100vh - 56px); margin:0 auto; display:grid; grid-template-rows:auto 1fr; }
.auth-nav { display:flex; align-items:center; justify-content:space-between; }
.auth-shell { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,480px); gap:64px; align-items:center; padding:64px 0; }
.auth-pitch h1 { font-size:clamp(3.5rem,7vw,7rem); }
.login-card { padding:34px; border:1px solid rgba(127,127,127,.24); border-radius:30px; background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.045)); box-shadow:0 24px 80px rgba(0,0,0,.28); }
.login-card h2 { margin:24px 0; font-size:1.75rem; letter-spacing:-.04em; }
.auth-mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; border-radius:999px; background:rgba(127,127,127,.12); }
.auth-mode-tabs button { border:0; border-radius:999px; padding:10px; color:inherit; background:transparent; }
.auth-mode-tabs button.active { background:var(--red); color:white; }
#passwordAuthForm { display:grid; gap:16px; }
#passwordAuthForm label,.password-reset-dialog label { display:grid; gap:7px; font-weight:700; font-size:.86rem; }
#passwordAuthForm input,.password-reset-dialog input { width:100%; border:1px solid rgba(127,127,127,.26); border-radius:14px; padding:13px 14px; background:rgba(255,255,255,.07); color:inherit; font:inherit; }
.text-button { display:block; margin:14px auto 0; border:0; background:none; color:inherit; opacity:.7; text-decoration:underline; }
.auth-message { min-height:24px; color:#ff8090; line-height:1.45; }
.magic-link-option { margin-top:18px; padding-top:18px; border-top:1px solid rgba(127,127,127,.18); }
.magic-link-option summary { cursor:pointer; opacity:.68; font-size:.86rem; }
.magic-link-option form { display:grid; gap:9px; margin-top:12px; }
.magic-link-option input { width:100%; border:1px solid rgba(127,127,127,.26); border-radius:14px; padding:12px; background:rgba(255,255,255,.07); color:inherit; }
@media (max-width:850px) { .auth-shell { grid-template-columns:1fr; gap:30px; padding:40px 0; } .auth-pitch h1 { font-size:clamp(3.2rem,14vw,5.5rem); } }
@media (max-width:640px) { .marker-form { grid-template-columns:1fr; } }

[hidden] { display:none !important; }
.dashboard { max-width:1380px; margin:0 auto; min-height:calc(100vh - 56px); }
.dashboard-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:34px; border-bottom:1px solid rgba(127,127,127,.18); }
.dashboard-account { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.dashboard-account > div { display:grid; text-align:right; }
.dashboard-account small { opacity:.55; }
.profile-control { display:flex; align-items:center; gap:10px; padding:5px 10px 5px 5px; border:1px solid rgba(127,127,127,.2); border-radius:999px; color:inherit; background:rgba(255,255,255,.05); }
.profile-control > span:last-child { display:grid; text-align:left; }
.profile-control img,.avatar-fallback,.row-avatar,.row-avatar-fallback { width:38px; height:38px; border-radius:50%; object-fit:cover; }
.avatar-fallback,.row-avatar-fallback { display:grid; place-items:center; background:var(--red); color:white; font-weight:850; }
.dashboard-hero { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:68px 0 46px; }
.dashboard-hero h1 { font-size:clamp(3.2rem,7vw,6.4rem); max-width:980px; }
.dashboard-hero .lede { max-width:760px; }
.dashboard-create { flex:0 0 auto; margin-bottom:12px; font-weight:800; font-size:1.05rem; }
.dashboard-grid { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; padding-bottom:40px; }
.dashboard-sidebar { align-self:start; }
.dashboard-sidebar h2,.conversation-library h2 { margin:8px 0 24px; font-size:1.8rem; letter-spacing:-.04em; }
.section-kicker { color:var(--red); text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; font-weight:850; }
.dashboard-stat { display:flex; align-items:baseline; justify-content:space-between; border-top:1px solid rgba(127,127,127,.16); padding:16px 0; }
.dashboard-stat strong { color:var(--red); font-size:2rem; }
.dashboard-stat span { opacity:.6; }
.dashboard-note { margin-top:18px; padding:16px; border-radius:18px; background:rgba(226,63,83,.09); line-height:1.55; opacity:.78; }
.library-header { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.filter-pills { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.filter-pills .pill { border:1px solid rgba(127,127,127,.22); background:transparent; color:inherit; }
.filter-pills .pill.active { background:var(--red); color:white; border-color:var(--red); }
.dashboard-status { min-height:24px; color:var(--red); }
.conversation-list { display:grid; gap:12px; }
.conversation-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:20px; border:1px solid rgba(127,127,127,.18); border-radius:22px; background:rgba(255,255,255,.035); transition:transform .15s,border-color .15s; }
.conversation-card:hover { transform:translateY(-2px); border-color:rgba(226,63,83,.55); }
.conversation-card h3 { margin:6px 0 8px; font-size:1.35rem; }
.conversation-card p { margin:0; opacity:.68; line-height:1.5; }
.conversation-card-meta { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; font-size:.85rem; opacity:.62; }
.conversation-card-actions { display:flex; align-items:center; gap:10px; }
.status-badge { display:inline-flex; border-radius:999px; padding:5px 9px; background:rgba(127,127,127,.14); font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }
.status-badge.active { color:#72d7a1; background:rgba(38,154,96,.16); }
.status-badge.overdue { color:#ff7e8e; background:rgba(226,63,83,.14); }
.empty-state { padding:64px 24px; text-align:center; border:1px dashed rgba(127,127,127,.25); border-radius:24px; }
.empty-state .big { margin-bottom:24px; }
.empty-state p { opacity:.62; margin-bottom:24px; }
.conversation-dialog { width:min(680px,calc(100vw - 28px)); border:1px solid rgba(127,127,127,.28); border-radius:28px; padding:0; color:#fff8ef; background:#111012; box-shadow:0 36px 100px rgba(0,0,0,.65); }
.conversation-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(7px); }
.conversation-dialog form,.detail-dialog { padding:28px; }
.dialog-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.dialog-heading h2 { margin:6px 0 0; font-size:2rem; letter-spacing:-.04em; }
.icon-button { border:0; background:rgba(255,255,255,.08); color:inherit; width:38px; height:38px; border-radius:50%; font-size:1.5rem; }
.conversation-dialog label { display:grid; gap:8px; margin-top:16px; font-size:.85rem; font-weight:750; }
.conversation-dialog input,.conversation-dialog textarea,.conversation-dialog select { width:100%; border:1px solid rgba(127,127,127,.28); border-radius:14px; padding:12px 13px; background:rgba(255,255,255,.06); color:inherit; font:inherit; }
.conversation-dialog textarea { resize:vertical; }
.conversation-dialog select option { background:#111012; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.conversation-dialog .status-choice { display:flex; align-items:center; gap:10px; font-weight:500; }
.conversation-dialog .status-choice input { width:auto; }
.form-message { min-height:20px; color:var(--red); }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.detail-meta { display:flex; gap:10px; flex-wrap:wrap; margin:24px 0; }
.detail-meta span { border-radius:999px; padding:8px 11px; background:rgba(127,127,127,.12); font-size:.85rem; }
button:disabled { cursor:wait; opacity:.58; }
.workspace-dialog { width:min(1040px,calc(100vw - 28px)); max-height:calc(100vh - 28px); overflow:auto; }
.workspace-sections { display:grid; gap:18px; }
.workspace-section { padding:20px; border:1px solid rgba(127,127,127,.18); border-radius:22px; background:rgba(255,255,255,.025); }
.workspace-section-heading { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.workspace-section-heading h3 { margin:5px 0 0; font-size:1.4rem; }
.workspace-section-heading > span { opacity:.55; font-size:.85rem; }
.inline-builder,.invite-builder { display:grid; grid-template-columns:1.1fr 1.6fr auto auto; gap:10px; align-items:center; }
.invite-builder { grid-template-columns:1.5fr .7fr auto auto; }
.inline-builder input,.invite-builder input,.invite-builder select,.text-response textarea { width:100%; border:1px solid rgba(127,127,127,.28); border-radius:13px; padding:11px 12px; background:rgba(255,255,255,.06); color:inherit; font:inherit; }
.invite-builder select option { background:#111012; }
.compact-check { display:flex !important; align-items:center; white-space:nowrap; gap:7px !important; margin:0 !important; font-weight:500 !important; }
.compact-check input { width:auto !important; }
.workspace-list { display:grid; gap:9px; margin-top:15px; }
.workspace-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 14px; border-radius:15px; background:rgba(127,127,127,.09); }
.workspace-row h4 { margin:0 0 4px; }
.workspace-row p { margin:0; opacity:.62; line-height:1.4; }
.workspace-row-meta { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.empty-inline { padding:14px; border:1px dashed rgba(127,127,127,.2); border-radius:15px; opacity:.58; text-align:center; }
.response-actions { display:flex; flex-wrap:wrap; gap:9px; }
.response-composer { margin-top:18px; padding-top:18px; border-top:1px solid rgba(127,127,127,.18); }
.response-composer > .section-kicker { display:block; margin-bottom:12px; }
.upload-status { margin:10px 0 0; min-height:22px; font-weight:700; }
.upload-progress { height:10px; margin:8px 0 14px; overflow:hidden; border-radius:999px; background:rgba(127,127,127,.18); }
.upload-progress span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--red-dark),var(--red)); box-shadow:0 0 20px rgba(226,63,83,.5); transition:width .3s ease; }
.upload-progress.indeterminate span { width:35%; animation:upload-sweep 1.1s ease-in-out infinite; }
@keyframes upload-sweep { from { transform:translateX(-110%); } to { transform:translateX(300%); } }
.upload-action input { display:none; }
.drop-file-actions { display:flex; flex-wrap:wrap; gap:9px; }
.message-file-picker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 12px; }
.message-file-picker > span { opacity:.58; font-size:.82rem; }
.pending-file-list { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.pending-file-chip { display:flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid rgba(226,63,83,.32); border-radius:999px; background:rgba(226,63,83,.1); font-size:.78rem; }
.pending-file-chip button { border:0; padding:0; background:none; color:inherit; cursor:pointer; opacity:.65; }
.entry-attachments { display:grid; gap:7px; margin-top:12px; }
.entry-attachment { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 11px; border-radius:12px; background:rgba(255,255,255,.055); }
.entry-attachment a { font-size:.76rem; }
.drop-file-list { display:grid; gap:8px; margin-top:14px; }
.drop-file-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; padding:11px; border-radius:14px; background:rgba(127,127,127,.08); }
.drop-file-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:rgba(226,63,83,.14); color:#ff93a0; font-size:.62rem; font-weight:900; }
.drop-file-row > div { display:grid; min-width:0; gap:3px; }
.drop-file-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drop-file-row div span { opacity:.55; font-size:.76rem; }
.drop-file-row a { padding:7px 10px; font-size:.76rem; text-decoration:none; }
.text-response { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; margin-top:12px; }
.entry-list .workspace-row { grid-template-columns:82px minmax(0,1fr) auto; padding:18px 20px; background:linear-gradient(105deg,hsla(var(--person-hue),38%,24%,.42),rgba(255,255,255,.04) 62%); border:1px solid hsla(var(--person-hue),50%,62%,.12); }
.entry-kind { color:var(--red); text-transform:uppercase; font-size:.66rem; font-weight:850; letter-spacing:.1em; opacity:.8; }
.playback-bar { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:16px; padding:12px; border-radius:16px; background:rgba(226,63,83,.08); }
.playback-bar > span { margin-left:auto; opacity:.7; font-size:.88rem; }
.workspace-row.watched { opacity:1; }
.entry-list .workspace-row-meta { max-width:270px; opacity:.58; font-size:.78rem; }
.watch-state { color:#72d7a1; }
.play-from-entry { padding:6px 9px; font-size:.76rem; }
.identity-line { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.identity-line h4 { margin:0; }
.row-avatar,.row-avatar-fallback { width:34px; height:34px; flex:0 0 auto; }
.entry-media { width:100%; margin-top:8px; }
.voice-processing { display:flex; align-items:center; gap:9px; width:max-content; margin-top:10px; padding:8px 11px; border-radius:999px; background:rgba(226,63,83,.1); color:#f3b6bd; font-size:.76rem; font-weight:750; }
.voice-processing span { width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 0 rgba(226,63,83,.5); animation:voice-pulse 1.35s ease-out infinite; }
@keyframes voice-pulse { 70% { box-shadow:0 0 0 7px rgba(226,63,83,0); } 100% { box-shadow:0 0 0 0 rgba(226,63,83,0); } }
.voice-missing { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; }
.voice-missing span { color:#f3b6bd; font-size:.78rem; }
.loading-row { opacity:.58; }
.response-prompt { padding:28px; }
.response-prompt p { opacity:.7; line-height:1.5; }
.prompt-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.profile-editor-avatar { width:104px; height:104px; margin:0 auto 20px; border-radius:50%; overflow:hidden; background:var(--red); color:white; display:grid; place-items:center; font-size:2.3rem; font-weight:900; }
.profile-editor-avatar img { width:100%; height:100%; object-fit:cover; }
.voice-help { margin:8px 0 0; opacity:.6; font-size:.82rem; line-height:1.45; }
.team-settings { margin:24px 0 4px; padding:18px; border:1px solid rgba(127,127,127,.2); border-radius:18px; background:rgba(127,127,127,.07); }
.team-settings > div:first-child { display:flex; align-items:end; gap:10px; }
.team-settings h3 { margin:0; }
.team-settings > div:first-child .eyebrow { width:100%; margin-bottom:4px; }
.team-settings > div:first-child span { margin-left:auto; opacity:.55; font-size:.78rem; white-space:nowrap; }
.team-settings > p { opacity:.65; line-height:1.45; }
.team-invite-row { display:grid; grid-template-columns:1fr auto; gap:9px; }
.team-invite-row input { min-width:0; }
.team-member-list { display:grid; gap:7px; margin-top:12px; }
.team-member-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:10px; border-radius:13px; background:rgba(255,255,255,.05); }
.team-member-row div { display:grid; gap:2px; }
.team-member-row div span { opacity:.55; font-size:.78rem; }
.team-member-row em { padding:4px 7px; border:1px solid rgba(127,127,127,.2); border-radius:999px; opacity:.58; font-size:.68rem; font-style:normal; text-transform:uppercase; }
.team-member-row.pending { opacity:.62; }
.recording-section-dock { position:fixed; z-index:20; right:24px; top:50%; width:min(260px,calc(100vw - 36px)); transform:translateY(-50%); padding:15px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(15,14,17,.9); box-shadow:0 18px 70px rgba(0,0,0,.55); backdrop-filter:blur(18px); }
.recording-section-dock > div:first-child { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; }
.recording-section-dock small { opacity:.55; }
.recording-section-dock p { margin:14px 0 8px; opacity:.52; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.recording-section-dock #recordingAgendaButtons { display:grid; gap:6px; max-height:34vh; overflow:auto; }
.recording-section-dock button { padding:9px 11px; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(255,255,255,.055); color:#fff; text-align:left; cursor:pointer; }
.recording-section-dock button.active { border-color:var(--red); background:rgba(226,63,83,.18); }
.recording-section-dock .bookmark-section { width:100%; margin-top:8px; color:#ff9aa6; }
.recording-dot { width:9px; height:9px; border-radius:50%; background:var(--red); box-shadow:0 0 0 0 rgba(226,63,83,.55); animation:voice-pulse 1.35s infinite; }
.section-review-dialog { width:min(1050px,calc(100vw - 28px)); max-height:calc(100vh - 28px); overflow:auto; }
.section-review-help { opacity:.65; }
.section-review-list { display:grid; gap:16px; margin:18px 0; }
.section-review-card { padding:18px; border:1px solid rgba(127,127,127,.2); border-radius:18px; background:rgba(127,127,127,.07); }
.section-review-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.section-review-heading > div { display:flex; align-items:center; gap:8px; }
.section-review-heading span { opacity:.55; font-size:.78rem; }
.section-review-heading input,.section-review-card textarea { border:1px solid rgba(127,127,127,.25); border-radius:11px; padding:9px 11px; background:rgba(255,255,255,.06); color:inherit; font:inherit; }
.section-review-heading input { min-width:280px; font-weight:800; }
.section-review-card textarea { width:100%; margin:10px 0; resize:vertical; }
.section-review-card h4 { margin:10px 0; }
.section-people { display:grid; grid-template-columns:repeat(auto-fill,minmax(135px,1fr)); gap:9px; }
.section-person { min-height:126px; display:grid; place-items:center; align-content:center; gap:5px; padding:10px; border:2px solid transparent; border-radius:15px; background:rgba(255,255,255,.05); color:inherit; cursor:pointer; }
.section-person .row-avatar,.section-person .row-avatar-fallback { width:44px; height:44px; }
.section-person strong { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.section-person span { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.section-person.mode-watch { border-color:#5aa5ff; }
.section-person.mode-watch span { color:#8fc4ff; }
.section-person.mode-comment { border-color:#c38bff; }
.section-person.mode-comment span { color:#d4adff; }
.section-person.mode-respond { border-color:#ef3f56; background:rgba(226,63,83,.12); }
.section-person.mode-respond span { color:#ff8d9c; }
.section-person.mode-none { opacity:.38; filter:grayscale(1); }
.entry-sections { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:12px; }
.entry-sections > span { opacity:.48; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.entry-sections button { padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.055); color:inherit; font-size:.74rem; cursor:pointer; }
.entry-sections button:hover { border-color:var(--red); }
.entry-list .workspace-row p.spoken-text { margin:10px 0 2px; padding:14px 16px; border:1px solid rgba(255,255,255,.08); border-left:3px solid var(--red); border-radius:5px 14px 14px 5px; background:linear-gradient(100deg,rgba(226,63,83,.12),rgba(255,255,255,.045)); color:#f7f4f0; opacity:1; font-size:1.08rem; font-weight:620; line-height:1.55; }
.spoken-text span { color:#f7f4f0; border-radius:.22em; padding:.02em .05em; transition:color .08s ease, background .08s ease, box-shadow .08s ease; }
.spoken-text span.speaking { color:#fff; background:var(--red); box-shadow:0 0 0 .14em color-mix(in srgb, var(--red) 28%, transparent),0 0 18px rgba(226,63,83,.3); }
.media-transcript { margin-top:12px !important; font-size:.98rem !important; font-weight:540 !important; }
.caption-line { display:inline; }
.media-transcript.caption-active { min-height:3.4em; display:flex; align-items:center; font-size:1.08rem !important; }
.media-transcript.caption-active .caption-line { display:none; }
.media-transcript.caption-active .caption-line.active { display:inline; }

.focus-player { width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#050506; color:#fff; }
.focus-player::backdrop { background:#050506; }
.focus-stage { position:relative; width:100%; height:100%; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 20% 15%,hsla(var(--person-hue),55%,28%,.45),transparent 42%),#050506; transition:background .35s ease; }
.focus-card { position:relative; width:min(1120px,100vw); height:min(630px,100vh); aspect-ratio:16/9; overflow:hidden; background:linear-gradient(145deg,hsla(var(--person-hue),40%,18%,.82),#09090b 68%); box-shadow:0 30px 100px rgba(0,0,0,.65); transform:translateX(0); opacity:1; transition:transform .23s ease,opacity .23s ease; }
.focus-card.leaving { transform:translateX(-9%); opacity:0; }
.focus-card.entering { transform:translateX(9%); opacity:0; }
.focus-content { width:100%; height:100%; position:relative; display:grid; place-items:center; }
.focus-media { width:100%; height:100%; object-fit:contain; background:#000; }
.focus-speaker { position:absolute; z-index:5; top:24px; left:28px; display:flex; align-items:center; gap:11px; padding:8px 13px 8px 8px; border-radius:999px; background:rgba(5,5,6,.66); backdrop-filter:blur(12px); }
.focus-speaker .row-avatar,.focus-speaker .row-avatar-fallback { width:42px; height:42px; }
.focus-speaker strong { font-size:1rem; }
.focus-speaker div { display:grid; gap:2px; }
.focus-speaker small { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(255,255,255,.58); font-size:.7rem; }
.focus-pause { position:absolute; z-index:6; bottom:28px; left:50%; transform:translateX(-50%); min-width:96px; padding:12px 20px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(5,5,6,.72); color:#fff; font:700 1rem inherit; backdrop-filter:blur(12px); cursor:pointer; }
.focus-close { position:absolute; z-index:6; top:27px; right:28px; width:42px; height:42px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(5,5,6,.62); color:#fff; font-size:1.55rem; cursor:pointer; }
.focus-progress { position:absolute; z-index:5; right:32px; bottom:34px; color:rgba(255,255,255,.6); font-size:.78rem; }
.focus-audio-visual { display:grid; place-items:center; gap:14px; opacity:.92; }
.focus-audio-visual .row-avatar,.focus-audio-visual .row-avatar-fallback { width:122px; height:122px; font-size:2.8rem; box-shadow:0 0 0 12px hsla(var(--person-hue),50%,55%,.12); }
.focus-audio-visual span { text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; opacity:.55; }
.focus-content .focus-transcript { position:absolute; z-index:4; left:7%; right:7%; bottom:15%; min-height:3.4em; margin:0 !important; padding:16px 20px; display:flex; align-items:center; justify-content:center; text-align:center; border:0; border-radius:14px; background:rgba(5,5,6,.76); color:#fff; font-size:clamp(1.2rem,2.4vw,2rem) !important; line-height:1.35; backdrop-filter:blur(12px); }
.focus-content .focus-transcript .caption-line { display:none; }
.focus-content .focus-transcript .caption-line.active { display:inline; }
.focus-content .focus-transcript:not(.caption-active) .caption-line:first-child { display:inline; }
.focus-waiting { opacity:.55; }

@media (max-width:700px) {
  .focus-card { width:100vw; height:100vh; aspect-ratio:auto; }
  .focus-speaker { top:16px; left:16px; }
  .focus-close { top:17px; right:16px; }
  .focus-content .focus-transcript { left:4%; right:4%; bottom:18%; }
}

@media (max-width:900px) {
  .dashboard-hero { display:grid; align-items:start; }
  .dashboard-grid { grid-template-columns:1fr; }
  .dashboard-sidebar { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  .dashboard-sidebar > h2,.dashboard-sidebar > .section-kicker,.dashboard-sidebar > .dashboard-note { grid-column:1/-1; }
}
@media (max-width:640px) {
  .app { padding:18px; }
  .dashboard-nav,.dashboard-account,.library-header { align-items:flex-start; }
  .dashboard-nav { display:grid; }
  .dashboard-account { flex-wrap:wrap; justify-content:flex-start; }
  .dashboard-account > div { width:100%; text-align:left; }
  .dashboard-hero { padding-top:44px; }
  .dashboard-sidebar,.form-row { grid-template-columns:1fr; }
  .dashboard-sidebar > * { grid-column:1 !important; }
  .conversation-card { grid-template-columns:1fr; }
  .conversation-card-actions { justify-content:space-between; }
  .inline-builder,.invite-builder,.text-response,.entry-list .workspace-row { grid-template-columns:1fr; }
  .workspace-row { grid-template-columns:1fr; }
  .workspace-row-meta { justify-content:flex-start; }
  .recording-section-dock { right:12px; top:auto; bottom:12px; transform:none; }
  .section-review-heading,.section-review-heading > div { align-items:stretch; flex-direction:column; }
  .section-review-heading input { min-width:0; width:100%; }
}
