/* The garden is the page. Panels open only when needed. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#a8bd85}
body{margin:0}button:focus-visible,a:focus-visible{outline:2px solid #647e4b;outline-offset:3px}
.map-app{position:fixed;top:var(--app-top,0);left:0;width:100%;height:var(--app-height,100dvh);display:flex;flex-direction:column;overflow:hidden}
.map-header{display:flex;align-items:center;gap:24px;min-height:64px;padding:8px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top));background:#fbfaf2;border-bottom:1px solid #dce2cc;z-index:5;flex-shrink:0}
.map-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#47573b}.map-brand img{width:32px;height:32px;filter:saturate(.7)}.map-brand strong{font-size:20px;letter-spacing:-1px;font-weight:600}
.room-switch{display:flex;align-items:center;gap:10px;min-width:0;max-width:400px;min-height:44px;padding:6px 14px;border-radius:10px;background:#eef0e3}.room-switch>span{font-size:22px}.room-switch strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.room-switch svg{transform:rotate(90deg);flex-shrink:0}
.map-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.map-header .top-avatar{display:block;width:40px;height:40px;border:2px solid #e3e5d2}.map-header .icon-button{width:40px;height:40px}.map-header .invite-button{min-height:40px;padding:9px 14px}
.map-app>.demo-banner,.map-app>.connection-banner{margin:0;border-radius:0;border:0;border-bottom:1px solid #e2e5d1;padding:7px 20px;font-size:11px;flex-shrink:0}.map-app>.demo-banner{flex-direction:row;align-items:center;color:#657550}.demo-banner a{color:#4f6d3f}.connection-status{font-size:11px;color:#65854c}
main.map-stage{position:relative;flex:1;width:100%;min-height:0;max-width:none;margin:0;padding:0;overflow:hidden;isolation:isolate}
.map-stage .world-wrap{position:absolute;inset:0;min-height:0;background:#a8bd85;display:block;border-radius:0}.map-stage #scene{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:0}
.map-presence{position:absolute;top:18px;left:max(20px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;pointer-events:none;background:#fbfbedeb;border:1px solid #e2e8d1;border-radius:10px;padding:10px 13px;color:#536c40;box-shadow:0 4px 16px #39532c0b}.map-presence .presence{font-size:12px}.map-presence .world-quality{font-size:10px;border-left:1px solid #dbe1cc;padding-left:8px;color:#778465}
.map-tools{position:absolute;right:max(20px,env(safe-area-inset-right));top:18px;display:flex;padding:4px;border-radius:12px;background:#fbfbedee;border:1px solid #e0e6d0;box-shadow:0 4px 16px #39532c0b}.map-tools button{width:38px;height:38px;display:grid;place-items:center;color:#60774b;border-radius:8px}.map-tools button:hover{background:#e5ebd6}.map-tools button>span{font-size:25px;font-weight:300}
.map-hint{position:absolute;left:50%;bottom:141px;transform:translateX(-50%);white-space:nowrap;font-size:11px;pointer-events:none;color:#4b603f;text-shadow:0 1px 4px #fff;background:#fbfbedc7;border-radius:7px;padding:5px 10px}.touch-hint{display:none}
.map-dock{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));background:#fcfbf2f2;border:1px solid #e2e4ce;border-radius:16px;box-shadow:0 10px 35px #3348241c;overflow:hidden;z-index:3}
.map-dock .zone-bar{display:flex;gap:4px;padding:7px 10px;border:0;border-bottom:1px solid #e0e5d0;background:transparent}.map-dock .zone-button{flex:1;justify-content:center;gap:7px;padding:8px 4px;min-height:40px;font-size:12px;color:#677553;border-radius:9px;white-space:nowrap}.map-dock .zone-button.active{background:#e3ebd3;color:#496238}.map-dock .zone-button small{display:block;background:#f1f4e7;color:#647d4d;min-width:17px;font-size:10px}
.dock-bottom{display:flex;gap:16px;align-items:center;padding:8px 12px}.dock-bottom .my-status{display:flex;gap:8px;min-width:0;text-align:left;align-items:center;margin-right:auto}.dock-bottom .my-status .portrait{width:36px;height:36px}.dock-bottom .my-status>span:last-child{min-width:0;max-width:125px}.dock-bottom .my-status strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-bottom .my-status small{display:block;font-size:10px;color:#738360;margin-top:2px}.dock-bottom .gesture-controls{display:flex;gap:2px}.dock-bottom .gesture-controls button{width:40px;min-width:40px;height:40px;border:0;background:transparent;color:#788a5c;font-size:21px;border-radius:9px;display:grid;place-items:center}.dock-bottom .gesture-controls button:hover{background:#e8eddc}.social-controls{display:flex;gap:5px;padding-left:12px;border-left:1px solid #dfe4d1}.social-controls button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:65px;min-height:42px;border-radius:9px;font-size:12px;color:#63784c}.social-controls button[aria-expanded=true]{background:#e1e9d2;color:#3f5f2c}
.map-stage .people-panel{display:none;position:absolute;z-index:4;right:max(20px,env(safe-area-inset-right));top:76px;bottom:145px;width:330px;min-height:0;border:1px solid #dbe1c9;border-radius:16px;box-shadow:0 14px 50px #314d2826;background:#fffdf7;overflow:hidden;flex-direction:column}.map-stage .people-panel.is-open{display:flex}.map-stage .panel-tabs{gap:16px;padding:0 13px;min-height:54px;flex-shrink:0}.map-stage .panel-tabs>button{font-size:12px}.map-stage .panel-tabs>.panel-close{margin-left:auto;flex-shrink:0;width:36px;min-width:36px;height:44px;padding:0;border:0}.map-stage #panel-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto}.map-stage #people-list{display:block}.map-stage .panel-intro{padding:18px 17px 10px}.map-stage .person-row{padding:12px 17px}.map-stage .person-row small{font-size:11px}.map-stage .search-box input{font-size:14px}.map-stage .chat-heading{padding:16px 16px 4px}.map-stage .chat-hint{padding:4px 16px 10px;margin:0;font-size:11px}.map-stage .chat-messages{flex:1;min-height:60px;height:auto;overflow:auto;overscroll-behavior:contain}.map-stage .chat-form{margin:0;padding:12px;flex-shrink:0;border-top:1px solid #e5e7d8;background:#fffdf7}.map-stage .chat-form input{font-size:16px;min-height:44px}.map-stage .chat-form button{min-width:44px;min-height:44px;background:#e4ebd7;color:#60794b}.world-person-label{font-size:11px;min-height:28px;padding:4px 9px}
.map-stage .panel-tabs>button,.map-stage .chat-hint,.map-stage .panel-intro p,.map-stage .chat-message small{color:#667556}.map-stage .chat-message p{font-size:13px;color:#4c5941}.map-stage .person-row strong{color:#435738}.map-stage .relationship-tip p{color:#6d7a5c}
.room-picker{display:grid;gap:8px;margin-bottom:20px}.room-picker .room-item{width:100%;padding:12px;text-align:left;border:1px solid #e2e5d7;flex-shrink:1}.room-picker .room-item>span:nth-child(2){flex:1;min-width:0}.room-picker .room-item strong{font-size:14px;white-space:normal;overflow-wrap:anywhere}.room-picker .room-item small{font-size:11px}.room-picker .room-emoji{width:38px;height:38px;font-size:25px}.room-picker .room-item svg{flex-shrink:0}
.map-focus .map-presence,.map-focus .map-dock,.map-focus .map-hint,.map-focus .people-panel{display:none}.map-focus .map-tools button:not([data-action=calm]){display:none}
#toast{bottom:155px;z-index:8}
@media(max-width:760px){
 .map-header{min-height:56px;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));padding-top:max(6px,env(safe-area-inset-top));gap:7px}.map-brand{gap:0}.map-brand img{width:30px;height:30px}.map-brand strong{display:none}.room-switch{flex:1;gap:6px;max-width:none;padding:4px 8px;min-height:44px}.room-switch>span{font-size:19px}.room-switch strong{font-size:12px}.room-switch svg{width:12px}.map-header-actions{gap:4px}.map-header .connection-status{display:none}.map-header .invite-button{min-width:40px;min-height:44px;padding:8px}.invite-button span{display:none}.map-header .top-avatar{width:40px;height:40px}.map-header .icon-button{width:32px;height:44px}.map-app>.demo-banner{font-size:10px;padding:6px 9px;gap:6px;line-height:1.6}.map-app>.connection-banner{font-size:12px;padding:8px 10px}.map-presence{top:12px;left:10px;padding:8px 10px;gap:6px;border-radius:9px}.map-presence .presence{font-size:11px;gap:5px}.map-presence .world-quality{display:none}.map-tools{top:12px;right:10px;padding:3px;flex-direction:column}.map-tools button{width:38px;height:40px}.map-dock{width:calc(100% - 16px);max-width:520px;bottom:max(8px,env(safe-area-inset-bottom));border-radius:14px}.map-dock .zone-bar{padding:5px;gap:1px}.map-dock .zone-button{font-size:11px;gap:4px;min-height:42px;padding:5px 2px}.map-dock .zone-button svg{width:16px}.map-dock .zone-button small{display:none}.dock-bottom{padding:5px 6px;gap:2px;justify-content:space-between}.dock-bottom .my-status{margin:0;min-width:40px;min-height:44px;justify-content:center}.dock-bottom .my-status .portrait{width:32px;height:32px}.dock-bottom .my-status>span:last-child{display:none}.dock-bottom .gesture-controls{gap:0}.dock-bottom .gesture-controls button{min-width:39px;width:39px;height:44px;font-size:21px}.social-controls{padding-left:3px;gap:1px}.social-controls button{min-width:48px;min-height:44px;font-size:10px;gap:2px;flex-direction:column}.social-controls button svg{height:18px}.map-hint{bottom:126px;font-size:10px;padding:4px 8px}.desktop-hint{display:none}.touch-hint{display:inline}.map-stage .people-panel{top:auto;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:min(68%,570px);border-radius:18px;min-height:200px}.map-stage .panel-tabs{min-height:52px}.map-stage .panel-tabs>button{min-height:44px}.world-person-label{font-size:11px;min-height:30px}.map-stage .chat-form{padding-bottom:max(12px,env(safe-area-inset-bottom))}#toast{bottom:145px;font-size:12px}.avatar-editor{height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);top:var(--app-top,0)}.editor-heading{padding-top:env(safe-area-inset-top);height:calc(49px + env(safe-area-inset-top));flex-shrink:0}.editor-layout{height:calc(100% - 49px - env(safe-area-inset-top))}.editor-footer{padding-bottom:max(13px,env(safe-area-inset-bottom))}.editor-right input,.editor-right textarea,.custom-tag input,dialog input,dialog textarea{font-size:16px}.editor-close,.dialog-top .icon-button{min-width:44px;min-height:44px}.profile-tag-options>button{min-height:40px}.editor-tabs button{min-height:44px}dialog{max-height:calc(var(--app-height,100dvh) - 28px)}
}
@media(max-width:360px){.map-header{gap:4px}.room-switch{padding:4px;gap:3px}.room-switch>span{display:none}.map-brand img{width:26px}.map-header .top-avatar{width:36px;height:36px}.map-header .icon-button{width:28px}.map-header-actions{gap:2px}.dock-bottom .gesture-controls button{min-width:34px;width:34px}.social-controls button{min-width:44px}.map-dock .zone-button{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){.map-header{min-height:48px;padding-top:2px;padding-bottom:2px}.map-brand strong{display:none}.map-dock{bottom:max(6px,env(safe-area-inset-bottom));width:auto;max-width:calc(100% - 120px);display:flex;align-items:center}.map-dock .zone-bar{border-bottom:0;border-right:1px solid #e2e5d2;padding:4px}.map-dock .zone-button{padding:5px 8px;min-width:48px;font-size:10px;flex-direction:column;gap:2px}.map-dock .zone-button small,.dock-bottom .my-status,.dock-bottom .gesture-controls,.map-hint{display:none}.dock-bottom{padding:4px}.social-controls{border:0;padding:0}.social-controls button{flex-direction:column;min-width:48px}.map-presence{top:9px;left:10px}.map-tools{top:9px;right:10px;flex-direction:row}.map-tools button{height:34px;width:34px}.map-stage .people-panel{top:6px;bottom:6px;left:auto;right:8px;width:min(360px,60vw);height:auto;min-height:0}.map-stage .panel-intro,.map-stage .relationship-tip{display:none}.editor-layout{grid-template-columns:34% 66%;grid-template-rows:1fr}.editor-left #avatar-preview{width:100%}.editor-left h2,.editor-left>p,.editor-kicker,.editor-free{display:none}.editor-right #editor-options{padding-top:12px}}

/* Room collection, private invitations and personal sound controls. */
.room-switch .room-menu-label{font-size:11px;border-right:1px solid #d5ddc4;padding-right:10px;white-space:nowrap;color:#607249;font-weight:600}
.world-preferences{position:absolute;top:66px;left:max(20px,env(safe-area-inset-left));display:flex;gap:6px;z-index:3}.world-preferences button{display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid #e3e7d1;border-radius:9px;background:#fbfbedee;color:#63794f;font-size:11px}.world-preferences button[aria-pressed=true]{background:#e2ecd2;color:#425e32}.world-preferences b:empty{display:none}.world-preferences b{background:#ba8062;color:#fff;padding:1px 5px;border-radius:8px;font-size:10px}.map-focus .world-preferences{display:none}.garden-canvas canvas,.garden-canvas canvas:active{cursor:default}
.room-group-title{font-size:13px;font-weight:600;color:#5d704a;margin:22px 0 10px}.room-group-title span{font-size:11px;color:#8b9b76;margin-left:5px}.empty-room-list{font-size:12px;color:#79876b;padding:18px 4px;line-height:1.9}.room-design-dialog{width:620px}.template-choices{padding:0;border:0;margin:22px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.template-choices legend{font-size:12px;font-weight:600;color:#61734f;margin-bottom:12px}.template-option{position:relative;display:flex;flex-direction:column;padding:10px;border:1px solid #dfe3cf;border-radius:12px;gap:7px;background:#f9f9f0;cursor:pointer}.template-option:has(input:checked){border-color:#789159;box-shadow:0 0 0 1px #789159;background:#f0f5e5}.template-option input{position:absolute;top:10px;right:10px;accent-color:#6f8954;width:16px;height:16px;z-index:1}.template-art{height:82px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:43px;background:linear-gradient(#d4e4cd 55%,#a9bf84 55%);border-radius:8px}.template-art i{font-style:normal;font-size:24px}.coast .template-art{background:linear-gradient(#b3d7df 50%,#eddfb8 50%)}.forest .template-art{background:linear-gradient(#a1bba1 50%,#829568 50%)}.template-option strong{font-size:13px;color:#4e6540}.template-option small{font-size:10px;line-height:1.7;color:#758364}.room-color-field{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eff2e5;border-radius:10px;padding:14px}.room-color-field label{display:flex;flex-direction:column;gap:6px}.room-color-field strong{font-size:12px;color:#5f744c}.room-color-field small{font-size:11px;color:#778969}.room-color-field input[type=color]{width:60px;height:45px;padding:4px;border:1px solid #cbd5ba;border-radius:8px;cursor:pointer}.bgm-choice{display:flex;gap:8px}.bgm-choice select{flex:1;min-width:0;font:inherit;font-size:13px;padding:12px;border:1px solid #dbdfcc;border-radius:9px;background:#fffdf5;color:#5e714c}.bgm-choice button{white-space:nowrap}.room-design-dialog form>.primary{margin-top:22px}.nickname-note{font-size:12px;line-height:1.8;color:#7d8969;margin:14px 0 20px}.arrival-list article{display:flex;gap:13px;padding:19px 0;border-bottom:1px solid #e8ebdd}.arrival-list article>span{font-size:25px}.arrival-list strong{font-size:13px;font-weight:500;line-height:1.8;display:block}.arrival-list small{font-size:10px;color:#859373;margin-top:5px;display:block}.profile-dialog .dialog-actions{flex-wrap:wrap}.profile-dialog .dialog-actions button{min-width:45%}.setting-row input[type=checkbox]{accent-color:#769257;width:22px;height:22px;flex-shrink:0}#music-volume{accent-color:#829c68;padding:0;height:35px}
.welcome-shell{position:fixed;inset:0;overflow:auto;background:#f6f5ec}.welcome-shell header{display:flex;align-items:center;justify-content:space-between;padding:24px 6vw;border-bottom:1px solid #e1e5d3}.welcome-shell header>span{font-size:12px;color:#879574}.welcome-main{max-width:800px;margin:auto;padding:54px 20px;text-align:center}.welcome-art{height:130px;display:flex;align-items:center;justify-content:center;gap:32px}.welcome-art b{font-size:95px;font-weight:400}.welcome-art span{font-size:45px}.welcome-main .eyebrow{margin-top:15px;color:#8a9a73}.welcome-main h1{font-size:39px;font-weight:500;line-height:1.5;letter-spacing:-1.7px;color:#506641;margin:18px 0}.welcome-main>p:not(.eyebrow){font-size:14px;line-height:2;color:#7f8a70}.welcome-main>.primary{display:inline-flex;margin:28px auto 10px;min-height:48px}.welcome-main>p.welcome-note{font-size:11px}.welcome-main>.text-button{display:block;margin:25px auto}.boot-screen{min-height:var(--app-height,100dvh)}
@media(max-width:760px){.room-switch .room-menu-label{font-size:10px;padding-right:6px}.room-switch>span:not(.room-menu-label){display:none}.world-preferences{top:55px;left:10px;gap:4px;max-width:calc(100% - 68px);flex-wrap:wrap}.world-preferences button{min-height:36px;padding:6px 8px;font-size:10px;gap:4px}.world-preferences svg{width:15px}.template-choices{gap:6px}.template-option{padding:7px;gap:5px}.template-art{height:65px;font-size:31px;gap:5px}.template-art i{font-size:17px}.template-option strong{font-size:11px}.template-option small{font-size:9px}.template-option input{right:7px;top:7px}.room-design-dialog{padding:22px 17px}.room-color-field small{font-size:10px}.bgm-choice select{font-size:16px}.welcome-shell header{padding:18px}.welcome-shell header .map-brand strong{display:block;font-size:19px}.welcome-shell header>span{display:none}.welcome-main{padding:30px 20px}.welcome-main h1{font-size:29px}.welcome-art{height:120px}.welcome-art b{font-size:77px}.welcome-art span{font-size:34px}.welcome-main>p:not(.eyebrow){font-size:12px}.arrival-list strong{font-size:12px}}
@media(max-height:520px) and (orientation:landscape){.world-preferences{top:52px}.map-tools{top:9px}.room-design-dialog{max-height:92dvh}.welcome-main{padding-top:10px}.welcome-art{display:none}}

/* A notebook that grows at the visitor's pace. */
.taste-book-dialog{width:760px;padding:28px 32px}.book-intro{display:flex;align-items:center;gap:22px;margin-bottom:22px}.book-intro p{font-size:14px;line-height:1.8;color:#667453;margin:0 0 7px}.book-intro small{font-size:11px;color:#849273}.book-intro>strong{margin-left:auto;white-space:nowrap;font-size:20px;color:#64814e;padding:20px 12px;background:linear-gradient(to top,#e3ebd5 var(--progress),#f0f3e8 var(--progress));border-radius:14px;min-width:100px;text-align:center}.book-tabs{display:flex;border-bottom:1px solid #e3e7d7;margin-bottom:12px}.book-tabs button{padding:13px 20px;color:#829072;border-bottom:2px solid transparent;font-size:14px}.book-tabs button[aria-pressed=true]{color:#4b6938;border-color:#79965d;font-weight:600}.book-save{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#82916d;margin:12px 0}.book-save button{padding:6px 9px;border:1px solid #dce3cf;border-radius:7px;color:#6e8059}.book-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:18px 0 24px}.book-categories button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #e2e7d7;border-radius:10px;padding:10px 3px;color:#758564;font-size:11px;min-height:80px}.book-categories button>span{font-size:22px}.book-categories button>small{font-size:10px;opacity:.7}.book-categories button[aria-pressed=true]{border-color:#90a774;background:#eef3e5;color:#4b6636}.book-question{border:1px solid #e2e5d7;border-radius:12px;background:#fffef8;margin:10px 0;padding:0 15px}.book-question summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none;min-height:64px;padding:12px 0;font-size:14px;line-height:1.6;color:#526746}.book-question summary::-webkit-details-marker{display:none}.book-question summary>span{color:#a0ad8c;font-size:12px;flex-shrink:0}.book-question summary>b{margin-left:auto;color:#74925d}.book-question[open]{background:#f9faf2}.book-question textarea{width:100%;font-family:inherit;font-size:15px;line-height:1.9;background:#fffef9;border:1px solid #e0e5d2;border-radius:9px;padding:13px;resize:vertical;color:#4d6040;box-sizing:border-box}.book-question>small{display:block;font-size:10px;color:#91a17b;padding:8px 0 13px}.book-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:2;color:#657451;padding:0 0 17px 26px;margin:0}.book-detail-intro{font-size:13px;line-height:1.9;color:#7c8b6a}.book-details section{padding:20px 0;border-bottom:1px solid #e3e7d7}.book-details h3{font-size:15px;font-weight:500;color:#587145;margin:0 0 14px}.book-details h3 small{float:right;color:#a1af8e;font-size:11px}.book-tags{display:flex;flex-wrap:wrap;gap:7px}.book-tags button,.book-tags>span{padding:8px 12px;border-radius:20px;background:#f1f3e8;color:#7a8b65;font-size:12px;border:1px solid #e4e8d8;min-height:36px}.book-tags button[aria-pressed=true]{background:#dfead1;color:#4d6f37;border-color:#a5bd88}.book-tags>small{font-size:12px;color:#96a285}.book-custom{display:flex;gap:7px;margin-top:13px}.book-custom input{padding:9px 12px!important;min-width:0;max-width:260px;font-size:13px}.book-custom button{padding:8px 15px;background:#e8eede;border-radius:9px;white-space:nowrap;font-size:12px;color:#657e4e}.taste-book-dialog .fine-print{margin-top:24px}
/* Space chat stays open; invitation conversations are opt-in. */
.conversation-notice{position:absolute;z-index:8;bottom:calc(var(--dock-height,58px) + var(--dock-edge,12px) + 12px);left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 24px));border:1px solid #c8d4b5;border-radius:15px;background:#fffdf2;box-shadow:0 8px 30px #314d282b;padding:13px 15px;color:#475d38;display:flex;gap:12px;align-items:center;pointer-events:auto}
.conversation-notice[hidden]{display:none}.conversation-notice-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.conversation-notice-copy strong{font-size:13px;line-height:1.5}.conversation-notice-copy span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#718360}.conversation-notice-actions{display:flex;gap:5px;align-items:center}.conversation-notice-actions button{min-height:40px;padding:8px 10px;border-radius:9px;font-size:12px;white-space:nowrap}.conversation-notice-actions>button:last-child{color:#697e53;padding:8px 5px}
.conversation-inbox-link{margin:6px 12px 0;padding:8px 10px;border:1px solid #d6e1c7;background:#eef4e5;color:#4e6a39;border-radius:9px;font-size:12px;width:calc(100% - 24px);text-align:left;min-height:40px}
.circle-status{display:flex;flex-direction:column;gap:4px;flex-shrink:0;margin:4px 12px 8px;padding:9px 11px;border-radius:9px;background:#f0f3e8;color:#4c663b;font-size:11px;line-height:1.5}.circle-status strong{font-size:12px}.circle-status>span{color:#72845f}.circle-status button{align-self:flex-start;text-decoration:underline;min-height:35px}.circle-status .circle-error{color:#a25c3d}.chat-form input:disabled,.chat-form button:disabled{opacity:.55;cursor:not-allowed}.map-stage .circle-heading{padding:10px 13px 3px;flex-shrink:0}.map-stage .circle-heading>strong{font-size:14px}.map-stage .circle-members{margin-top:5px}.map-stage .circle-controls{margin-top:4px}.map-stage .conversation-toolbar{gap:4px}.map-stage .conversation-toolbar>button{padding:7px 5px;min-height:40px}.map-stage #conversation-inbox{flex-shrink:0}
@media(max-width:600px){.conversation-notice{padding:10px 12px;gap:8px;flex-wrap:wrap}.conversation-notice-copy{flex-basis:100%}.conversation-notice-actions{width:100%;justify-content:flex-end}.conversation-notice-actions button{min-height:42px;padding:8px 17px}.map-stage .conversation-toolbar select{font-size:11px}}
.conversation-toolbar{display:flex;gap:6px;padding:12px 12px 7px;flex-shrink:0;border-bottom:1px solid #e7ebde}.conversation-toolbar select{min-width:0;flex:1;font:inherit;font-size:11px;color:#5e754b;background:#f1f4e9;border:1px solid #dfe5d3;border-radius:8px;padding:9px 6px}.conversation-toolbar>button{white-space:nowrap;padding:8px;font-size:11px;color:#70835c;border:1px solid #dfe5d3;border-radius:8px}.conversation-toolbar b,#conversation-count{background:#bc8366;color:white;border-radius:9px;padding:1px 5px;font-size:10px}.conversation-toolbar b:empty,#conversation-count:empty{display:none}.circle-heading{padding:17px 15px 5px;color:#526b40}.circle-heading>strong{font-size:16px;font-weight:500}.circle-members{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.circle-members span{background:#edf1e3;font-size:10px;border-radius:10px;padding:4px 7px;color:#7b8f63}.circle-controls{display:flex;gap:12px;margin-top:11px}.circle-controls button{font-size:11px;color:#7a9261;padding:5px 0}.circle-controls button:last-child{margin-left:auto;color:#ab8e76}.conversation-dialog{width:560px}.conversation-dialog select{width:100%;padding:13px;font-size:14px;font-family:inherit;border:1px solid #dfe5d3;border-radius:10px;background:#fffdf5;color:#587145}.conversation-dialog form>.primary{margin-top:22px}.circle-invitation{border:1px solid #dce6ce;background:#f2f6ea;border-radius:13px;padding:18px;margin:11px 0}.circle-invitation>strong{font-size:16px;color:#526c3c}.circle-invitation>p{font-size:12px;color:#798c63;margin:10px 0}.circle-invitation>small{font-size:11px;line-height:1.8;color:#8b9b76;display:block}.circle-invitation>div{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.circle-invitation button{font-size:12px;padding:10px}.circle-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.circle-list>button{border:1px solid #e0e5d4;background:#fafbf4;padding:15px;text-align:left;border-radius:10px;display:grid;grid-template-columns:1fr 20px;gap:6px}.circle-list>button strong{font-size:14px;font-weight:500;color:#5b7349}.circle-list>button small{grid-column:1;font-size:11px;color:#8a9c74;line-height:1.7}.circle-list>button svg{grid-column:2;grid-row:1/3;align-self:center;color:#9cac87}
@media(max-width:760px){.taste-book-dialog{width:calc(100% - 22px);padding:23px 17px}.book-intro{gap:12px}.book-intro p{font-size:12px}.book-intro small{font-size:10px}.book-intro>strong{min-width:76px;font-size:16px;padding:16px 8px}.book-categories{grid-template-columns:repeat(5,1fr);gap:4px}.book-categories button{font-size:9px;min-height:72px;gap:3px}.book-categories button>span{font-size:19px}.book-question{padding:0 12px}.book-question summary{font-size:13px}.book-question textarea{font-size:16px}.book-answer{font-size:14px;padding-left:0}.book-custom input{font-size:16px}.conversation-dialog{padding:24px 18px}.conversation-toolbar select{font-size:12px}.world-preferences{max-width:calc(100% - 70px)}.dock-bottom .gesture-controls button{min-width:35px;width:35px}}
.menu-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #dfe4d5;border-radius:10px;background:#f3f5eb;color:#576c48;font-size:13px;font-weight:600;white-space:nowrap}
.menu-back>svg{transform:rotate(180deg);flex-shrink:0}.menu-back:hover{background:#e9efdd}.menu-back:focus-visible{outline:2px solid #7c9365;outline-offset:2px}
#dialog>.dialog-top{position:sticky;top:0;z-index:3;background:#fffdf7;padding:8px 0;margin-top:-8px;gap:12px}
.map-stage .panel-tabs>.panel-close.menu-back{width:auto;min-width:78px;padding:5px 8px;height:38px;min-height:38px;border:1px solid #dfe4d5}
.map-stage .panel-tabs{gap:10px}.editor-heading .editor-back{margin-right:12px}.editor-heading .editor-brand{margin-right:auto}.back-arrow{font-size:19px;line-height:1}
.zone-button.is-walking{outline:2px dashed #9bab7d;outline-offset:-3px}.zone-button.is-walking svg{animation:walking-indicator .7s ease-in-out infinite alternate}
@keyframes walking-indicator{to{transform:translateY(-2px)}}
@media(max-width:760px){#dialog>.dialog-top{top:0}.editor-heading .editor-brand span{display:none}.editor-heading .editor-back{margin-right:8px;min-height:40px}.map-stage .panel-tabs>.panel-close.menu-back{font-size:11px;min-width:71px}}
@media(prefers-reduced-motion:reduce){.zone-button.is-walking svg{animation:none}}
#dialog>.dialog-top::before{content:"";position:absolute;inset:-40px 0 0;background:#fffdf7;z-index:-1;pointer-events:none}

/* A single compact dock leaves the whole garden available for walking. */
.map-stage{--dock-edge:max(12px,env(safe-area-inset-bottom));--dock-height:58px}
.map-stage .map-dock{bottom:var(--dock-edge);width:max-content;max-width:calc(100% - 24px);padding:5px 7px;border:1px solid #d8ddc5;border-radius:17px;background:#fffbedf5;box-shadow:0 6px 24px #263c2926;overflow:visible;display:block}
.dock-bar{display:flex;align-items:center;gap:5px;white-space:nowrap;min-height:46px}
.dock-bar button{min-height:44px;border-radius:10px;color:#526b42}
.dock-button{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 10px;font-size:12px;flex-shrink:0}
.dock-button>svg{flex-shrink:0}
.dock-button>svg:last-child{width:12px;opacity:.55;transform:rotate(-90deg)}
.dock-button[aria-expanded=true]>svg:last-child{transform:rotate(90deg)}
.dock-button[aria-expanded=true],.dock-bar button:hover{background:#e6edda}
.dock-room-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.dock-room-short,.dock-zone-short{display:none}
.dock-member{display:flex;align-items:center;gap:5px;font-size:11px;color:#7a8868}
.dock-member .green-dot{width:5px;height:5px}
.dock-divider{width:1px;height:22px;background:#dfe4ce;margin:0 2px;flex-shrink:0}
.dock-zone-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.dock-travel.is-walking>svg:first-child{animation:walking-indicator .7s ease-in-out infinite alternate}
.gesture-controls{display:flex;align-items:center;gap:2px}
.gesture-controls button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;background:none;border:0;border-radius:10px;font-size:22px}
.gesture-controls button:hover{background:#e6edda}
.dock-bar .dock-greetings{display:none}
.dock-bar .social-controls{gap:3px;padding:0;border:0;flex-shrink:0}
.dock-bar .social-controls button{flex-direction:row;min-width:64px;gap:6px;font-size:12px;padding:6px 8px}
.dock-bar .dock-profile{display:flex;align-items:center;gap:7px;min-width:44px;max-width:130px;padding:3px 6px;margin:0 0 0 3px}
.dock-profile .portrait{width:32px;height:32px;flex-shrink:0}
.dock-my-name{max-width:75px;font-size:12px;overflow:hidden;text-overflow:ellipsis}
.hud-tray{position:absolute;bottom:calc(var(--dock-edge) + var(--dock-height) + 9px);left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:flex-end;width:max-content;max-width:calc(100% - 24px);max-height:calc(100% - var(--dock-edge) - var(--dock-height) - 22px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:none;z-index:4;padding:1px 1px 3px;scroll-padding:1px;scroll-snap-type:x proximity}
.hud-tray .hud-popover{position:relative;inset:auto;display:flex;flex-direction:column;flex:0 0 320px;width:320px;min-width:0;min-height:0;max-height:min(480px,calc(var(--app-height,100dvh) - var(--dock-height) - var(--dock-edge) - 38px - env(safe-area-inset-top)));background:#fffbedfa;border:1px solid #d8ddc5;border-radius:16px;box-shadow:0 3px 12px #263c2917;overflow:auto;pointer-events:auto;scroll-snap-align:start}
.hud-tray [hidden]{display:none!important}
.hud-heading{position:sticky;top:0;z-index:1;background:#fffbed;display:flex;align-items:center;gap:5px;min-height:48px;padding:4px 9px 4px 15px;border-bottom:1px solid #e4e6d5;flex-shrink:0}
.hud-heading>strong{font-size:13px;font-weight:600;color:#566d45;flex:1}
.hud-pin,.hud-close{display:inline-grid;place-items:center;flex-shrink:0;width:36px;height:40px;min-height:40px;padding:0;border:0;border-radius:9px;color:#748165}
.hud-pin[aria-pressed=true]{color:#405d2f;background:#dfe8ce}
.hud-pin:hover,.hud-close:hover{background:#e8eddc}
.hud-popover .room-switch{max-width:none;flex:none;margin:12px 12px 0;min-height:48px;padding:8px 10px;gap:8px;text-align:left;background:#eff2e3}
.hud-popover .room-switch strong{flex:1;font-size:13px}
.hud-popover .room-switch .room-template-icon{display:inline;font-size:20px}
.hud-popover .room-switch .room-menu-label{display:inline;font-size:10px;border:0;padding:0;color:#7e8b6c}
.room-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 12px 7px}
.room-summary>button{display:flex;align-items:center;gap:5px;min-height:40px;padding:6px 8px;font-size:11px;color:#657b51;border-radius:8px}
.room-summary>button:hover{background:#e8eddc}
.room-summary .connection-status{font-size:10px;text-align:right}
.room-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 12px 12px}
.room-menu-grid>button{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid #e4e7d7;border-radius:9px;font-size:12px;text-align:left;color:#5f744d}
.room-menu-grid>button:hover,.room-menu-grid>button[aria-pressed=true]{background:#e8efdc}
.room-menu-grid b{background:#bc8366;color:#fff;padding:1px 5px;border-radius:8px;font-size:10px}
.room-menu-grid b:empty{display:none}
.room-map-tools{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #e4e6d5;padding:7px 12px;flex-shrink:0}
.room-map-tools>span{display:flex;gap:7px;align-items:center;color:#73835f;font-size:12px}
.room-map-tools .map-tools{position:static;display:flex;flex-direction:row;border:0;box-shadow:none;background:none;padding:0;gap:5px}
.room-map-tools .map-tools button{width:44px;height:44px;font-size:23px;border:1px solid #e3e7d3}
#hud-zones .zone-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;background:none;border:0}
#hud-zones .zone-button{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px;min-height:48px;flex-direction:row;border-radius:9px;border:1px solid #e1e6d1;font-size:12px;color:#687d51;white-space:nowrap}
#hud-zones .zone-button.active{background:#e5edda;border-color:#bacba3;color:#405f2d}
#hud-zones .zone-button:hover{background:#eef3e5}
#hud-zones .zone-button small{display:block;margin-left:auto;min-width:16px;padding:2px;font-size:10px;color:#7d8f69;background:none}
#hud-gestures .gesture-controls{justify-content:space-evenly;padding:12px}
.map-stage .hud-tray .people-panel{width:340px;flex-basis:340px;height:450px;overflow:hidden}
.map-stage .panel-tabs{gap:10px;min-height:52px;padding:0 10px}
.map-stage .panel-tabs>[role=tab]{font-size:13px;min-height:44px}
.map-stage .panel-tabs>.hud-pin{margin-left:auto;padding:0;border:0;min-width:36px;align-self:center}
.map-stage .panel-tabs>.panel-close{margin:0;width:36px;min-width:36px;border:0;align-self:center}
#toast{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px);max-width:calc(100vw - 30px)}
@media(min-width:1001px){#hud-gestures{display:none}}
@media(max-width:1000px){
 .dock-bar .gesture-shortcuts{display:none}.dock-bar .dock-greetings{display:flex}
 .dock-room-name{max-width:145px}.dock-my-name{display:none}
}
@media(max-width:600px){
 .map-stage{--dock-height:54px;--dock-edge:max(8px,env(safe-area-inset-bottom))}
 .map-stage .map-dock{width:calc(100% - 16px);max-width:440px;padding:4px;border-radius:14px}
 .dock-bar{min-height:44px;gap:0;justify-content:space-between}
 .dock-bar .dock-button{flex:1;min-width:0;padding:4px;gap:4px;font-size:11px}
 .dock-button>svg{width:17px;height:17px}.dock-button>svg:last-child{display:none}
 .dock-room-name,.dock-zone-name,.dock-divider{display:none}.dock-room-short,.dock-zone-short{display:inline}
 .dock-member{gap:0;font-size:10px}.dock-member .green-dot{display:none}
 .dock-bar .dock-room{flex:1.2}.dock-bar .social-controls{gap:0;flex:2}
 .dock-bar .social-controls button{flex:1;min-width:0;gap:4px;padding:4px;font-size:11px;flex-direction:row}
 .dock-bar .social-controls svg{width:17px;height:17px}
 .dock-bar .dock-profile{padding:4px;margin:0;min-width:44px;max-width:44px}
 .dock-profile .portrait{width:29px;height:29px}
 .gesture-symbol{font-size:17px}
 .hud-tray{max-width:calc(100% - 16px);gap:8px}
 .hud-tray .hud-popover,.map-stage .hud-tray .people-panel{flex-basis:calc(100vw - 20px);width:calc(100vw - 20px);max-width:420px;border-radius:14px}
 .map-stage .hud-tray .people-panel{height:min(440px,65dvh)}
 .map-stage .chat-form{padding:8px}
 .hud-pin,.hud-close{width:40px;height:44px;min-height:44px}
 #conversation-count{padding:1px 3px;font-size:9px}
}
@media(max-width:360px){.dock-button>svg:first-child,.dock-bar .social-controls svg{display:none}.dock-bar .dock-room{flex:1}.dock-bar .dock-button,.dock-bar .social-controls button{font-size:11px}}
@media(max-height:520px) and (orientation:landscape){
 .map-stage{--dock-edge:max(6px,env(safe-area-inset-bottom))}
 .hud-tray .hud-popover{max-height:calc(var(--app-height,100dvh) - var(--dock-height) - var(--dock-edge) - 24px)}
 .room-menu-grid{grid-template-columns:1fr 1fr}.hud-popover .room-switch{min-height:44px;margin-top:7px}
 .room-summary{margin-bottom:3px}.room-menu-grid{padding-bottom:7px}
}
@media(prefers-reduced-motion:reduce){.dock-travel.is-walking>svg:first-child{animation:none}}

/* Give conversations the available height while keeping the map dock accessible. */
.map-stage .panel-tabs>.affinity-menu{margin-left:auto;min-width:44px;min-height:36px;padding:4px 7px;font-size:11px;border:0;border-radius:8px;background:#e8efda;color:#526e3d;flex-shrink:0}
.affinity-badge{display:inline-block;background:#e6edce;color:#526e3d;border-radius:5px;font-size:10px;line-height:1.6;padding:1px 5px;white-space:nowrap;vertical-align:middle}
.affinity-card{background:#f2f5e9;border:1px solid #e1e8d2;border-radius:12px;padding:13px;margin:10px 0}
.affinity-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.affinity-card strong{font-size:13px}.affinity-card .affinity-badge{font-size:12px}
.affinity-card progress{display:block;width:100%;height:8px;margin:10px 0 6px;accent-color:#8caa5c;border:0;border-radius:10px;overflow:hidden;background:#dfe6d2}
.affinity-card progress::-webkit-progress-bar{background:#dfe6d2}.affinity-card progress::-webkit-progress-value{background:#8caa5c;border-radius:10px}
.affinity-card small{font-size:11px;color:#667556}
.map-stage .hud-tray .people-panel.chat-mode{width:520px;flex-basis:520px;max-width:calc(100vw - 20px);height:min(780px,calc(var(--app-height,100dvh) - var(--dock-height) - var(--dock-edge) - 24px - env(safe-area-inset-top)));max-height:none}
.map-stage .chat-mode .panel-tabs{min-height:44px;flex-shrink:0}
.map-stage .chat-mode #panel-body{overflow:hidden}
.map-stage .chat-mode .conversation-toolbar{padding:4px 10px;gap:4px;min-height:48px}
.map-stage .chat-mode .conversation-toolbar select{min-width:0;min-height:40px}
.map-stage .chat-mode .circle-details{flex-shrink:0;border-bottom:1px solid #e5e7d8}
.map-stage .chat-mode .circle-details>summary{cursor:pointer;padding:8px 13px;font-size:11px;color:#6b785e;min-height:32px;line-height:16px}
.map-stage .chat-mode .circle-details[open]>summary{padding-bottom:3px}
.map-stage .chat-mode .circle-heading{padding:3px 13px 7px;max-height:150px;overflow:auto}
.map-stage .chat-mode .circle-members{margin-top:3px}
.map-stage .chat-mode .circle-controls{margin-top:2px}
.map-stage .chat-mode .circle-status{margin:0;padding:6px 13px;border-radius:0;font-size:11px;gap:2px}
.map-stage .chat-mode .chat-heading{padding:8px 13px 2px;flex-shrink:0}
.map-stage .chat-mode .chat-hint{padding:0 13px 7px;margin:0;flex-shrink:0;font-size:11px}
.map-stage .chat-mode .chat-messages{height:auto;min-height:0;flex:1;padding:12px;gap:10px;background:#f2f3e9;scroll-padding:12px;touch-action:pan-y;overscroll-behavior-y:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch}
.map-stage .chat-mode .chat-message{max-width:86%;flex-shrink:0;align-self:flex-start;min-width:0}
.map-stage .chat-mode .chat-message.mine{align-self:flex-end}
.map-stage .chat-mode .chat-message small{display:block;font-size:10px;line-height:15px;color:#7c8371}
.map-stage .chat-mode .chat-message time{font-size:9px;margin-left:6px}
.map-stage .chat-mode .chat-message.mine small{text-align:right}
.map-stage .chat-mode .chat-message p{margin:3px 0 0;padding:8px 11px;font-size:14px;line-height:1.5;color:#35452f;background:#fffdf7;border-radius:3px 12px 12px;word-break:break-word}
.map-stage .chat-mode .chat-message.mine p{background:#e1ebc6;border-radius:12px 3px 12px 12px}
.map-stage .chat-mode .chat-form{padding:8px 10px;gap:6px;border-radius:0;border-width:1px 0 0}
.map-stage .chat-mode .chat-form input{flex:1;padding:8px 10px;min-width:0;font-size:16px;border-radius:9px;background:#f2f3e9}
.map-stage .chat-mode .chat-form button{flex-shrink:0;border-radius:9px}
.map-stage .chat-mode .panel-tabs{gap:6px}
.map-stage .chat-mode .panel-tabs>.affinity-menu{display:none}
.map-stage .panel-tabs>.chat-size-toggle{margin-left:auto;min-width:56px;min-height:40px;padding:4px 7px;border:0;border-radius:8px;background:#e8efda;color:#526e3d;font-size:12px;white-space:nowrap}
.map-stage .chat-mode .panel-tabs>.hud-pin{margin-left:0}
/* A larger reading area, also used when typing on a narrow phone screen.
   Hide other menus temporarily; their pin state is left intact. */
.map-stage.chat-expanded .hud-tray{top:max(6px,env(safe-area-inset-top));bottom:max(6px,env(safe-area-inset-bottom));width:min(800px,calc(100% - 12px));max-width:none;max-height:none;overflow:hidden;padding:0;z-index:8}
.map-stage.chat-expanded .hud-tray .people-panel.chat-mode{width:100%;max-width:none;flex:1 1 auto;height:100%;max-height:none}
.map-stage.chat-expanded .map-dock,.map-stage.chat-expanded .hud-tray>[data-hud-section]:not(#social-panel){display:none!important}
.map-stage.chat-expanded .chat-hint{display:none}
.map-stage.chat-expanded .chat-heading{padding:5px 13px}
.map-stage.chat-expanded .chat-mode .conversation-toolbar{padding:2px 8px;min-height:44px}
.map-stage.chat-expanded .chat-mode .circle-details>summary{padding:5px 12px;min-height:26px}
@media(max-width:600px){.map-stage .hud-tray .people-panel.chat-mode{width:calc(100vw - 20px);flex-basis:calc(100vw - 20px)}}
@media(max-height:520px){
 .map-stage .chat-mode .panel-tabs{min-height:40px}
 .map-stage .chat-mode .panel-tabs>[role=tab],.map-stage .chat-mode .hud-pin,.map-stage .chat-mode .hud-close{min-height:40px;height:40px}
 .map-stage .chat-mode .conversation-toolbar{min-height:40px;padding:0 8px}
 .map-stage .chat-mode .circle-details>summary{padding:4px 12px;min-height:24px}
 .map-stage .chat-mode .circle-status{padding:3px 12px}
 .map-stage .chat-mode .chat-messages{padding:8px;gap:6px}
 .map-stage .chat-mode .chat-form{padding:4px 8px}
}

.place-editor{margin:26px 0 18px;padding-top:22px;border-top:1px solid #dedfce}
.place-editor h3{margin:0 0 6px;font-size:18px;color:#45563e}
.place-editor>p{font-size:13px;line-height:1.6;color:#6d7965}
.place-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.place-name-fields label{display:grid;gap:7px;font-size:12px;color:#65725c;min-width:0}
.place-name-fields label>span{border-left:3px solid var(--place-color);padding-left:7px}
.place-name-fields input{width:100%;min-width:0;margin:0}
.place-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.place-select button{font-size:12px;padding:9px 5px;border:1px solid #d8dfcc;background:#f8f8ef;border-radius:9px;overflow-wrap:anywhere;min-height:42px}
.place-select button[aria-pressed=true]{background:#677f59;color:#fff;border-color:#677f59}
.place-map{border:1px solid #cbd5bd;border-radius:16px;overflow:hidden;cursor:crosshair;outline-offset:3px}
.place-map svg{display:block;width:100%;height:auto;aspect-ratio:58/46;touch-action:manipulation}
.place-map [data-place-select]{cursor:pointer}
.place-sliders{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.place-sliders label{display:grid;gap:6px;font-size:12px;color:#65725c}
.place-sliders input{width:100%;accent-color:#677f59}
.place-validation{min-height:22px;margin:10px 0 2px!important;color:#527249!important}
.place-validation.invalid{color:#a24f3d!important}
.onboarding-dialog{width:500px;max-width:calc(100vw - 24px)!important;box-sizing:border-box}
.support-dialog{width:410px;max-width:calc(100vw - 24px);background:linear-gradient(155deg,#fbf6e9,#ecefdd);border:1px solid #d4dcc7}
.support-dialog h2{font-size:23px;letter-spacing:-.7px}.support-intro{text-align:center;padding:5px 0 22px}.support-intro>span{display:block;font-size:42px;margin-bottom:14px}.support-intro p{font-size:15px;font-weight:600;color:#4c6142;margin:0 0 8px}.support-intro small{display:block;font-size:12px;line-height:1.8;color:#7b866a;max-width:250px;margin:auto}
.support-bank{padding:20px;border-radius:17px;background:linear-gradient(125deg,#536f61,#39574c);box-shadow:0 5px 15px #2b4c3820;color:#f5f5de}.support-bank>span{display:block;font-size:12px;color:#dce7d6}.support-bank input{color:#fff9e4!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 0!important;font-size:20px!important;font-weight:650;letter-spacing:.5px;width:100%;margin:0!important}.support-copy{width:100%;border:1px solid #dce8d443;border-radius:10px;background:#ffffff12;color:#fff7de;padding:11px;min-height:44px;font:inherit;font-size:13px;cursor:pointer}.support-copy:hover{background:#ffffff22}.support-instruction{font-size:12px!important;line-height:1.8!important;margin:14px 4px 22px!important;color:#77846a!important}.support-note{border-top:1px solid #dbe0cd;padding-top:18px}.support-note strong{font-size:12px;color:#60744d}.support-note p,.support-pending{font-size:12px;line-height:1.9;color:#7c886e}.support-link{margin:15px 0}.support-dialog .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.onboarding-dialog .invite-room{margin:4px 0 14px}
.onboarding-dialog .invite-room p{margin:4px 0 0;font-size:12px}
.onboarding-dialog .dialog-description{font-size:14px;line-height:1.7}
.onboarding-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.onboarding-pair label{display:grid;align-content:start;gap:8px;min-width:0}
.onboarding-pair input,.onboarding-pair select{width:100%;min-width:0;height:52px;margin:0;box-sizing:border-box}
.onboarding-pair select{font:inherit;font-size:16px;color:#47563b;background:#fffefa;border:1px solid #dfe3d5;border-radius:12px;padding:12px}
.onboarding-dialog .public-notice{font-size:12px;line-height:1.6;margin:14px 0;padding:12px}
.onboarding-dialog .check-label{font-size:13px;margin-bottom:14px}
.onboarding-error{color:#a24f3d;font-size:13px}
.rest-reminder{position:absolute;z-index:24;left:20px;bottom:94px;width:min(355px,calc(100% - 28px));padding:20px 18px 16px;border:1px solid #dce1ca;border-radius:18px;background:#fffdef;box-shadow:0 8px 24px #31462825;color:#47563b}
.rest-reminder[hidden]{display:none}
.rest-reminder>strong{display:block;font-size:14px;padding-right:18px;line-height:1.5}
.rest-reminder p{font-size:12px;line-height:1.65;color:#738064;margin:8px 0 14px}
.rest-reminder>div{display:flex;gap:7px;align-items:center;justify-content:flex-end}
.rest-reminder>div button{font-size:12px;min-height:38px;padding:8px 10px}
.rest-reminder-close{position:absolute;right:7px;top:7px;width:32px;height:32px;background:none;border:0;font-size:23px;color:#718064;cursor:pointer}
@media(max-width:600px){.place-name-fields{gap:9px}.place-select button{font-size:11px}.rest-reminder{left:14px;bottom:80px;padding:16px 14px 12px}.rest-reminder p{margin-bottom:9px}.onboarding-dialog{padding:20px 18px}.onboarding-pair{gap:10px}}

/* Small, precise leaf/paw cursors keep native text selection and touch behavior. */
@media (hover:hover) and (pointer:fine){
 body,.garden-canvas canvas{cursor:url('/art/cursor-sprout.svg') 3 2,auto}
 button,a,label[for],select,summary,[role=button],.world-person-label{cursor:url('/art/cursor-paw.svg') 13 3,pointer!important}
 input,textarea,[contenteditable=true]{cursor:text!important}
 input[type=range],input[type=checkbox],input[type=radio],input[type=color]{cursor:url('/art/cursor-paw.svg') 13 3,pointer!important}
}
.rest-controls{position:absolute;z-index:4;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:7px 8px 7px 17px;border:1px solid #fff8e3a8;border-radius:30px;background:#fff9eced;box-shadow:0 5px 24px #556e7117;color:#65735b;white-space:nowrap;backdrop-filter:blur(12px)}
.rest-controls[hidden]{display:none}.rest-controls span{font-size:12px;margin-right:6px}.rest-controls button{font:inherit;font-size:12px;min-height:38px;padding:8px 13px;border:0;border-radius:23px;background:#e7ebda;color:#576d50}.rest-controls button:last-child{background:transparent}.rest-controls.is-sky{background:#fff9eeeb;color:#727a88}.rest-controls.is-sky button{background:#e3e9ec;color:#607483}
@media(max-width:600px){.rest-controls{padding:5px 6px;gap:2px;top:max(12px,env(safe-area-inset-top))}.rest-controls span{display:none}.rest-controls button{min-height:38px}}

/* Labels use transforms so orbiting never interleaves layout reads and writes. */
.world-labels .world-person-label{left:0;top:0;will-change:transform}
.world-labels .world-person-label.mine{pointer-events:none;user-select:none}
.garden-canvas canvas{touch-action:none;user-select:none;-webkit-user-select:none}
.place-name-action{position:absolute;left:50%;bottom:94px;transform:translateX(-50%);z-index:3;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #dce1c9;border-radius:24px;background:#fff9ecee;color:#61714f;padding:10px 17px;font:inherit;font-size:12px;min-height:42px;box-shadow:0 3px 15px #344c2520}
.place-name-action[hidden]{display:none}.place-unnamed{display:block;font-size:10px;font-style:normal;color:#929985;line-height:1.4}.place-name-buttons{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.place-name-dialog{width:min(420px,calc(100vw - 28px));max-width:calc(100vw - 28px);margin:auto}.place-name-fields input[readonly]{background:#f3f3e9;color:#89907b}
@media(max-width:600px){.place-name-action{bottom:78px;min-height:38px;padding:8px 13px}.place-name-dialog{padding:22px 18px}}

#hud-zones .zone-button{min-width:0}#hud-zones .zone-button>span{min-width:0;overflow-wrap:anywhere;white-space:normal}#hud-zones .zone-button>svg{flex-shrink:0}

/* Keep delivery feedback alongside the composer, including after a failed retry. */
.space-chat-status{flex-shrink:0;margin:0!important;padding:5px 16px;font-size:12px;line-height:1.5;color:#657450;background:#f3f5e9}
.space-chat-status[hidden]{display:none}.space-chat-status.send-error{color:#964f3a;background:#fff1e7}

