/* Isolated contribution; append after stage-fit.css. No mobile overrides. */
@media (min-width:768px) and (pointer:fine) {
  #app { --rosi-desktop-footer:0px; --rosi-chat-gap:clamp(20px,2.2vw,40px); }
  #app .brandbar .brand { align-items:baseline; }
  #app .brandbar .gpt { align-self:baseline; }
  #app .brandbar .release-tag { align-self:baseline; line-height:1; }
  #app .brandbar .release-tag > span:first-child { text-transform:lowercase; }
  #app .conversation {
    height:calc(100svh - 94px);
    height:calc(100dvh - 94px);
    min-height:360px;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:var(--rosi-chat-gap);
  }
  #app .conversation.chat-collapsed { grid-template-columns:minmax(0,1fr); }
  #app .presence { grid-template-rows:minmax(0,1fr) auto; }
  #app .scene-body, #app #stage { min-height:0; height:100%; }
  #app #stage picture, #app #stage img, #app #stage .main-motion-video {
    width:100%; height:100%; max-height:100%; object-fit:contain;
  }
  #app .controls,
  #app .controls.active,
  #app .controls.active:has(#call-whatsapp:not([hidden])) {
    grid-template-rows:minmax(18px,auto);
    grid-auto-rows:minmax(44px,auto);
    row-gap:6px;
    padding:4px 16px 8px;
  }
  #app .controls #phase { min-height:18px; align-self:center; }
  #app .controls #primary-action,
  #app .controls #hangup,
  #app .controls #call-whatsapp {
    width:min(100%,264px); height:auto; min-height:44px;
    padding:10px 16px; border-radius:12px;
    font-size:14px; line-height:1.35;
    display:flex; align-items:center; justify-content:center;
    box-sizing:border-box;
  }
  #app .controls.active #primary-action {
    background:#f1f2ef; color:#383a34; border:1px solid #dedfd9;
  }
  #app .controls.active #primary-action:hover { background:#e8eae4; }
  #app .controls #hangup { border-color:#e7cccc; }
  #app .controls #call-whatsapp { border:1px solid #d9e4cf; }
  #app .controls [hidden] { display:none!important; }
  #app .chat { position:relative; }
  #app #chat-collapse {
    position:absolute; top:50%; left:calc(-1 * var(--rosi-chat-gap) - 22px);
    transform:translateY(-50%); z-index:3;
    width:44px; height:44px; padding:0;
    justify-content:center; background:#fff;
    border:1px solid #e0e2d9; border-radius:50%;
  }
  #app #chat-collapse > span[aria-hidden] { transform:rotate(90deg); }
  #app #collapse-label {
    position:absolute; width:1px; height:1px; padding:0;
    margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  #app #chat-reopen {
    width:64px; height:64px; min-height:64px;
    border:1px solid #dce1d4;
    background:linear-gradient(145deg,#fff,#eef1e7);
    box-shadow:0 4px 14px #28331a12,inset 0 1px #fff;
    transition:box-shadow .18s ease,background .18s ease;
  }
  #app #chat-reopen > svg { width:28px; height:28px; }
  #app #chat-reopen:hover { box-shadow:0 6px 18px #28331a20; }
  #app .rosi-message-badge {
    position:absolute; top:-5px; right:-7px;
    min-width:23px; height:23px; padding:0 5px; border-radius:20px;
    display:flex; align-items:center; justify-content:center;
    background:#c4413d; color:#fff; border:2px solid #fff;
    font-size:11px; font-weight:700; line-height:1; box-sizing:border-box;
  }
  #app .rosi-message-badge[hidden] { display:none; }
  #app #chat-reopen[data-message-arrival] > svg { animation:rosi-phone-ring .65s ease; }
  #app #chat-reopen[data-message-arrival] .rosi-message-badge { animation:rosi-badge-arrive .3s ease-out; }
  #app footer { padding:4px 0 6px; margin-top:0; font-size:10px; }
  #app footer .footer-main { flex-wrap:wrap; gap:4px 12px; }
  #app footer .footer-credit img, #app footer .footer-logo-slot { width:28px; height:22px; }
  #app footer .footer-links a, #app footer .lang-button { min-height:34px; }
  #app #chat-collapse:focus-visible { outline:3px solid #6c842e; outline-offset:3px; }
}
@keyframes rosi-phone-ring { 0%,100% {transform:rotate(0)} 20%,60% {transform:rotate(-12deg)} 40%,80% {transform:rotate(10deg)} }
@keyframes rosi-badge-arrive { from {transform:scale(.8)} to {transform:scale(1)} }
@media(prefers-reduced-motion:reduce) {
  #app #chat-reopen[data-message-arrival] > svg,
  #app #chat-reopen[data-message-arrival] .rosi-message-badge { animation:none; }
}

/* Actual original sprite pixels: brown bounds x10..75 in a 94px crop;
   recenter that visible contour while retaining its surrounding whitespace. */
@media(min-width:768px) and (pointer:fine){
 #rating-dialog{width:min(760px,calc(100vw - 48px));}
 #rating-dialog #rating-video{height:clamp(180px,26dvh,250px);object-fit:contain}
 #rating-dialog #rating-options{max-width:620px;margin:0 auto;gap:12px}
 #rating-dialog #rating-options button{align-items:center;min-height:170px;gap:8px}
 #rating-dialog #rating-options .rating-sausage-slot{
  width:96px;height:139.914894px;min-height:139.914894px;flex:none;
  background-size:1194.893617px 844.595745px;background-position:-314.042553px -430.978723px;
 }
 #rating-dialog #rating-hint{font-weight:600}
 #rating-dialog #rating-later{font-size:14px;color:#85877e;min-height:44px;min-width:64px}
 #rating-dialog #rating-reminder{font-size:14px;line-height:1.4;max-width:none}
}
