/* Planned assistant interfaces. One teaching story, one frame system. */
.assistant-studio { padding:88px 24px; background:var(--merak-cream-surface); border-top:1px solid var(--merak-warm-border); color:var(--merak-text-primary); }
.assistant-studio *, .assistant-studio *::before, .assistant-studio *::after { box-sizing:border-box; }
.assistant-studio__inner { max-width:1120px; margin-inline:auto; }
.assistant-studio__heading { max-width:810px; margin:0 auto 48px; text-align:center; }
.assistant-eyebrow { margin:0 0 15px; color:var(--merak-action-primary); font-size:14px; font-weight:800; line-height:1.4; letter-spacing:.075em; text-transform:uppercase; }
.assistant-studio h2 { margin:0; font:500 clamp(36px,4.2vw,52px)/1.09 Newsreader,Georgia,serif; letter-spacing:-.8px; }
.assistant-studio__heading > p:last-child { margin:19px auto 0; max-width:710px; color:var(--merak-text-secondary); font-size:19px; line-height:1.6; }
.assistant-studio__grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:start; gap:60px; }
.assistant-story { padding-top:54px; }
.assistant-story h3 { max-width:450px; margin:0; font:500 clamp(29px,3vw,38px)/1.16 Newsreader,Georgia,serif; letter-spacing:-.3px; }
.assistant-story > p { margin:19px 0 0; font-size:18px; line-height:1.65; color:var(--merak-text-secondary); }
.assistant-story > p strong { color:var(--merak-text-primary); font-weight:600; }
.assistant-record { margin:27px 0 0; padding:22px 25px; border:1px solid var(--merak-warm-border); border-left:3px solid var(--merak-action-primary); border-radius:5px 17px 17px 5px; background:var(--merak-card-surface); }
.assistant-record figcaption { margin:0; font-size:13px; font-weight:700; color:var(--merak-action-primary); letter-spacing:.015em; }
.assistant-record__path { margin:13px 0 9px; font-size:17px; font-weight:700; }
.assistant-record blockquote { margin:0; font:500 25px/1.3 Newsreader,Georgia,serif; }
.assistant-record > p:last-child { margin:12px 0 0; color:var(--merak-text-secondary); font-size:14px; }
.assistant-foundations { display:grid; gap:22px; margin-top:29px; }
.assistant-foundations > div { display:grid; grid-template-columns:28px minmax(0,1fr); gap:13px; align-items:start; }
.assistant-foundations > div > span { color:var(--merak-action-primary); font-size:14px; font-weight:800; padding-top:3px; }
.assistant-foundations p { margin:0; color:var(--merak-text-secondary); font-size:17px; line-height:1.55; }
.assistant-foundations strong { display:block; margin-bottom:3px; color:var(--merak-text-primary); font-size:18px; }
.assistant-demo { width:100%; max-width:520px; justify-self:end; min-width:0; }
.assistant-surface-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:5px; border:1px solid var(--merak-warm-border); border-radius:999px; background:var(--merak-card-surface); }
.assistant-surface-tabs button { min-width:0; min-height:44px; padding:9px 6px; border:0; border-radius:999px; background:transparent; color:var(--merak-text-secondary); font:700 15px/1.25 "Hanken Grotesk",sans-serif; cursor:pointer; }
.assistant-surface-tabs button[aria-selected="true"] { background:var(--merak-action-primary); color:var(--merak-on-action-text); }
.assistant-surface-tabs button:focus-visible, .assistant-motion:focus-visible, .assistant-device:focus-visible, .assistant-thread:focus-visible, .assistant-avatar__settings button:focus-visible, .assistant-avatar__settings select:focus-visible, .assistant-transcript summary:focus-visible { outline:3px solid var(--merak-proof-gold); outline-offset:3px; }
.assistant-demo__toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:65px; padding-inline:4px; color:var(--merak-text-secondary); font-size:13px; font-weight:700; }
.assistant-motion { min-height:44px; min-width:78px; padding:8px 14px; border:1px solid var(--merak-warm-border); border-radius:999px; background:transparent; color:var(--merak-action-primary); font:700 15px/1.3 "Hanken Grotesk",sans-serif; cursor:pointer; }
.assistant-device { display:flex; flex-direction:column; height:760px; border:7px solid #282623; border-radius:39px; overflow:hidden; background:var(--merak-deep-ink); color:var(--merak-cream); box-shadow:0 20px 45px color-mix(in srgb,var(--merak-deep-ink) 9%,transparent); }
.assistant-device__status { display:flex; justify-content:space-between; flex:none; padding:12px 24px 8px; min-height:37px; font:600 12px/1.4 -apple-system,BlinkMacSystemFont,sans-serif; }
.assistant-device__header { display:flex; gap:10px; align-items:center; flex:none; min-height:69px; padding:10px 18px 15px; border-bottom:1px solid color-mix(in srgb,var(--merak-cream) 15%,transparent); }
.assistant-back { display:none; font-size:34px; line-height:1; }
.assistant-device__header strong { display:block; font-size:17px; font-weight:700; line-height:1.3; }
.assistant-device__header div > span { display:block; margin-top:2px; font-size:11px; opacity:.68; line-height:1.4; }
.assistant-header-call { margin-left:auto; font-size:27px; line-height:1; opacity:.6; }
.assistant-thread { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:20px 17px 25px; scrollbar-width:thin; }
.assistant-thread__day { margin:0 0 22px; font-size:12px; line-height:1.4; text-align:center; opacity:.7; }
.assistant-thread ol { display:flex; flex-direction:column; align-items:flex-start; gap:17px; list-style:none; margin:0; padding:0; }
.assistant-message { max-width:93%; padding:13px 15px; border:1px solid color-mix(in srgb,var(--merak-cream) 19%,transparent); border-radius:15px 15px 15px 4px; background:color-mix(in srgb,var(--merak-cream) 5%,transparent); }
.assistant-message > span { display:block; margin-bottom:6px; color:var(--merak-ink-accent); font-size:12px; line-height:1.3; font-weight:800; }
.assistant-message p { margin:0; color:inherit; font-size:17px; line-height:1.48; }
.assistant-message--learner { align-self:flex-end; max-width:86%; border-radius:15px 15px 4px 15px; background:color-mix(in srgb,var(--merak-proof-gold) 8%,transparent); border-color:color-mix(in srgb,var(--merak-proof-gold) 25%,transparent); }
.assistant-message--learner > span { color:var(--merak-proof-gold); }
.assistant-device__composer { display:flex; gap:12px; flex:none; align-items:center; padding:13px 18px 23px; border-top:1px solid color-mix(in srgb,var(--merak-cream) 15%,transparent); font-size:20px; }
.assistant-device__composer > span:nth-child(2) { min-width:0; flex:1; padding:9px 14px; border:1px solid color-mix(in srgb,var(--merak-cream) 20%,transparent); border-radius:999px; font-size:14px; opacity:.65; }
.assistant-device__composer > span:last-child { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:var(--merak-cream); background:var(--merak-action-primary); }
.assistant-demo[data-surface="imessage"] .assistant-device, .assistant-demo[data-surface="whatsapp"] .assistant-device { color:#17201c; background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; }
.assistant-demo[data-surface="imessage"] .assistant-device__header { background:#f5f5f7; border-color:#dedee1; }
.assistant-demo[data-surface="imessage"] .assistant-back { display:block; color:#0067d8; }
.assistant-demo[data-surface="imessage"] .assistant-message { background:#ececef; border:0; color:#1d1d20; border-radius:19px 19px 19px 5px; }
.assistant-demo[data-surface="imessage"] .assistant-message--learner { background:#0067d8; color:#fff; border-radius:19px 19px 5px 19px; }
.assistant-demo[data-surface="imessage"] .assistant-message > span { color:#69696d; }
.assistant-demo[data-surface="imessage"] .assistant-message--learner > span { color:#fff; opacity:.8; }
.assistant-demo[data-surface="imessage"] .assistant-device__composer { border-color:#e2e2e4; color:#77777d; }
.assistant-demo[data-surface="imessage"] .assistant-device__composer > span:nth-child(2) { border-color:#b7b7bc; }
.assistant-demo[data-surface="imessage"] .assistant-device__composer > span:last-child { background:#0067d8; }
.assistant-demo[data-surface="whatsapp"] .assistant-device { background:#f1ece3; }
.assistant-demo[data-surface="whatsapp"] .assistant-device__header { background:#f8faf7; border-color:#d6ddd8; }
.assistant-demo[data-surface="whatsapp"] .assistant-back { display:block; color:#075e54; }
.assistant-demo[data-surface="whatsapp"] .assistant-message { background:#fff; color:#17201c; border-color:#e1e3dc; border-radius:4px 15px 15px 15px; }
.assistant-demo[data-surface="whatsapp"] .assistant-message--learner { background:#d9f4cd; border-color:#c9e4bc; border-radius:15px 4px 15px 15px; }
.assistant-demo[data-surface="whatsapp"] .assistant-message > span { color:#23785e; }
.assistant-demo[data-surface="whatsapp"] .assistant-device__composer { border-color:#d6ddd8; background:#f8faf7; }
.assistant-demo[data-surface="whatsapp"] .assistant-device__composer > span:nth-child(2) { border-color:#a5b9ad; }
.assistant-demo[data-surface="whatsapp"] .assistant-device__composer > span:last-child { background:#147b65; }
.assistant-typing { display:flex; gap:5px; width:max-content; margin-top:16px; padding:14px 18px; border-radius:15px; background:color-mix(in srgb,var(--merak-cream) 12%,var(--merak-deep-ink)); }
.assistant-typing i { width:6px; height:6px; border-radius:50%; background:var(--merak-cream); opacity:.55; }
.assistant-demo.is-playing .assistant-typing i { animation:assistant-dot 1.1s ease-in-out infinite; }
.assistant-typing i:nth-child(2) { animation-delay:140ms; }.assistant-typing i:nth-child(3) { animation-delay:280ms; }
.assistant-demo__progress { min-height:22px; margin:13px 0 0; color:var(--merak-text-secondary); font-size:13px; line-height:1.5; text-align:center; }
.assistant-transcript { max-width:780px; margin:40px auto 0; border:1px solid var(--merak-warm-border); border-radius:14px; padding:19px 23px; background:var(--merak-card-surface); }
.assistant-transcript summary { color:var(--merak-action-primary); font-size:16px; font-weight:700; cursor:pointer; }
.assistant-transcript p { margin:18px 0 0; color:var(--merak-text-secondary); font-size:17px; line-height:1.6; }
.assistant-transcript strong { color:var(--merak-text-primary); }
.assistant-studio__note { max-width:800px; margin:24px auto 0; color:var(--merak-text-secondary); font-size:15px; line-height:1.65; text-align:center; }
.assistant-noscript { text-align:center; }.assistant-noscript img { display:block; margin:24px auto 8px; max-width:100%; }.assistant-noscript audio { margin-top:15px; max-width:100%; }
.assistant-studio [hidden] { display:none!important; }
@keyframes assistant-dot { 0%,70%,100% { opacity:.35; transform:translateY(0); } 35% { opacity:1; transform:translateY(-3px); } }
@media (max-width:900px) { .assistant-studio__grid { grid-template-columns:1fr; gap:34px; }.assistant-story { padding-top:0; }.assistant-story h3 { max-width:620px; }.assistant-foundations { grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }.assistant-foundations > div { grid-template-columns:1fr;gap:7px; }.assistant-demo { justify-self:center; }.assistant-studio__heading { margin-bottom:35px; }.assistant-record { max-width:620px; } }
@media (max-width:560px) { .assistant-studio { padding:60px 16px; }.assistant-studio__heading { text-align:left; }.assistant-studio h2 { font-size:37px; }.assistant-studio__heading > p:last-child { font-size:18px; }.assistant-story > p { font-size:17px; }.assistant-foundations { grid-template-columns:1fr;gap:20px; }.assistant-foundations > div { grid-template-columns:28px minmax(0,1fr);gap:10px; }.assistant-foundations p { font-size:16px; }.assistant-record { padding:20px; }.assistant-record blockquote { font-size:24px; }.assistant-surface-tabs button { font-size:14px; padding-inline:4px; }.assistant-device { height:730px; border-width:5px; border-radius:30px; }.assistant-message p { font-size:16px; }.assistant-thread { padding-inline:12px; }.assistant-device__header { padding-inline:13px; }.assistant-device__composer { padding-inline:12px; }.assistant-transcript { padding:18px; }.assistant-transcript p { font-size:16px; }.assistant-studio__note { text-align:left; } }
@media (prefers-reduced-motion:reduce) { .assistant-demo * { animation:none!important; transition:none!important; } }

/* Avatar is a full portrait display; its teaching and consent context stay explicit. */

/* One user-started control below every assistant surface. */
.assistant-demo { max-width:400px; }
.assistant-demo__status { margin:20px 4px 14px; color:var(--merak-text-secondary); font-size:13px; line-height:1.5; font-weight:700; }
.assistant-demo__playback { display:flex; flex-direction:column; align-items:center; gap:9px; margin:18px 0 0; }
.assistant-motion { display:inline-flex; align-items:center; justify-content:center; min-width:152px; min-height:48px; padding:12px 24px; border:0; border-radius:999px; background:var(--merak-action-primary); color:var(--merak-on-action-text); font:700 16px/1.25 "Hanken Grotesk",sans-serif; cursor:pointer; }
.assistant-motion:disabled { opacity:.65; cursor:wait; }
.assistant-demo__playback .assistant-demo__progress { margin:0; min-height:22px; font-size:14px; line-height:1.5; text-align:center; }
/* The avatar display contains art and calm background only. */
.assistant-avatar { position:relative; display:block; width:100%; height:100%; min-height:0; flex:1; background:radial-gradient(ellipse at 48% 42%,#fffaf0 0%,#eeeadb 66%,#d4cfbb 100%); }
.assistant-avatar__stage { position:absolute; inset:50px 7.5%; width:auto; height:auto; overflow:hidden; }
.assistant-avatar__portrait { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; margin:0; transform:none; }
.assistant-avatar__mouth { transform-box:fill-box; transform-origin:center; }
.assistant-demo[data-surface="avatar"] .assistant-device__status,
.assistant-demo[data-surface="avatar"] .assistant-device__header,
.assistant-demo[data-surface="avatar"] .assistant-device__composer,
.assistant-demo[data-surface="avatar"] .assistant-thread { display:none; }
.assistant-avatar audio { display:none; }
/* Appearance is a choice below the visual, never an overlay. */
.assistant-avatar__settings { margin-top:23px; padding:19px 0 0; border-top:1px solid var(--merak-warm-border); }
.assistant-avatar__settings fieldset { display:block; width:100%; border:0; margin:0; padding:0; min-width:0; }
.assistant-avatar__settings legend { margin:0 0 10px; padding:0; color:var(--merak-text-primary); font-size:15px; line-height:1.4; font-weight:700; }
.assistant-avatar__choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.assistant-avatar__choices button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:82px; padding:7px 2px; border:1px solid var(--merak-warm-border); border-radius:12px; background:var(--merak-card-surface); color:var(--merak-text-primary); font:700 14px/1.25 "Hanken Grotesk",sans-serif; cursor:pointer; }
.assistant-avatar__choices img { display:block; width:46px; height:46px; border-radius:8px; }
.assistant-avatar__choices button[aria-pressed="true"] { border-color:var(--merak-proof-gold); background:color-mix(in srgb,var(--merak-proof-gold) 18%,var(--merak-card-surface)); box-shadow:inset 0 0 0 1px var(--merak-proof-gold); }
.assistant-avatar__identity { margin:12px 0 0; min-height:40px; color:var(--merak-text-secondary); font-size:15px; line-height:1.5; }
.assistant-avatar__identity strong { display:none; }
.assistant-avatar__caption { display:none; margin:16px 0 0; color:var(--merak-text-secondary); font-size:17px; line-height:1.6; min-height:82px; }
.assistant-demo[data-surface="avatar"] > .assistant-avatar__caption { display:block; }
@media(max-width:560px) { .assistant-avatar__choices { gap:4px; }.assistant-avatar__choices button { min-height:77px; font-size:13px; }.assistant-avatar__choices img { width:40px; height:40px; }.assistant-avatar__caption { font-size:16px; } }

/* Scripted learner speech follows the same media clock. */
.assistant-learner-wave { position:absolute; left:50%; bottom:42px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:4px; width:112px; height:42px; border:1px solid #f7f0e1aa; border-radius:25px; background:#fff9ea99; --voice-level:0; }
.assistant-learner-wave i { display:block; flex:none; width:5px; height:calc(4px + var(--voice-level) * var(--wave-span,18px)); border-radius:4px; background:linear-gradient(#a8314c,#c88863); }
.assistant-learner-wave i:nth-child(1), .assistant-learner-wave i:nth-child(9) { --wave-span:9px; }.assistant-learner-wave i:nth-child(2), .assistant-learner-wave i:nth-child(8) { --wave-span:18px; }.assistant-learner-wave i:nth-child(3), .assistant-learner-wave i:nth-child(7) { --wave-span:26px; }.assistant-learner-wave i:nth-child(4), .assistant-learner-wave i:nth-child(6) { --wave-span:20px; }.assistant-learner-wave i:nth-child(5) { --wave-span:30px; }
