:root{--building-toolbar-space:var(--building-controls-height,calc(45px + env(safe-area-inset-bottom)))}:root:has(.building-controls--playground){--playground-navigation-height:3.375rem}#building-frame{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}#building-frame[hidden],#building-tools[hidden]{display:none}:root:has(.building-controls--overlay #building-tools:not([hidden])) #building-frame{bottom:var(--building-toolbar-space)}#building-frame.building-frame--playground{top:calc(var(--site-header-height) + var(--playground-navigation-height));bottom:var(--building-toolbar-space)}:is(#cmu-building-yard,#cmu-playground-yard){width:1200px;height:720px;transform:scale(var(--yard-scale,1));transform-origin:bottom;pointer-events:none;margin-left:-600px;position:absolute;bottom:0;left:50%}#cmu-playground-yard{transform-origin:50%;margin-top:-360px;top:50%;bottom:auto}#building-blocks{position:absolute;inset:0}#building-walls{pointer-events:none;position:absolute;inset:0}.building-wall{background:#9d988e;position:absolute;overflow:hidden}.building-wall-block{background:url(/building/cinderblock-realistic.png) no-repeat,linear-gradient(#57534b,#57534b) no-repeat;background-size:calc(240px * var(--wall-scale)) calc(160px * var(--wall-scale)), 80% 64%;background-position:calc(-20px * var(--wall-scale)) calc(-32px * var(--wall-scale)), center;filter:saturate(.55)brightness(.9)contrast(1.05);position:absolute}.building-wall:after{content:"";background:#4a463f;position:absolute;box-shadow:0 0 10px #00000040}.building-wall[data-side=top]:after{height:3px;bottom:0;left:0;right:0}.building-wall[data-side=bottom]:after{height:3px;top:0;left:0;right:0}.building-wall[data-side=left]:after{width:3px;top:0;bottom:0;right:0}.building-wall[data-side=right]:after{width:3px;top:0;bottom:0;left:0}#building-blocks .cinderblock{cursor:grab;transform-origin:50%;pointer-events:auto;touch-action:none;user-select:none;background:0 0;border:0;width:200px;height:96px;padding:0;position:absolute;top:0;left:0}#building-blocks .cinderblock:active{cursor:grabbing}#building-blocks .cinderblock.is-selected:after{content:"";pointer-events:none;border:3px dashed #000;position:absolute;inset:-7px}#building-blocks .cinderblock img{pointer-events:none;width:240px;max-width:none;height:160px;position:absolute;top:-32px;left:-20px}#building-controls{z-index:51;height:calc(45px + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:#000;font:11px/1.2 var(--mono);background:#fff;border-top:1px solid #000;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:stretch;display:grid;position:fixed;bottom:0;left:0;right:0}#building-controls.building-controls--overlay:has(#building-tools[hidden]){right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));border:1px solid #000;height:auto;padding:0;display:flex;left:auto}.building-bar-start,.building-bar-end,#building-tools,.building-material-picker,.building-actions{align-items:stretch;min-width:0;display:flex}.building-bar-end{justify-content:flex-end}#building-tools{border-left:1px solid #000}#building-controls :is(button,a){color:#000;min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;background:#fff;border:0;border-right:1px solid #000;justify-content:center;align-items:center;gap:8px;padding:0 12px;text-decoration:none;display:inline-flex}#building-controls .building-bar-end :is(button,a){border-left:1px solid #000;border-right:0}#building-controls.building-controls--overlay:has(#building-tools[hidden]) .building-bar-end a{border-left:0}#building-toggle,.building-playground-link{width:44px}#building-controls #building-toggle,#building-controls .building-playground-link{padding:0}#building-controls button:disabled{color:#767676;cursor:default}#building-controls :is(button,a):not(:disabled):hover,#building-controls button[aria-pressed=true]{color:#fff;background:#000}#building-controls :is(button,a):focus-visible{outline-offset:-4px;outline:2px solid}#building-controls svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}#building-controls :is(#building-toggle,.building-playground-link) svg{stroke-width:1.5px;width:20px;height:20px}#building-toggle[aria-expanded=false] .building-eye-slash{display:none}.building-shortcut{color:#595959}#building-controls :is(button[aria-pressed=true],:hover) .building-shortcut{color:#d4d4d4}.building-material-preview{flex:none;width:40px;height:20px;position:relative}.building-material-thumbnail{display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.72)}.building-material-thumbnail img{width:var(--sprite-width);height:var(--sprite-height);left:var(--sprite-left);top:var(--sprite-top);max-width:none;position:absolute}.building-presence{align-items:center;gap:6px;min-width:0;padding:0 12px;display:flex}.building-presence[hidden]{display:none}.building-presence:focus-visible{outline-offset:-4px;outline:2px solid #000}.building-identity{white-space:nowrap;background:#fff;border:1px solid;flex:none;padding:2px 5px;font-weight:500}.building-identity[data-self=true]{outline-offset:1px;outline:1px solid}.building-presence-more{color:#595959;white-space:nowrap}#building-controls .building-credit{gap:6px;padding:0 14px}.building-credit img{width:16px;height:16px}.building-credit-prefix{color:#595959}.building-credit-name{text-underline-offset:2px;text-decoration:underline}#building-controls .building-credit:hover .building-credit-prefix{color:#d4d4d4}#building-status[data-notice]{left:50%;bottom:calc(var(--building-toolbar-space) + 8px);clip:auto;clip-path:none;white-space:normal;z-index:53;background:#fff;border:1px solid #000;width:max-content;max-width:calc(100vw - 32px);height:auto;margin:0;padding:8px 12px;position:fixed;overflow:visible;transform:translate(-50%)}@media (width<=1100px){#building-controls :is(.building-material-label,.building-credit-prefix,.building-credit-name){display:none}}@media (width<=860px){#building-controls .building-shortcut{display:none}#building-controls :is(button,a){padding:0 10px}}@media (width<=800px){:root{--building-toolbar-space:var(--building-controls-height,calc(110px + env(safe-area-inset-bottom)))}#building-controls:not(:has(#building-tools[hidden])){grid-template:"picker picker picker picker picker"64px"toggle rotate remove people end"44px/auto auto auto minmax(0,1fr) auto;height:auto}#building-controls :is(.building-bar-start,.building-bar-end,.building-actions),#building-controls #building-tools:not([hidden]){display:contents}#building-controls .building-material-picker{border-bottom:1px solid #000;grid-area:picker;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}#building-controls .building-material-picker button{border-left:1px solid #000;border-right:0;flex-direction:column;gap:6px;min-width:0;min-height:64px;padding:0 2px}#building-controls .building-material-picker button:first-child{border-left:0}#building-controls .building-material-picker .building-material-label{display:block}.building-material-preview{width:56px;height:28px}.building-material-thumbnail{transform:translate(-50%,-50%)}#building-toggle{grid-area:toggle}#building-controls [data-building-action=add]{display:none}#building-controls [data-building-action=rotate]{grid-area:rotate}#building-controls [data-building-action=remove]{grid-area:remove}#building-controls :is(#building-toggle,[data-building-action]){width:48px;padding:0}#building-people{grid-area:people;gap:5px;padding:0 8px}#building-controls .building-bar-end>*{grid-area:end}#building-controls .building-credit{width:44px;padding:0}}#building-blocks .cinderblock.is-held-remotely{cursor:not-allowed}#building-blocks .cinderblock.is-held-remotely:after{content:"";pointer-events:none;border:2px dotted #000;position:absolute;inset:-5px}#building-blocks .cinderblock.has-building-holder:after{content:"";border:2px var(--holder-line) var(--holder-color);pointer-events:none;position:absolute;inset:-5px}#building-blocks .cinderblock[data-material=elbow]{pointer-events:none}#building-blocks .cinderblock[data-material=elbow]:after{content:none}#building-blocks .cinderblock[data-material=elbow]:focus-visible{outline:none}.building-shape{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.building-shape-hit{fill:#0000;pointer-events:fill}.building-shape-outline{fill:none;stroke:#000;stroke-width:3px;stroke-dasharray:6 4;pointer-events:none;display:none}.cinderblock:is(.is-selected,:focus-visible) .building-shape-outline{display:block}.cinderblock:focus-visible .building-shape-outline{stroke-dasharray:none}.cinderblock.is-held-remotely .building-shape-outline{stroke-width:2px;stroke-dasharray:2 4;display:block}.cinderblock.has-building-holder .building-shape-outline{stroke:var(--holder-color);stroke-width:2px;stroke-dasharray:var(--holder-dash);display:block}.building-holder{padding:calc(3px / var(--yard-scale,1)) calc(5px / var(--yard-scale,1));border:2px var(--holder-line) var(--holder-color);color:var(--holder-color);font:700 calc(11px / var(--yard-scale,1))/1.2 var(--mono);pointer-events:none;background:#fff;position:absolute;bottom:calc(100% + 8px);right:0}
