/* Screen-space UI uses rem lengths; 16px is the FullHD baseline. World-projected controls and SVG viewBox coordinates keep their own units. */
:root{font-size:calc(16px * var(--pavilion-ui-scale,1))}
*{box-sizing:border-box}body{margin:0;background:#09131c;color:#eff9f8;font:0.875rem 'Segoe UI',sans-serif}canvas{display:block;width:100%;height:100vh;touch-action:none;outline:none}button,select,a{font:inherit;color:inherit}button,select{background:#162c39;border:0.0625rem solid #52717c;border-radius:0.5rem;padding:0.625rem;cursor:pointer}a{color:#a6f3d7}button:hover{background:#31505b}button:focus-visible,select:focus-visible,a:focus-visible{outline:0.1875rem solid #c9ff9a;outline-offset:0.1875rem}.hud{position:absolute;top:1.125rem;left:1.25rem;right:1.25rem;pointer-events:none;display:flex;justify-content:space-between;gap:0.9375rem;align-items:start}.hud>*{pointer-events:auto}.brand{background:#0b1b27dd;padding:0.875rem 1.125rem;border:0.0625rem solid #355464;border-radius:0.75rem;max-width:22.5rem}.brand small{font:0.625rem Consolas;letter-spacing:0.125rem;color:#b1edc6}.brand h1{font-size:1.5rem;margin:0.5rem 0}.brand p{font-size:0.75rem;line-height:1.5;color:#aac2cd;margin:0}.travel{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:end;max-width:25.625rem}.travel select{max-width:15.625rem}.cross{position:absolute;left:50%;top:50%;width:0.375rem;height:0.375rem;border:0.0625rem solid #e9fff1;border-radius:50%;pointer-events:none}.bottom{position:absolute;bottom:1.125rem;left:1.25rem;right:1.25rem;display:flex;gap:1.25rem;align-items:end;justify-content:space-between;pointer-events:none}.bottom>*{pointer-events:auto}.actions{display:flex;gap:0.625rem;align-items:center;flex-wrap:wrap}.play{background:#c4f598;color:#1a3627;padding:0.6875rem 1.375rem;border-radius:0.4375rem;font-weight:700;text-decoration:none}.story{font-size:0.75rem}.pad{display:grid;grid-template-columns:repeat(3,2.75rem);gap:0.375rem}.pad button{height:2.6875rem;padding:0;background:#0d2638df;touch-action:none;font-size:1.1875rem;user-select:none}.location{position:absolute;left:50%;bottom:1.375rem;transform:translateX(-50%);font:0.6875rem Consolas;color:#b8d6dc;pointer-events:none;background:#0b1b27cc;padding:0.5rem 0.75rem;border-radius:0.3125rem}.error{position:absolute;inset:35% 20%;padding:1.5625rem;background:#132b38;border:0.0625rem solid #6faeac;z-index:4}[hidden]{display:none!important}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.hud){top:0.625rem;left:0.625rem;right:0.625rem;display:block}:where(:root:not([data-pavilion-desktop])) :is(.brand){padding:0.625rem 0.75rem;max-width:none}:where(:root:not([data-pavilion-desktop])) :is(.brand h1){font-size:1.1875rem;margin:0.3125rem 0}:where(:root:not([data-pavilion-desktop])) :is(.brand p){font-size:0.6875rem}:where(:root:not([data-pavilion-desktop])) :is(.travel){margin-top:0.5rem;max-width:none;justify-content:start}:where(:root:not([data-pavilion-desktop])) :is(.travel button,.travel select){font-size:0.6875rem;padding:0.5rem;max-width:11.875rem}:where(:root:not([data-pavilion-desktop])) :is(.bottom){left:0.625rem;right:0.625rem;bottom:0.625rem;gap:0.5rem;align-items:end}:where(:root:not([data-pavilion-desktop])) :is(.actions){gap:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.actions select){max-width:100%;font-size:0.6875rem;padding:0.4375rem}:where(:root:not([data-pavilion-desktop])) :is(.play){padding:0.5rem 0.75rem;font-size:0.75rem}:where(:root:not([data-pavilion-desktop])) :is(.story){font-size:0.6875rem}:where(:root:not([data-pavilion-desktop])) :is(.pad){grid-template-columns:repeat(3,2rem);gap:0.1875rem}:where(:root:not([data-pavilion-desktop])) :is(.pad button){height:2.3125rem}:where(:root:not([data-pavilion-desktop])) :is(.location){bottom:auto;top:10.625rem;white-space:nowrap;font-size:0.625rem}}
.minimap{position:absolute;top:11.25rem;right:1.25rem;width:11.875rem;border:0.0625rem solid #426374;border-radius:0.75rem;padding:0.625rem;background:#0b1c28e6}.map-title{font-size:0.625rem;color:#afc9cf;margin-bottom:0.5rem}.map-floor{height:11.875rem;position:relative;border:0.0625rem solid #294450;background:linear-gradient(90deg,transparent 47%,#8cbf9b33 48%,#8cbf9b33 52%,transparent 53%);border-radius:0.375rem}.map-floor button{position:absolute;width:3.75rem;height:3.125rem;padding:0.25rem;font:0.75rem Consolas;line-height:1.1}.map-floor button span{display:block;font:0.5625rem 'Segoe UI';margin-top:0.3125rem}.garden{left:0.5rem;bottom:4.25rem;border-color:#6f995f}.logic{right:0.5rem;bottom:4.25rem;border-color:#ad8749}.robots{left:0.5rem;top:0.75rem;border-color:#4c94b2}.party{right:0.5rem;top:0.75rem;border-color:#b67c9f}.map-floor .entrance{bottom:0.3125rem;left:calc(50% - 1.875rem);height:1.625rem;font-size:0.625rem}#visitor{position:absolute;left:50%;top:85%;font-size:1rem;color:#e6ffad;line-height:1;pointer-events:none;text-shadow:0 0.0625rem 0.3125rem #000}.help{font-size:0.6875rem;margin-top:0.5625rem;color:#afc9cf}.help summary{cursor:pointer}.help p{margin:0.5rem 0;max-width:18.75rem}.help input{display:block;width:100%;accent-color:#c4f598;margin-top:0.5rem}.brand{max-width:21.25rem}.travel{max-width:29.375rem}.pad{grid-template-columns:repeat(3,3rem)}.pad button{height:3rem}.pad button.held{background:#6eaa91;color:#08291e}.location{bottom:11.25rem;left:1.25rem;transform:none}.travel a{font-size:0.75rem}.help[open]{background:#102430;padding:0.5rem;border-radius:0.375rem}.cross{box-shadow:0 0 0.1875rem black}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(canvas){height:100svh}:where(:root:not([data-pavilion-desktop])) :is(.hud){top:0.5rem;left:0.5rem;right:0.5rem;display:flex;flex-direction:column;gap:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.brand){max-width:100%;width:100%;padding:0.5rem 0.75rem}:where(:root:not([data-pavilion-desktop])) :is(.brand h1){font-size:1.125rem}:where(:root:not([data-pavilion-desktop])) :is(.brand p){display:none}:where(:root:not([data-pavilion-desktop])) :is(.help){margin-top:0.25rem}:where(:root:not([data-pavilion-desktop])) :is(.help p){display:block}:where(:root:not([data-pavilion-desktop])) :is(.travel){margin:0;gap:0.3125rem;max-width:100%}:where(:root:not([data-pavilion-desktop])) :is(.travel button,.travel select){min-height:2.25rem;padding:0.4375rem;font-size:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.travel select){max-width:10rem}:where(:root:not([data-pavilion-desktop])) :is(.travel a){font-size:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.minimap){top:11.875rem;right:0.5rem;width:7.5rem;padding:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.map-title){font-size:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:7.875rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button){width:2.4375rem;height:2rem;font-size:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button span){font-size:0.4375rem;margin-top:0.0625rem}:where(:root:not([data-pavilion-desktop])) :is(.garden){left:0.1875rem;bottom:2.6875rem}:where(:root:not([data-pavilion-desktop])) :is(.logic){right:0.1875rem;bottom:2.6875rem}:where(:root:not([data-pavilion-desktop])) :is(.robots){left:0.1875rem;top:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.party){right:0.1875rem;top:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor .entrance){width:2.625rem;left:calc(50% - 1.3125rem);height:1.3125rem;bottom:0.125rem}:where(:root:not([data-pavilion-desktop])) :is(.bottom){display:block;bottom:0.5625rem;left:0.5rem;right:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.pad){margin-left:auto;width:max-content;grid-template-columns:repeat(3,2.875rem)}:where(:root:not([data-pavilion-desktop])) :is(.pad button){height:2.75rem}:where(:root:not([data-pavilion-desktop])) :is(.location){top:auto;bottom:7.25rem;left:0.75rem;font-size:0.5625rem;max-width:calc(100% - 10.625rem);white-space:normal}:where(:root:not([data-pavilion-desktop])) :is(.help[open]){max-height:10rem;overflow:auto}}@media(max-height:650px) and (min-width:651px){:where(:root:not([data-pavilion-desktop])) :is(.minimap){top:8.75rem;width:9.0625rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:7.5rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button){width:2.75rem;height:1.875rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button span){font-size:0.5rem;margin:0}:where(:root:not([data-pavilion-desktop])) :is(.garden,.logic){bottom:2.375rem}:where(:root:not([data-pavilion-desktop])) :is(.robots,.party){top:0.3125rem}:where(:root:not([data-pavilion-desktop])) :is(.brand p){display:none}:where(:root:not([data-pavilion-desktop])) :is(.location){bottom:10.3125rem}}
#visitor{z-index:3;filter:drop-shadow(0 0 0.125rem #06131d)}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.location){bottom:7.5rem;font-size:0.5rem}} @media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.location){display:none}} .hud{flex-direction:row-reverse}.travel{justify-content:start}.minimap{left:1.25rem;right:auto}.bottom{flex-direction:row-reverse}.joystick{width:9.375rem;height:9.375rem;flex-shrink:0;position:relative;border:0.125rem solid #638b92;border-radius:50%;background:radial-gradient(circle,#28424b 0%,#102a38dd 65%);box-shadow:inset 0 0 1.375rem #0008,0 0.375rem 1.5625rem #0005;touch-action:none;user-select:none;cursor:grab;outline-offset:0.3125rem}.joystick.active{border-color:#d1f8a7}.joystick span{position:absolute;color:#c6dbdd;font-size:1.125rem;pointer-events:none}.north{top:0.3125rem;left:calc(50% - 0.4375rem)}.south{bottom:0.3125rem;left:calc(50% - 0.4375rem)}.west{left:0.5rem;top:calc(50% - 0.8125rem)}.east{right:0.5rem;top:calc(50% - 0.8125rem)}#stick{position:absolute;left:calc(50% - 1.75rem);top:calc(50% - 1.75rem);width:3.5rem;height:3.5rem;border-radius:50%;background:radial-gradient(circle at 35% 28%,#c2e9c2,#6b9e98 55%,#335b61);border:0.0625rem solid #c8f0d5;box-shadow:0 0.375rem 0.9375rem #0008;pointer-events:none}.location{left:auto;right:1.25rem;bottom:12.1875rem}.walkhint{position:absolute;right:1.25rem;bottom:10rem;max-width:21.875rem;font-size:0.75rem;color:#dcf6d2;padding:0.5rem 0.75rem;background:#102631dc;border:0.0625rem solid #51725f;border-radius:0.375rem;pointer-events:none}.brand{max-width:21.875rem}.joystick:focus-visible{outline:0.1875rem solid #d1f8a7}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.hud){display:flex;flex-direction:column;align-items:end}:where(:root:not([data-pavilion-desktop])) :is(.brand){width:auto;max-width:100%;text-align:right}:where(:root:not([data-pavilion-desktop])) :is(.travel){justify-content:end}:where(:root:not([data-pavilion-desktop])) :is(.minimap){left:0.5rem;right:auto;top:12.1875rem}:where(:root:not([data-pavilion-desktop])) :is(.bottom){display:flex;flex-direction:row-reverse;align-items:end;gap:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.joystick){width:7.125rem;height:7.125rem}:where(:root:not([data-pavilion-desktop])) :is(.joystick span){font-size:0.9375rem}:where(:root:not([data-pavilion-desktop])) :is(#stick){width:2.875rem;height:2.875rem;left:calc(50% - 1.4375rem);top:calc(50% - 1.4375rem)}:where(:root:not([data-pavilion-desktop])) :is(.walkhint){right:0.5rem;bottom:11.25rem;max-width:13.75rem;font-size:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.help){text-align:left}:where(:root:not([data-pavilion-desktop])) :is(.help p){max-width:18.75rem}}
.side-tools{position:absolute;right:1.25rem;top:45%;width:11.875rem;display:flex;flex-direction:column;gap:0.5rem;padding:0.75rem;background:#0b1c28e8;border:0.0625rem solid #466a72;border-radius:0.75rem}.side-tools label{font-size:0.625rem;color:#adc9cd}.side-tools select{width:100%;font-size:0.6875rem;padding:0.5rem}.side-tools .play{text-align:center}.side-tools>button{font-size:0.75rem}.zoom-tools{display:flex;gap:0.3125rem;margin-bottom:0.375rem}.zoom-tools button{flex:1;padding:0.4375rem;font-size:1.0625rem;min-width:0}.zoom-tools #zoom-reset{font-size:0.8125rem}dialog{width:min(27.5rem,calc(100% - 2rem));color:#eef9f4;background:#102632;border:0.0625rem solid #67918b;border-radius:0.875rem;padding:1.625rem;box-shadow:0 1.25rem 4.375rem #0009}dialog::backdrop{background:#020b14a8}dialog p{line-height:1.6;color:#bfd3d9}dialog small{font:0.625rem Consolas;color:#c0eba5}dialog h2{padding-right:1.25rem}#info-close{position:absolute;top:0.625rem;right:0.625rem;padding:0.3125rem 0.625rem}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.side-tools){right:0.5rem;top:43%;width:9.0625rem;padding:0.5rem;gap:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools select){font-size:0.625rem;padding:0.375rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools .play){padding:0.5625rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools>button){font-size:0.625rem;padding:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.zoom-tools){margin:0;gap:0.1875rem}:where(:root:not([data-pavilion-desktop])) :is(.zoom-tools button){padding:0.3125rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools label){font-size:0.5625rem}}@media(max-height:700px){:where(:root:not([data-pavilion-desktop])) :is(.side-tools){top:32%;right:0.75rem;width:10rem;gap:0.3125rem;padding:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools select){padding:0.3125rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools .play){padding:0.4375rem}:where(:root:not([data-pavilion-desktop])) :is(.side-tools>button){padding:0.4375rem}}
#screen-controls{position:absolute;inset:0;overflow:hidden;pointer-events:none}.screen-panel{position:absolute;left:0;top:0;transform-origin:0 0;width:600px;height:216px;background:#0b1f2a;border:3px solid #426f70;border-radius:8px;padding:10px 14px;color:#f2fff5;pointer-events:none;backface-visibility:hidden;will-change:transform}.screen-panel h3{font-size:25px;line-height:1.15;text-align:center;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-panel button,.screen-panel a{pointer-events:auto}.difficulty-buttons{display:flex;gap:8px;flex-wrap:wrap}.difficulty-buttons button{font-size:11px;padding:7px;border:1px solid #6c8b8f;border-radius:6px;background:#183542;cursor:pointer;flex:1;white-space:nowrap}.difficulty-buttons button[aria-pressed=true]{background:#d1efa5;color:#1f3829;border-color:#d1efa5}.screen-panel .difficulty-buttons{flex-wrap:nowrap;gap:6px;min-height:62px}.screen-panel .difficulty-buttons button{font-size:20px;padding:8px 4px}.screen-actions{display:flex;gap:12px;margin-top:9px;height:64px}.screen-actions>*{flex:1;text-align:center;font-size:27px;padding:12px;display:flex;align-items:center;justify-content:center;line-height:1;text-decoration:none}.screen-actions button{background:#1a3b47}.screen-panel:not(:has(.difficulty-buttons)) .screen-actions{height:105px;margin-top:14px}.screen-panel .play{font-size:29px}#zoom-level{position:absolute;top:8.3125rem;left:1.25rem;font:0.625rem Consolas;color:#b4d0cd;pointer-events:none;background:#0b1e29bb;padding:0.375rem;border-radius:0.25rem}.hud,.bottom,.minimap,.walkhint,.location{z-index:2000}#zoom-level{z-index:2000}.cross{z-index:1500}body{overflow:hidden}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(#zoom-level){top:11.125rem;left:auto;right:0.5rem;font-size:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.screen-panel .difficulty-buttons button){font-size:20px}:where(:root:not([data-pavilion-desktop])) :is(.screen-panel .play){font-size:29px}}
.screen-panel{height:130px;background:transparent;border:0;padding:0;box-shadow:none}.screen-panel h3{display:none}.screen-panel .difficulty-buttons{height:130px;min-height:0;display:flex;justify-content:center;align-items:center;gap:22px;padding:0 15px}.screen-panel .difficulty-buttons button{flex:0 0 96px;width:96px;height:96px;border-radius:50%;padding:0;background:#0b2537cf;border:4px solid #91b6b7;color:#eefaf3;box-shadow:0 6px 12px #0009;font-size:51px;line-height:1}.screen-panel .difficulty-buttons button[aria-pressed=true]{background:#c9ee9cf2;border-color:#f1ffdb;box-shadow:0 0 20px #c4ef9b88}.screen-panel:not(:has(.difficulty-buttons)){display:none}.podium-controls{position:absolute;left:0;top:0;transform-origin:0 0;width:600px;height:140px;pointer-events:none;backface-visibility:hidden;will-change:transform}.podium-controls .screen-actions{height:140px;margin:0;gap:30px;padding:0 10px}.podium-controls .screen-actions>*{pointer-events:auto;font-size:37px;line-height:1.1;font-weight:700;padding:0;border-radius:14px;border:4px solid #8ba9ac;box-shadow:inset 0 -10px 0 #0004,0 5px 10px #0005}.podium-controls .play{background:#bde88d;color:#1d3b25;border-color:#dcffb8}.podium-controls button{background:#244956}.podium-controls .screen-actions>*:active{box-shadow:inset 0 4px 10px #0007}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.screen-panel .difficulty-buttons button){font-size:51px}:where(:root:not([data-pavilion-desktop])) :is(.podium-controls .screen-actions>*){font-size:37px}}
.podium-controls .screen-actions>*{font-size:30px;white-space:nowrap} .button-caption{display:inline-block;line-height:1;transform-origin:center;pointer-events:none}.podium-controls .screen-actions>*{font-size:28px;overflow:hidden} #render-quality{font-family:Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}#render-quality b{color:#c9eda7}#render-limit{color:#ffd58a}#render-percent{margin:0 0.3125rem}#render-fps{display:inline-block;min-width:3rem;text-align:right}
/* Keep the zoom hint in document flow when the render label wraps. */
.travel{min-width:0}#zoom-level{position:static;flex:0 0 100%;width:auto;margin:0;padding:0.25rem 0.375rem;text-align:left;box-sizing:border-box}#render-quality{max-width:100%;white-space:normal;text-align:left}#render-quality span{white-space:nowrap}
.brand h1{display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap}.release-version{display:inline-block;padding:0.1875rem 0.4375rem;border:0.0625rem solid #568578;border-radius:0.3125rem;background:#183c3c;color:#d0f3af;font:0.75rem/1.2 Consolas,monospace;letter-spacing:0;white-space:nowrap}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.brand h1){justify-content:flex-end}:where(:root:not([data-pavilion-desktop])) :is(.release-version){font-size:0.6875rem}}

/* Five stand markers occupy three rows. */
.map-floor{height:15.75rem}.evolution{border-color:#78bca2}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:10.625rem}}
@media(max-height:650px) and (min-width:651px){:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:10.625rem}}

/* Compact markers keep the enlarged hall readable without overlapping. */
.minimap{width:14.375rem}.map-floor{height:17.5rem}.map-floor button[data-zone]:not(.entrance){width:2.75rem;height:2rem;padding:0.125rem;font-size:0.625rem}.map-floor button span{font-size:0.4375rem;margin-top:0.0625rem}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.minimap){width:8.75rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:13.125rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button[data-zone]:not(.entrance)){width:1.75rem;height:1.5rem;font-size:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button span){display:none}}
@media(max-height:650px) and (min-width:651px){:where(:root:not([data-pavilion-desktop])) :is(.minimap){width:9.6875rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:13.125rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button[data-zone]:not(.entrance)){width:1.75rem;height:1.5rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor button span){display:none}}

.benchmark{border-color:#ad9fe8}

.courier{border-color:#879de8}.fireflies{border-color:#b9dc7c}.clouds{border-color:#9fd8f5}.construction{border-color:#efbd6d}

.underwater{border-color:#71d8c7}

.lagoon{border-color:#d2b57e}

.map-legend{display:flex;flex-wrap:wrap;gap:0.25rem 0.5rem;margin-top:0.5rem;font-size:0.5rem;color:#bed0d5}.map-legend span{white-space:nowrap}.map-legend span::before{content:'';display:inline-block;width:0.4375rem;height:0.4375rem;margin-right:0.375rem;border-radius:50%;background:var(--theme-color)}.map-floor{height:16.25rem;background:linear-gradient(90deg,transparent 32.8%,#91bcb333 33%,#91bcb333 33.6%,transparent 33.8%,transparent 63.3%,#91bcb333 63.5%,#91bcb333 64.2%,transparent 64.4%)}.map-floor button[data-zone]:not(.entrance){box-shadow:inset 0 0.125rem 0 var(--theme-color)}@media(max-width:650px),(max-height:650px){:where(:root:not([data-pavilion-desktop])) :is(.map-legend){display:none}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:13.125rem}}

/* Tools stay outside the scene controls and remain usable on short screens. */
.developer-panel[hidden]{display:none}.developer-panel{position:fixed;z-index:3100;right:1rem;bottom:5rem;width:min(20.625rem,calc(100vw - 2rem));max-height:calc(100dvh - 9.375rem);overflow:auto;box-sizing:border-box;padding:1.125rem;background:#102632f5;border:0.0625rem solid #7ca7a0;border-radius:0.75rem;box-shadow:0 0.75rem 2.5rem #0008;display:flex;flex-direction:column;gap:0.5rem}.developer-panel h2{font-size:1.0625rem;margin:0 4.0625rem 0 0}.developer-panel p{font-size:0.75rem;line-height:1.45;margin:0 0 0.25rem;color:#c2d8d8}.developer-panel label{font-size:0.75rem}.developer-panel select{width:100%;min-width:0;font-size:0.75rem}.developer-panel button{font-size:0.75rem}.developer-panel button:disabled{opacity:.45;cursor:default}.developer-panel #developer-close{position:absolute;right:0.625rem;top:0.625rem;padding:0.3125rem 0.5rem;font-size:0.6875rem}.developer-panel .developer-note{font-size:0.6875rem;color:#abc3c6}.developer-panel output{font-size:0.75rem;line-height:1.4;color:#d1efaa;overflow-wrap:anywhere}#developer-toggle[aria-pressed=true]{background:#cbe8ac;color:#18352a}
#lighting{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem}#lighting svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;pointer-events:none}#lighting[aria-pressed=true]{color:#ffe59c}#lighting[aria-pressed=false]{color:#95a8af}#lighting[aria-pressed=false] .light-rays{opacity:.2}#lighting[aria-pressed=false] .light-core{fill:currentColor;fill-opacity:.18}
@media(max-width:650px),(max-height:650px){:where(:root:not([data-pavilion-desktop])) :is(.developer-panel){right:0.5rem;bottom:2.875rem;max-height:calc(100dvh - 6.25rem);padding:0.875rem}}

#demo-toggle{display:inline-flex;align-items:center;justify-content:center;gap:0.4375rem}#demo-toggle svg{width:1rem;height:1rem;fill:currentColor;flex-shrink:0}#demo-toggle .demo-stop{display:none}#demo-toggle[aria-pressed=true]{background:#cbe8ac;color:#18352a}#demo-toggle[aria-pressed=true] .demo-play{display:none}#demo-toggle[aria-pressed=true] .demo-stop{display:block}

.brand{position:relative}.help-toggle{position:absolute;right:0.5rem;top:0.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;min-width:0;padding:0.25rem;margin:0;border-radius:0.375rem}.help-toggle svg{width:0.875rem;height:0.875rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.brand:not(.is-collapsed) #help-content>small{display:block;padding-right:1.5rem}.brand.is-collapsed{width:auto;max-width:100%;padding:0;background:transparent;border:0}.brand.is-collapsed .help-toggle{position:static;width:1.75rem;height:1.75rem;margin:0;padding:0.375rem}.brand.is-collapsed .help-toggle svg{transform:rotate(180deg)}#help-content[hidden]{display:none}
.bottom{flex-direction:row;justify-content:flex-start}
.loading-mascot{display:block;width:10rem;height:8.25rem;margin:0 auto 1.375rem;overflow:visible}.loading-mascot [data-mascot]{display:none}.loading-mascot[data-character=robot] [data-mascot=robot],.loading-mascot[data-character=kraken] [data-mascot=kraken],.loading-mascot[data-character=firefly] [data-mascot=firefly],.loading-mascot[data-character=rocket] [data-mascot=rocket]{display:inline}.loading-mascot g,.loading-mascot path{transform-box:view-box}.loading-mascot .mascot-eyes{transform-box:fill-box;transform-origin:center;animation:mascot-blink 4.5s linear infinite}.mascot-light{animation:mascot-light 1.7s ease-in-out infinite}.mascot-kraken-bob{animation:mascot-bob 2.6s ease-in-out infinite}.mascot-water{animation:mascot-water 2.6s ease-in-out infinite}.mascot-firefly-hover{animation:mascot-fly 2.3s ease-in-out infinite}.mascot-wing-left{transform-origin:73px 70px;animation:mascot-wing .18s ease-in-out infinite alternate}.mascot-wing-right{transform-origin:87px 70px;animation:mascot-wing .18s ease-in-out infinite alternate-reverse}.mascot-glow{animation:mascot-glow 1.7s ease-in-out infinite}.mascot-rocket-hover{animation:mascot-bob 1.7s ease-in-out infinite}.mascot-flame{transform-origin:80px 94px;animation:mascot-flame .32s ease-in-out infinite alternate}.mascot-stars{animation:mascot-light 2.4s ease-in-out infinite}.pavilion-loading:is(.is-ready,.has-error) .loading-mascot *{animation-play-state:paused}
@keyframes mascot-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes mascot-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes mascot-light{0%,100%{opacity:1}50%{opacity:.55}}@keyframes mascot-water{0%,100%{opacity:.65}50%{opacity:1}}@keyframes mascot-fly{0%,100%{transform:translate(-3px,2px)}50%{transform:translate(3px,-5px)}}@keyframes mascot-wing{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes mascot-glow{0%,100%{opacity:.10}50%{opacity:.28}}@keyframes mascot-flame{from{transform:scaleY(.65)}to{transform:scaleY(1.06)}}@media(prefers-reduced-motion:reduce){.loading-mascot *{animation:none!important}}
.pavilion-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse at 50% 40%,#224e52 0%,#102c3c 40%,#091721 85%);color:#edf9ed;opacity:1;transition:opacity .22s ease}.pavilion-loading::before{content:"";position:absolute;inset:0;background:linear-gradient(#94d5bd08 0.0625rem,transparent 0.0625rem),linear-gradient(90deg,#94d5bd08 0.0625rem,transparent 0.0625rem);background-size:3.25rem 3.25rem;mask-image:radial-gradient(ellipse,#000,transparent 75%);pointer-events:none}.loading-card{position:relative;width:min(26.875rem,100%);text-align:center}.loading-card small{display:block;color:#a4c9bc;letter-spacing:0.125rem;font:0.625rem/1.6 Consolas,monospace}.loading-card h2{font-size:clamp(1.5rem,5vw,2rem);line-height:1.2;margin:0.625rem 0 0.75rem}.loading-card p{min-height:2.75rem;margin:0;color:#b8d4d3;font-size:0.875rem;line-height:1.5}.loading-progress{height:0.1875rem;width:min(15rem,75%);margin:1rem auto 1.625rem;border-radius:0.1875rem;overflow:hidden;background:#8fceb425}.loading-progress span{display:block;height:100%;width:38%;background:#c7eca7;border-radius:inherit;animation:loading-travel 1.6s ease-in-out infinite}.loading-card .loading-caption{min-height:3em;max-width:22.5rem;margin:0 auto 0.875rem;color:#d1e7b9;font-size:clamp(1rem,2vw,1.125rem);font-weight:500;line-height:1.45;text-wrap:balance}.loading-card #loading-stage{min-height:2.8em;color:#9fbfbe;font-size:0.75rem;line-height:1.45}.loading-card a{display:inline-block;padding:0.5625rem 0.9375rem;border:0.0625rem solid #83b7a466;border-radius:0.5rem;color:#c2e7d4;text-decoration:none;font-size:0.75rem}.loading-card a:hover{background:#315c50}.loading-card a:focus-visible{outline:0.1875rem solid #c9ff9a;outline-offset:0.25rem}.pavilion-loading.is-ready{opacity:0;pointer-events:none}@keyframes loading-travel{0%{transform:translateX(-105%)}100%{transform:translateX(365%)}}@media(prefers-reduced-motion:reduce){.loading-progress span{animation:none}.loading-progress span{width:100%;opacity:.5}.pavilion-loading{transition:none}}
.travel .gamespace-link{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.625rem;border:0.0625rem solid #75a89a;border-radius:0.5rem;background:#21453f;color:#d5f4d6;font-size:0.875rem;line-height:normal;text-decoration:none}.travel .gamespace-link:hover{background:#315c50;border-color:#b1d8ad}.gamespace-link svg{width:1.0625rem;height:1.0625rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.travel .gamespace-link){min-height:2.25rem;padding:0.4375rem;font-size:0.625rem;gap:0.375rem}}
.view-status{display:flex;flex-wrap:wrap;align-items:center;gap:0.1875rem 0.75rem;flex:0 0 100%;min-width:0;padding:0.25rem 0.375rem;border-radius:0.25rem;background:#0b1e29bb;color:#b4d0cd;font:0.625rem/1.5 Consolas,monospace;pointer-events:none}.view-status #zoom-level,.view-status .location{display:inline;position:static;flex:0 1 auto;width:auto;max-width:100%;margin:0;padding:0;transform:none;background:transparent;color:inherit;font:inherit;white-space:normal}.view-status .location{color:#b8d6dc}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.view-status){font-size:0.5625rem}}

.map-editing button[data-zone]:not(.entrance){cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.map-editing .map-drag-source{opacity:.4;cursor:grabbing}.map-editing button.map-drop-target{outline:0.1875rem solid #d7f4a8;outline-offset:0.1875rem;background:#36594b}.map-drag-ghost{position:fixed;z-index:4000;pointer-events:none;transform:translate(-50%,-50%);margin:0;inset:auto;border:0.125rem solid #d7f4a8;border-radius:0.375rem;background:#1b3c43e8;color:#f1ffd9;padding:0.125rem;font:0.625rem/1.1 Consolas,monospace;box-shadow:0 0.3125rem 1rem #0008}.map-drag-ghost span{display:block;font-size:0.4375rem;margin-top:0.0625rem}

.mascot-robot-drive{transform-origin:80px 70px;animation:mascot-drive 2.8s ease-in-out infinite}.loading-mascot .mascot-wheel-spin{transform-box:fill-box;transform-origin:center;animation:mascot-wheel-roll 1.2s linear infinite}.mascot-road{animation:mascot-road 1.2s linear infinite}.mascot-kraken-shape{animation:mascot-kraken-wave 3s ease-in-out infinite}@keyframes mascot-drive{0%,100%{transform:translateX(-4px)}50%{transform:translateX(4px)}}@keyframes mascot-wheel-roll{to{transform:rotate(360deg)}}@keyframes mascot-road{to{stroke-dashoffset:22}}@keyframes mascot-kraken-wave{50%{d:path("M80 26C61 26 52 48 53 76C45 74 42 60 44 50C45 40 36 35 28 40C19 46 23 59 32 58C37 57 38 52 35 49C33 52 29 51 29 48C30 44 35 45 35 50C33 70 39 86 53 90C43 90 35 80 29 68C24 61 15 64 16 72C17 80 26 84 32 80C25 81 22 77 22 73C31 89 47 104 61 98C58 109 49 112 45 106C44 111 47 118 56 115C65 113 69 106 70 99C72 107 74 112 80 115C86 112 88 107 90 99C91 106 95 113 104 115C113 118 116 111 115 106C111 112 102 109 99 98C113 104 129 89 138 73C138 77 135 81 128 80C134 84 143 80 144 72C145 64 136 61 131 68C125 80 117 90 107 90C121 86 127 70 125 54C125 52 130 51 131 55C131 58 127 59 125 56C122 59 123 64 128 65C137 66 141 53 132 47C124 42 115 47 116 57C118 64 115 74 107 76C108 48 99 26 80 26Z")}}

.mascot-robot-arm{transform-origin:48px 76px;animation:mascot-arm-check 2.8s ease-in-out infinite}@keyframes mascot-arm-check{0%,100%{transform:rotate(0)}45%,60%{transform:rotate(12deg)}}

.pavilion-legal{display:flex;flex-wrap:wrap;gap:0.375rem 0.875rem;margin-top:0.625rem;font-size:0.75rem;line-height:1.5}.pavilion-legal a{text-underline-offset:0.1875rem}.pavilion-legal a:hover{color:#d5f4d6}

.travel .hud-icon{display:inline-flex;align-items:center;justify-content:center;width:2.625rem;height:2.625rem;flex-shrink:0;padding:0.625rem}.hud-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.fullscreen-exit{display:none}#fullscreen[aria-pressed=true] .fullscreen-enter{display:none}#fullscreen[aria-pressed=true] .fullscreen-exit{display:inline}.map-heading{display:flex;align-items:flex-start;gap:0.375rem;margin-bottom:0.5rem}.map-heading .map-title{flex:1;min-width:0;margin:0;line-height:1.5}.map-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;padding:0.1875rem;border-radius:0.375rem}.map-toggle svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.map-open-icon{display:none}.minimap.is-collapsed{width:auto;padding:0;border:0;background:transparent}.minimap.is-collapsed .map-heading{margin:0}.minimap.is-collapsed .map-title,.minimap.is-collapsed .map-collapse-icon{display:none}.minimap.is-collapsed .map-open-icon{display:inline}.minimap.is-collapsed .map-toggle{width:2rem;height:2rem;padding:0.375rem}.minimap.is-collapsed .map-toggle svg{width:1.125rem;height:1.125rem}@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.travel .hud-icon){width:2.25rem;height:2.25rem;padding:0.5rem}}

/* Information remains reachable at the lower right, apart from the travel controls. */
.brand{position:fixed;right:1.25rem;bottom:1.125rem;z-index:2000;width:min(21.875rem,calc(100vw - 2.5rem));max-height:calc(100dvh - 9.375rem);overflow:auto;text-align:left}.brand.is-collapsed{width:auto;overflow:visible}.brand.is-collapsed .help-toggle svg{transform:none}.brand:not(.is-collapsed) .help-toggle svg{transform:rotate(180deg)}
.developer-panel{top:1.125rem;bottom:auto}.developer-view-settings{min-width:0;margin:0.25rem 0;padding:0.625rem;border:0.0625rem solid #466a72;border-radius:0.5rem}.developer-view-settings legend{padding:0 0.3125rem;color:#d1efaa;font-size:0.75rem}.developer-view-settings label{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.developer-view-settings input{display:block;width:100%;min-height:2rem;margin:0.3125rem 0;accent-color:#c4f598}.developer-view-actions{display:flex;gap:0.375rem;margin-bottom:0.5rem}.developer-view-actions button{flex:1;padding:0.5rem}.developer-view-settings output{font-variant-numeric:tabular-nums}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.brand){right:0.5rem;bottom:0.625rem;width:min(21.875rem,calc(100vw - 8.75rem));max-height:calc(100dvh - 9.6875rem)}:where(:root:not([data-pavilion-desktop])) :is(.brand.is-collapsed){width:auto}:where(:root:not([data-pavilion-desktop])) :is(.brand h1){justify-content:flex-start}:where(:root:not([data-pavilion-desktop])) :is(.developer-panel){top:0.5rem;bottom:auto}}

.hud{flex-direction:row;justify-content:flex-start;align-items:flex-start}.travel{justify-content:flex-start}.travel .walkhint{display:block;position:static;transform:none;flex:0 0 100%;max-width:100%;margin:0;padding:0.375rem 0.5rem;font-size:0.6875rem;pointer-events:none}

/* One lower-right panel: heading, controls, then the inline developer section. */
.brand{width:min(25.625rem,calc(100vw - 2.5rem));max-height:calc(100dvh - 2.25rem)}.brand .pavilion-heading{position:sticky;top:-0.875rem;z-index:2;margin:-0.125rem -0.125rem 0;padding:0.125rem;background:#0b1b27}.pavilion-heading small{display:block;padding-right:1.75rem}.brand .hud{position:static;display:block;margin:0.75rem 0;pointer-events:auto}.brand .travel{width:100%;max-width:none;gap:0.375rem}.brand .travel select{max-width:100%;min-width:0;flex:1 1 13.125rem}.brand .developer-panel{position:relative;inset:auto;z-index:auto;width:100%;max-height:none;overflow:visible;box-shadow:none;margin:0.625rem 0 0.75rem;padding:0.875rem 0.75rem;background:#102632;border-color:#466a72}.brand .developer-panel h2{font-size:0.9375rem}.brand .developer-panel #developer-close{top:0.5rem;right:0.5rem}.brand .developer-view-settings{padding:0.5rem}.brand .developer-panel .developer-note{font-size:0.625rem}.minimap{top:1.125rem}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.brand){width:min(21.875rem,calc(100vw - 8.75rem));max-height:58dvh}:where(:root:not([data-pavilion-desktop])) :is(.brand.is-collapsed){width:auto}:where(:root:not([data-pavilion-desktop])) :is(.brand .pavilion-heading){top:-0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.brand .travel){margin:0}:where(:root:not([data-pavilion-desktop])) :is(.brand .travel select){flex-basis:100%;max-width:100%}:where(:root:not([data-pavilion-desktop])) :is(.brand .developer-view-actions){flex-wrap:wrap}:where(:root:not([data-pavilion-desktop])) :is(.brand .developer-view-actions button){min-width:5rem}:where(:root:not([data-pavilion-desktop])) :is(.minimap){top:0.5rem}}

.brand .help-toggle{position:sticky;float:right;top:0;right:0;z-index:3}
.brand{max-width:25.625rem}.brand .developer-panel p{display:block}

/* A separate, self-drawn settings control stays available while the panel is hidden. */
.settings-toggle{position:fixed;right:1.25rem;bottom:1.125rem;z-index:2200;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0.625rem;border:0.0625rem solid #75a89a;border-radius:0.625rem;background:#162c39;color:#d5f4d6;box-shadow:0 0.25rem 0.875rem #0005}.settings-toggle svg{display:block;width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;pointer-events:none}.settings-toggle[aria-expanded=true]{background:#cbe8ac;color:#18352a;border-color:#d8efbb}#settings-panel{bottom:4.625rem;max-height:calc(100dvh - var(--controls-bottom,7.5rem) - 4.625rem)}#settings-panel .pavilion-heading small{padding-right:0}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.settings-toggle){right:0.5rem;bottom:0.625rem}:where(:root:not([data-pavilion-desktop])) :is(#settings-panel){bottom:4.125rem;max-height:min(58dvh,calc(100dvh - var(--controls-bottom,12.5rem) - 4.125rem))}}

/* Keep the title and everyday controls visible at the top; the lower panel holds settings. */
.pavilion-topbar{position:absolute;z-index:2000;top:1.125rem;left:1.25rem;width:calc(100vw - 2.5rem);display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:0.75rem;pointer-events:none}.pavilion-topbar>*{pointer-events:auto}.pavilion-topbar .pavilion-heading{padding:0.3125rem 0.5rem;background:#0b1b27c9;border-radius:0.375rem}.pavilion-topbar small{font:0.625rem Consolas,monospace;letter-spacing:0.125rem;color:#b1edc6}.pavilion-topbar h1{font-size:1.5rem;line-height:1.2;margin:0.375rem 0 0}.pavilion-topbar .hud{position:static;display:block;min-width:0;margin:0}.pavilion-topbar .travel{width:100%;max-width:none;justify-content:flex-start;align-items:flex-start;gap:0.375rem}.pavilion-topbar .travel select{flex:0 1 13.125rem;width:13.125rem;min-width:0;max-width:100%}.developer-panel .view-status{margin:0.5rem 0 0.75rem;padding:0.5rem;gap:0.25rem 0.75rem}.settings-title{font-size:1.1875rem;margin:0 0 0.75rem}.brand #settings-developer{width:100%;margin-bottom:0.5rem;text-align:left}.map-floor{height:clamp(10rem,calc(100dvh - var(--map-top,12.5rem) - 17.6875rem),16.25rem)}
@media(max-width:900px){:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar){grid-template-columns:minmax(0,1fr);gap:0.5rem}:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar .pavilion-heading){justify-self:start}}
@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar){top:0.5rem;left:0.5rem;width:calc(100vw - 1rem)}:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar small){font-size:0.5625rem}:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar h1){font-size:1.1875rem}:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar .hud){margin-top:0}:where(:root:not([data-pavilion-desktop])) :is(.pavilion-topbar .travel select){flex:0 1 11.25rem;width:11.25rem}:where(:root:not([data-pavilion-desktop])) :is(.map-floor){height:clamp(7.875rem,calc(100dvh - var(--map-top,13.75rem) - 10.625rem),13.125rem)}}

@media(max-width:650px){:where(:root:not([data-pavilion-desktop])) :is(#settings-panel){width:min(21.875rem,calc(100vw - 10.25rem))}}
