.park-shell{position:fixed;inset:0;z-index:75;background:#f8f7ef;color:#496246;font-family:Inter,"Segoe UI",sans-serif;display:flex;flex-direction:column}.park-shell[hidden]{display:none}.park-shell button,.park-shell select{font:inherit}.park-shell button:focus-visible,.park-shell select:focus-visible,.park-shell canvas:focus-visible{outline:3px solid #caa85f;outline-offset:3px}.park-header{height:85px;display:flex;align-items:center;gap:15px;padding:0 30px;border-bottom:1px solid #e4e9d8;flex-shrink:0;position:relative;z-index:2;background:#fbfaf4}.park-brand-mark{height:43px;width:43px;border-radius:13px;background:#eaf0df;display:grid;place-items:center;color:#8ea779}.park-brand-mark svg{height:24px;width:24px}.park-kicker,.park-side-kicker{font-size:8px;letter-spacing:1.7px;color:#a1af8e;font-weight:650}.park-header h2{font:400 30px Georgia,serif;letter-spacing:-.8px;line-height:1.1;margin:6px 0 0;color:#4c6749}.park-connection{display:flex;align-items:center;gap:7px;font-size:10px;color:#a2af90;margin-left:auto;padding:8px 13px;background:#f1f3e8;border-radius:20px}.park-connection i{height:5px;width:5px;border-radius:50%;background:#b9bd9d}.park-connection.online i{background:#8fb77a}.park-connection.offline{color:#b08a57;background:#f4eedb}.park-connection.offline i{background:#c6a15f}.park-connection.pending i{background:#b3b880}.park-exit{display:flex;gap:17px;align-items:center;background:transparent;border:1px solid #e4e8d8;padding:10px 12px;border-radius:9px;font-size:10px;color:#95a481;min-height:39px;cursor:pointer}.park-exit:hover{background:#eef2e3}.park-exit>span{font-size:22px;line-height:.8;color:#9ba98a}.park-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;min-height:0;flex:1}.park-world{position:relative;min-width:0;min-height:0;background:#dfe7d0;overflow:hidden}.park-canvas{display:block;height:100%;width:100%;outline:none;touch-action:none;cursor:crosshair}.park-side{padding:29px 23px 20px;overflow:auto;border-left:1px solid #e1e6d4;background:#fbfaf4;scrollbar-width:thin;scrollbar-color:#cdd7ba transparent}.park-side-kicker{font-size:7px;letter-spacing:1.3px;margin-bottom:12px}.park-room-label{display:block;font-size:10px;color:#90a27d;line-height:1.6}.park-room-label select{width:100%;min-height:40px;border:1px solid #dfe6d0;background:#f6f7eb;border-radius:8px;color:#789365;padding:9px 8px;font-size:10px;margin-top:6px}.park-occupancy{display:flex;gap:6px;align-items:center;font-size:9px;color:#acb69d;margin:16px 0 23px}.park-occupancy svg{height:17px;width:17px;color:#a8b794}.park-occupancy strong{font-size:15px;font-weight:500;color:#849e70}.park-participant-heading{display:flex;justify-content:space-between;align-items:center;gap:7px;border-top:1px solid #e6eada;padding-top:20px}.park-participant-heading h3{font-family:Georgia,serif;font-weight:400;font-size:19px;margin:0;color:#6f8960}.park-participant-heading>span{font-size:7px;color:#afba9a;border:1px solid #e3e8d4;border-radius:20px;padding:4px 7px}.park-participants{margin:14px 0 8px;padding:0;list-style:none;max-height:185px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d3ddc1 transparent}.park-participants>li{display:flex;align-items:center;gap:8px;min-height:39px;padding:5px 0;border-bottom:1px solid #edf0e4;font-size:10px;color:#8da17a}.park-player-avatar{height:27px;width:27px;border-radius:50%;background:color-mix(in srgb,var(--avatar),transparent 82%);color:var(--avatar);display:grid;place-items:center;flex-shrink:0;font-family:Georgia,serif;font-size:15px}.park-player-name{overflow-wrap:anywhere;min-width:0;flex:1}.park-you-label{font-size:7px;color:#b1a170;background:#f2edd7;border-radius:10px;padding:4px 6px}.park-presence-dot{height:4px;width:4px;border-radius:50%;background:#9abb81;margin-left:auto}.park-list-empty{font-size:9px!important;color:#b0b99f!important;line-height:1.7;padding:13px 0!important}.park-presence-note{font-size:8px;line-height:1.8;color:#adb79c;margin:13px 0 27px}.park-hotspot-links{display:flex;flex-direction:column;gap:8px}.park-hotspot-links>button{display:flex;align-items:center;gap:10px;border:1px solid #e6e8d8;border-radius:10px;padding:13px 10px;background:#f5f6e9;text-align:left;color:#a2b28a;cursor:pointer}.park-hotspot-links>button:hover{background:#edf2df;border-color:#d6e0c4}.park-hotspot-links>button>svg:first-child{height:22px;width:22px;color:#a6b68c}.park-hotspot-links>button>svg:last-child{height:14px;width:14px;margin-left:auto;color:#b4bfa3}.park-hotspot-links>button>span{min-width:0}.park-hotspot-links strong{font-size:10px;color:#8fa67a;display:block;font-weight:600}.park-hotspot-links small{display:block;font-size:8px;color:#b1bba0;margin-top:5px}.park-help{border-top:1px solid #e6eada;margin-top:24px;padding-top:20px}.park-help strong{font-family:Georgia,serif;font-size:16px;font-weight:400;color:#91a57e}.park-help p{font-size:8px;line-height:1.9;color:#afbaa0;margin:10px 0}.park-map-caption{position:absolute;left:27px;bottom:26px;pointer-events:none;color:#799369;display:flex;flex-direction:column;gap:9px;text-shadow:0 1px #fff5}.park-map-caption>span{font-size:9px;letter-spacing:4px}.park-map-caption>em{font:italic 12px Georgia,serif;color:#93a67d}.park-map-controls{position:absolute;left:23px;top:24px;display:flex;gap:5px;padding:6px;border:1px solid #ffffff80;border-radius:11px;background:#fcfaefce;backdrop-filter:blur(8px);box-shadow:0 3px 12px #5d754811}.park-map-controls>button{height:37px;width:36px;background:transparent;border:0;border-radius:7px;color:#9caf88;font-size:25px;position:relative;cursor:pointer}.park-map-controls>button:hover{background:#eaf0db}.park-map-controls svg{height:19px;width:19px;margin:0 auto}.park-map-controls kbd{position:absolute;bottom:-5px;right:2px;font-size:7px;font-family:inherit;color:#b9bc9b}.park-emotes{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:5px;padding:7px 9px;background:#fbf9e9ed;border:1px solid #fff8;border-radius:14px;box-shadow:0 5px 15px #54734816;backdrop-filter:blur(8px)}.park-emotes>button{height:55px;width:64px;border:1px solid transparent;border-radius:9px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#9bac7f;transition:background .2s}.park-emotes>button:hover{background:#edf1de;border-color:#dbe3c8}.park-emotes>button>span{font-size:25px;line-height:1;filter:saturate(.55)}.park-emotes>button>small{font-size:7px;color:#aab694}.park-emotes>button:disabled{opacity:.42;cursor:wait}.park-touch-pad{display:none}.park-destination{position:absolute;top:29px;left:50%;transform:translateX(-50%);font-size:9px;color:#a7b590;background:#f7f6e8dd;padding:8px 12px;border-radius:18px;pointer-events:none}.park-stale .park-participants{opacity:.55}.park-stale .park-occupancy{color:#b49c6a}
@media(min-width:1600px){.park-layout{grid-template-columns:minmax(0,1fr) 310px}.park-side{padding:34px 28px}.park-header{padding:0 36px}.park-header h2{font-size:34px}.park-participants{max-height:260px}.park-presence-note,.park-help p{font-size:9px}.park-hotspot-links>button{padding:15px 13px}.park-hotspot-links strong{font-size:11px}.park-hotspot-links small{font-size:9px}}
@media(max-width:800px){.park-header{height:72px;padding:0 17px;gap:10px}.park-header h2{font-size:25px}.park-brand-mark{height:34px;width:34px;border-radius:10px}.park-brand-mark svg{width:20px;height:20px}.park-kicker{font-size:6px;letter-spacing:1px}.park-connection{font-size:8px;padding:7px 9px}.park-exit{font-size:0;gap:0;min-width:34px;padding:8px}.park-exit>span{font-size:23px}.park-layout{grid-template-columns:minmax(0,1fr) 220px}.park-side{padding:22px 16px}.park-participant-heading h3{font-size:17px}.park-map-caption{bottom:105px;left:18px}.park-emotes{bottom:23px}.park-emotes>button{width:53px}.park-map-controls{left:17px;top:18px}.park-touch-pad{position:absolute;left:17px;bottom:24px;display:grid;grid-template-columns:repeat(3,33px);grid-template-rows:repeat(2,33px);gap:3px}.park-touch-pad>button{border:1px solid #e2e9d3;background:#fbfaefc9;backdrop-filter:blur(6px);border-radius:8px;color:#a2b08b;touch-action:none;font-size:19px}.park-touch-pad>[data-park-control="up"]{grid-column:2}.park-touch-pad>[data-park-control="left"]{grid-column:1}.park-touch-pad>[data-park-control="down"]{grid-column:2}.park-touch-pad>[data-park-control="right"]{grid-column:3}}
@media(max-width:600px){.park-header{height:67px;padding:0 13px;gap:8px}.park-header h2{font-size:23px}.park-brand-mark{width:31px;height:33px}.park-kicker{font-size:5px;letter-spacing:.7px}.park-connection{font-size:7px;max-width:120px;line-height:1.45;gap:5px;padding:6px 7px;margin-left:auto}.park-connection i{flex-shrink:0}.park-exit{min-width:29px;padding:5px;border:0}.park-layout{display:flex;flex-direction:column}.park-world{flex:1;min-height:220px}.park-side{height:190px;flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:17px;padding:15px 17px;border-left:0;border-top:1px solid #dfe7ce;overflow:auto}.park-side>.park-side-kicker:first-child{display:none}.park-room-label{grid-column:1;grid-row:1;font-size:8px}.park-room-label select{min-height:34px;font-size:9px;margin-top:4px}.park-occupancy{grid-column:1;grid-row:2;font-size:7px;gap:4px;flex-wrap:wrap;margin:8px 0 12px}.park-occupancy strong{font-size:13px}.park-occupancy svg{height:14px;width:14px}.park-participant-heading{grid-column:2;grid-row:1;align-self:start;padding:0;border:0}.park-participant-heading h3{font-size:15px}.park-participant-heading>span{font-size:6px;padding:3px 5px}.park-participants{grid-column:2;grid-row:1 / 4;margin-top:25px;max-height:100px}.park-participants>li{min-height:30px;font-size:8px;gap:6px;padding:3px 0}.park-player-avatar{height:22px;width:22px;font-size:12px}.park-presence-note{grid-column:1;grid-row:3;font-size:6px;line-height:1.65;margin:0 0 12px}.park-side>.park-side-kicker:nth-of-type(2){display:none}.park-hotspot-links{grid-column:1 / 3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.park-hotspot-links>button{padding:8px 6px;gap:5px;border-radius:8px;min-height:43px}.park-hotspot-links>button>svg:first-child{height:16px;width:16px}.park-hotspot-links strong{font-size:7px;line-height:1.4}.park-hotspot-links small,.park-hotspot-links>button>svg:last-child{display:none}.park-help{grid-column:1 / 3;border:0;margin:6px 0 0;padding:0}.park-help strong{display:none}.park-help p{font-size:6px;margin:6px 0 0;line-height:1.6}.park-map-controls{top:12px;left:12px;padding:4px}.park-map-controls>button{height:28px;width:28px;font-size:22px}.park-map-controls kbd{font-size:6px}.park-map-controls svg{height:17px;width:17px}.park-emotes{bottom:16px;left:auto;right:12px;transform:none;gap:1px;padding:5px}.park-emotes>button{height:45px;width:43px;border-radius:7px}.park-emotes>button>span{font-size:21px}.park-emotes>button>small{font-size:5px}.park-map-caption{left:15px;bottom:102px;gap:6px}.park-map-caption>span{font-size:7px;letter-spacing:2.5px}.park-map-caption>em{font-size:10px}.park-touch-pad{left:13px;bottom:15px;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(2,30px);gap:3px}.park-touch-pad>button{font-size:17px}}
@media(prefers-reduced-motion:reduce){.park-shell *{transition:none!important}}
/* Keep the soft palette while making the room, presence and navigation text readable. */
.park-side-kicker{color:#758762;font-size:8px}.park-room-label{font-size:11px;color:#647b55}.park-room-label select{font-size:12px;color:#526e47}.park-occupancy{font-size:10px;color:#6d815c}.park-occupancy strong{color:#526e47}.park-participant-heading h3{color:#526e47}.park-participant-heading>span{color:#6e825c;font-size:8px}.park-participants>li{font-size:12px;color:#5e774f}.park-you-label{font-size:9px;color:#8b784a}.park-list-empty{font-size:10px!important;color:#738563!important}.park-presence-note{font-size:10px;color:#6d7f5e}.park-hotspot-links strong{font-size:11px;color:#5e784f}.park-hotspot-links small{font-size:10px;color:#728562}.park-help strong{color:#617b51}.park-help p{font-size:10px;color:#718360}.park-emotes>button>small{font-size:8px;color:#6d8157}.park-emotes>button:disabled{opacity:.58}.park-exit{font-size:11px;color:#657f54}.park-connection{color:#6d835b}.park-map-controls>button{color:#6c8359}
@media(max-width:800px){.park-exit{font-size:0}.park-room-label select{font-size:11px}.park-presence-note,.park-help p{font-size:10px}}
@media(max-width:600px){.park-side{height:230px}.park-side-kicker{font-size:8px}.park-room-label{font-size:10px}.park-room-label select{font-size:11px}.park-occupancy{font-size:9px}.park-participant-heading>span{font-size:7px}.park-participants>li{font-size:11px}.park-presence-note{font-size:9px}.park-hotspot-links strong{font-size:10px;line-height:1.5}.park-hotspot-links>button{min-height:48px}.park-help p{font-size:9px}.park-emotes>button{height:52px}.park-emotes>button>small{font-size:8px}.park-connection{font-size:8px}.park-exit{font-size:0}.park-map-caption>em{font-size:11px}}

/* Room chat: server history and a separate pending-command composer. */
.park-chat{margin-top:22px;border-top:1px solid #d9e2ce;padding-top:17px;color:#405b3c}.park-chat h3{font:400 20px Georgia,serif;margin:0 0 10px;color:#405b3c}.park-chat-log{list-style:none;padding:8px 11px;margin:0;max-height:210px;min-height:65px;overflow-y:auto;overflow-wrap:anywhere;background:#f0f4e8;border:1px solid #dce5cf;border-radius:9px;scrollbar-width:thin}.park-chat-log>li{padding:8px 0;border-bottom:1px solid #dce5cf}.park-chat-log>li:last-child{border-bottom:0}.park-chat-log strong{font-size:11px;color:#405b3c}.park-chat-log p{margin:4px 0 0;font-size:12px;line-height:1.55;white-space:pre-wrap;color:#304e30}.park-chat-empty{font-size:11px;line-height:1.6;color:#657956}.park-chat-state{font-size:10px;line-height:1.6;margin:9px 0;color:#526747;overflow-wrap:anywhere}.park-chat form>label{font-size:11px;display:block;margin-bottom:6px;font-weight:600}.park-chat textarea{display:block;width:100%;min-height:65px;resize:vertical;border:1px solid #bbcdae;border-radius:8px;padding:9px;background:#fffef8;color:#304e30;font-family:inherit;font-size:13px;line-height:1.5;box-sizing:border-box}.park-chat textarea:focus{outline:2px solid #799d66;outline-offset:2px}.park-chat textarea:disabled{opacity:.7}.park-chat-compose{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:7px}.park-chat-compose>small{font-size:10px;color:#526747}.park-chat-compose button{border:1px solid #708d60;background:#708d60;color:#fffef4;border-radius:8px;min-height:36px;padding:7px 10px;font-size:11px;cursor:pointer}.park-chat-compose button:disabled{opacity:.55;cursor:default}.park-chat-note{display:block;margin-top:9px;font-size:9px;line-height:1.6;color:#617554}.park-chat-log:empty{display:none}
@media(max-width:600px){.park-side{height:min(360px,45dvh)}.park-chat{grid-column:1/-1;margin-top:12px;padding-top:12px}.park-chat h3{font-size:18px}.park-chat-log{max-height:145px}.park-chat textarea{min-height:58px;font-size:14px}.park-chat-state,.park-chat-note{font-size:10px}.park-chat-compose button{min-height:40px;font-size:12px}}
