/* The introduction yields its space to the conversation. Voice retains the full sculpture. */
.screen .hero{max-height:390px;overflow:hidden;opacity:1;transform:translateY(0) scale(1);transform-origin:50% 0;transition:max-height .65s cubic-bezier(.22,.8,.22,1),opacity .35s,padding .65s,transform .65s;}
.screen.chat-expanded .hero{max-height:0;padding-top:0;opacity:0;transform:translateY(-18px) scale(.88);pointer-events:none;}
.helix-rail{display:none;flex-shrink:0;align-items:center;justify-content:space-between;margin:7px 23px 0;padding:8px 0 12px;border-bottom:1px solid #ffffff16;gap:10px;}
.conversation-started:not(.workspace-open):not(.voice-mode) .helix-rail{display:flex;animation:message-in .5s both;}
#helix-presence{border:0;background:none;display:flex;align-items:center;gap:9px;padding:0;color:var(--accent);text-align:left;font-size:12px;min-height:34px;}
#helix-presence small{display:block;font-size:8px;font-weight:400;color:var(--muted);margin-top:3px;}
.presence-orbit{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff29;border-radius:50%;font-size:21px;background:radial-gradient(circle,var(--glow),transparent);}
.presence-chevron{margin-left:4px;color:var(--muted);transition:transform .4s;}
#helix-presence[aria-expanded=true] .presence-chevron{transform:rotate(180deg);}
.focus-chip{font-size:9px;color:var(--accent);border:1px solid #ffffff24;background:#ffffff08;border-radius:20px;padding:9px 11px;white-space:nowrap;}
.focus-chip span{margin-left:8px;}
.chat-expanded .chat{margin-top:6px;min-height:0;}
.focus-card{--focus-color:var(--accent);position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--focus-color) 24%,transparent);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--focus-color) 10%,transparent),#ffffff03);padding:18px;margin-top:12px;animation:focus-arrive .6s cubic-bezier(.2,.8,.2,1) both;}
.focus-card::before{content:'';position:absolute;z-index:-1;right:-70px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--focus-color) 10%,transparent),transparent 65%);pointer-events:none;}
.focus-card-top{display:flex;justify-content:space-between;color:var(--focus-color);font-size:8px;letter-spacing:1.35px;gap:10px;}
.focus-card-top>span:last-child{opacity:.6;font-size:7px;}
.focus-card h3{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.7px;font-weight:400;margin:12px 0 14px;}
.focus-number{font-family:Manrope,sans-serif;font-size:40px;letter-spacing:-1.6px;line-height:1.15;color:var(--focus-color);}
.focus-number small{font-size:13px;letter-spacing:0;}
.focus-caption{font-size:10px;color:var(--muted);margin:6px 0 0;}
.focus-bars{height:89px;display:flex;justify-content:space-between;gap:9px;margin:19px 2px 13px;}
.focus-bars>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;}
.focus-bars span{display:block;width:100%;max-width:24px;height:calc(var(--bar) * .7);background:linear-gradient(0deg,color-mix(in srgb,var(--focus-color) 30%,transparent),var(--focus-color));border-radius:5px 5px 2px 2px;transform-origin:bottom;animation:bar-grow .7s ease both;animation-delay:var(--delay);}
.focus-bars small{font-size:8px;color:var(--muted);}
.focus-line{width:100%;height:91px;color:var(--focus-color);margin:13px 0 5px;}
.focus-line polyline{stroke-dasharray:400;stroke-dashoffset:0;animation:draw-line 1s ease both;}
.focus-support{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;margin-top:12px;}
.focus-support button{border:0;background:none;color:var(--muted);text-align:left;min-width:0;padding:12px 0;}
.focus-support button+button{border-left:1px solid #ffffff12;padding-left:14px;}
.focus-support span{display:block;font-size:9px;}
.focus-support strong{display:block;font-weight:400;color:#edf5ec;font-size:19px;margin-top:5px;}
.focus-support strong small{font-size:10px;color:var(--muted);}
.focus-source{font-size:8px!important;line-height:1.6!important;color:var(--muted);margin:11px 0!important;}
.focus-open{border:0;border-top:1px solid #ffffff12;background:none;color:var(--focus-color);padding:12px 0 0;display:flex;width:100%;justify-content:space-between;text-align:left;font-size:11px;min-height:32px;}
.focus-movement{display:flex;align-items:center;gap:17px;margin:18px 0;color:var(--focus-color);}
.movement-ring{width:88px;height:88px;flex-shrink:0;background:conic-gradient(var(--focus-color) 78%,#ffffff12 0);border-radius:50%;padding:6px;transform:rotate(-90deg);}
.movement-ring>span{display:grid;place-content:center;background:var(--base);width:100%;height:100%;border-radius:50%;font-size:22px;transform:rotate(90deg);text-align:center;}
.movement-ring small{font-size:9px;}
.focus-movement strong{font-size:12px;font-weight:500;}
.focus-movement p,.focus-empty,.focus-compare{font-size:11px;line-height:1.7;color:var(--muted);}
.focus-update{width:100%;background:none;border:0;text-align:left;color:var(--accent);font-size:9px;line-height:1.6;padding:12px 2px 0;}
.focus-update span{float:right;}
.adaptive-dashboard{margin:4px 0 20px;}
.adaptive-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.adaptive-heading>span{font-size:7px;letter-spacing:1px;color:var(--muted);}
.adaptive-heading button{border:0;background:none;color:var(--accent);font-size:10px;min-height:32px;padding:0;}
.balanced-note{font-size:11px;line-height:1.7;color:var(--muted);margin:6px 0 0;}
.focus-why{border:0;background:none;color:var(--muted);font-size:9px;line-height:1.6;padding:10px 2px 0;text-align:left;}
.workspace:has([data-current-focus=sleep]) .rich-sleep{display:none;}
.workspace:has(.focus-dashboard) .daily-highlight{display:none;}
.focus-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;}
.focus-options button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:16px;border:1px solid #ffffff20;background:#ffffff05;border-radius:16px;color:#edf5ec;font-size:13px;}
.focus-options button[aria-pressed=true]{border-color:var(--accent);background:#ffffff0b;}
.focus-options button>span{font-size:21px;color:var(--accent);}
.focus-options small{font-size:9px;color:var(--muted);}
.voice-focus{border:1px solid #ffffff24;border-radius:18px;background:#ffffff08;color:var(--accent);padding:9px 14px;font-size:10px;align-self:center;margin-top:14px;}
@keyframes focus-arrive{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}
@keyframes bar-grow{from{transform:scaleY(.1);opacity:.2}to{transform:scaleY(1);opacity:1}}
@keyframes draw-line{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.screen .hero{transition:none}.focus-card,.focus-bars span,.focus-line polyline{animation:none}}

.screen.voice-mode .hero{max-height:490px;}
.message .focus-card{padding:16px;}
.message .focus-card h3{margin:10px 0;font-size:20px;}
.message .focus-number{font-size:36px;}
.message .focus-bars{height:68px;margin-top:12px;margin-bottom:9px;}
.message .focus-support{margin-top:8px;}
.message .focus-support button{padding-top:10px;padding-bottom:10px;}
.message .focus-line{height:73px;margin-top:9px;}
.message .focus-movement{margin:12px 0;}
