/* Galaxy surfaces keep the assistant dark in both site themes. */
.touch-ai-widget{--ai-ink:#eff4ff;--ai-muted:#a6b2ce;--ai-line:#a1b8ff26}
.touch-ai-widget .touch-ai-launch{gap:12px;border-color:#a2caff42;background:linear-gradient(125deg,#121b35f5,#170c30f5);color:#f3f6ff;box-shadow:0 8px 35px #08051b50,0 0 25px #637aff20;letter-spacing:.6px}
.touch-ai-widget .touch-ai-launch:hover{box-shadow:0 10px 42px #17113b66,0 0 30px #729fff50}
.touch-ai-launch>span>b,.touch-ai-launch>svg{color:#b5d9ff}
.touch-ai-widget .touch-ai-panel{--ai-ink:#eff4ff;--ai-muted:#a6b2ce;width:460px;height:min(810px,calc(var(--ai-vh,100dvh) - 36px));border:1px solid #b5c6ff30;border-radius:30px;background:radial-gradient(ellipse at 0 5%,#15407485,transparent 52%),radial-gradient(ellipse at 110% 36%,#55277766,transparent 48%),linear-gradient(155deg,#0d1224,#0b0819 70%,#0d1525);box-shadow:0 35px 100px #03010a99,0 0 0 1px #5477bc1a,inset 0 1px 0 #c7d9ff16;isolation:isolate;color-scheme:dark}
.touch-ai-panel:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.7;background-image:radial-gradient(1px 1px at 8% 17%,#adcfff 99%,transparent),radial-gradient(1px 1px at 82% 23%,#fff 99%,transparent),radial-gradient(1px 1px at 56% 9%,#d6b1ff 99%,transparent),radial-gradient(1px 1px at 24% 47%,#fff 99%,transparent),radial-gradient(1px 1px at 94% 70%,#9af0ff 99%,transparent),radial-gradient(1px 1px at 63% 85%,#bdcbff 99%,transparent);background-size:230px 280px}
.touch-ai-widget .touch-ai-panel::backdrop{background:#03051265;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.touch-ai-panel .ai-header{border-bottom-color:#b5c6ff16;background:linear-gradient(180deg,#ffffff04,transparent)}
.touch-ai-panel .ai-brand>span{font-size:16px;font-weight:600;letter-spacing:1.4px}.touch-ai-panel .ai-brand>span>b{background:none;color:#b8ceff;font-weight:600}
.touch-ai-panel .ai-icon-button{color:#a6b2ce}.touch-ai-panel .ai-icon-button:hover{background:#abc9ff10;color:#edf4ff}.touch-ai-panel #touch-ai-voice[aria-pressed='true']{color:#8bd5ff}
.touch-ai-panel[data-ready='true'] .ai-ready-dot{background:#72e3c7;box-shadow:0 0 10px #72e3c799}
.touch-ai-panel .ai-visual{min-height:232px;padding-top:35px;gap:16px}.ai-orb-stage{padding:10px}
.touch-ai-widget .ai-orb{width:128px;height:128px;overflow:visible;background:radial-gradient(circle at 38% 32%,#dcfbff,#6691ee 14%,#142d6d 36%,#100a30 65%,#050a18 90%);box-shadow:inset -15px -18px 28px #040014bb,inset 4px 4px 16px #8ae6ff70,0 0 28px #5599ff66,0 0 70px #8036ff44;transform:scale(calc(1 + var(--ai-energy)*.18));animation:ai-galaxy-breathe 5s ease-in-out infinite}
.touch-ai-widget .ai-orb:before{inset:4%;border-radius:50%;background:conic-gradient(from 30deg,transparent,#46d8ffa8 15%,#7185ff33 25%,#eb8bff9e 43%,transparent 53%,#8774ffcf 70%,#46d8ff85,transparent);filter:blur(8px);animation:ai-nebula 9s linear infinite}
.touch-ai-widget .ai-orb:after{inset:0;box-shadow:inset 1px 2px 3px #d8fbff88,inset -1px -1px 3px #8079ff88}
.touch-ai-widget .ai-orb>i{inset:13%;border:0;border-radius:43% 57% 60% 40%;background:conic-gradient(transparent,#7edaffb3,#fff6,transparent,#cf85ffb8,transparent);filter:blur(6px);mix-blend-mode:screen;animation:ai-nebula-reverse 6s linear infinite}
.touch-ai-widget .ai-orb>b{inset:25%;width:auto;height:auto;border-radius:50%;background:radial-gradient(ellipse,#d7fdff99,#8690fa70,transparent 70%);filter:blur(7px);animation:ai-core-pulse 3s ease-in-out infinite}
.ai-orb-core{position:absolute;inset:34%;border-radius:50%;background:radial-gradient(circle,#f0ffffd9,#87c6ff66 42%,transparent 70%);filter:blur(5px)}
.ai-orbit-ring{position:absolute;inset:-12%;border:1px solid #8fbcff52;border-left-color:#9ef1ff;border-top-color:transparent;border-radius:50%;box-shadow:0 0 8px #63b6ff38;animation:ai-ring-orbit 11s linear infinite;--ring-angle:62deg;--ring-turn:-28deg;pointer-events:none}
.ai-orbit-ring:after{content:'';position:absolute;left:16%;top:7%;width:5px;height:5px;border-radius:50%;background:#c6fbff;box-shadow:0 0 12px 2px #76dfff}
.ai-orbit-two{inset:-19%;--ring-angle:72deg;--ring-turn:42deg;border-color:#c59cff36;border-right-color:#e6bdff;border-bottom-color:transparent;animation-duration:15s;animation-direction:reverse}
.ai-orbit-two:after{background:#e1aeff;box-shadow:0 0 11px 2px #c190ff}.ai-orbit-three{inset:-6%;--ring-angle:38deg;--ring-turn:122deg;border-color:#8490ff32;border-top-color:#9aabff;animation-duration:18s}.ai-orbit-three:after{width:3px;height:3px}
.ai-orb-stars{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(1px 1px at 9% 32%,#e5fbff 99%,transparent),radial-gradient(2px 2px at 83% 70%,#bce6ff 99%,transparent),radial-gradient(1px 1px at 75% 4%,#e6baff 99%,transparent),radial-gradient(1px 1px at 24% 90%,#cfe8ff 99%,transparent);animation:ai-nebula 28s linear infinite;pointer-events:none}
.touch-ai-panel .ai-orb-halo{inset:-32px;border-radius:50%;background:radial-gradient(ellipse,#597bff45,#9639e626 45%,transparent 72%);filter:blur(13px);animation:ai-halo 4s ease-in-out infinite}
.touch-ai-widget .touch-ai-launch .ai-orb{width:39px;height:39px;box-shadow:0 0 14px #6299ff5e,inset 2px 2px 8px #86e6ff50}.touch-ai-launch .ai-orbit-ring{border-width:.7px}.touch-ai-launch .ai-orbit-ring:after{width:2px;height:2px}.touch-ai-widget .touch-ai-launch .ai-orb>i{filter:blur(2px)}.touch-ai-widget .touch-ai-launch .ai-orb>b,.touch-ai-launch .ai-orb-core{filter:blur(3px)}
.touch-ai-panel .ai-state-kicker{color:#99b9e6;font-size:9px;letter-spacing:3px;font-weight:500}.touch-ai-panel .ai-visual-copy p{color:#c4d2ed;font-size:11px}
.touch-ai-panel .ai-wave i{background:linear-gradient(0deg,#ac7cff,#77dfff);box-shadow:0 0 8px #95baff66}
.touch-ai-panel[data-thread='true'] .ai-visual{min-height:102px;gap:19px;padding:14px 25px 12px}.touch-ai-panel[data-thread='true'] .ai-orb{width:52px;height:52px}.touch-ai-panel[data-thread='true'] .ai-state-kicker{letter-spacing:2px}.touch-ai-panel[data-thread='true'] .ai-orb-halo{inset:-12px}
.touch-ai-panel:is([data-state='listening'],[data-state='speaking']) .ai-orb{animation-duration:1.8s;background:radial-gradient(circle at 38% 32%,#dcfbff,#6691ee 14%,#142d6d 36%,#100a30 65%,#050a18 90%);box-shadow:inset -12px -12px 28px #040014aa,inset 4px 4px 16px #8ae6ff88,0 0 calc(32px + var(--ai-energy)*40px) #62bbff99,0 0 88px #9655ff66}
.touch-ai-panel:is([data-state='thinking'],[data-state='transcribing'],[data-state='loading']) .ai-orb:before{animation-duration:2.4s}.touch-ai-panel:is([data-state='thinking'],[data-state='loading']) .ai-orbit-one{animation-duration:3s}.touch-ai-panel[data-state='listening'] .ai-orbit-two{border-right-color:#ffabed}
.touch-ai-panel .ai-conversation{scrollbar-color:#788cb455 transparent}.touch-ai-panel .ai-eyebrow{font-size:9px;letter-spacing:2.2px;color:#8a9bc1;font-weight:500}
.touch-ai-panel .ai-welcome h2{font-size:30px;font-weight:550;color:#eff4ff}.touch-ai-panel .ai-welcome h2 span{background:linear-gradient(100deg,#91dfff,#c9a4ff 65%,#ffb7e5);background-clip:text;-webkit-background-clip:text;color:transparent}.touch-ai-panel .ai-welcome>p{font-size:12px;color:#acb9d3}
.touch-ai-panel .ai-suggestions button{border-color:#b0c6ff24;background:linear-gradient(125deg,#80b4ff0d,#b8a2ff09);color:#d5dff3;font-size:11px;font-weight:400}.touch-ai-panel .ai-suggestions button:hover{border-color:#96cfff60;background:#abc7ff15}.touch-ai-panel .ai-suggestions button>svg:first-child{color:#9ccaff}.touch-ai-panel .ai-suggestions button>svg:last-child{color:#869cc0}
.touch-ai-panel .ai-turn-user{border-color:#b6c8ff27;background:linear-gradient(125deg,#30487588,#40345e88);color:#f3f4ff}.touch-ai-panel .ai-answer-label{color:#9ecbff;font-weight:500}.touch-ai-panel .ai-answer-label svg{color:#a1c4ff}.touch-ai-panel .ai-answer-text{color:#eff4ff;line-height:1.85}.touch-ai-panel .ai-turn-error{background:#ec639314;border-color:#e98ea632;color:#ffd1dd}.touch-ai-panel .ai-turn-error .ai-answer-text{color:inherit}
.ai-research-status{color:#8ab6cf;font-size:10px;line-height:1.7;margin:12px 0 0}.ai-search-suggestions{width:100%;height:108px;border:0;border-radius:10px;background:transparent;margin-top:8px;color-scheme:dark}
.touch-ai-panel .ai-source-label{color:#a6b5d5;font-size:9px;font-weight:500}.touch-ai-panel .ai-source{border-color:#adc3ff27;background:linear-gradient(125deg,#5488d917,#a277de0d)}.touch-ai-panel .ai-source:hover{border-color:#93cfff70;box-shadow:0 5px 22px #10254e55}.touch-ai-panel .ai-source-copy>strong{color:#e9f0ff;font-weight:500}.touch-ai-panel .ai-source-meta{color:#95b6da}.touch-ai-panel .ai-source-read{color:#99c3f0}.touch-ai-panel .ai-source-arrow{background:#8faeff13;color:#afc9ff}
.touch-ai-panel .ai-answer-actions>button{color:#a8b6d3;font-size:11px}.touch-ai-panel .ai-answer-actions>button:hover,.touch-ai-panel .ai-answer-actions>button[aria-pressed='true']{color:#90dfff}.touch-ai-panel .ai-thinking-dots i{background:#a1c4ff;box-shadow:0 0 8px #97b3ff80}.touch-ai-panel .ai-pending-text{color:#a3b2cd;font-size:11px}
.touch-ai-panel .ai-notice{border-color:#94bfff2b;background:#5d8dc317;color:#c4d3eb;font-size:11px}.touch-ai-panel .ai-notice.is-error{background:#e4558014;border-color:#e391ab30;color:#ffd0de}.touch-ai-panel .ai-recording{color:#d5bfef;font-size:11px}.touch-ai-panel .ai-recording time{color:#b6a1cd}.touch-ai-panel .ai-record-dot{background:#ff9edf;box-shadow:0 0 13px #ff9edf88}.touch-ai-panel .ai-recording button{color:#c0afd7}
.touch-ai-panel .ai-footer{border-color:#b5c6ff16;background:linear-gradient(180deg,#111728ee,#0e1324)}.touch-ai-panel .ai-compose{border-color:#9ab8ff35;background:#131c32;box-shadow:inset 0 1px 0 #bed7ff08}.touch-ai-panel .ai-compose:focus-within{border-color:#92cfff88;box-shadow:0 0 0 3px #86b5ff10}.touch-ai-panel #touch-ai-input{color:#eff4ff;font-weight:400}.touch-ai-panel #touch-ai-input::placeholder{color:#96a8c6}
.touch-ai-panel .ai-mic-button{border:1px solid #a4c7ff22;background:#9dc5ff0e;color:#b1cefa}.touch-ai-panel .ai-mic-button:hover{background:#9dc5ff20;color:#e2f2ff}.touch-ai-panel .ai-send-button{border:1px solid #a5c8ff60;background:linear-gradient(135deg,#607ed6,#916bdd);box-shadow:0 0 20px #7e84ef33}.touch-ai-panel .ai-send-button:hover{background:linear-gradient(135deg,#7b9de8,#a584ef)}.touch-ai-panel .ai-mic-button[aria-pressed='true']{background:#b863a533;border-color:#eaa4db60;color:#ffb6ea}.touch-ai-panel .ai-footnote{color:#93a3c0}.touch-ai-panel .ai-footnote>span,.touch-ai-panel .ai-footnote small{font-size:9px}
.touch-ai-widget[data-motion='paused'] *{animation-play-state:paused!important}.has-story-audio .touch-ai-widget{bottom:145px}
@media(max-width:700px){
 .has-story-audio .touch-ai-widget{bottom:calc(247px + env(safe-area-inset-bottom,0px))}
 .touch-ai-widget .touch-ai-panel{inset:auto 9px var(--ai-bottom,12px) 9px;width:auto;max-width:none;height:min(850px,calc(var(--ai-vh,100dvh) - 26px));border-radius:27px}
 .touch-ai-panel .ai-visual{min-height:222px;padding-top:31px}.touch-ai-panel .ai-orb{width:118px;height:118px}.touch-ai-widget .touch-ai-launch .ai-orb{width:34px;height:34px}.touch-ai-panel .ai-welcome h2{font-size:29px}.touch-ai-panel #touch-ai-input{font-size:16px}.touch-ai-panel #touch-ai-input::placeholder{font-size:12px}.touch-ai-panel[data-thread='true'] .ai-visual{padding-left:22px;min-height:99px}
}
@media(max-height:680px){.touch-ai-panel:not([data-thread]) .ai-visual{min-height:158px;padding-top:20px;gap:10px}.touch-ai-panel:not([data-thread]) .ai-orb{width:80px;height:80px}.touch-ai-panel .ai-welcome h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.touch-ai-widget *,.touch-ai-panel *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.touch-ai-widget .ai-orb{transform:none}}
@keyframes ai-nebula{to{transform:rotate(360deg)}}
@keyframes ai-nebula-reverse{0%{transform:rotate(0) scale(.9)}50%{transform:rotate(-180deg) scale(1.1)}100%{transform:rotate(-360deg) scale(.9)}}
@keyframes ai-ring-orbit{from{transform:rotate(var(--ring-turn)) rotateX(var(--ring-angle)) rotate(0)}to{transform:rotate(var(--ring-turn)) rotateX(var(--ring-angle)) rotate(360deg)}}
@keyframes ai-core-pulse{50%{opacity:.65;transform:scale(1.18)}}
@keyframes ai-galaxy-breathe{50%{filter:brightness(1.18)}}
/* A spreading constellation replaces the solid globe and its orbital rings. */
.touch-ai-widget .ai-orb{--starfield-size:128px;--star-speed:1;overflow:visible;background:none;box-shadow:none;animation:none;transform:scale(calc(1 + var(--ai-energy)*.12));border-radius:0}
.touch-ai-widget .ai-orb:before,.touch-ai-widget .ai-orb:after{display:none}
.ai-star-cloud{position:absolute;inset:0;pointer-events:none}
.ai-star-point{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);border:0;border-radius:0;animation:ai-star-spread calc(var(--travel)*var(--star-speed)) cubic-bezier(.15,.45,.6,1) var(--delay) infinite;will-change:transform,opacity}
.ai-star-point>span{display:block;width:100%;height:100%;border-radius:50%;background:var(--tint);box-shadow:0 0 6px var(--tint),0 0 15px #8fbaff44;animation:ai-star-shine 2.7s ease-in-out var(--delay) infinite}
.ai-star-point:nth-child(7n)>span{border-radius:0;box-shadow:none}
.ai-star-point:nth-child(7n)>span:after{content:'';position:absolute;inset:-4px;background:var(--tint);clip-path:polygon(50% 0,58% 41%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 41%);filter:drop-shadow(0 0 4px #b9dbff)}
.ai-star-glow{position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(ellipse at 34% 42%,#73d9ff33,transparent 52%),radial-gradient(ellipse at 69% 52%,#bb78ff30,transparent 55%),radial-gradient(ellipse,#5d78ed18,transparent 70%);filter:blur(10px);animation:ai-constellation-glow 7s ease-in-out infinite;pointer-events:none}
.ai-star-heart{position:absolute;left:44%;top:44%;width:12%;height:12%;background:#e2f6ff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 8px #b6dbff);animation:ai-heart-shine 4s ease-in-out infinite}
.ai-star-comet{position:absolute;top:23%;left:20%;width:40%;height:1px;background:linear-gradient(90deg,transparent,#e5f2ff);opacity:0;animation:ai-constellation-comet 9s linear infinite;pointer-events:none}
.touch-ai-panel .ai-orb-halo{background:radial-gradient(ellipse,#537ded28,#a669e619 45%,transparent 70%);filter:blur(15px)}
.touch-ai-widget .touch-ai-launch .ai-orb{--starfield-size:39px;background:none;box-shadow:none}
.touch-ai-launch .ai-star-point{width:1.2px;height:1.2px}.touch-ai-launch .ai-star-point:nth-child(7n)>span:after{inset:-2px}.touch-ai-launch .ai-star-glow{filter:blur(4px)}
.touch-ai-panel[data-thread='true'] .ai-orb{--starfield-size:52px;background:none;box-shadow:none}
.touch-ai-panel:is([data-state='listening'],[data-state='speaking']) .ai-orb{--star-speed:.75;background:none;box-shadow:none;animation:none}
.touch-ai-panel:is([data-state='thinking'],[data-state='transcribing'],[data-state='loading']) .ai-orb{--star-speed:.55}
.touch-ai-panel:is([data-state='listening'],[data-state='speaking']) .ai-star-glow{opacity:calc(.7 + var(--ai-energy));filter:blur(8px)}
.touch-ai-panel .ai-recording>span small{display:block;margin-top:4px;font-size:9px;color:#a7b7d3;line-height:1.5}
@keyframes ai-star-spread{0%{opacity:0;transform:translate(calc(var(--dx)*var(--starfield-size)*.18),calc(var(--dy)*var(--starfield-size)*.18)) scale(.4)}18%{opacity:.9}68%{opacity:1}100%{opacity:0;transform:translate(calc(var(--dx)*var(--starfield-size)),calc(var(--dy)*var(--starfield-size))) scale(1.15)}}
@keyframes ai-star-shine{0%,100%{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1.5)}60%{opacity:.65}}
@keyframes ai-constellation-glow{50%{transform:rotate(30deg) scale(1.15);opacity:.65}}
@keyframes ai-heart-shine{50%{opacity:.55;transform:scale(.75) rotate(20deg)}}
@keyframes ai-constellation-comet{0%,12%{opacity:0;transform:translate(35px,-20px) rotate(-32deg)}14%{opacity:.8}24%,100%{opacity:0;transform:translate(-40px,35px) rotate(-32deg)}}
@media(max-width:700px){.touch-ai-panel .ai-orb{--starfield-size:118px}.touch-ai-widget .touch-ai-launch .ai-orb{--starfield-size:34px}.touch-ai-panel[data-thread='true'] .ai-orb{--starfield-size:52px}}
@media(max-height:680px){.touch-ai-panel:not([data-thread]) .ai-orb{--starfield-size:80px}}
@media(prefers-reduced-motion:reduce){.ai-star-point{opacity:.8;transform:translate(calc(var(--dx)*var(--starfield-size)),calc(var(--dy)*var(--starfield-size)))}.ai-star-comet{display:none}}
