:root{--bg:#0e0d0b;--bg-raised:#161411;--bg-card:#1b1915;--line:#2c2822;--line-strong:#3d372e;--text:#f3eee5;--muted:#a69d8e;--faint:#6f675b;--accent:#f0a43c;--accent-soft:#f0a43c1f;--serif:"Instrument Serif", Georgia, serif;--sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, Consolas, monospace;--radius:18px;--gutter:clamp(16px, 5vw, 64px);--max:1200px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(closest-side,#f0a43c1a,#0000);width:70vw;height:80vh;position:fixed;inset:-20vh -10vw auto auto}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:500}em{font-family:var(--serif);color:var(--accent);letter-spacing:0;font-style:italic;font-weight:400}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.btn{border:1px solid var(--accent);background:var(--accent);color:#1a1206;font:500 15px/1 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:13px 22px;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--ghost{color:var(--text);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--small{padding:9px 16px;font-size:14px}.nav{z-index:20;padding:16px var(--gutter);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0d0bb8;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;transition:border-color .3s;display:flex;position:sticky;top:0}.nav.is-scrolled{border-bottom-color:var(--line)}.nav__brand{font-family:var(--serif);letter-spacing:-.01em;font-size:24px;text-decoration:none}.nav__links{gap:32px;display:flex}.nav__links a{color:var(--muted);font-size:15px;text-decoration:none;transition:color .2s}.nav__links a:hover,.nav__links a.is-active{color:var(--text)}.hero{max-width:var(--max);padding:clamp(40px, 8vh, 96px) var(--gutter) 72px;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,6vw,88px);margin:0 auto;display:grid}.eyebrow{border:1px solid var(--line);font:13px/1.4 var(--mono);color:var(--muted);border-radius:999px;align-items:center;gap:10px;margin:0 0 28px;padding:6px 14px 6px 10px;display:inline-flex}.dot{background:#6fcf7a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #6fcf7a26}.hero__title{letter-spacing:-.035em;font-size:clamp(40px,6.2vw,76px);line-height:1.02}.hero__title em{font-size:1.08em}.hero__lede{max-width:560px;color:var(--muted);margin:28px 0 0;font-size:18px}.hero__lede a{color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:24px;margin:56px 0 0;padding-top:28px;display:grid}.stats div{margin:0}.stats dt{font-family:var(--serif);color:var(--text);font-size:40px;line-height:1}.stats dd{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.4}.hero__visual{padding-bottom:40px;position:relative}.portrait{aspect-ratio:4/5;border:1px solid var(--line);background:var(--bg-card);border-radius:28px;margin:0;overflow:hidden;box-shadow:0 40px 80px -30px #000000b3}.portrait img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.hero-bo{flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:-8px;left:-64px}.hero-bo__avatar{cursor:pointer;filter:drop-shadow(0 20px 30px #0000008c);background:0 0;border:0;width:168px;height:168px;padding:0;transition:transform .3s}.hero-bo__avatar:hover{transform:scale(1.04)rotate(-3deg)}.bubble{background:var(--text);color:#1a1610;border-radius:16px 16px 16px 4px;max-width:240px;margin:0 0 10px 40px;padding:12px 16px;font-size:14px;line-height:1.45;transition:opacity .3s,transform .3s;position:relative;box-shadow:0 16px 40px -12px #0009}.bubble.is-swapping{opacity:0;transform:translateY(4px)}.marquee{border-block:1px solid var(--line);padding:18px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee__track{gap:48px;width:max-content;animation:50s linear infinite marquee;display:flex}.marquee span{font:14px var(--mono);color:var(--faint);white-space:nowrap}.marquee span:before{content:"✦";color:var(--accent);opacity:.6;margin-right:48px}@keyframes marquee{to{transform:translate(-50%)}}.section{max-width:var(--max);padding:clamp(80px, 12vh, 140px) var(--gutter) 0;margin:0 auto}.section__head{margin-bottom:48px}.kicker{font:13px var(--mono);color:var(--accent);letter-spacing:.02em;margin:0 0 14px}.section h2,.contact h2{letter-spacing:-.03em;font-size:clamp(34px,4.6vw,56px);line-height:1.05}.section__sub{color:var(--muted);margin:14px 0 0;font-size:18px}.projects{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);flex-direction:column;padding:28px;transition:border-color .25s,transform .25s,background .25s;display:flex}.project:hover{border-color:var(--line-strong);background:var(--bg-card);transform:translateY(-3px)}.project--feature{background:radial-gradient(120% 80% at 100% 0%, var(--accent-soft), transparent 60%), var(--bg-raised);grid-column:span 2}.project__meta{font:12px/1.4 var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;gap:12px;display:flex}.project h3{margin:18px 0 10px;font-size:24px}.project--feature h3{font-family:var(--serif);margin:28px 0 16px;font-size:clamp(48px,6vw,72px);font-weight:400;line-height:1}.project p{color:var(--muted);margin:0;font-size:15px}.project--feature p{max-width:620px;font-size:17px}.project__figures{grid-template-columns:repeat(3,1fr);gap:16px;margin:auto 0 0;padding:28px 0 24px;display:grid}.project__figures div{border-top:1px solid var(--line-strong);padding-top:14px}.project__figures strong{font-family:var(--serif);color:var(--accent);font-size:40px;font-weight:400;line-height:1;display:block}.project__figures span{color:var(--muted);margin-top:6px;font-size:13px;display:block}.chips{flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none;display:flex}.project--feature .chips{margin-top:0}.project:not(.project--feature) .chips{margin-top:auto;padding-top:20px}.chips li{border:1px solid var(--line);font:12px var(--mono);color:var(--muted);border-radius:999px;padding:4px 10px}.talk{max-width:var(--max);padding:0 var(--gutter);margin:clamp(80px,12vh,140px) auto 0}.talk__inner{border:1px solid var(--line-strong);background:radial-gradient(60% 70% at 50% 62%, #f0a43c29, transparent 70%), var(--bg-raised);text-align:center;border-radius:32px;padding:clamp(48px,8vw,88px) clamp(20px,5vw,64px);position:relative;overflow:hidden}.talk h2{letter-spacing:-.03em;max-width:760px;margin:0 auto;font-size:clamp(34px,4.6vw,56px);line-height:1.05}.talk .section__sub{max-width:600px;margin:16px auto 0}.talk__mic{background:var(--accent);color:#1a1206;cursor:pointer;border:0;border-radius:50%;place-items:center;width:128px;height:128px;margin-top:48px;display:inline-grid;position:relative;box-shadow:0 20px 60px -10px #f0a43c8c}.talk__mic svg{z-index:1;position:relative}.talk__ring{border:2px solid var(--accent);opacity:0;border-radius:50%;animation:3s cubic-bezier(.2,.6,.4,1) infinite ring;position:absolute;inset:0}.talk__ring:nth-child(2){animation-delay:1s}.talk__ring:nth-child(3){animation-delay:2s}@keyframes ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.talk__hint{font:13px var(--mono);color:var(--faint);margin:28px 0 0}.talk__ideas{flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:flex}.talk__ideas li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14px;font-style:italic}.btn--voice{border-color:#f0a43c8c}.btn__live{background:#e5604a;border-radius:50%;width:8px;height:8px;animation:1.6s infinite live-dot;box-shadow:0 0 #e5604a99}@keyframes live-dot{0%{box-shadow:0 0 #e5604a99}70%,to{box-shadow:0 0 0 8px #e5604a00}}.timeline{margin:0;padding:0 0 12vh;list-style:none}.timeline>li{top:calc(96px + var(--i,0) * 22px);border:1px solid var(--line-strong);background:radial-gradient(90% 120% at 100% 0%, #f0a43c12, transparent 60%), var(--bg-raised);transform-origin:50% 0;will-change:transform, filter;border-radius:28px;grid-template-columns:220px 1fr;gap:32px;margin-bottom:28px;padding:36px 40px;display:grid;position:sticky;box-shadow:0 -24px 50px -30px #000000e6}.timeline__when{font:14px var(--mono);color:var(--faint);padding-top:6px}.timeline h3{font-size:24px}.timeline h3 span{color:var(--muted);font-weight:400}.timeline__where{color:var(--faint);margin:4px 0 0;font-size:14px}.timeline__body ul{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.timeline__body ul li{color:var(--muted);padding-left:22px;position:relative}.timeline__body ul li:before{content:"";background:var(--accent);width:8px;height:1px;position:absolute;top:.7em;left:2px}.timeline__minor h3{font-size:17px}.skills{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.skill{background:var(--bg);padding:28px 24px;transition:background .25s}.skill:hover{background:var(--bg-raised)}.skill h3{margin-bottom:10px;font-size:17px}.skill p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.creds{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;display:grid}.creds p{color:var(--muted);margin:0;font-size:15px}.post{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);padding:32px;text-decoration:none;transition:border-color .25s,background .25s;display:block}.post:hover{border-color:var(--accent);background:var(--bg-card)}.post__date{font:12px var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.post h3{font-family:var(--serif);max-width:820px;margin:14px 0 10px;font-size:clamp(26px,3.4vw,40px);font-weight:400;line-height:1.1}.post p{max-width:680px;color:var(--muted);margin:0}.post__more{color:var(--accent);margin-top:20px;font-size:15px;display:inline-block}.contact{max-width:var(--max);padding:clamp(56px, 8vw, 96px) var(--gutter);text-align:center;border-top:1px solid var(--line);margin:clamp(80px,12vh,140px) auto 0}.contact h2{max-width:820px;margin:0 auto}.contact__email{font-family:var(--serif);border-bottom:1px solid var(--accent);overflow-wrap:anywhere;margin-top:40px;font-size:clamp(28px,5vw,56px);text-decoration:none;transition:color .2s;display:inline-block}.contact__email:hover{color:var(--accent)}.contact__links{flex-wrap:wrap;justify-content:center;gap:12px;margin:40px 0 0;padding:0;list-style:none;display:flex}.contact__links a{border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:10px 18px;font-size:15px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}.contact__links a:hover{color:var(--accent);border-color:var(--accent)}.footer{padding:28px var(--gutter) 40px;border-top:1px solid var(--line);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.footer a{color:var(--muted)}.progress{z-index:40;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.split .word{vertical-align:top;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block;overflow:hidden}.split .word>span{display:inline-block;transform:translateY(110%)}.hero__copy,.hero-bo,.portrait img{will-change:transform}.marquee span{transform:skewX(var(--skew,0deg));display:inline-block}.manifesto{height:230vh}.manifesto__sticky{max-width:1100px;height:100vh;padding:0 var(--gutter);flex-direction:column;justify-content:center;margin:0 auto;display:flex;position:sticky;top:0}.manifesto__text{letter-spacing:-.03em;margin:0;font-size:clamp(30px,4.6vw,64px);font-weight:500;line-height:1.12}.manifesto__text .mw{opacity:var(--o,1);transition:opacity .12s linear}.work__count{color:var(--faint);margin-left:16px;display:none}.work__progress{display:none}.work.is-pinned{max-width:none;padding:0}.work.is-pinned .work__sticky{--inset:max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));flex-direction:column;justify-content:center;gap:36px;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.work.is-pinned .section__head{padding:0 var(--inset);margin:0}.work.is-pinned .work__count{display:inline}.work.is-pinned .projects{width:max-content;padding:0 var(--inset);will-change:transform;gap:20px;display:flex}.work.is-pinned .project{flex:none;width:400px;height:min(480px,56vh);overflow:hidden}.work.is-pinned .project--feature{width:640px}.work.is-pinned .project--feature h3{margin:16px 0 12px}.work.is-pinned .project__figures{padding:20px 0 16px}.work.is-pinned .work__progress{margin:0 var(--inset);background:var(--line);border-radius:2px;height:2px;display:block;overflow:hidden}.work__progress i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.band{margin-top:clamp(80px,12vh,140px);padding:2vh 0;overflow:hidden}.band__row{font-family:var(--serif);white-space:nowrap;letter-spacing:-.02em;color:var(--text);will-change:transform;font-size:clamp(64px,11vw,180px);line-height:1}.band__row--outline{color:#0000;-webkit-text-stroke:1px var(--accent);font-style:italic}@media (width<=1000px){.projects,.skills{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.nav__links{display:none}.hero{grid-template-columns:1fr}.hero__visual{width:100%;max-width:420px;margin:0 auto}.hero-bo{left:-8px}.hero-bo__avatar{width:128px;height:128px}.bubble{max-width:200px;margin-left:24px;font-size:13px}.stats{grid-template-columns:repeat(2,1fr)}.timeline>li{top:calc(72px + var(--i,0) * 14px);grid-template-columns:1fr;gap:8px;padding:24px 22px}.creds{grid-template-columns:1fr;gap:20px}}@media (width<=640px){.projects,.skills{grid-template-columns:1fr}.project--feature{grid-area:auto}.project__figures{grid-template-columns:1fr 1fr}.project__figures div:last-child{grid-column:span 2}.project__meta{flex-direction:column;gap:2px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee__track{animation:none}.manifesto{height:auto}.manifesto__sticky{height:auto;padding-block:96px 0;position:static}}.companion{z-index:45;pointer-events:none;opacity:0;will-change:transform;width:72px;height:72px;transition:opacity .35s;position:fixed;top:0;left:0}.companion.is-visible{opacity:1}.companion__avatar{filter:drop-shadow(0 10px 16px #0000008c);width:100%;height:100%;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.companion.is-parked .companion__avatar{transform:scale(.78)}.companion.is-hopping .companion__avatar{animation:.45s cubic-bezier(.34,1.56,.64,1) hop}@keyframes hop{30%{transform:translateY(-14px)scale(1.08,.94)}60%{transform:translateY(0)scale(.94,1.06)}}.companion__bubble{background:var(--text);color:#1a1610;opacity:0;transform-origin:0 100%;border-radius:14px 14px 14px 4px;width:max-content;max-width:220px;padding:8px 12px;font-size:13px;line-height:1.4;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:calc(100% + 4px);left:52px;transform:translateY(6px)scale(.92);box-shadow:0 12px 30px -10px #0009}.companion__bubble.is-visible{opacity:1;transform:none}.companion.bubble-left .companion__bubble{transform-origin:100% 100%;border-radius:14px 14px 4px;left:auto;right:52px}.launcher{z-index:40;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);font:500 14px var(--sans);cursor:pointer;background:#1b1915d9;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s,border-color .2s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 16px 40px -14px #000000b3}.launcher:hover{border-color:var(--accent);transform:translateY(-2px)}.launcher__dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #f0a43c99}70%,to{box-shadow:0 0 0 10px #f0a43c00}}.chat-open .launcher{opacity:0;pointer-events:none;transform:translateY(20px)scale(.9)}.chat{z-index:44;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line-strong);transform-origin:100% 100%;background:radial-gradient(120% 50% at 0 0,#f0a43c1a,#0000 60%),#161411f2;border-radius:24px;flex-direction:column;width:min(420px,100vw - 40px);height:min(620px,100vh - 110px);animation:.45s cubic-bezier(.34,1.3,.64,1) chat-in;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 40px 90px -24px #000000d9}.chat[hidden]{display:none}@keyframes chat-in{0%{opacity:0;transform:translateY(24px)scale(.92)}}.chat__head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 14px 14px 12px;display:flex}.chat__bo{background:radial-gradient(circle,#f0a43c2e,#0000 70%);border-radius:50%;flex:none;width:56px;height:56px}.chat__title{flex:1;min-width:0}.chat__title strong{font-size:17px;font-weight:600;display:block}.chat__title span{font:12px var(--mono);color:var(--faint);align-items:center;gap:6px;display:inline-flex}.chat__online{background:#6fcf7a;border-radius:50%;width:7px;height:7px}.chat.is-busy .chat__online{background:var(--accent);animation:1.2s infinite pulse}.chat__close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .2s,color .2s,transform .3s;display:grid}.chat__close:hover{background:var(--bg-card);color:var(--text);transform:rotate(90deg)}.chat__log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex:1;gap:12px;padding:20px 16px 12px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 24px calc(100% - 12px),#0000);mask-image:linear-gradient(#0000 0,#000 24px calc(100% - 12px),#0000)}.msg{overflow-wrap:anywhere;border-radius:18px;max-width:86%;padding:11px 15px;font-size:14.5px;line-height:1.55;animation:.45s cubic-bezier(.34,1.4,.64,1) both msg-in}@keyframes msg-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.msg--bo{background:var(--bg-card);border:1px solid var(--line);transform-origin:0 100%;border-bottom-left-radius:6px;align-self:flex-start}.msg--user{background:var(--accent);color:#1a1206;transform-origin:100% 100%;border-bottom-right-radius:6px;align-self:flex-end}.msg--error{border-color:#e5735c80}.msg p{margin:0}.msg p+p,.msg p+ul,.msg ul+p{margin-top:8px}.msg ul{gap:4px;margin:0;padding-left:18px;display:grid}.msg strong{color:var(--text);font-weight:600}.msg--user strong{color:inherit}.msg a{color:var(--accent);text-underline-offset:2px}.caret{vertical-align:-2px;background:var(--accent);border-radius:2px;width:7px;height:1em;margin-left:2px;animation:.9s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.typing{gap:4px;padding:4px 0;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{50%{opacity:.4;transform:translateY(-5px)}}@supports (animation-timeline:view()){.chat__log .msg{animation:.45s cubic-bezier(.34,1.4,.64,1) both msg-in,linear both msg-scroll;animation-timeline:auto,view();animation-range:normal,exit}@keyframes msg-scroll{to{opacity:.15;transform:scale(.94)translateY(-8px)}}}.chat__chips{scrollbar-width:none;gap:8px;padding:4px 16px 10px;display:flex;overflow-x:auto}.chat__chips:empty{display:none}.chat__chips button{border:1px solid var(--line-strong);color:var(--text);font:13px var(--sans);cursor:pointer;animation:.4s cubic-bezier(.34,1.4,.64,1) both msg-in;animation-delay:calc(var(--i,0) * 60ms + .12s);background:#ffffff05;border-radius:999px;flex:none;padding:8px 13px;transition:border-color .2s,color .2s,background .2s}.chat__chips button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chat__chips button:disabled{opacity:.4;cursor:default}.chat__form{border:1px solid var(--line-strong);background:var(--bg);border-radius:20px;align-items:flex-end;gap:8px;margin:0 12px 12px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.chat__form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.chat__form textarea{resize:none;min-height:38px;max-height:120px;color:var(--text);font:15px/1.4 var(--sans);background:0 0;border:0;outline:0;flex:1;padding:9px 0}.chat__form textarea::placeholder{color:var(--faint)}.chat__form button{background:var(--accent);color:#1a1206;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;transition:transform .2s,opacity .2s;display:grid}.chat__form button:hover{transform:scale(1.06)rotate(-8deg)}.chat__form button:disabled{opacity:.4;cursor:default;transform:none}.chat__voicecta{background:linear-gradient(120deg, var(--accent-soft), #f0a43c08);color:var(--text);text-align:left;font:inherit;cursor:pointer;border:1px solid #f0a43c73;border-radius:18px;align-items:center;gap:14px;margin:0 16px 12px;padding:14px 16px;transition:border-color .2s,transform .2s;animation:.5s cubic-bezier(.34,1.4,.64,1) .1s both msg-in;display:flex}.chat__voicecta:hover{border-color:var(--accent);transform:translateY(-2px)}.chat__voicecta-icon{background:var(--accent);color:#1a1206;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid;position:relative}.chat__voicecta-icon:after{content:"";border:2px solid var(--accent);border-radius:50%;animation:2.4s cubic-bezier(.2,.6,.4,1) infinite ring;position:absolute;inset:0}.chat__voicecta strong{font-size:15px;font-weight:600;display:block}.chat__voicecta small{color:var(--muted);font-size:13px;display:block}.chat.has-convo .chat__voicecta,.chat.is-voice .chat__voicecta{display:none}.chat__form .chat__mic{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-left:-8px;transition:color .2s,background .2s;display:grid}.chat__form .chat__mic:hover{color:var(--accent);background:var(--accent-soft);transform:none}.chat__chips button.chip--voice{color:var(--accent);border-color:#f0a43c80}.voicebar{border:1px solid var(--accent);background:linear-gradient(90deg, var(--accent-soft), transparent 70%), var(--bg);box-shadow:0 0 0 4px var(--accent-soft);border-radius:20px;align-items:center;gap:14px;margin:0 12px 12px;padding:10px 10px 10px 18px;animation:.4s cubic-bezier(.34,1.4,.64,1) both msg-in;display:flex}.voicebar[hidden]{display:none}.voicebar__wave{--level:0;align-items:center;gap:3px;height:28px;display:flex}.voicebar__wave i{width:4px;height:calc(6px + var(--level) * 22px * var(--k,1));background:var(--accent);border-radius:2px;transition:height 80ms linear}.voicebar__wave i:first-child,.voicebar__wave i:nth-child(7){--k:.35}.voicebar__wave i:nth-child(2),.voicebar__wave i:nth-child(6){--k:.65}.voicebar__wave i:nth-child(3),.voicebar__wave i:nth-child(5){--k:.9}.voicebar[data-state=connecting] .voicebar__wave i,.voicebar[data-state=thinking] .voicebar__wave i{height:6px;animation:1s ease-in-out infinite wave-wait;animation-delay:calc(var(--k,1) * .3s)}@keyframes wave-wait{50%{opacity:.5;transform:scaleY(2)}}.voicebar__status{color:var(--text);flex:1;font-size:14px}.voicebar__end{color:#fff;font:500 13px var(--sans);cursor:pointer;background:#d9614c;border:0;border-radius:999px;padding:9px 14px;transition:transform .2s}.voicebar__end:hover{transform:scale(1.05)}.chat.is-voice .chat__form,.chat.is-voice .chat__chips{display:none}.msg.is-live:after{content:"";opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px;margin-left:6px;animation:.9s steps(2,end) infinite blink;display:inline-block}.companion.is-talking .companion__avatar{transform:scale(calc(.78 + var(--talk,0) * .16)) translateY(calc(var(--talk,0) * -4px));transition:transform 60ms linear}@media (width<=640px){.chat{width:auto;height:min(78vh,100vh - 80px);bottom:8px;left:8px;right:8px}.launcher{bottom:12px;right:12px}.companion{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.msg,.chat,.chat__chips button{animation:none!important}}
