/* Her assistant's stage on the partner page (Chris, 25 Oct: the new session's welcome, with her water behind it). Her coin is her own
   medallion (heroes.js, muse-heroes.js), the scene behind it is muse-scene.js's canvas, and the talk lies over both on glass. Its own file:
   partner.css is the page's. Nothing here animates for a device that asks for less motion. */
.pt-card.pt-stage { position: relative; overflow: hidden; isolation: isolate; padding: 0; border-color: rgba(255, 236, 205, 0.34); background: #0a1126; }
.muse-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; display: block; }
.pt-stage-body { position: relative; z-index: 1; padding: 26px 20px 20px; display: grid; justify-items: center; }
.pt-stage-body > * { max-width: 100%; }
.pt-coin { position: relative; display: grid; place-items: center; width: 138px; height: 138px; margin: 4px 0 14px; border-radius: 50%; background: radial-gradient(circle at 50% 36%, rgba(230, 200, 142, 0.28), rgba(8, 14, 32, 0.55) 70%); border: 1px solid rgba(255, 236, 205, 0.5); box-shadow: 0 0 0 10px rgba(255, 236, 205, 0.06), 0 0 46px rgba(255, 236, 205, 0.18), 0 22px 50px rgba(0, 0, 0, 0.4); transition: width 0.4s ease, height 0.4s ease, margin 0.4s ease; }
.pt-coin-face { display: block; width: 84%; height: 84%; border-radius: 50%; overflow: hidden; }
.pt-coin-face > * { display: block; width: 100%; height: 100%; }
.pt-coin-initial { font: 400 44px var(--serif); color: var(--gold); }
.pt-stage.compact .pt-coin { width: 70px; height: 70px; margin-bottom: 8px; box-shadow: 0 0 0 5px rgba(255, 236, 205, 0.05), 0 10px 26px rgba(0, 0, 0, 0.4); }
.pt-card .pt-hello { margin: 0; font: 600 23px/1.25 var(--sans); text-align: center; text-shadow: 0 2px 16px rgba(0, 0, 0, 0.55); }
.pt-card .pt-hello-sub { margin: 4px 0 0; font: 300 16px/1.4 var(--sans); text-align: center; color: rgba(255, 255, 255, 0.86); text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6); }
.pt-stage.compact .pt-hello { font-size: 17px; }
.pt-stage input[type='checkbox'] { accent-color: var(--gold); }
.pt-stage.compact .pt-hello-sub { display: none; }
.pt-card.pt-stage .pt-note { margin: 10px 0 0; text-align: center; font-size: 12.5px; color: rgba(255, 255, 255, 0.72); text-shadow: 0 1px 10px rgba(0, 0, 0, 0.6); }
.pt-stage .pt-chat-log { width: 100%; }
.pt-stage .pt-say { background: rgba(8, 14, 32, 0.52); border-color: rgba(255, 255, 255, 0.2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.pt-stage .pt-say.me { background: rgba(230, 200, 142, 0.26); border-color: rgba(255, 236, 205, 0.5); }
.pt-stage .pt-chips, .pt-stage .pt-chat-form, .pt-stage .pt-row { width: 100%; }
.pt-stage .pt-chips { justify-content: center; }
.pt-stage .pt-chat-form input[type='text'] { background: rgba(8, 12, 26, 0.82); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-color: rgba(255, 236, 205, 0.5); border-radius: 24px; padding: 10px 18px; }
.pt-stage .pt-chat-form .pt-btn { border-radius: 24px; }
.pt-stage .pt-btn.quiet { background: rgba(8, 14, 32, 0.45); color: rgba(255, 255, 255, 0.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
@media (min-width: 820px) { .pt-coin { width: 156px; height: 156px; } .pt-stage.compact .pt-coin { width: 76px; height: 76px; } }
@media (prefers-reduced-motion: reduce) { .pt-coin { transition: none; } }
/* scene legibility: the small words stand clear of a bright scene behind them */
.pt-stage .pt-check, .pt-stage .pt-note { text-shadow: 0 1px 9px rgba(0, 0, 0, 0.75), 0 0 2px rgba(0, 0, 0, 0.6); }

.pt-stage .pt-row .pt-check { background: rgba(8, 12, 26, 0.55); border-radius: 14px; padding: 6px 12px; }
.pt-stage .pt-chips .pt-btn { background: rgba(8, 12, 26, 0.72); }
/* a veil between the scene and the words: the scene stays whole at the top and the foot, and the middle, where she talks, is darkened enough to read */
.pt-stage-body::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(to bottom, rgba(6, 9, 20, 0) 0, rgba(6, 9, 20, 0) 110px, rgba(6, 9, 20, 0.62) 210px, rgba(6, 9, 20, 0.55) 68%, rgba(6, 9, 20, 0.18) 100%); }
/* her chat: the box never grows past the card, and Send is the desk's own button (black glaze, a fine gold edge), not the old pale slab */
.pt-stage-body { grid-template-columns: minmax(0, 1fr); box-sizing: border-box; }
.pt-stage .pt-chat-form { box-sizing: border-box; min-width: 0; gap: 8px; }
.pt-stage .pt-chat-form input[type="text"] { flex: 1 1 auto; min-width: 0; box-sizing: border-box; }
.pt-stage .pt-chat-form .pt-btn { flex: 0 0 auto; min-height: 46px; padding: 0 18px; border-radius: 24px; color: #f3e6c8; background: linear-gradient(180deg, #17171c, #0a0a0e); border: 1px solid rgba(214, 178, 110, 0.7); box-shadow: inset 0 -2px 0 rgba(196, 98, 58, 0.55); font-weight: 500; }
.pt-stage .pt-chat-form .pt-btn:hover:not(:disabled), .pt-stage .pt-chat-form .pt-btn:focus-visible { border-color: rgba(240, 210, 150, 0.95); }
