/* V2.35: centered frame, explicit gestures and compact attachments. */
:root{--rx-frame:480px;--rx-header:50px;--rx-chat-font:17px}
html body{display:flex!important;align-items:center!important;justify-content:center!important;background:#02050e!important;overflow:hidden!important}
html body #nexoShell{position:relative!important;width:min(96vw,var(--rx-frame))!important;height:96vh!important;height:96dvh!important;max-height:900px!important;max-width:var(--rx-frame)!important;min-height:0!important;margin:auto!important;transform:none!important;border:1px solid #243256!important;border-radius:26px!important;overflow:hidden!important;box-shadow:0 0 65px #1835773d!important}
html body #nexoShell #nexoApp{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;transform:none!important;overflow:hidden!important;background:linear-gradient(#04091e88,#020819dd),url('assets/watch-space-bg.webp') center/cover!important}
html body #nexoShell:before,html body #nexoShell:after{display:none!important}
html body #nexoApp .top{position:relative!important;inset:auto!important;display:flex!important;height:var(--rx-header)!important;min-height:var(--rx-header)!important;align-items:center!important;justify-content:space-between!important;padding:3px 12px!important;z-index:20!important}
html body #nexoApp #homeBrand{position:relative!important;inset:auto!important;transform:none!important;margin-left:5%!important;width:61px!important;min-width:61px!important;height:48px!important;background:transparent!important;border:0!important}
html body #nexoApp .brandimg{width:55px!important;height:47px!important;max-width:55px!important;max-height:47px!important;object-fit:contain!important}
html body #nexoApp #settingsBtn{position:relative!important;inset:auto!important;min-width:80px!important;height:36px!important;font-size:20px!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
html body #nexoApp #voiceStage{position:absolute!important;left:8px!important;right:8px!important;top:var(--rx-header)!important;bottom:76px!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin:0!important;padding:0 3px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden!important;touch-action:manipulation!important;scrollbar-width:none;scrollbar-color:#a461ff55 transparent}
html body #nexoApp #voiceStage.hidden{display:none!important}
html body #voiceStageTitle{display:none!important}
html body .voice-visual{position:relative;flex:0 0 235px;width:100%;height:235px;min-height:235px;margin-top:0}
html body #nexoApp #heroMic{position:absolute!important;left:2%!important;right:auto!important;top:0!important;bottom:auto!important;transform:none!important;display:block!important;width:230px!important;height:230px!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;flex:none!important;overflow:visible!important}
html body #nexoApp #heroMic img{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
html body #nexoApp #nexoMascot{position:absolute!important;left:auto!important;right:-3%!important;top:-3px!important;bottom:auto!important;display:block!important;width:235px!important;height:235px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;z-index:2!important;pointer-events:none}
html body #voiceStageState{position:relative!important;inset:auto!important;width:auto!important;font-size:22px!important;line-height:1.2!important;margin:0!important;padding:0!important;border:0!important;background:none!important;color:#d3edff!important;flex:0 0 auto!important}
html body #voiceStageSub{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:9px 12px!important;font-size:var(--rx-chat-font)!important;line-height:1.3!important;border-radius:14px!important;white-space:normal!important;overflow:visible!important;background:#07182bb8!important;border:1px solid #23466c99!important;flex:0 0 auto!important;text-align:left!important}
html body #nexoApp .utility-shortcuts{position:relative!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;height:125px!important;min-height:125px!important;gap:0!important;margin:0!important;padding:0!important;flex:0 0 auto!important}
html body #nexoApp .utility-shortcuts .action-card{position:relative!important;width:100%!important;max-width:none!important;height:125px!important;min-height:125px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
html body #nexoApp .home-action-art{width:145px!important;height:125px!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
html body #nexoApp .action-label{display:none!important}
html body #nexoApp .composer{position:absolute!important;left:6px!important;right:6px!important;bottom:5px!important;top:auto!important;transform:none!important;width:auto!important;height:auto!important;min-height:0!important;padding:3px!important;border:0!important;background:#030b1def!important;z-index:40!important}
html body #nexoApp .composer .row{height:62px!important;min-height:62px!important;display:flex!important;align-items:center!important;gap:3px!important;padding:0!important}
html body #nexoApp .composer #q{height:58px!important;min-height:58px!important;font-size:17px!important;min-width:0!important;flex:1 1 0!important;order:2!important;line-height:1.2!important;padding:6px 8px!important;border-radius:14px!important}
html body #nexoApp .composer .btn{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;flex:0 0 58px!important;padding:0!important}
html body #nexoApp .composer #mic{order:1!important;display:grid!important}
html body #nexoApp .composer #send{order:3!important;display:grid!important}
html body #nexoApp .composer .btn svg{width:35px!important;height:35px!important}
html body #nexoApp .composer #attachBtn,html body #nexoApp .composer #voice{display:none!important}
html body #nexoApp .status{display:block!important;height:auto!important;min-height:0!important;line-height:1.3!important;font-size:11px!important;padding:0!important}
html body #nexoApp .status:empty{display:none!important}
html body.text-mode #nexoApp .composer,html body.text-view #nexoApp .composer,html body.math-view #nexoApp .composer{top:var(--rx-header)!important;bottom:auto!important}
html body #nexoApp .chat{position:absolute!important;left:8px!important;right:8px!important;top:calc(var(--rx-header) + 70px)!important;bottom:0!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:6px 0 100px!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important}
html body.home-mode #nexoApp .chat{display:none!important}
html body #nexoApp .msg{font-size:var(--rx-chat-font)!important;line-height:1.3!important}
html body #nexoApp .context-strip{display:none!important}
html body .settings-backdrop{position:absolute!important;inset:0!important;padding:8px!important;display:none;align-items:center!important;justify-content:center!important;z-index:100!important}
html body .settings-backdrop.on{display:flex!important}
html body .settings-panel{width:100%!important;max-width:620px!important;max-height:100%!important;height:auto!important;min-height:0!important;padding:12px!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
html body .settings-title{position:sticky;top:-12px;z-index:3;padding:3px 0;background:#050d24;font-size:20px!important}
html body .settings-title button{font-size:36px!important;min-width:40px!important;min-height:40px!important;line-height:1!important}
html body .setting-row{flex-wrap:wrap;gap:6px;font-size:17px!important}
html body .setting-btn{font-size:16px!important}
html body .menu-panel{display:flex!important;flex-direction:column!important;overflow:hidden!important;height:95%!important}
html body .menu-grid{flex:1!important;min-height:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;overflow-y:auto!important;touch-action:pan-y!important;padding:3px 2px 30px!important;gap:8px!important}
html body .menu-grid .menu-tile{touch-action:pan-y!important;height:140px!important;min-height:140px!important;padding:2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
html body .menu-grid .menu-tile img{width:132px!important;height:114px!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;display:block!important}
html body .menu-grid .menu-media-tile>span,html body .menu-grid .menu-music-tile>span{display:block!important;font-size:15px!important;line-height:1.1!important;font-weight:700!important;color:#e3e6ff!important}
html body .floating-controls{position:absolute;bottom:7px;right:7px;display:flex;flex-direction:column;gap:3px;z-index:70;pointer-events:none}
html body.home-mode .floating-controls{bottom:80px}
html body .floating-controls button,html body .floating-controls #speechControl{position:static!important;inset:auto!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;padding:6px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#b9e4ff!important;pointer-events:auto;filter:drop-shadow(0 0 7px #705dff)}
html body .floating-controls svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
html body .floating-controls #speechControl svg{fill:#bb9cff;stroke:#bb9cff}
html body .floating-controls #speechControl:disabled{opacity:.5}
html body .app-splash{position:absolute;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle,#1b1242,#03091c 70%);transition:opacity .3s;pointer-events:auto}
.app-splash img:first-child{width:60px;height:60px;object-fit:contain}.app-splash img:nth-child(2){width:190px;height:190px;object-fit:contain}.app-splash span{font-size:28px;font-weight:750;color:#daf0ff;text-shadow:0 0 20px #aa64ff}
html body .app-splash.dismissed{opacity:0;pointer-events:none}
html body button.rx-pressed,html body button:active,html body button:focus-visible{filter:brightness(1.3) drop-shadow(0 0 10px #52e1ff) drop-shadow(0 0 12px #b95eff)!important;outline:0!important}
@keyframes rxListenStrong{0%,100%{filter:drop-shadow(0 0 12px #8a36ff) drop-shadow(0 0 20px #25e8ff);transform:scale(.97)}50%{filter:drop-shadow(0 0 28px #b250ff) drop-shadow(0 0 40px #23d9ff);transform:scale(1.04)}}
html body.voice-listening #nexoApp #heroMic img{animation:rxListenStrong .7s ease-in-out infinite!important}
html body.voice-listening #voiceStageState{color:#b2fff0!important;text-shadow:0 0 12px #5dfada;font-weight:800}
html body #nexoApp .listen-waves,html body #nexoApp .process-ring{display:none!important}
html body #nexoApp .thinking-overlay{position:absolute!important;inset:var(--rx-header) 0 0!important;border-radius:0!important;background:#03071dec!important;z-index:80!important}
html body #nexoApp .thinking-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px solid #825aff66;border-radius:24px;background:linear-gradient(145deg,#0c1734,#1e0e35);width:85%;max-height:95%}
html body #nexoApp .thinking-nexo{position:relative!important;inset:auto!important;transform:none!important;width:170px!important;height:170px!important;object-fit:contain!important}
html body #nexoApp .thinking-title{font-size:23px!important}
html body #nexoApp .thinking-sub{font-size:15px!important}
.thinking-hourglass{order:2;width:38px;height:48px;filter:drop-shadow(0 0 7px #a066ff)}
.thinking-hourglass svg{width:100%;height:100%;animation:rxHourglassFlip 3s ease-in-out infinite}
.hourglass-frame{fill:none;stroke:#b5deff;stroke-width:4;stroke-linecap:round}
.sand-top,.sand-bottom{fill:#a152ff;transform-box:fill-box;transform-origin:center bottom}
.sand-top{animation:rxSandDrain 3s linear infinite;transform-origin:center top}.sand-bottom{animation:rxSandFill 3s linear infinite}
.sand-stream{stroke:#c997ff;stroke-width:2;stroke-dasharray:2 3;animation:rxSandStream .3s linear infinite}
@keyframes rxHourglassFlip{0%,80%{transform:rotate(0)}100%{transform:rotate(180deg)}}
@keyframes rxSandDrain{0%{transform:scaleY(1)}80%,100%{transform:scaleY(.04)}}
@keyframes rxSandFill{0%{transform:scaleY(.04)}80%,100%{transform:scaleY(1)}}
@keyframes rxSandStream{to{stroke-dashoffset:-5}}
.attachment-card{display:flex;align-items:center;gap:8px;white-space:normal!important;min-height:44px}.attachment-card .attachment-info{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}.attachment-card small{display:block;color:#aac8e7;font-size:11px}
.attachment-view{padding:7px 10px;border-radius:12px;border:1px solid #5dd5ff66;background:#161837;color:#e9e1ff;font:700 13px system-ui;cursor:pointer}
html body .attachline.on{display:flex!important}.attachline .attachment-view{flex:none}
html body #nexoApp:has(.attachline.on) .chat{top:calc(var(--rx-header) + 119px)!important}
body.attachment-open .settings-panel{display:flex;flex-direction:column;gap:8px}
.document-preview{width:100%;height:340px;border:1px solid #53678a;border-radius:12px;background:#fff}.document-text{white-space:pre-wrap;overflow:auto;max-height:340px;font-size:14px;color:#deefff}
.share-options{display:flex;flex-direction:column;gap:12px}.share-options button{padding:13px;border:1px solid #48528a;border-radius:13px;background:#111a35;color:#ebefff;font:700 17px system-ui}.share-options .whatsapp{background:#073c31;border-color:#48dd9b;color:#b6ffdc}
@media(max-width:600px){:root{--rx-frame:420px;--rx-header:42px}html body #nexoShell{width:100vw!important;height:100vh!important;height:100dvh!important;border-radius:0!important;border:0!important}html body .voice-visual{flex-basis:200px;height:200px;min-height:200px}html body #nexoApp #heroMic{width:195px!important;height:195px!important}html body #nexoApp #nexoMascot{width:200px!important;height:200px!important}html body #nexoApp .home-action-art{width:125px!important;height:108px!important}html body #nexoApp .utility-shortcuts,html body #nexoApp .utility-shortcuts .action-card{height:108px!important;min-height:108px!important}}
@media(max-width:300px),(max-height:360px){:root{--rx-header:31px;--rx-chat-font:20px}html body #nexoShell{width:95vw!important;height:95vh!important;height:95dvh!important;border-radius:10px!important}html body #nexoApp #homeBrand{width:45px!important;min-width:45px!important;height:32px!important}html body #nexoApp .brandimg{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important}html body #nexoApp #settingsBtn{font-size:16px!important;height:28px!important;min-width:64px!important}html body .voice-visual{flex-basis:126px;height:126px;min-height:126px}html body #nexoApp #heroMic{width:138px!important;height:138px!important;left:-3%!important;top:-12px!important}html body #nexoApp #nexoMascot{width:146px!important;height:146px!important;right:-8%!important;top:-12px!important}html body #nexoApp #voiceStage{left:2px!important;right:2px!important;bottom:68px!important;gap:3px!important}html body #voiceStageState{font-size:20px!important}html body #voiceStageSub{font-size:20px!important;padding:6px!important}html body #nexoApp .home-action-art{width:100px!important;height:87px!important}html body #nexoApp .utility-shortcuts,html body #nexoApp .utility-shortcuts .action-card{height:87px!important;min-height:87px!important}html body #nexoApp .composer{left:2px!important;right:2px!important;bottom:2px!important;padding:0!important}html body #nexoApp .composer .row{height:62px!important}html body #nexoApp .composer .btn{width:65px!important;height:60px!important;min-width:65px!important;min-height:60px!important;flex-basis:65px!important}html body #nexoApp .composer #q{font-size:18px!important}html body .menu-grid .menu-tile{height:110px!important;min-height:110px!important}html body .menu-grid .menu-tile img{width:96px!important;height:85px!important}html body .menu-grid .menu-media-tile>span,html body .menu-grid .menu-music-tile>span{font-size:13px!important}html body .settings-panel{padding:8px!important}html body .setting-row{font-size:16px!important}html body .setting-btn{font-size:15px!important}html body .settings-title{top:-8px;font-size:19px!important}html body .settings-title button{font-size:32px!important;min-width:36px!important;min-height:36px!important}html body #nexoApp .thinking-card{gap:2px;padding:4px}html body #nexoApp .thinking-nexo{width:104px!important;height:104px!important}html body #nexoApp .thinking-title{font-size:18px!important}html body #nexoApp .thinking-sub{font-size:12px!important}.thinking-hourglass{width:28px;height:34px}html body .floating-controls button,html body .floating-controls #speechControl{width:32px!important;height:32px!important;padding:3px!important}html body.home-mode .floating-controls{bottom:70px}.document-preview{height:145px}.document-text{max-height:145px}.app-splash img:nth-child(2){width:130px;height:130px}.app-splash img:first-child{width:44px;height:44px}.app-splash span{font-size:23px}}
@media(prefers-reduced-motion:reduce){html body *{animation:none!important;transition:none!important}}
html body .menu-grid .menu-selected{border-color:#bb7eff!important;box-shadow:inset 0 0 20px #984eff55,0 0 12px #8242ff88!important;filter:brightness(1.2)!important}
.menu-tap-hint{font-size:12px;color:#bcbae1;margin:0 0 7px;text-align:center}
/* Fixed Home: cards are sized by the available viewport, never scroll. */
html body #nexoApp:before,html body #nexoApp:after{display:none!important}
html body #nexoApp #voiceStage{display:grid!important;grid-template-rows:minmax(0,1fr) auto auto 125px!important;align-items:center!important;gap:5px!important;overflow:hidden!important;scrollbar-width:none!important}
html body #nexoApp #voiceStage .voice-visual{height:100%!important;min-height:0!important;max-height:235px!important;width:100%!important;align-self:start}
html body #nexoApp #voiceStage #voiceStageSub{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;cursor:pointer}
html body #nexoApp #voiceStage .utility-shortcuts{height:125px!important;min-height:0!important}
@media(max-width:600px){html body #nexoApp #voiceStage{grid-template-rows:minmax(0,1fr) auto auto 108px!important}html body #nexoApp #voiceStage .utility-shortcuts{height:108px!important}}
@media(max-width:300px),(max-height:360px){
 html body.home-mode #nexoApp .composer{display:none!important}
 html body.home-mode #nexoApp #voiceStage{bottom:3px!important;gap:1px!important;padding:0!important;grid-template-rows:minmax(0,1fr) 24px 26px 67px!important}
 html body.home-mode #nexoApp #voiceStage .voice-visual{max-height:138px!important}
 html body.home-mode #nexoApp #heroMic{width:128px!important;height:128px!important;max-height:100%!important;max-width:58%!important;top:0!important;left:-1%!important}
 html body.home-mode #nexoApp #heroMic img{max-height:100%!important}
 html body.home-mode #nexoApp #nexoMascot{width:138px!important;height:138px!important;max-height:115%!important;top:-8px!important;right:-3%!important}
 html body.home-mode #nexoApp #voiceStage #voiceStageSub{width:100%!important;height:26px!important;line-height:24px!important;padding:0 5px!important;white-space:normal!important;-webkit-line-clamp:1;font-size:20px!important;border-radius:8px!important}
 html body.home-mode #nexoApp .utility-shortcuts,html body.home-mode #nexoApp .utility-shortcuts .action-card{height:67px!important;min-height:0!important}
 html body.home-mode #nexoApp .home-action-art{width:100%!important;height:67px!important;max-width:100%!important}
 html body.home-mode #nexoApp .floating-controls{bottom:69px!important}
}
html body #nexoApp #shareModal{z-index:100001!important}
html body #nexoApp #voiceStage .action-card{transform:none!important}
@media(max-width:300px),(max-height:360px){html body.home-mode #nexoApp #voiceStage .utility-shortcuts,html body.home-mode #nexoApp #voiceStage .utility-shortcuts .action-card{height:67px!important;min-height:0!important}html body.home-mode #nexoApp #voiceStage .home-action-art{height:67px!important;width:100%!important;max-width:100%!important}html body.home-mode #nexoApp #nexoMascot{top:-15px!important}}
html body #nexoApp .settings-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;min-width:0!important}
html body #nexoApp .settings-title>span{flex:1;min-width:0;overflow-wrap:anywhere}
html body #nexoApp .settings-title button{flex:0 0 40px!important;padding:0!important;margin:0!important}
html body #nexoApp #thinkingOverlay .thinking-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:18px!important;border:1px solid #825aff88!important;border-radius:24px!important;background:linear-gradient(145deg,#0c1734,#1e0e35)!important;width:85%!important;max-height:95%!important}
@media(max-width:300px),(max-height:360px){html body #nexoApp .settings-title{font-size:17px!important}html body #nexoApp .settings-title button{flex-basis:36px!important;min-width:36px!important;min-height:36px!important;font-size:32px!important}html body #nexoApp #thinkingOverlay .thinking-card{gap:2px!important;padding:6px!important;border-radius:18px!important}}

/* V2.36 watch-fit: reserve real room for the composer and shortcuts on 240x280 screens. */
html body #nexoApp #voiceStageSub.welcome-expanded{height:auto!important;max-height:min(40vh,180px)!important;-webkit-line-clamp:unset!important;overflow-y:auto!important}
@media(max-width:300px),(max-height:360px){
 html body #nexoShell{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 html body #nexoShell #nexoApp{width:100%!important;height:100%!important}
 html body #nexoApp .top{height:27px!important;min-height:27px!important;padding:0 5px!important}
 html body #nexoApp #homeBrand{margin:0!important;width:42px!important;min-width:42px!important;height:27px!important}
 html body #nexoApp .brandimg{width:39px!important;height:27px!important;max-width:39px!important;max-height:27px!important}
 html body #nexoApp #settingsBtn{height:26px!important;min-width:57px!important;font-size:14px!important}
 html body.home-mode #nexoApp #voiceStage{left:2px!important;right:2px!important;top:27px!important;bottom:43px!important;height:auto!important;padding:0!important;gap:1px!important;grid-template-rows:minmax(0,1fr) 18px 25px 54px!important;overflow:hidden!important}
 html body.home-mode #nexoApp #voiceStage .voice-visual{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;align-self:stretch!important}
 html body.home-mode #nexoApp #heroMic{left:0!important;top:4px!important;width:94px!important;height:94px!important;max-width:48%!important;max-height:100%!important}
 html body.home-mode #nexoApp #heroMic img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
 html body.home-mode #nexoApp #nexoMascot{right:0!important;top:0!important;width:102px!important;height:102px!important;max-width:54%!important;max-height:100%!important;object-fit:contain!important}
 html body.home-mode #nexoApp #voiceStageState{height:18px!important;line-height:18px!important;font-size:14px!important;white-space:nowrap!important}
 html body.home-mode #nexoApp #voiceStageSub{height:25px!important;min-height:25px!important;max-height:25px!important;padding:0 4px!important;border-radius:7px!important;font-size:11px!important;line-height:12px!important;-webkit-line-clamp:2!important;overflow:hidden!important}
 html body.home-mode #nexoApp #voiceStageSub.welcome-expanded{height:auto!important;max-height:72px!important;-webkit-line-clamp:unset!important;overflow-y:auto!important}
 html body.home-mode #nexoApp .utility-shortcuts{height:54px!important;min-height:54px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
 html body.home-mode #nexoApp .utility-shortcuts .action-card{height:54px!important;min-height:54px!important;overflow:visible!important}
 html body.home-mode #nexoApp .home-action-art{width:100%!important;height:52px!important;max-width:70px!important;max-height:52px!important;object-fit:contain!important;display:block!important}
 html body.home-mode #nexoApp .composer{display:block!important;left:2px!important;right:2px!important;top:auto!important;bottom:2px!important;width:auto!important;height:39px!important;min-height:0!important;padding:0!important;background:#030b1de8!important;z-index:60!important}
 html body.home-mode #nexoApp .composer .row{height:39px!important;min-height:39px!important;gap:3px!important}
 html body.home-mode #nexoApp .composer #q{display:block!important;order:2!important;flex:1 1 0!important;width:0!important;height:35px!important;min-height:35px!important;padding:3px 5px!important;font-size:12px!important;line-height:1.1!important;border-radius:9px!important}
 html body.home-mode #nexoApp .composer #mic,html body.home-mode #nexoApp .composer #send{display:grid!important;order:1!important;width:31px!important;height:35px!important;min-width:31px!important;min-height:35px!important;flex:0 0 31px!important}
 html body.home-mode #nexoApp .composer #send{order:3!important}
 html body.home-mode #nexoApp .composer .btn svg{width:21px!important;height:21px!important}
 html body.home-mode #nexoApp .composer #attachBtn,html body.home-mode #nexoApp .composer #voice{display:none!important}
 html body.home-mode #nexoApp .composer .status{position:absolute!important;left:0!important;right:0!important;bottom:100%!important;min-height:0!important;margin:0!important;padding:0 4px!important;font-size:9px!important;text-align:center!important;background:#030b1de8!important}
 html body.home-mode #nexoApp .floating-controls{display:none!important}
 html body .floating-controls{position:absolute!important;right:3px!important;bottom:8px!important;gap:4px!important}
 html body .floating-controls button,html body .floating-controls #speechControl{width:36px!important;height:36px!important;padding:1px!important;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:none!important;color:#c4f7ff!important;filter:drop-shadow(0 0 4px #25dfff) drop-shadow(0 0 8px #974dff)!important}
 html body .floating-controls button svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
 html body .floating-controls #speechControl svg{fill:none!important}
}
/* V2.37: Fully Browser/watch polish — welcome clears on first interaction; icons stay touchable. */
html body #nexoApp #voiceStageSub.welcome-dismissed{display:none!important}
html body #nexoApp .composer #mic,html body #nexoApp .composer #send{display:grid!important;place-items:center!important;border-radius:13px!important;transition:filter .15s,transform .15s!important}
html body #nexoApp .composer #mic{background:linear-gradient(145deg,#773cff,#214cff)!important;border:1px solid #a78aff!important;box-shadow:0 0 12px #734bff99,inset 0 0 10px #ffffff20!important;color:#f4edff!important}
html body #nexoApp .composer #send{background:linear-gradient(145deg,#13c9ff,#176bff)!important;border:1px solid #76eaff!important;box-shadow:0 0 14px #14c9ff99,inset 0 0 10px #ffffff24!important;color:#fff!important}
html body #nexoApp .composer #mic svg,html body #nexoApp .composer #send svg{width:27px!important;height:27px!important;filter:drop-shadow(0 0 4px currentColor)!important}
html body .floating-controls button,html body .floating-controls #speechControl{width:44px!important;height:44px!important;padding:1px!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:#c8f7ff!important;filter:drop-shadow(0 0 5px #26dcff) drop-shadow(0 0 10px #984dff)!important}
html body .floating-controls button svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html body .floating-controls #speechControl svg{fill:none!important}
@media(max-width:300px),(max-height:360px){
 html body.home-mode #nexoApp .floating-controls{display:flex!important;position:absolute!important;left:50%!important;right:59px!important;top:-5px!important;bottom:auto!important;transform:translateX(-50%)!important;flex-direction:row!important;justify-content:center!important;gap:0!important;z-index:90!important;pointer-events:none!important}
 html body.home-mode #nexoApp .floating-controls button,html body.home-mode #nexoApp .floating-controls #speechControl{width:40px!important;height:40px!important;pointer-events:auto!important}
 html body:not(.home-mode) .floating-controls{right:3px!important;bottom:5px!important;gap:1px!important}
html body:not(.home-mode) .floating-controls button,html body:not(.home-mode) .floating-controls #speechControl{width:43px!important;height:43px!important}
 html body.home-mode #nexoApp .composer .row{gap:3px!important}
 html body.home-mode #nexoApp .composer #mic,html body.home-mode #nexoApp .composer #send{width:39px!important;height:38px!important;min-width:39px!important;min-height:38px!important;flex:0 0 39px!important}
 html body.home-mode #nexoApp .composer #mic svg,html body.home-mode #nexoApp .composer #send svg{width:27px!important;height:27px!important}
 html body.home-mode #nexoApp .composer #q{font-size:13px!important}
}
/* V2.38 — Fully Browser: preserve focus/state across camera return; watch-safe controls. */
@media(max-width:340px),(max-height:360px){
 html body #nexoApp .top{position:relative!important;padding:2px 5px!important;min-height:var(--rx-header)!important}
 html body #nexoApp #homeBrand{margin-left:0!important;width:42px!important;min-width:42px!important;height:30px!important;z-index:2!important}
 html body #nexoApp #homeBrand .brandimg{width:42px!important;height:36px!important;object-fit:contain!important}
 html body #nexoApp #settingsBtn{min-width:51px!important;width:51px!important;font-size:17px!important}
 html body #nexoApp .floating-controls{position:absolute!important;top:0!important;left:45px!important;right:56px!important;bottom:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:3px!important;z-index:22!important;pointer-events:none!important;height:var(--rx-header)!important}
 html body #nexoApp .floating-controls button,html body #nexoApp .floating-controls #speechControl{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:3px!important;pointer-events:auto!important;color:#c4f7ff!important;filter:none!important}
 html body #nexoApp .floating-controls svg{stroke-width:2.4!important}
 html body #nexoApp .composer{left:5px!important;right:5px!important;bottom:3px!important;width:auto!important;padding:1px!important;box-sizing:border-box!important}
 html body.text-mode #nexoApp .composer,html body.text-view #nexoApp .composer,html body.math-view #nexoApp .composer{left:5px!important;right:5px!important;top:var(--rx-header)!important;bottom:auto!important}
 html body #nexoApp .composer .row{height:43px!important;min-height:43px!important;gap:3px!important}
 html body #nexoApp .composer #mic,html body #nexoApp .composer #send{width:39px!important;height:41px!important;min-width:39px!important;min-height:41px!important;flex:0 0 39px!important}
 html body #nexoApp .composer #mic svg,html body #nexoApp .composer #send svg{width:27px!important;height:27px!important}
 html body #nexoApp .composer #q{height:41px!important;min-height:41px!important;min-width:0!important;flex:1 1 0!important;width:0!important;font-size:13px!important;padding:3px 5px!important;caret-color:#fff!important}
 html body.text-mode #nexoApp #homeBrand,html body.text-view #nexoApp #homeBrand{width:48px!important;min-width:48px!important;height:36px!important}
 html body.text-mode #nexoApp #homeBrand .brandimg,html body.text-view #nexoApp #homeBrand .brandimg{width:48px!important;height:40px!important}
 html body #nexoApp .settings-backdrop{inset:var(--rx-header) 3px 3px!important;padding:2px!important;align-items:stretch!important;justify-content:center!important;overflow:hidden!important}
 html body #nexoApp .settings-panel{width:100%!important;max-height:100%!important;height:auto!important;min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;padding:8px!important}
 html body #nexoApp #thinkingOverlay .thinking-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:4px!important}
 html body #nexoApp #thinkingOverlay .thinking-hourglass{filter:none!important}
}
/* The listening cue uses two cheap rings instead of animated filter/shadow effects. */
html body #nexoApp #heroMic{isolation:isolate!important}
html body.voice-listening #nexoApp #heroMic img{animation:none!important;filter:none!important;transform:none!important}
html body #nexoApp #heroMic:before,html body #nexoApp #heroMic:after{content:"";display:none;position:absolute;inset:15%;border:2px solid #4deaff;border-radius:50%;pointer-events:none;z-index:-1}
html body.voice-listening #nexoApp #heroMic:before,html body.voice-listening #nexoApp #heroMic:after{display:block;animation:rxLightWave 1.8s ease-out infinite}
html body.voice-listening #nexoApp #heroMic:after{animation-delay:.9s;border-color:#b67aff}
@keyframes rxLightWave{0%{transform:scale(.78);opacity:.72}100%{transform:scale(1.28);opacity:0}}
html body #nexoApp .thinking-card{background:transparent!important;border:0!important;box-shadow:none!important}
html body #nexoApp .thinking-hourglass{filter:none!important}
html body #nexoApp .floating-controls button:active{transform:scale(1.08)!important;color:#ebd8ff!important}
@media(prefers-reduced-motion:reduce){html body.voice-listening #nexoApp #heroMic:before,html body.voice-listening #nexoApp #heroMic:after{animation:none!important;opacity:.45!important}}
