/* Focused mobile/chat refinements; retained brand and original SVG assistant. */
.marci-greeting{width:min(280px,calc(100vw - 92px));padding:14px 40px 14px 14px;animation:marci-welcome .22s ease-out}
.marci-greeting a{font-size:13px;line-height:1.5}
@keyframes marci-welcome{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.marci-panel[open]{display:flex;flex-direction:column;height:min(720px,calc(100dvh - 40px));overflow:hidden}
.marci-panel header{flex-shrink:0}.marci-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:8px}
.marci-message{flex-shrink:0}.marci-status{margin:0;font-size:11px;flex-shrink:0}
.marci-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;flex-shrink:0}
.marci-quick button{min-height:44px;border:1px solid #376187;border-radius:10px;background:#112d48;color:white;text-align:left;padding:9px;font:12px/1.4 system-ui;cursor:pointer}
.marci-quick button:hover{background:#174776}.marci-quick[hidden]{display:none}
.marci-thread{display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;max-height:none;min-height:70px;flex:1;margin:0;scrollbar-width:thin;scrollbar-color:#416c92 #0d1725}
.marci-thread:empty{min-height:0}.marci-bubble{max-width:96%;border-radius:4px 15px 15px;background:#192e45;padding:12px;flex-shrink:0}
.marci-bubble p{max-width:none!important;background:none!important;border-radius:0!important;margin:0!important;padding:0!important;white-space:pre-line;font:14px/1.55 system-ui}
.marci-bubble.visitor{background:#174f79;align-self:flex-end;max-width:88%;border-radius:15px 4px 15px 15px}
.marci-bubble a{display:flex;align-items:center;min-height:44px;padding:9px 12px;margin-top:8px;border:1px solid #4584b0;border-radius:9px;color:#bdeaff;text-decoration:none;font:600 13px/1.4 system-ui}
.marci-branch{margin-top:14px;padding-top:14px;border-top:1px solid #416180}.marci-branch h3{font:700 16px/1.3 system-ui;margin:0 0 6px}.marci-branch summary{min-height:44px;align-content:center;color:#bdeaff;font:13px/1.5 system-ui;cursor:pointer}
.marci-action{margin:0;padding:8px;flex-shrink:0;min-height:44px}.marci-panel form{flex-shrink:0}.marci-panel form button{min-width:66px}.marci-compose input{min-width:0}
.privacy-choice{padding:12px 14px;width:min(470px,calc(100% - 24px));font-size:13px;bottom:12px}.privacy-choice p{margin:0 0 8px}.privacy-choice div{display:flex;flex-wrap:nowrap;gap:8px}.privacy-choice button{flex:1;padding:8px 12px}.privacy-choice a{display:flex;align-items:center;min-height:44px;color:#bdeaff;padding:0 5px}.privacy-choice p[hidden]{display:none}.privacy-choice p:last-child:not([hidden]){margin:10px 0 0;font-size:12px}
.privacy-is-open .contact-float{bottom:calc(24px + var(--privacy-height,130px))}.privacy-is-open .marci-greeting{display:none}.marci-is-open .privacy-choice{visibility:hidden}
.gift-dialog .gift-coupon-image{width:100%;height:auto;border:0;background:transparent;border-radius:10px;margin:14px auto}.gift-dialog #gift-save{display:block;text-align:center;text-decoration:none}
/* Preserve the real mascot photo's proportions instead of forcing a square crop. */
.robot-main-photo{aspect-ratio:941/1672!important;max-width:360px;margin-inline:auto;height:auto!important;border-radius:16px;overflow:hidden;background:#0a1522}.robot-main-photo img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}.robot-portrait{height:auto!important}
@media(max-width:900px){.privacy-choice{bottom:calc(76px + env(safe-area-inset-bottom))}.privacy-is-open .contact-float{bottom:calc(88px + var(--privacy-height,130px) + env(safe-area-inset-bottom))}.marci-panel[open]{height:min(660px,calc(100dvh - 100px - env(safe-area-inset-bottom)));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom))}.marci-body{padding:12px}.robot-main-photo{max-width:280px}}
@media(max-height:600px){.marci-panel[open]{bottom:8px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.marci-message,.marci-status{display:none}.marci-quick{max-height:112px;overflow:auto;flex-shrink:1}.marci-panel header{padding:8px 14px}}
@media(prefers-reduced-motion:reduce){.marci-greeting{animation:none}}
.social-film{max-width:340px;justify-self:center;width:100%}
@media(max-width:700px){.robot-grid{grid-template-columns:minmax(130px,.8fr) 1.2fr;gap:18px}.robot-portrait{max-height:none}.robot-story h2{font-size:27px}}

.marci-body{flex:1}.marci-thread:empty{flex:1}
