.companion-moments{margin:18px 0 0;border-top:1px solid var(--line);padding-top:10px}.companion-saying{font:italic 20px/1.5 var(--hand);min-height:3em;text-align:center;margin:10px 0 16px}.companion-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.companion-actions button{font:18px var(--hand);min-height:44px;border:1px solid #c6cdbb;padding:8px;border-radius:4px;background:#f9f7ee;color:var(--ink)}.companion-actions button:hover,.companion-actions button[aria-pressed=true]{background:#e6ebd9;border-color:#647e66}.companion-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:16px 0;font-size:14px}.companion-options label{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.companion-options button{font:16px var(--hand);min-height:40px;text-decoration:underline;text-underline-offset:4px}.companion-options [data-invite-g1]{color:var(--sea)}.companion-stage .miniature-canvas{height:265px}.companion-guest:empty{display:none}.g1-visitor{position:fixed;bottom:12px;left:12px;width:240px;z-index:24;filter:drop-shadow(2px 6px 6px #132e371a)}.g1-visit-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 4px 3px 12px;font:17px var(--hand)}.g1-visit-caption button{font-size:24px;min-width:36px;min-height:36px}.g1-visit-stage{height:300px}.g1-visit-stage iframe{height:300px!important;max-width:100%}.g1-inline{position:relative;bottom:auto;left:auto;margin:14px auto 0;max-width:100%;width:240px}.g1-inline .g1-visit-caption{font-size:16px}#guide{width:min(610px,calc(100vw - 32px))}.companion-guest:has(.g1-visitor){min-height:330px}
/* Hard bounds belong to the visitor, independently of any host page rules. */
.g1-visitor{isolation:isolate;box-sizing:border-box;max-width:calc(100vw - 24px);background:transparent;filter:none}
.g1-visit-stage{width:100%;height:270px;overflow:hidden;background:transparent;contain:layout paint}
.g1-visit-stage iframe{position:static!important;inset:auto!important;display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;border:0!important;background:transparent!important;color-scheme:light}
.g1-visitor:not(.g1-inline){width:136px;max-height:224px;left:10px;bottom:10px;pointer-events:none;overflow:hidden}
.g1-visitor:not(.g1-inline) .g1-visit-stage{height:166px;pointer-events:none}
.g1-visitor:not(.g1-inline) iframe{pointer-events:none}
.g1-visitor:not(.g1-inline) .g1-visit-caption{font-size:13px;line-height:1.25;margin:0;padding:2px 0 2px 8px;gap:2px;max-height:54px;background:#f5f2e9e8}
.g1-visitor:not(.g1-inline) .g1-visit-caption button{pointer-events:auto;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;background:transparent;border:0}
.g1-inline,.g1-inline iframe{pointer-events:auto}
@media(max-width:600px){.g1-visitor:not(.g1-inline){width:112px;max-height:202px;left:6px;bottom:8px}.g1-visitor:not(.g1-inline) .g1-visit-stage{height:140px}.companion-stage .miniature-canvas{height:230px}.companion-actions button{font-size:17px}.companion-saying{font-size:19px}.companion-options{gap:10px}}
/* A light paper cloud carries the visitor; only its small controls and robot receive input. */
.g1-cloud-stage{position:relative;padding-bottom:17px}.g1-paper-cloud{position:absolute;inset:auto 0 0;width:100%;height:auto;pointer-events:none}.g1-visit-stage{position:relative;z-index:1}.g1-visit-play{display:flex;justify-content:center;gap:6px}.g1-visit-play button{min-height:44px;padding:6px 12px;background:#f6f3e8e8;border:1px solid #b6bda7;color:#274e52;font:16px var(--hand);pointer-events:auto}.g1-visitor:not(.g1-inline){width:154px;max-height:none;overflow:visible;pointer-events:none}.g1-visitor:not(.g1-inline) .g1-cloud-stage{opacity:.58;transition:opacity .2s}.g1-visitor:not(.g1-inline):hover .g1-cloud-stage,.g1-visitor:not(.g1-inline):focus-within .g1-cloud-stage{opacity:1}.g1-visitor:not(.g1-inline) .g1-visit-stage{height:153px;pointer-events:auto}.g1-visitor:not(.g1-inline) iframe{pointer-events:auto}.g1-visitor:not(.g1-inline) .g1-visit-caption{background:transparent;border:0;padding:0;font-size:14px}.g1-visitor:not(.g1-inline) .g1-visit-caption>span{opacity:.8}.g1-visitor-saying{font:16px/1.45 var(--hand);color:#274e52;background:#f7f5ecd9;border:1px solid #b6bda7;padding:10px;margin:8px 0 0;pointer-events:none}.g1-inline .g1-visitor-saying{max-width:240px}.g1-inline .g1-paper-cloud{bottom:0}.g1-inline .g1-cloud-stage{padding-bottom:20px}
@media(max-width:600px){.g1-visitor:not(.g1-inline){width:132px;left:4px;bottom:5px}.g1-visitor:not(.g1-inline) .g1-visit-stage{height:127px}.g1-visit-play button{font-size:14px;padding:5px 9px}.g1-visitor-saying{font-size:15px;max-height:120px;overflow:auto;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.g1-visitor:not(.g1-inline) .g1-cloud-stage{transition:none}}
.g1-visitor .g1-visit-caption .g1-move{flex:1;width:auto;font:16px var(--hand);text-align:left;touch-action:none;cursor:grab;pointer-events:auto;color:#274e52}.g1-visitor .g1-move:active{cursor:grabbing}.g1-inline .g1-move{pointer-events:none;cursor:default}.g1-inline .g1-move span{display:none}.g1-visit-play{flex-wrap:wrap;gap:5px}.g1-visit-play [data-g1-play=tickle]{flex-basis:100%;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}.g1-visitor:has(.g1-move:active) .g1-cloud-stage{opacity:1}
/* Scale the original full-size pet surface rather than hiding its playful layers. */
.g1-visitor:not(.g1-inline) .g1-visit-stage{height:173px}
.g1-visitor:not(.g1-inline) .g1-visit-stage iframe{width:240px!important;height:270px!important;max-width:none!important;max-height:none!important;transform:scale(.64);transform-origin:top left}
.g1-more-play{position:relative;pointer-events:auto;font:14px var(--hand);color:#274e52;text-align:center}.g1-more-play>summary{min-height:36px;padding:5px;cursor:pointer;align-content:center}.g1-more-play[open]{padding:6px;background:#f7f5eef5;border:1px solid #b6bda7}.g1-more-play>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.g1-more-play button{min-height:44px;font:14px var(--hand);border:1px solid #bbc6b6;background:transparent;color:inherit}.g1-more-play>p{font:14px/1.5 var(--hand);margin:10px 0}.g1-visitor:has(.g1-more-play[open]) .g1-cloud-stage{opacity:1}
@media(max-width:600px){.g1-visitor:not(.g1-inline) .g1-visit-stage{height:149px}.g1-visitor:not(.g1-inline) .g1-visit-stage iframe{transform:scale(.55)}}
