/* Progressive disclosure: the map stays visible; details are opt-in. */
.personal-entry{position:absolute;z-index:15;top:14px;left:18px;display:flex;align-items:center;gap:9px;max-width:calc(100% - 290px)}
#profile-toggle{flex:none;width:48px;height:48px;border-radius:50%;border:2px solid #d7c9a6;background:#fffaf0;box-shadow:0 3px 10px #294c4022;padding:4px;color:#fff}
#profile-initial{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#657f65;font-size:20px}
#moment-peek{min-height:44px;min-width:0;text-align:left;padding:5px 13px;border:1px solid #cbbd96;border-radius:22px;background:#fffaf0f2;color:#3e5847}
#moment-peek small{display:block;font-size:10px;color:#7d8069}#moment-peek-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#profile-panel{position:absolute;z-index:18;left:18px;top:76px;width:290px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 150px);overflow:auto;padding:18px;background:#fffaf2;border:1px solid #cbbd96;border-radius:18px;box-shadow:0 8px 28px #294c4033}
#profile-panel h2{margin:6px 0;font-size:22px}#profile-status{font-size:12px;line-height:1.6;color:#657363}#profile-close{float:right;border:0;background:transparent;min-width:44px;min-height:44px;color:#45634e;font-size:24px}
#profile-panel>button:not(#profile-close),#profile-panel #invitation-tools button{min-height:44px;padding:8px 12px;border:1px solid #c9cdb5;border-radius:14px;background:#f0f3e8;color:#385544;margin:3px}
#profile-panel #invitation-tools{display:flex;position:static;flex-wrap:wrap;max-width:100%;gap:4px;margin-top:8px}#profile-panel #my-role-note{max-width:100%;padding:5px 0;background:transparent;line-height:1.6}
#garden .actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;min-width:0;min-height:78px;padding:3px;font-size:11px}
#garden .actions span{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;border:1px solid #b5c1a5;background:#edf2e4;color:#46614e;font-size:22px;margin:0;box-shadow:inset 0 0 0 3px #fffaf0}
#garden .actions button:hover span,#garden .actions button:focus-visible span{background:#d7e4cd;border-color:#8b9d72}
.mobile-controls button:focus-visible,#profile-toggle:focus-visible,#moment-peek:focus-visible{outline:3px solid #b48b45;outline-offset:2px}
#garden .topbar .ghost{border:1px solid #cbbd96;border-radius:22px;background:#fffaf0f2;box-shadow:0 3px 10px #294c4022;color:#45634e;font-family:"Microsoft YaHei",sans-serif}
@media (min-width:701px) and (min-height:601px), (min-width:1101px){
 .topbar{pointer-events:none;background:none;justify-content:flex-end}.topbar>div:first-child{display:none}.topbar>div:last-child{pointer-events:auto}
 .mobile-controls{position:absolute;display:flex;z-index:15;right:22px;bottom:20px;gap:8px;background:#fffaf0;border:1px solid #cbbd96;border-radius:26px;padding:5px;box-shadow:0 4px 16px #294c4022}
 .mobile-controls button{min-width:58px;min-height:44px;border:0;border-radius:22px;background:transparent;color:#45634e;font-size:12px}.mobile-controls button[aria-expanded="true"]{background:#58745b;color:white}
 #garden .ceremony-card,#garden .chat-panel,#garden #interaction-panel{display:none;position:absolute;top:82px;bottom:auto;left:18px;right:auto;width:320px;max-height:calc(100dvh - 170px);overflow:auto;border:1px solid #cbbd96;border-radius:18px;background:#fffaf2;box-shadow:0 8px 28px #294c4033;padding:18px}
 #garden[data-mobile-panel="ceremony"] .ceremony-card{display:block}
 #garden[data-mobile-panel="chat"] .chat-panel{display:block;left:auto;right:22px;padding:0}
 #garden[data-mobile-panel="actions"] #interaction-panel{display:block;left:auto;right:22px;top:auto;bottom:84px;width:294px;padding:12px}
 #garden #interaction-panel .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:static;transform:none;max-width:none;border:0;padding:0;background:none;box-shadow:none;clear:both}
 .mobile-panel-close{display:block;float:right;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#edf2e4;color:#45634e;font-size:24px}
 .chat-panel>header{min-height:60px}.chat-panel header button{min-width:44px;min-height:44px;font-size:24px}.chat-list{height:min(245px,32vh)}
 .ceremony-card h2{font-family:Georgia,"Microsoft YaHei",serif;font-size:23px}.ceremony-card p{font-size:13px}
 .swipe-hint{bottom:88px}
}
@media (max-width:700px), (max-width:1100px) and (max-height:600px){
 .personal-entry{top:var(--phone-top);left:var(--phone-left);max-width:calc(100% - 184px);gap:5px}
 #profile-toggle{width:44px;height:44px}#profile-initial{font-size:17px}#moment-peek{padding:3px 9px;max-width:180px}#moment-peek small{font-size:9px}#moment-peek-label{font-size:11px}
 #profile-panel{top:calc(var(--phone-top) + 50px);left:var(--phone-left);max-height:calc(100dvh - var(--phone-top) - var(--phone-bottom) - 110px)}
 #garden #interaction-panel{width:min(294px,calc(100vw - var(--phone-left) - var(--phone-right)));padding:8px 12px;top:auto;bottom:calc(var(--phone-bottom) + 58px);max-height:calc(100dvh - var(--phone-top) - var(--phone-bottom) - 110px)}
 #garden .actions button{min-height:70px}#garden .actions span{width:44px;height:44px;font-size:20px}
}
@media(prefers-reduced-motion:reduce){#garden .actions span{transition:none}}
