/* Home is the same work surface as the editor, with setup beside the picture. */
body[data-screen="landing"] { background:var(--stage-0); }
body[data-screen="landing"]::before { display:none; }
.landing-nav { position:sticky; top:0; padding:12px 22px; height:64px; flex-wrap:nowrap; }
.landing-nav-actions { display:flex; width:auto; margin-left:auto; }
.home-rail { position:fixed; top:64px; bottom:0; left:0; width:164px; padding:20px 10px; box-sizing:border-box; display:flex; flex-direction:column; gap:6px; border-right:1px solid var(--line); background:var(--stage-1); }
.home-rail a { display:flex; align-items:center; gap:12px; padding:14px 12px; border-radius:10px; color:var(--ink-dim); text-decoration:none; font-size:14px; }
.home-rail a span { width:20px; text-align:center; font-size:20px; }
.home-rail a:hover { background:var(--stage-2); color:var(--ink); }
.home-rail a[aria-current] { background:var(--accent-soft); color:var(--accent); }
.home-rail .home-account { margin-top:auto; font-size:12px; }
.tool-home { box-sizing:border-box; width:auto; max-width:none; margin:0 0 0 164px; padding:0 26px 24px; }
.tool-home .recording-home { max-width:1640px; margin:auto; padding:22px 0; }
.home-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 20px; }
.tool-home .recording-home h1 { font-size:26px; margin:0; letter-spacing:-.025em; }
.home-reassurance { font-size:12px; }
.home-setup { display:grid; grid-template-columns:minmax(0,1fr) 296px; gap:16px; align-items:start; }
.home-monitor { grid-column:1; grid-row:2; min-width:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--stage-1); }
.home-preview-stage { aspect-ratio:16/9; max-height:calc(100dvh - 350px); position:relative; background:radial-gradient(ellipse at center,#25303c,#10141b); overflow:hidden; }
.home-preview-stage video { width:100%; height:100%; object-fit:contain; display:block; }
.home-preview-stage video.is-mirrored { transform:scaleX(-1); }
#home-preview-empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:16px; color:#eef3fa; text-align:center; }
#home-preview-empty[hidden] { display:none; }
.home-camera-icon { font-size:44px; color:#a5b7cb; }
.tool-home #home-preview-empty h2 { font-size:clamp(18px,2.2vw,27px); margin:0; }
#home-preview-empty p { font-size:13px; margin:0 0 6px; color:#b7c4d2; }
#home-preview-enable { min-height:44px; margin:0; }
.home-preview-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding:10px 12px; min-height:30px; font-size:11px; color:var(--ink-dim); }
.home-preview-toolbar label { display:flex; align-items:center; gap:5px; margin:0 0 0 auto; font-size:11px; white-space:nowrap; }
.home-preview-toolbar input { margin:0; }
.home-preview-toolbar button { margin:0; font-size:11px; min-height:32px; padding:5px 8px; }
.home-devices { grid-column:2; grid-row:2; min-width:0; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--stage-1); }
.home-devices-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tool-home .home-devices h2 { font-size:16px; margin:0; }
.home-devices h3 { font-size:13px; margin:20px 0 10px; }
.home-device-section-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:14px 0 8px; }
.home-device-section-heading h3 { margin:0; }
.home-device-section-heading button { padding:4px 8px; margin:0; min-height:32px; font-size:11px; background:var(--stage-2); color:var(--ink-dim); box-shadow:none; }
.home-devices-heading button { margin:0; padding:6px 9px; min-height:34px; font-size:12px; }
.home-device-hint,.home-device-help { color:var(--ink-dim); font-size:12px; }
.home-device-list { display:grid; gap:6px; }
.home-device-list button { width:100%; min-height:52px; text-align:left; white-space:normal; margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--stage-0); }
.home-device-list button[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); }
.home-device-label { display:block; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.home-device-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; color:var(--ink-dim); font-size:10px; }
.home-device-badges .recommended { color:var(--accent); }
.home-device-error { margin:8px 0; font-size:12px; color:var(--ink); }
.home-device-error:empty { display:none; }
.home-meter-row { display:flex; gap:8px; align-items:center; margin-top:12px; font-size:11px; color:var(--ink-dim); }
.home-meter-row meter { min-width:0; flex:1; height:10px; }
.home-device-help { margin:20px 0 0; padding:0; border:0; }
.home-device-help summary { cursor:pointer; }
.home-devices-heading button,.home-preview-toolbar button { background:var(--stage-2); color:var(--ink-dim); box-shadow:none; border:1px solid var(--line); }
.home-setup .home-start-card { grid-column:1 / -1; grid-row:1; margin:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--stage-1); }
.home-call-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.home-call-actions .primary-btn,.home-call-actions .secondary-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; margin:0; min-height:46px; box-sizing:border-box; padding:10px 18px; }
.home-call-hint { margin:10px 0 16px; color:var(--ink-dim); font-size:13px; }
.home-start-card #create-form { max-width:680px; }
.home-start-card #create-form [type=submit] { background:var(--stage-2); border:1px solid var(--line); color:var(--ink); box-shadow:none; }
.home-start-card form { grid-template-columns:minmax(0,1fr) auto; column-gap:12px; }
.home-start-card form label { grid-column:1 / -1; font-size:12px; }
.home-start-card form input { margin:0; min-height:46px; }
.home-start-card form .primary-btn { width:auto; min-height:46px; font-size:15px; padding:10px 22px; margin:0; }
#change-recording-root { grid-column:1 / -1; justify-self:start; padding:4px 0; font-size:11px; margin:0; }
.home-start-card .hint { text-align:left; margin:4px 0 0; font-size:11px; }
.home-join { margin-top:20px; max-width:700px; }
.tool-home .home-join h2 { font-size:16px; margin:0 0 8px; }
.home-join form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.home-join form label { grid-column:1 / -1; }
.home-join form input,.home-join form button { margin:0; min-height:44px; box-sizing:border-box; }
#recent-heading { scroll-margin-top:85px; }
.home-rail a:focus-visible,.home-device-list button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(min-width:1800px) { .home-setup { grid-template-columns:minmax(0,1fr) 330px; } }
@media(max-width:1000px) { .home-rail { width:132px; } .home-rail a { gap:6px; padding:12px 6px; } .tool-home { margin-left:132px; padding:0 16px 20px; } .home-setup { grid-template-columns:minmax(0,1fr) 250px; gap:12px; } .home-devices { padding:12px; } .home-start-card form { grid-template-columns:1fr; } .home-start-card form .primary-btn { width:100%; } }
@media(max-width:760px) {
 .landing-nav { height:56px; padding:10px 14px; } .landing-brand { font-size:14px; }
 .landing-appearance .app-theme-menu-panel { left:auto; right:0; max-width:calc(100vw - 24px); }
 body[data-screen=landing] .build-stamp { position:static; display:block; text-align:right; padding:0 14px 12px; }
 .home-rail { position:sticky; z-index:25; top:56px; width:auto; height:auto; padding:4px 8px; flex-direction:row; justify-content:space-around; border-right:0; border-bottom:1px solid var(--line); }
 .home-rail a { padding:8px 6px; font-size:11px; flex-direction:column; gap:3px; } .home-rail .home-account { display:none; }
 .tool-home { margin:0; padding:0 12px 20px; } .tool-home .recording-home { padding-top:16px; }
 .home-heading { margin-bottom:14px; align-items:start; } .tool-home .recording-home h1 { font-size:23px; } .home-reassurance { font-size:10px; max-width:135px; text-align:right; }
 .home-setup { display:flex; flex-direction:column; gap:12px; } .home-monitor,.home-devices,.home-setup .home-start-card { width:100%; box-sizing:border-box; }
 .home-start-card { order:0; } .home-monitor { order:1; } .home-devices { order:2; }
 .home-call-actions { align-items:stretch; } .home-call-actions > * { flex:1 1 auto; font-size:14px; }
 .home-preview-stage { max-height:none; } .home-preview-toolbar { font-size:10px; padding:8px; } .home-camera-icon { display:none; } #home-preview-empty { gap:6px; } #home-preview-empty p { font-size:11px; max-width:220px; }
 .home-devices { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; } .home-devices-heading,.home-device-hint,.home-device-help { grid-column:1 / -1; } .home-devices section { min-width:0; }
 .home-device-list button { padding:8px; } .home-device-label { font-size:12px; } .home-preview-toolbar label { font-size:10px; }
 .home-start-card form { grid-template-columns:minmax(0,1fr) auto; gap:6px; } .home-start-card form .primary-btn { padding:8px 12px; font-size:13px; }
 .home-setup .home-start-card { padding:12px; }
}
