.guglielmo-ai{--gug-primary:#6d3a8e;--gug-accent:#d23f8d;--gug-surface:#fff;--gug-min-height:680px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182033}.guglielmo-ai *{box-sizing:border-box}.gug-shell{min-height:var(--gug-min-height);display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,248,253,.94));border:1px solid rgba(109,58,142,.12);border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(35,25,62,.13);backdrop-filter:blur(18px)}.gug-header{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid rgba(22,26,45,.07);background:rgba(255,255,255,.76)}.gug-avatar-wrap{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,rgba(109,58,142,.1),rgba(210,63,141,.08));overflow:visible}.gug-avatar-wrap .gug-avatar{width:46px;height:46px;object-fit:contain;position:relative;z-index:2}.gug-avatar-glow{position:absolute;inset:-5px;border-radius:22px;background:linear-gradient(135deg,var(--gug-primary),var(--gug-accent));opacity:.13;filter:blur(8px)}.gug-online{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;background:#2dcf7f;border:3px solid #fff;border-radius:50%;z-index:4}.gug-title{min-width:0;flex:1}.gug-title h2{font-size:19px;line-height:1.15;margin:0;color:#171b34}.gug-title p{margin:4px 0 0;color:#7a8090;font-size:13px}.gug-new-chat{width:38px;height:38px;border-radius:12px;border:1px solid #ececf4;background:#fff;color:#50586d;font-size:19px;cursor:pointer}.gug-new-chat:hover{border-color:var(--gug-primary);color:var(--gug-primary)}.gug-tabs{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(22,26,45,.06);background:#fff}.gug-tabs button{border:0;background:transparent;border-radius:14px;padding:10px 14px;color:#697086;font-weight:700;cursor:pointer}.gug-tabs button.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--gug-primary) 12%,#fff),color-mix(in srgb,var(--gug-accent) 9%,#fff));color:var(--gug-primary)}.gug-pane{flex:1;min-height:0}.gug-pane.is-hidden{display:none!important}.gug-chat-pane{display:flex;flex-direction:column}.gug-messages{flex:1;min-height:330px;max-height:590px;overflow:auto;padding:24px 22px 12px;scroll-behavior:smooth}.gug-message{display:flex;flex-direction:column;margin:0 0 16px;max-width:86%}.gug-user{margin-left:auto;align-items:flex-end}.gug-assistant{margin-right:auto;align-items:flex-start}.gug-bubble{padding:14px 16px;border-radius:20px;font-size:15px;line-height:1.62;box-shadow:0 7px 22px rgba(31,36,58,.05)}.gug-assistant .gug-bubble{background:#fff;border:1px solid #ececf3;border-top-left-radius:7px}.gug-user .gug-bubble{background:linear-gradient(135deg,var(--gug-primary),var(--gug-accent));color:#fff;border-top-right-radius:7px}.gug-bubble p{margin:0 0 9px}.gug-bubble p:last-child{margin-bottom:0}.gug-bubble code{background:#f1eff6;border-radius:6px;padding:2px 5px}.gug-sources{margin-top:8px;padding:10px 12px;border-radius:13px;background:#f8f8fc;border:1px solid #e9e8f1;display:flex;flex-direction:column;gap:5px;font-size:12px;max-width:100%}.gug-sources strong{color:#555d73;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.gug-sources a{color:var(--gug-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.gug-feedback{display:flex;align-items:center;gap:6px;margin-top:7px;color:#858b9c;font-size:11px}.gug-feedback button{border:1px solid #e7e7ef;background:#fff;border-radius:9px;padding:4px 7px;cursor:pointer}.gug-feedback.is-done{opacity:.55}.gug-typing .gug-bubble{display:flex;gap:5px}.gug-typing i{width:7px;height:7px;border-radius:50%;background:#a8aabc;animation:gugDot 1.2s infinite}.gug-typing i:nth-child(2){animation-delay:.15s}.gug-typing i:nth-child(3){animation-delay:.3s}@keyframes gugDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.gug-suggestions{display:flex;gap:7px;overflow:auto;padding:6px 22px 12px}.gug-suggestions button{white-space:nowrap;border:1px solid #e8e7f0;background:#fff;color:#646b7e;border-radius:999px;padding:8px 11px;font-size:12px;cursor:pointer}.gug-suggestions button:hover{border-color:var(--gug-primary);color:var(--gug-primary)}.gug-composer{display:flex;align-items:flex-end;gap:10px;margin:0 18px 16px;padding:10px 10px 10px 15px;border:1px solid #e2e2eb;background:#fff;border-radius:20px;box-shadow:0 8px 26px rgba(31,36,58,.07)}.gug-composer:focus-within{border-color:color-mix(in srgb,var(--gug-primary) 55%,#ddd);box-shadow:0 0 0 3px color-mix(in srgb,var(--gug-primary) 10%,transparent)}.gug-composer textarea{flex:1;resize:none;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;min-height:38px;max-height:140px;padding:8px 2px;font:inherit;color:#242a3c}.gug-send{border:0;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--gug-primary),var(--gug-accent));color:#fff;font-size:18px;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb,var(--gug-primary) 25%,transparent)}.gug-send:disabled{opacity:.5;cursor:wait}.gug-footer{padding:10px 18px 13px;border-top:1px solid rgba(22,26,45,.06);font-size:11px;color:#8b90a0;text-align:center}.gug-footer a{color:var(--gug-primary)}.gug-voice-pane{display:grid;place-items:center;padding:24px}.gug-voice-stage{position:relative;width:min(560px,100%);min-height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.gug-voice-orbit{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gug-primary) 15%,transparent),transparent 68%);animation:gugOrbit 6s ease-in-out infinite}.gug-voice-avatar{position:relative;width:230px;height:230px;border-radius:44px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(243,239,249,.85));border:1px solid rgba(109,58,142,.12);box-shadow:0 35px 80px rgba(50,31,78,.13);overflow:hidden;z-index:2}.gug-voice-avatar img{width:92%;height:92%;object-fit:contain;transition:transform .35s ease}.gug-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:72px;font-weight:900;color:var(--gug-primary)}.gug-voice-status{z-index:2;margin:23px 0 8px;font-size:16px;font-weight:800;color:#2e3448}.gug-live-transcript{z-index:2;max-width:500px;min-height:46px;color:#757b8d;font-size:13px;line-height:1.5;margin-bottom:14px}.gug-mic{z-index:2;border:0;border-radius:999px;background:linear-gradient(135deg,var(--gug-primary),var(--gug-accent));color:#fff;display:inline-flex;align-items:center;gap:9px;padding:13px 19px;cursor:pointer;box-shadow:0 12px 34px color-mix(in srgb,var(--gug-primary) 25%,transparent)}.gug-mic span{width:12px;height:12px;border:2px solid #fff;border-radius:50%;display:block}.gug-mic em{font-style:normal;font-weight:800}.gug-mic.is-recording{animation:gugPulseButton 1.15s infinite}.gug-stop-audio{z-index:3;margin-top:10px;border:1px solid #e1dce7;background:#fff;color:#6a477b;border-radius:999px;padding:8px 12px;cursor:pointer}.gug-state-listening img{animation:gugListen 1.3s ease-in-out infinite}.gug-state-thinking img{animation:gugThink 1.6s ease-in-out infinite}.gug-state-speaking img{animation:gugSpeak .65s ease-in-out infinite alternate}.gug-state-listening:after,.gug-state-speaking:after{content:"";position:absolute;inset:-8px;border:2px solid color-mix(in srgb,var(--gug-accent) 40%,transparent);border-radius:48px;animation:gugRing 1.25s infinite;pointer-events:none}@keyframes gugListen{50%{transform:translateY(-6px) scale(1.02)}}@keyframes gugThink{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-5px)}}@keyframes gugSpeak{from{transform:translateY(-2px) scale(1)}to{transform:translateY(2px) scale(1.025)}}@keyframes gugRing{0%{transform:scale(.96);opacity:.8}100%{transform:scale(1.09);opacity:0}}@keyframes gugPulseButton{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--gug-accent) 16%,transparent)}}@keyframes gugOrbit{50%{transform:scale(1.08);opacity:.7}}@media(max-width:700px){.gug-shell{border-radius:20px;min-height:620px}.gug-header{padding:14px}.gug-title p{font-size:12px}.gug-tabs{padding:8px}.gug-tabs button{flex:1;padding:9px 8px;font-size:12px}.gug-messages{padding:18px 14px 8px;min-height:300px}.gug-message{max-width:94%}.gug-suggestions{padding:4px 14px 10px}.gug-composer{margin:0 10px 10px}.gug-voice-avatar{width:190px;height:190px}.gug-voice-orbit{width:270px;height:270px}.gug-voice-stage{min-height:440px}}@media(prefers-reduced-motion:reduce){.guglielmo-ai *{animation:none!important;transition:none!important}}
.gug-limit-info{margin:-7px 20px 13px;text-align:right;font-size:11px;line-height:1.35;color:#8b90a0}.gug-limit-info.is-low{color:#9a6700;font-weight:700}.gug-limit-info.is-empty{color:#b42318;font-weight:800}.gug-limit-voice{z-index:3;margin:11px 0 0;text-align:center;max-width:360px}.gug-send:disabled,.gug-mic:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* Floating Guglielmo */
.gug-floating-widget{position:fixed;bottom:22px;z-index:999990;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.gug-floating-widget.is-right{right:22px}.gug-floating-widget.is-left{left:22px}.gug-floating-launcher{position:relative;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:8px 15px 8px 8px;background:linear-gradient(135deg,#6d3a8e,#d23f8d);color:#fff;cursor:pointer;box-shadow:0 18px 48px rgba(53,31,76,.28);font-weight:800;font-size:14px;line-height:1;transition:transform .2s ease,box-shadow .2s ease}.gug-floating-launcher:hover{transform:translateY(-2px);box-shadow:0 22px 56px rgba(53,31,76,.34)}.gug-floating-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;overflow:hidden;position:relative;z-index:2}.gug-floating-avatar img{width:44px;height:44px;object-fit:contain}.gug-floating-pulse{position:absolute;left:8px;top:8px;width:48px;height:48px;border:2px solid rgba(255,255,255,.55);border-radius:50%;animation:gugFloatingPulse 2.1s infinite;pointer-events:none}.gug-floating-widget.is-left .gug-floating-pulse{left:8px}.gug-floating-panel{position:absolute;bottom:70px;width:min(430px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 100px));filter:drop-shadow(0 28px 52px rgba(28,23,44,.26))}.gug-floating-widget.is-right .gug-floating-panel{right:0}.gug-floating-widget.is-left .gug-floating-panel{left:0}.gug-floating-panel[hidden]{display:none!important}.gug-floating-panel .guglielmo-ai{width:430px;max-width:calc(100vw - 28px)}.gug-floating-panel .gug-shell{border-radius:24px;min-height:610px;max-height:calc(100vh - 110px)}.gug-floating-panel .gug-messages{max-height:390px}.gug-floating-close{position:absolute;right:10px;top:10px;z-index:20;width:34px;height:34px;border-radius:50%;border:1px solid rgba(80,70,95,.12);background:#fff;color:#5c6172;font-size:23px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(40,35,55,.1)}.gug-floating-panel .gug-new-chat{margin-right:38px}@keyframes gugFloatingPulse{0%{transform:scale(.85);opacity:.8}80%,100%{transform:scale(1.45);opacity:0}}@media(max-width:600px){.gug-floating-widget{bottom:14px}.gug-floating-widget.is-right{right:14px}.gug-floating-widget.is-left{left:14px}.gug-floating-label{display:none}.gug-floating-launcher{padding:7px}.gug-floating-panel{position:fixed;inset:8px;width:auto;max-height:none}.gug-floating-panel .guglielmo-ai{width:100%;max-width:none;height:100%}.gug-floating-panel .gug-shell{height:100%;max-height:none;min-height:0;border-radius:20px}.gug-floating-panel .gug-messages{max-height:none}.gug-floating-panel .gug-chat-pane{min-height:0}.gug-floating-close{right:16px;top:16px}}@media(prefers-reduced-motion:reduce){.gug-floating-pulse{animation:none!important}.gug-floating-launcher{transition:none!important}}

/* v1.2 · zero-token badges + premium voice */
.gug-local-badge{align-self:flex-start;margin:-2px 0 8px 54px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em;background:rgba(109,58,142,.08);color:var(--gug-primary,#6d3a8e);border:1px solid rgba(109,58,142,.13)}
.gug-local-badge.is-cache{background:rgba(38,126,95,.08);color:#267e5f;border-color:rgba(38,126,95,.15)}
.gug-waveform{height:34px;display:flex;align-items:center;justify-content:center;gap:3px;margin:4px auto 8px;opacity:.88}
.gug-waveform i{display:block;width:3px;height:4px;min-height:4px;max-height:28px;border-radius:999px;background:linear-gradient(180deg,var(--gug-accent,#d23f8d),var(--gug-primary,#6d3a8e));transition:height .07s linear,opacity .15s ease;opacity:.72}
[data-voice-state="listening"] .gug-waveform i{opacity:1}
[data-voice-state="speaking"] .gug-waveform i{animation:gugVoiceBars .85s ease-in-out infinite alternate}
[data-voice-state="speaking"] .gug-waveform i:nth-child(2n){animation-delay:.15s}[data-voice-state="speaking"] .gug-waveform i:nth-child(3n){animation-delay:.28s}
.gug-continuous-toggle{display:flex;align-items:center;justify-content:center;gap:8px;margin:13px auto 4px;font-size:12px;font-weight:750;color:#575466;cursor:pointer;user-select:none}
.gug-continuous-toggle input{accent-color:var(--gug-primary,#6d3a8e)}
.gug-voice-note{display:block;max-width:320px;margin:0 auto 6px;text-align:center;color:#7b7888;font-size:10.5px;line-height:1.35}
@keyframes gugVoiceBars{from{height:5px}to{height:24px}}
@media(max-width:600px){.gug-local-badge{margin-left:12px}.gug-voice-note{max-width:280px}}
@media(prefers-reduced-motion:reduce){[data-voice-state="speaking"] .gug-waveform i{animation:none!important}.gug-waveform i{transition:none!important}}
[data-voice-state="listening"] .gug-waveform i{animation:gugListenBars .7s ease-in-out infinite alternate}
[data-voice-state="listening"] .gug-waveform i:nth-child(2n){animation-delay:.11s}[data-voice-state="listening"] .gug-waveform i:nth-child(3n){animation-delay:.22s}
@keyframes gugListenBars{from{height:5px}to{height:18px}}
@media(prefers-reduced-motion:reduce){[data-voice-state="listening"] .gug-waveform i{animation:none!important}}

/* v1.4 · sources accordion, voice-only mode, mobile viewport and 3D motion */
.gug-sources{display:block;margin-top:8px;padding:0;border:1px solid #e9e8f1;border-radius:13px;background:#f8f8fc;overflow:hidden;font-size:12px;max-width:100%}
.gug-sources summary{list-style:none;display:flex;align-items:center;gap:7px;padding:9px 11px;cursor:pointer;color:#60667a;font-weight:800;user-select:none}
.gug-sources summary::-webkit-details-marker{display:none}
.gug-sources summary small{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(109,58,142,.1);color:var(--gug-primary);font-size:10px}
.gug-sources summary b{margin-left:auto;font-size:14px;transition:transform .2s ease}
.gug-sources[open] summary b{transform:rotate(180deg)}
.gug-sources-list{display:flex;flex-direction:column;gap:6px;padding:0 11px 10px;border-top:1px solid #ecebf3}
.gug-sources-list a{display:block;padding-top:8px;color:var(--gug-primary);text-decoration:none;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.gug-sources-list a:hover{text-decoration:underline}

.gug-voice-transcript-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Pseudo-3D based on the supplied vector. The future rigged GLB can replace only this stage. */
.gug-avatar-3d.is-3d{--gug-tilt-x:0deg;--gug-tilt-y:0deg;perspective:760px;overflow:visible;background:transparent;border:0;box-shadow:none}
.gug-avatar-3d.is-3d .gug-avatar-3d-scene{position:relative;width:100%;height:100%;display:grid;place-items:center;transform-style:preserve-3d;transform:rotateX(var(--gug-tilt-x)) rotateY(var(--gug-tilt-y)) translateZ(12px);transition:transform .18s ease-out;will-change:transform}
.gug-avatar-3d.is-3d .gug-avatar-3d-card{position:relative;width:92%;height:92%;display:grid;place-items:center;transform:translateZ(34px);transform-style:preserve-3d;filter:drop-shadow(0 22px 22px rgba(42,27,59,.18));will-change:transform}
.gug-avatar-3d.is-3d .gug-avatar-3d-card:before{content:"";position:absolute;inset:8% 12% 7%;border-radius:42%;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.5),rgba(109,58,142,.10) 55%,rgba(210,63,141,.06));transform:translateZ(-18px) scale(.96);filter:blur(2px);z-index:-1}
.gug-avatar-3d.is-3d .gug-avatar-3d-shadow{position:absolute;left:19%;right:19%;bottom:3%;height:14%;border-radius:50%;background:rgba(41,27,52,.18);filter:blur(11px);transform:rotateX(76deg) translateZ(-28px);opacity:.55}
.gug-avatar-3d.is-3d img{width:100%;height:100%;object-fit:contain;transform:translateZ(20px);transform-origin:50% 72%;backface-visibility:hidden}
.gug-avatar-3d.is-3d.gug-state-idle .gug-avatar-3d-card{animation:gug3dIdle 4.8s ease-in-out infinite}
.gug-avatar-3d.is-3d.gug-state-listening .gug-avatar-3d-card{animation:gug3dListen 1.25s ease-in-out infinite}
.gug-avatar-3d.is-3d.gug-state-thinking .gug-avatar-3d-card{animation:gug3dThink 2.1s ease-in-out infinite}
.gug-avatar-3d.is-3d.gug-state-speaking .gug-avatar-3d-card{animation:gug3dSpeak .72s ease-in-out infinite alternate}
@keyframes gug3dIdle{0%,100%{transform:translateZ(34px) translateY(0) rotateY(-1deg)}50%{transform:translateZ(42px) translateY(-5px) rotateY(1.5deg)}}
@keyframes gug3dListen{0%,100%{transform:translateZ(40px) rotateX(0deg) scale(1)}50%{transform:translateZ(53px) rotateX(-2.5deg) scale(1.025)}}
@keyframes gug3dThink{0%,100%{transform:translateZ(37px) rotateY(-3deg) rotateZ(-.4deg)}50%{transform:translateZ(45px) rotateY(4deg) rotateZ(.5deg)}}
@keyframes gug3dSpeak{from{transform:translateZ(41px) rotateY(-2deg) rotateZ(-.7deg)}to{transform:translateZ(51px) rotateY(2deg) rotateZ(.8deg)}}

/* Avoid the old image-only animation fighting with the 3D card. */
.gug-avatar-3d.is-3d.gug-state-listening img,.gug-avatar-3d.is-3d.gug-state-thinking img,.gug-avatar-3d.is-3d.gug-state-speaking img{animation:none!important}

@media(max-width:600px){
  .gug-floating-panel{inset:auto 6px auto 6px!important;bottom:auto!important;width:auto!important;max-height:none!important}
  .gug-floating-panel .guglielmo-ai{height:100%;width:100%;max-width:none}
  .gug-floating-panel .gug-shell{height:100%;min-height:0;max-height:none;border-radius:18px;overflow:hidden}
  .gug-floating-panel .gug-chat-pane{display:flex;flex:1;min-height:0;overflow:hidden}
  .gug-floating-panel .gug-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 8px}
  .gug-floating-panel .gug-suggestions{flex:0 0 auto;padding:4px 10px 7px}
  .gug-floating-panel .gug-composer{position:relative;z-index:4;flex:0 0 auto;margin:0 8px max(8px,env(safe-area-inset-bottom));padding:7px 8px 7px 12px;border-radius:17px}
  .gug-floating-panel .gug-composer textarea{min-height:34px;max-height:86px;padding:6px 2px}
  .gug-floating-panel .gug-footer{flex:0 0 auto;padding:6px 10px 8px;font-size:10px}
  .gug-floating-panel .gug-header{flex:0 0 auto;padding:10px 12px}
  .gug-floating-panel .gug-tabs{flex:0 0 auto;padding:6px 9px}
  .gug-floating-panel .gug-tabs button{padding:8px 7px}
  .gug-floating-panel .gug-avatar-wrap{width:44px;height:44px;border-radius:14px}
  .gug-floating-panel .gug-avatar-wrap .gug-avatar{width:38px;height:38px}
  .gug-floating-panel .gug-title h2{font-size:17px}
  .gug-floating-panel .gug-title p{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gug-floating-panel .gug-voice-pane{padding:12px 10px;overflow:auto}
  .gug-floating-panel .gug-voice-stage{min-height:0;height:100%;justify-content:center;padding:4px 0 max(6px,env(safe-area-inset-bottom))}
  .gug-floating-panel .gug-voice-avatar{width:min(44vw,176px);height:min(44vw,176px)}
  .gug-floating-panel .gug-voice-orbit{width:min(62vw,240px);height:min(62vw,240px)}
  .gug-floating-panel .gug-voice-status{margin:13px 0 4px;font-size:14px}
  .gug-floating-panel .gug-waveform{margin:1px auto 5px;height:28px}
  .gug-floating-panel .gug-continuous-toggle{margin-top:8px}
  .gug-floating-panel .gug-voice-note{font-size:9.5px;line-height:1.25}
  .gug-sources{max-width:calc(100vw - 48px)}
}

@media(prefers-reduced-motion:reduce){
  .gug-avatar-3d.is-3d .gug-avatar-3d-card,.gug-avatar-3d.is-3d .gug-avatar-3d-scene{animation:none!important;transform:none!important;transition:none!important}
}
@media(max-width:600px){html.gug-mobile-chat-open,html.gug-mobile-chat-open body{overflow:hidden!important;overscroll-behavior:none}}


/* v1.5.1 safe 2.5D enhancement.
 * Applied by JavaScript on top of the stable v1.4 markup.
 * If the enhancement does not initialize, the original avatar remains usable.
 */
.gug-avatar-3d.gug-25d-ready .gug-avatar-3d-card{width:94%;height:94%;overflow:visible}
.gug-avatar-3d.gug-25d-ready .gug-avatar-3d-card:before{opacity:.6}
.gug-25d-puppet{position:relative;width:100%;height:100%;transform-style:preserve-3d;isolation:isolate}
.gug-25d-layer,.gug-25d-face{position:absolute;inset:0;display:block;pointer-events:none;transform-style:preserve-3d;will-change:transform}
.gug-avatar-3d.gug-25d-ready .gug-25d-layer img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;animation:none!important;filter:none!important}
.gug-25d-back{z-index:1;opacity:.14;filter:blur(3px);transform:translate3d(5px,7px,-22px) scale(.985)}
.gug-25d-lower{z-index:2;clip-path:inset(61% 0 0 0);transform-origin:50% 70%;transform:translateZ(2px)}
.gug-25d-torso{z-index:3;clip-path:inset(41% 0 27% 0);transform-origin:52% 52%;transform:translateZ(10px)}
.gug-25d-head{z-index:4;clip-path:inset(0 0 50% 0);transform-origin:54% 47%;transform:translateZ(22px)}
.gug-25d-face{z-index:7}
.gug-25d-lid{position:absolute;display:block;background:#f5a487;border-bottom:1px solid #2a1518;border-radius:55%;opacity:0;transform-origin:center}
.gug-25d-lid-l{left:45.2%;top:24.2%;width:11.5%;height:8.8%;transform:rotate(5deg) scaleY(.2)}
.gug-25d-lid-r{left:57.4%;top:22.3%;width:9.2%;height:8.7%;transform:rotate(7deg) scaleY(.2)}
.gug-avatar-3d.gug-25d-ready.gug-25d-blink .gug-25d-lid{opacity:1}
.gug-avatar-3d.gug-25d-ready.gug-25d-blink .gug-25d-lid-l{transform:rotate(5deg) scaleY(.36)}
.gug-avatar-3d.gug-25d-ready.gug-25d-blink .gug-25d-lid-r{transform:rotate(7deg) scaleY(.36)}
.gug-25d-mouth{position:absolute;left:54%;top:38.2%;width:15%;height:2.4%;border:1px solid #241014;border-radius:50%;background:#3a1118;opacity:0;overflow:hidden;transform:rotate(-3deg) scaleY(.55);transform-origin:50% 28%}
.gug-25d-mouth b{position:absolute;left:20%;right:14%;bottom:-8%;height:45%;border-radius:50%;background:#dc7892}
.gug-avatar-3d.gug-25d-ready.gug-state-speaking .gug-25d-mouth{opacity:1;animation:gugSafeMouth .19s ease-in-out infinite alternate}
@keyframes gugSafeMouth{from{transform:rotate(-3deg) scaleY(.5)}to{transform:rotate(-3deg) scaleY(2.15)}}
.gug-avatar-3d.gug-25d-ready.gug-state-idle .gug-25d-head{animation:gugSafeHeadIdle 5s ease-in-out infinite}
.gug-avatar-3d.gug-25d-ready.gug-state-idle .gug-25d-torso{animation:gugSafeBreathe 4.2s ease-in-out infinite}
.gug-avatar-3d.gug-25d-ready.gug-state-listening .gug-25d-head{animation:gugSafeListen 1.45s ease-in-out infinite}
.gug-avatar-3d.gug-25d-ready.gug-state-thinking .gug-25d-head{animation:gugSafeThink 2s ease-in-out infinite}
.gug-avatar-3d.gug-25d-ready.gug-state-speaking .gug-25d-head{animation:gugSafeSpeakHead .8s ease-in-out infinite alternate}
.gug-avatar-3d.gug-25d-ready.gug-state-speaking .gug-25d-torso{animation:gugSafeSpeakBody 1.25s ease-in-out infinite alternate}
@keyframes gugSafeHeadIdle{0%,100%{transform:translateZ(22px) translateY(0) rotate(-1deg)}50%{transform:translateZ(27px) translateY(-3px) rotate(1deg)}}
@keyframes gugSafeBreathe{0%,100%{transform:translateZ(10px) scaleY(1)}50%{transform:translateZ(12px) translateY(-2px) scaleY(1.008)}}
@keyframes gugSafeListen{0%,100%{transform:translateZ(24px) translateY(-1px) rotate(-1.4deg)}50%{transform:translateZ(30px) translateY(-5px) rotate(-2.7deg)}}
@keyframes gugSafeThink{0%,100%{transform:translateZ(23px) translate(-1px,-2px) rotate(-2.2deg)}50%{transform:translateZ(29px) translate(2px,-5px) rotate(2.3deg)}}
@keyframes gugSafeSpeakHead{from{transform:translateZ(23px) translateY(-1px) rotate(-1.5deg)}to{transform:translateZ(29px) translateY(-4px) rotate(1.7deg)}}
@keyframes gugSafeSpeakBody{from{transform:translateZ(10px) translateX(-1px) rotate(-.5deg)}to{transform:translateZ(13px) translateX(1px) rotate(.6deg)}}
@media(max-width:600px){.gug-avatar-3d.gug-25d-ready .gug-avatar-3d-card{width:96%;height:96%}}
@media(prefers-reduced-motion:reduce){
  .gug-avatar-3d.gug-25d-ready .gug-25d-layer,.gug-avatar-3d.gug-25d-ready .gug-25d-mouth{animation:none!important;transition:none!important}
  .gug-avatar-3d.gug-25d-ready .gug-25d-mouth{opacity:0!important}
}


/* v1.5.2 · responsive floating widget, readable typography and public UI cleanup */
.gug-local-badge,.gug-limit-info,.gug-limit-voice{display:none!important}
.gug-floating-launcher{max-width:min(320px,calc(100vw - 24px))}
.gug-floating-avatar{flex:0 0 48px;max-width:48px;max-height:48px}
.gug-floating-avatar img{display:block;width:44px!important;height:44px!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.gug-floating-widget.is-open .gug-floating-launcher{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.9)!important}
.gug-floating-panel{position:fixed!important;top:auto!important;bottom:20px!important;width:clamp(340px,34vw,440px)!important;height:min(760px,calc(100dvh - 40px))!important;max-height:calc(100dvh - 40px)!important}
.gug-floating-widget.is-right .gug-floating-panel{right:20px!important;left:auto!important}
.gug-floating-widget.is-left .gug-floating-panel{left:20px!important;right:auto!important}
.gug-floating-panel .guglielmo-ai{width:100%!important;max-width:none!important;height:100%!important;min-width:0!important}
.gug-floating-panel .gug-shell{height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
.gug-floating-panel .gug-pane{min-width:0!important;min-height:0!important}
.gug-floating-panel .gug-chat-pane{display:flex;flex-direction:column;min-height:0!important;overflow:hidden!important}
.gug-floating-panel .gug-messages{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
.gug-floating-panel .gug-bubble{font-size:clamp(14px,1.15vw,15.5px);line-height:1.58;overflow-wrap:anywhere;word-break:normal}
.gug-floating-panel .gug-message{max-width:92%;min-width:0}
.gug-floating-panel .gug-title h2{font-size:clamp(17px,1.6vw,19px);overflow-wrap:anywhere}
.gug-floating-panel .gug-title p{font-size:clamp(11.5px,1vw,13px);line-height:1.35;overflow-wrap:anywhere}
.gug-floating-panel .gug-tabs button{font-size:clamp(11.5px,1vw,13px);line-height:1.25;white-space:normal}
.gug-floating-panel .gug-suggestions button{font-size:clamp(11.5px,.95vw,12.5px)}
.gug-floating-panel .gug-composer textarea{font-size:15px;line-height:1.45;min-width:0}
.gug-floating-panel .gug-sources{max-width:100%}
.gug-floating-panel .gug-sources summary,.gug-floating-panel .gug-sources-list a{font-size:12px;line-height:1.4}
.gug-floating-close{display:grid;place-items:center;padding:0;line-height:1}

@media(max-width:600px){
  .gug-floating-widget{bottom:14px!important}
  .gug-floating-widget.is-right{right:14px!important;left:auto!important}
  .gug-floating-widget.is-left{left:14px!important;right:auto!important}
  .gug-floating-panel{
    position:fixed!important;
    top:var(--gug-vv-top,4px)!important;
    left:max(4px,env(safe-area-inset-left))!important;
    right:max(4px,env(safe-area-inset-right))!important;
    bottom:auto!important;
    width:auto!important;
    height:var(--gug-vv-height,calc(100dvh - 8px))!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    transform:translateZ(0);
  }
  .gug-floating-panel .gug-shell{border-radius:16px!important}
  .gug-floating-panel .gug-header{padding:9px 10px!important;gap:9px!important}
  .gug-floating-panel .gug-avatar-wrap{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .gug-floating-panel .gug-avatar-wrap .gug-avatar{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}
  .gug-floating-panel .gug-title h2{font-size:16.5px!important;line-height:1.15}
  .gug-floating-panel .gug-title p{font-size:11.5px!important;line-height:1.25;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gug-floating-panel .gug-new-chat{width:34px;height:34px;flex:0 0 34px;margin-right:36px!important}
  .gug-floating-close{right:9px!important;top:9px!important;width:34px!important;height:34px!important}
  .gug-floating-panel .gug-tabs{padding:5px 7px!important;gap:5px!important}
  .gug-floating-panel .gug-tabs button{font-size:11.5px!important;padding:7px 5px!important}
  .gug-floating-panel .gug-messages{padding:10px 9px 7px!important}
  .gug-floating-panel .gug-message{max-width:96%!important;margin-bottom:11px!important}
  .gug-floating-panel .gug-bubble{font-size:14px!important;line-height:1.52!important;padding:11px 12px!important;border-radius:17px!important}
  .gug-floating-panel .gug-suggestions{padding:3px 8px 6px!important;gap:5px!important}
  .gug-floating-panel .gug-suggestions button{font-size:11.5px!important;padding:7px 9px!important}
  .gug-floating-panel .gug-composer{margin:0 6px max(6px,env(safe-area-inset-bottom))!important;padding:6px 7px 6px 10px!important;gap:7px!important;border-radius:16px!important}
  .gug-floating-panel .gug-composer textarea{font-size:16px!important;line-height:1.4!important;min-height:32px!important;max-height:76px!important;padding:5px 1px!important}
  .gug-floating-panel .gug-send{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:12px!important}
  .gug-floating-panel .gug-footer{padding:5px 8px 7px!important;font-size:9.5px!important;line-height:1.25}
  .gug-floating-panel .gug-voice-pane{padding:8px!important;overflow:auto!important}
  .gug-floating-panel .gug-voice-stage{min-height:0!important;height:100%!important;padding:2px 0 max(4px,env(safe-area-inset-bottom))!important}
  .gug-floating-panel .gug-voice-avatar{width:min(38vw,160px)!important;height:min(38vw,160px)!important;flex:0 0 auto}
  .gug-floating-panel .gug-voice-orbit{width:min(55vw,220px)!important;height:min(55vw,220px)!important}
  .gug-floating-panel .gug-voice-status{font-size:13.5px!important;margin:9px 0 3px!important}
  .gug-floating-panel .gug-mic{font-size:13px;padding:11px 15px}
  .gug-floating-panel .gug-stop-audio{font-size:12px;padding:7px 10px}
  .gug-floating-panel .gug-continuous-toggle{font-size:11px;margin-top:6px!important}
  .gug-floating-panel .gug-voice-note{font-size:9.5px!important;max-width:280px}
  .gug-floating-widget.is-keyboard-open .gug-suggestions,.gug-floating-widget.is-keyboard-open .gug-footer{display:none!important}
  .gug-floating-widget.is-keyboard-open .gug-header{padding-top:6px!important;padding-bottom:6px!important}
  .gug-floating-widget.is-keyboard-open .gug-title p{display:none!important}
  .gug-floating-widget.is-keyboard-open .gug-tabs{padding-top:3px!important;padding-bottom:3px!important}
}

@media(max-width:380px){
  .gug-floating-panel .gug-title h2{font-size:15.5px!important}
  .gug-floating-panel .gug-bubble{font-size:13.5px!important}
  .gug-floating-panel .gug-tabs button{font-size:11px!important}
  .gug-floating-panel .gug-voice-avatar{width:min(34vw,138px)!important;height:min(34vw,138px)!important}
}

/* v1.5.3 · mobile visual-viewport centering hotfix */
@media(max-width:600px){
  .gug-floating-panel{
    left:var(--gug-vv-left,8px)!important;
    right:auto!important;
    width:var(--gug-vv-width,calc(100vw - 16px))!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .gug-floating-widget.is-right .gug-floating-panel,
  .gug-floating-widget.is-left .gug-floating-panel{
    left:var(--gug-vv-left,8px)!important;
    right:auto!important;
  }
  .gug-floating-panel .guglielmo-ai,
  .gug-floating-panel .gug-shell,
  .gug-floating-panel .gug-pane{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* v1.6.0 · PSD/layer based puppet for Guglielmo voice mode */
.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-card{background:radial-gradient(circle at 30% 22%, rgba(255,255,255,.34), rgba(255,255,255,.06) 34%, transparent 36%), radial-gradient(circle at 50% 70%, rgba(255,255,255,.08), transparent 65%); display:flex; align-items:center; justify-content:center; overflow:hidden}
.gug-psd-puppet{position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; transform:translateZ(0); transition:transform .25s ease, filter .25s ease}
.gug-psd-puppet img{position:absolute; display:block; max-width:none; pointer-events:none; user-select:none; -webkit-user-drag:none}
.gug-psd-base{width:82%; height:auto; object-fit:contain; filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}
.gug-psd-expression{width:82%; height:auto; object-fit:contain; opacity:0; transition:opacity .18s ease}
.gug-psd-eyesclosed{width:82%; height:auto; object-fit:contain; opacity:0; transition:opacity .12s ease}
.gug-psd-mouth{width:42%; height:auto; object-fit:contain; left:50%; top:50%; transform:translate(-50%, 42%); transition:transform .1s ease, opacity .12s ease; filter:drop-shadow(0 2px 2px rgba(0,0,0,.06))}
.gug-psd-puppet.is-blink .gug-psd-eyesclosed{opacity:1}
.gug-psd-puppet.is-idle{animation:gugPuppetFloat 4.6s ease-in-out infinite}
.gug-psd-puppet.is-listening{animation:gugPuppetListen 1.5s ease-in-out infinite}
.gug-psd-puppet.is-thinking{animation:gugPuppetThink 2.2s ease-in-out infinite}
.gug-psd-puppet.is-speaking{animation:gugPuppetSpeak 1s ease-in-out infinite alternate}
.gug-psd-puppet.is-speaking .gug-psd-mouth{transform:translate(-50%, 42%) scale(1.02)}
@keyframes gugPuppetFloat{0%,100%{transform:translateY(0) rotate(-1.1deg)}50%{transform:translateY(-4px) rotate(1.1deg)}}
@keyframes gugPuppetListen{0%,100%{transform:translateY(-1px) rotate(-2.6deg) scale(1.01)}50%{transform:translateY(-5px) rotate(-4.4deg) scale(1.025)}}
@keyframes gugPuppetThink{0%,100%{transform:translate(-2px,-2px) rotate(-2deg)}50%{transform:translate(2px,-5px) rotate(2.2deg)}}
@keyframes gugPuppetSpeak{0%{transform:translateY(-1px) rotate(-1.1deg) scale(1.005)}100%{transform:translateY(-4px) rotate(1.2deg) scale(1.02)}}
.gug-voice-avatar.gug-state-listening .gug-avatar-3d-shadow{transform:translateY(3px) scale(.93); opacity:.42}
.gug-voice-avatar.gug-state-speaking .gug-avatar-3d-shadow{transform:translateY(6px) scale(.88); opacity:.38}
@media(max-width:600px){
  .gug-floating-panel .gug-voice-avatar{width:min(44vw,180px)!important; height:min(44vw,180px)!important}
  .gug-psd-base,.gug-psd-expression,.gug-psd-eyesclosed{width:86%}
  .gug-psd-mouth{width:46%; transform:translate(-50%, 44%)}
}
@media(prefers-reduced-motion:reduce){
  .gug-psd-puppet{animation:none!important}
}


/* v1.6.1 · full-area PSD avatar, exact canvas alignment and cleaner voice UI */
.gug-voice-pane{padding:0!important;overflow:hidden!important}
.gug-voice-stage{width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto auto auto!important;align-items:center!important;justify-items:center!important;gap:5px!important;padding:8px 14px max(14px,env(safe-area-inset-bottom))!important;overflow:hidden!important}
.gug-voice-orbit{width:min(76%,440px)!important;height:min(66%,440px)!important;top:8%!important;left:50%!important;transform:translateX(-50%)!important;opacity:.58!important;pointer-events:none!important}
.gug-voice-avatar.gug-psd-ready{grid-row:1;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:block!important;z-index:2!important}
.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-scene,.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-card{position:relative!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block!important;transform:none!important;animation:none!important;filter:none!important;background:transparent!important;overflow:visible!important}
.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-card:before,.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-shadow{display:none!important}
.gug-psd-puppet{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform-origin:50% 72%!important;will-change:transform!important}
.gug-psd-layer{position:absolute!important;inset:0!important;margin:auto!important;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important;transform:none!important;animation:none!important;filter:none!important}
.gug-psd-base{filter:drop-shadow(0 18px 24px rgba(36,25,58,.16))!important}
.gug-psd-mouth,.gug-psd-expression,.gug-psd-eyesclosed{transition:opacity .08s linear!important}
.gug-voice-avatar.gug-psd-ready.gug-state-idle img,.gug-voice-avatar.gug-psd-ready.gug-state-listening img,.gug-voice-avatar.gug-psd-ready.gug-state-thinking img,.gug-voice-avatar.gug-psd-ready.gug-state-speaking img{animation:none!important;transform:none!important}
.gug-psd-puppet.is-idle{animation:gugPsdIdle 4.8s ease-in-out infinite!important}
.gug-psd-puppet.is-listening{animation:gugPsdListen 1.65s ease-in-out infinite!important}
.gug-psd-puppet.is-thinking{animation:gugPsdThink 2.3s ease-in-out infinite!important}
.gug-psd-puppet.is-speaking{animation:gugPsdSpeak 1.15s ease-in-out infinite alternate!important}
@keyframes gugPsdIdle{0%,100%{transform:translateY(2px) rotate(-.35deg)}50%{transform:translateY(-4px) rotate(.35deg)}}
@keyframes gugPsdListen{0%,100%{transform:translateY(1px) rotate(-.65deg) scale(1)}50%{transform:translateY(-5px) rotate(.75deg) scale(1.012)}}
@keyframes gugPsdThink{0%,100%{transform:translate(-2px,1px) rotate(-.7deg)}50%{transform:translate(2px,-5px) rotate(.8deg)}}
@keyframes gugPsdSpeak{0%{transform:translateY(1px) rotate(-.45deg)}100%{transform:translateY(-4px) rotate(.55deg)}}
.gug-voice-status{grid-row:2;margin:2px 0 1px!important;font-size:clamp(14px,1.35vw,17px)!important;line-height:1.25!important;z-index:4!important}
.gug-waveform{grid-row:3;margin:0 auto 3px!important;height:30px!important;z-index:4!important}
.gug-live-transcript{display:none!important}
.gug-mic{grid-row:4;z-index:5!important;margin:0!important;padding:13px 22px!important;font-size:15px!important}
.gug-stop-audio{grid-row:4;z-index:6!important;margin:0!important}
.gug-continuous-toggle,.gug-voice-note{display:none!important}
.gug-continuous-runtime{display:none!important}
@media(max-width:600px){
  .gug-voice-stage{padding:4px 10px max(10px,env(safe-area-inset-bottom))!important;gap:3px!important}
  .gug-voice-avatar.gug-psd-ready{width:100%!important;height:100%!important}
  .gug-voice-status{font-size:14px!important;margin:0!important}
  .gug-waveform{height:25px!important;margin:-1px auto 1px!important}
  .gug-mic{font-size:14px!important;padding:12px 20px!important}
  .gug-voice-orbit{width:82%!important;height:58%!important;top:6%!important}
}
@media(max-height:650px){
  .gug-voice-stage{grid-template-rows:minmax(0,1fr) auto auto auto!important;padding-top:2px!important}
  .gug-waveform{height:22px!important}
  .gug-mic{padding:10px 18px!important}
}
@media(prefers-reduced-motion:reduce){.gug-psd-puppet{animation:none!important}}
[data-voice-state="speaking"] .gug-mic{display:none!important}
[data-voice-state="thinking"] .gug-mic{opacity:.55;pointer-events:none}


/* v1.6.2 · single-PNG avatar pack */
.gug-voice-stage{grid-template-rows:minmax(300px,1fr) auto auto auto auto auto!important}
.gug-voice-avatar.gug-psd-ready{align-self:stretch!important;justify-self:stretch!important}
.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-scene,.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-card{overflow:visible!important}
.gug-psd-puppet{transform-origin:50% 92%!important}
.gug-psd-layer{object-position:center bottom!important}
.gug-psd-base{filter:drop-shadow(0 18px 26px rgba(36,25,58,.18))!important}
@media(max-width:600px){
  .gug-floating-panel .gug-voice-stage{grid-template-rows:minmax(280px,1fr) auto auto auto auto auto!important}
}


/* v1.6.3 · facial animation sync + stable body */
.gug-psd-puppet.is-idle,.gug-psd-puppet.is-listening,.gug-psd-puppet.is-thinking,.gug-psd-puppet.is-speaking,.gug-psd-puppet.is-sad{animation:none!important;transform:none!important}
.gug-mic{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.gug-mic-icon-wrap{display:grid!important;place-items:center!important;width:23px!important;height:23px!important;flex:0 0 23px!important}
.gug-mic-icon{display:block!important;width:22px!important;height:22px!important;object-fit:contain!important;filter:none!important}
.gug-mic>span:not(.gug-mic-icon-wrap){display:none!important}
.gug-avatar-wrap.gug-state-thinking .gug-avatar,.gug-avatar-wrap.gug-state-sad .gug-avatar,.gug-avatar-wrap.gug-state-listening .gug-avatar{object-fit:contain!important;object-position:center!important}


/* v1.6.4 · expression & lipsync refinements */
.gug-psd-puppet{animation:none!important}
.gug-psd-layer{left:50%; bottom:0; transform:translateX(-50%); width:100%; height:100%; object-fit:contain; object-position:center bottom}
.gug-psd-base{z-index:1}
.gug-psd-expression{z-index:2}
.gug-psd-eyesclosed{z-index:3}
.gug-psd-mouth{z-index:4; width:100%!important; height:100%!important; left:50%!important; top:auto!important; bottom:0!important; transform:translateX(-50%)!important; object-fit:contain!important; object-position:center bottom!important; filter:none!important}
.gug-psd-puppet.is-thinking .gug-psd-expression,.gug-psd-puppet.is-sad .gug-psd-expression,.gug-psd-puppet.is-listening .gug-psd-expression{opacity:1!important}
.gug-psd-puppet.is-thinking .gug-psd-eyesclosed{opacity:1!important}
.gug-psd-puppet.is-idle .gug-psd-base,.gug-psd-puppet.is-listening .gug-psd-base,.gug-psd-puppet.is-thinking .gug-psd-base,.gug-psd-puppet.is-speaking .gug-psd-base,.gug-psd-puppet.is-sad .gug-psd-base{transform:none!important}


/* v1.6.5 · full-body single-image avatar */
.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-scene,.gug-avatar-3d.gug-psd-ready .gug-avatar-3d-card{overflow:visible!important}
.gug-psd-puppet{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;animation:none!important;transform:none!important}
.gug-psd-main{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 24px rgba(32,24,50,.16));user-select:none;-webkit-user-drag:none;pointer-events:none}
.gug-avatar-3d-shadow{opacity:.34}


/* v1.6.6 · neutral base always visible + exact canvas overlays */
.gug-psd-puppet{position:relative!important;width:100%!important;height:100%!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:visible!important;animation:none!important;transform:none!important}
.gug-psd-base-full,.gug-psd-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;max-width:none!important;max-height:none!important;margin:0!important;transform:none!important;animation:none!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important}
.gug-psd-base-full{z-index:1!important;filter:drop-shadow(0 14px 24px rgba(32,24,50,.16))}
.gug-psd-expression-full{z-index:2!important}
.gug-psd-eyes-full{z-index:3!important}
.gug-psd-mouth-full{z-index:4!important}

/* v1.6.7 · overlay visibility fix */
.gug-avatar-3d.gug-psd-ready,.gug-avatar-3d.gug-psd-ready *{border:none!important;outline:none!important;box-shadow:none!important}
.gug-psd-overlay{opacity:0!important;visibility:hidden!important;transition:opacity .08s linear!important}
.gug-psd-overlay.is-on{opacity:1!important;visibility:visible!important}
.gug-psd-base-full{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;border:none!important;outline:none!important}


/* v1.6.8 · stable voice avatar + single mic/stop control */
.gug-voice-avatar.gug-psd-ready:after,
.gug-voice-avatar.gug-psd-ready.gug-state-speaking:after,
.gug-voice-avatar.gug-psd-ready.gug-state-listening:after{display:none!important;content:none!important;animation:none!important}
.gug-voice-orbit{animation:none!important;transform:translateX(-50%)!important;opacity:.34!important}
.gug-voice-avatar.gug-psd-ready,.gug-voice-avatar.gug-psd-ready .gug-avatar-3d-scene,.gug-voice-avatar.gug-psd-ready .gug-avatar-3d-card{transform:none!important;animation:none!important;border:0!important;outline:0!important;box-shadow:none!important}
.gug-voice-avatar.gug-psd-ready img{transform:none!important;animation:none!important}
.gug-psd-puppet{animation:none!important;transform:none!important}
.gug-psd-overlay{position:absolute!important;inset:0!important;display:block!important;background-repeat:no-repeat!important;background-size:contain!important;background-position:center bottom!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:2}
.gug-psd-overlay.is-on{opacity:1!important;visibility:visible!important}
.gug-psd-expression-full{z-index:2!important}.gug-psd-eyes-full{z-index:3!important}.gug-psd-mouth-full{z-index:4!important}
.gug-mic.is-stop{background:linear-gradient(135deg,#5c5664,#39343f)!important;box-shadow:0 10px 28px rgba(35,31,40,.2)!important}
.gug-mic.is-stop .gug-mic-icon{width:21px!important;height:21px!important}
.gug-stop-audio{display:none!important}
[data-voice-state="speaking"] .gug-mic,[data-voice-state="thinking"] .gug-mic{display:inline-flex!important;opacity:1!important;pointer-events:auto!important}
.gug-avatar-wrap .gug-avatar{transform:none!important;animation:none!important}

.gug-mic{min-width:190px!important;justify-content:center!important}.gug-avatar-wrap:after{display:none!important;content:none!important}
