/* REMB 3D companion: one movable character, without a permanent speech bubble. */
.remb-robot{--remb-robot-primary:#285de5;--remb-robot-accent:#22c8cc;--remb-robot-signal:#22c8cc;position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:10050;display:block;width:138px;height:202px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:0;border:0;border-radius:20px;background:transparent;color:#183254;box-shadow:none;font:14px/1.4 system-ui,sans-serif;text-align:left;cursor:grab;touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent}
.remb-robot[data-side="left"]{right:auto;left:max(18px,env(safe-area-inset-left))}
.remb-robot[data-size="small"]{width:110px;height:162px}.remb-robot[data-size="large"]{width:166px;height:244px}
.remb-robot[data-dragging="true"]{cursor:grabbing}.remb-robot:focus-visible{outline:3px solid var(--remb-robot-primary);outline-offset:3px}
.remb-robot-viewport{position:absolute;inset:0;display:block;pointer-events:none}.remb-robot-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.remb-robot-character{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 3px #15355122)}
.remb-robot[data-rendering="webgl3d"] .remb-robot-character{visibility:hidden}.remb-robot[data-rendering="fallback"] .remb-robot-canvas{display:none}
.remb-robot-shell{fill:#edf3ff;stroke:#9ab2d7;stroke-width:1.5}.remb-robot-joint{fill:#6986b2}.remb-robot-boot,.remb-robot-chest{fill:var(--remb-robot-primary)}.remb-robot-highlight{fill:none;stroke:white;stroke-width:3;stroke-linecap:round}.remb-robot-visor{fill:#142b4a}.remb-robot-eye,.remb-robot-antenna,.remb-robot-light{fill:var(--remb-robot-signal)}.remb-robot-smile{fill:none;stroke:var(--remb-robot-signal);stroke-width:2;stroke-linecap:round}.remb-robot-outline{fill:none;stroke:#6986b2;stroke-width:3}.remb-robot-chest-name{fill:white;font:700 8px system-ui,sans-serif;letter-spacing:.5px}.remb-robot-shadow{fill:#1638601c}
.remb-robot-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.remb-robot-badge{position:absolute;right:5px;top:26px;display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border:2px solid white;border-radius:14px;background:var(--remb-robot-signal);color:#183254;box-shadow:0 3px 10px #15355125;font:750 11px/1 system-ui,sans-serif;pointer-events:none}.remb-robot-badge[hidden]{display:none}
.remb-robot::before{content:"";position:absolute;bottom:1px;left:22%;width:56%;height:12%;border:2px solid var(--remb-robot-signal);border-radius:50%;opacity:0;pointer-events:none}
.remb-robot[data-animated="true"][data-attention="true"]::before{animation:remb-robot-alert 3s ease-out 3}
.remb-robot[data-animated="true"]:not([data-rendering="webgl3d"]) .remb-robot-eyes{transform-origin:56px 49px;animation:remb-robot-blink 7s infinite}
.remb-robot[data-animated="true"][data-attention="true"]:not([data-rendering="webgl3d"]) .remb-robot-arm-right{transform-origin:83px 88px;animation:remb-robot-wave 1s ease-in-out 3}
@keyframes remb-robot-alert{0%{opacity:0;transform:scale(.75)}25%{opacity:.6}100%{opacity:0;transform:scale(1.35)}}
@keyframes remb-robot-blink{0%,41%,45%,100%{transform:scaleY(1)}43%{transform:scaleY(.12)}}
@keyframes remb-robot-wave{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-32deg)}}
.remb-robot-settings{margin-top:20px;padding:22px;border:1px solid var(--border,#dce5ef);border-radius:14px;background:var(--bg-card,#fff);color:var(--text-primary,#18243c)}
.remb-robot-settings .robot-settings-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.remb-robot-settings h3{margin:0;font-size:18px}.remb-robot-settings p{color:var(--text-secondary,#65748b);font-size:13px}.remb-robot-settings .robot-private-badge{padding:4px 9px;border-radius:7px;background:var(--accent-light,#edf3ff);color:var(--accent,#245eea);font-size:11px}
.robot-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.robot-settings-grid>label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:600}.robot-settings-grid select,.robot-settings-grid input[type=color]{min-height:38px;width:100%;max-width:100%;border:1px solid var(--border,#dce5ef);border-radius:8px;padding:6px 10px;background:var(--bg-primary,#f4f7fb);color:var(--text-primary,#18243c);font:inherit}.robot-settings-grid input[type=color]{padding:5px;cursor:pointer}
.remb-robot-settings .robot-setting-check{display:flex;align-items:flex-start;gap:9px;margin:12px 0;font-size:13px;cursor:pointer}.robot-setting-check input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:#245eea}.remb-robot-settings .robot-settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.remb-robot-settings button{padding:9px 13px;border:1px solid var(--border,#dce5ef);border-radius:8px;background:var(--bg-primary,#f4f7fb);color:var(--text-primary,#18243c);font:600 12px/1.4 system-ui,sans-serif;cursor:pointer}.remb-robot-settings button.robot-settings-save{background:#245eea;border-color:#245eea;color:white}.remb-robot-settings button:disabled{opacity:.5;cursor:default}.remb-robot-settings .robot-settings-feedback:empty{display:none}.remb-robot-settings .robot-settings-feedback{margin-top:12px;font-size:12px}.remb-robot-settings .robot-settings-feedback[data-error=true]{color:#b33c28}.remb-robot-settings .robot-signal-guide{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:11px;color:var(--text-secondary,#65748b)}.robot-signal-guide span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--signal-color);vertical-align:1px}
@media(max-width:650px){.remb-robot{width:106px;height:156px;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}.remb-robot[data-side=left]{left:max(10px,env(safe-area-inset-left))}.remb-robot[data-size=small]{width:90px;height:132px}.remb-robot[data-size=large]{width:126px;height:184px}.remb-robot-badge{right:2px;top:20px}.remb-robot-settings{padding:17px}.robot-settings-grid{gap:12px}.remb-robot-settings .robot-settings-actions>button{flex:1}}
@media(prefers-reduced-motion:reduce){.remb-robot *,.remb-robot::before{animation:none!important}}
