:root{--ink:#384c3c;--muted:#87917c;--paper:#fbf8ec;--line:#dce0ce;--green:#526e48;--gold:#d7af67;--palette:144px;--shelf:166px;--dock:0px;--top:76px;font-family:ui-rounded,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;color:var(--ink);background:#e7ead9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden}button,input{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}i[data-icon],span[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}button:hover{filter:brightness(.96)}[hidden]{display:none!important}.topbar{height:var(--top);display:flex;align-items:center;gap:20px;padding:0 25px;background:var(--paper);border-bottom:1px solid #cad3bc;position:relative;z-index:8;box-shadow:0 2px 15px #394b3320}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:850;letter-spacing:-.8px;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:.7px;color:var(--muted);font-weight:600;margin-top:3px}.brand-mark{width:40px;height:40px;border-radius:13px;background:#dce6c8;color:#60784c;transform:rotate(-7deg)}.brand-mark svg{width:28px;height:28px}.mode-switch{width:max-content;white-space:nowrap;position:absolute;left:50%;transform:translateX(-50%);display:flex;background:#ececde;padding:5px;border-radius:16px;gap:4px}.mode-switch button{display:flex;align-items:center;gap:7px;padding:10px 19px;border-radius:12px;font-size:12px;font-weight:750;transition:background .2s}.mode-switch button.active{background:var(--green);color:#fff8e8;box-shadow:0 3px 6px #374b3326}.mode-switch svg{width:18px;height:18px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.top-actions button{display:flex;gap:7px;align-items:center;border-radius:12px;min-height:38px;padding:8px;font-size:11px}.top-actions button:last-child{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;padding:7px}.top-actions svg{width:19px;height:19px}

main{height:calc(100dvh - var(--top));position:relative;isolation:isolate}
#viewport{position:absolute;inset:0 var(--palette) calc(var(--shelf) + var(--dock)) 0;outline:none;touch-action:none}
#world{display:block;width:100%;height:100%;touch-action:none}
.location{position:absolute;left:24px;top:20px;display:flex;gap:9px;align-items:flex-start;pointer-events:none;text-shadow:0 1px 8px #f4f8c9}
.location-dot{height:8px;width:8px;margin-top:7px;background:#728448;border-radius:50%;box-shadow:0 0 0 4px #f8f6df80}
.location strong{font-size:16px;letter-spacing:-.6px}.location small{display:block;font-size:9px;margin-top:4px;color:#546a43}
.save-state{position:absolute;bottom:calc(var(--shelf) + var(--dock) + 9px);left:20px;display:flex;gap:5px;align-items:center;color:#465b3c;font-size:9px;pointer-events:none}.save-state svg{width:13px;height:13px}
.tools{position:absolute;left:18px;top:98px;display:flex;flex-direction:column;background:#fbf8ecef;backdrop-filter:blur(12px);padding:6px;border-radius:17px;border:1px solid #fff8dc;box-shadow:0 8px 22px #3c4f3920;z-index:2}
.tools button{width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;color:#7b866b;margin:1px 0}.tools button span{font-size:8px;white-space:nowrap}.tools button.active{background:#e3e9d2;color:#4c6840;box-shadow:inset 0 0 0 1px #c6d1b2}.tools svg{width:22px;height:22px}.tool-divider{height:1px;background:var(--line);margin:5px}.tools #undo,.tools #redo{min-height:33px}
.camera-tools{position:absolute;right:calc(var(--palette) + 16px);top:18px;display:flex;gap:3px;background:#fbf8ece6;padding:5px;border-radius:14px;box-shadow:0 4px 15px #354c2720;z-index:2}.camera-tools button{width:31px;height:33px;border-radius:9px;display:grid;place-items:center}.camera-tools svg{width:18px;height:18px}.on{background:#e0e8cf!important}
.hint-banner{position:absolute;top:68px;left:calc((100% - var(--palette))/2);transform:translateX(-50%);background:#fbf8ece6;border:1px solid #fff4dd;border-radius:20px;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:10px;max-width:calc(100% - var(--palette) - 175px);pointer-events:none}.hint-banner svg{width:16px;height:16px}.hint-banner button{pointer-events:auto;font-size:18px;color:#9b9c87}
.height-control{display:flex;align-items:center;gap:5px;font-size:10px}.height-control input{width:46px;border:1px solid #d1d9c1;background:#fffdf3;border-radius:7px;padding:5px 2px;text-align:center;appearance:textfield}.height-control small{font-size:9px}#height-down,#height-up{font-size:18px}#auto-height{font-size:10px}#floor-open{background:#e7ecd8}
.library{position:absolute;left:0;right:0;bottom:0;height:var(--shelf);padding:8px 18px max(8px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid #dce0ce;display:flex;flex-direction:column;z-index:6}
#categories{display:flex;gap:5px;overflow-x:auto;flex-shrink:0;scrollbar-width:none;padding:0 0 5px}#categories button{flex-shrink:0;padding:7px 13px;border-radius:9px;font-size:11px;color:#7c846e;min-height:30px}#categories button.active{background:var(--green);color:#fff8e8}
.catalog-heading{display:flex;align-items:center;gap:7px;padding:0 3px 4px;min-height:19px;font-size:9px;color:#9a9f89}.catalog-heading strong{color:var(--ink);font-size:10px}.catalog-heading>span:last-child{margin-left:auto}
#parts{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;min-height:0;flex:1;padding:2px 3px 4px;scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.part-card{flex:0 0 106px;border:1px solid #e0e2d4;border-radius:12px;background:#f0f0e2;text-align:left;padding:2px 8px 5px;position:relative;scroll-snap-align:start}.part-card.active{border-color:#93a478;background:#e5ebd4;box-shadow:0 0 0 2px #9cae7f40}.part-card img{display:block;width:100%;height:53px;object-fit:contain;pointer-events:none}.part-card strong{display:block;font-size:10px;letter-spacing:-.2px;white-space:nowrap}.part-card small{font-size:8px;color:#8b947c}.part-card.active:after{content:'✓';position:absolute;top:5px;right:7px;color:#68834c;font-size:12px}
.palette{position:absolute;right:12px;top:85px;width:120px;padding:13px 10px;border:1px solid #fff5de;border-radius:18px;background:#fbf8ecf2;box-shadow:0 8px 22px #3c4f3920;max-height:calc(100% - var(--shelf) - var(--dock) - 100px);overflow-y:auto;scrollbar-width:thin;z-index:2}
.palette-label{display:flex;flex-direction:column;gap:3px;font-size:11px;margin:0 2px 10px}.palette-label span{color:#939b85;font-size:9px}#colors{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:2px}#colors button{width:100%;aspect-ratio:1;border-radius:8px;background:var(--swatch);border:3px solid var(--paper);box-shadow:0 0 0 1px #dadfcd}#colors button.active{box-shadow:0 0 0 2px #6d8553}.material-label{margin:15px 2px 7px;font-size:10px;font-weight:700}#materials{display:grid;grid-template-columns:1fr 1fr;gap:5px}#materials button{font-size:9px;padding:9px 2px;border:1px solid var(--line);border-radius:7px;min-height:32px}#materials button.active{background:#e1e7d0;color:#536c43;border-color:#b5c3a0}
#apply-palette{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:12px;padding:10px 0;background:#e6ecd9;border-radius:9px;font-size:9px}#apply-palette svg{width:15px;height:15px}
#floor-picker,#placement-confirm{position:absolute;bottom:calc(var(--shelf) + var(--dock) + 12px);left:calc((100% - var(--palette))/2);transform:translateX(-50%);display:flex;align-items:center;gap:7px;background:var(--paper);padding:9px;border:1px solid var(--line);border-radius:14px;z-index:7;box-shadow:0 7px 20px #394d3320;white-space:nowrap}
#floor-picker button{font-size:11px;background:#e3e9d5;padding:11px;border-radius:10px}#placement-confirm{font-size:10px;width:max-content;max-width:calc(100% - 20px)}#placement-rotate{background:#e5ecd6;white-space:nowrap}#placement-angle{font-size:9px;color:#6d8059;min-width:23px;text-align:right}#clear-selection{font-size:19px;line-height:1;padding:5px 8px}#placement-label{max-width:170px;white-space:normal}#placement-confirm button{font-size:11px;padding:10px;border-radius:10px;display:flex;gap:6px;align-items:center}#confirm-place{background:var(--green);color:#fff8e8}#placement-confirm svg{width:16px;height:16px}
body.walking{--palette:0px;--shelf:0px;--dock:0px}

#toast{position:absolute;left:50%;top:190px;transform:translateX(-50%);background:#3f5949ee;color:#fff9e7;border-radius:14px;padding:13px 20px;font-size:12px;z-index:12;box-shadow:0 8px 20px #2b422820;max-width:80%;text-align:center}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eff0df;z-index:20}#loading h2{font-size:23px;letter-spacing:-1px;margin:22px 0 9px}#loading p{color:#8b977c;font-size:12px}.loading-brick{color:#91a572;animation:bob 1.4s ease-in-out infinite}.loading-brick svg{width:65px;height:65px}#retry-load{padding:12px 20px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}@keyframes bob{50%{transform:translateY(-10px) rotate(-7deg)}}dialog{border:1px solid #d7dec4;color:var(--ink);background:var(--paper);border-radius:24px;width:min(620px,92vw);max-height:88dvh;padding:28px;box-shadow:0 20px 80px #263d3655;overflow:auto}dialog::backdrop{background:#233e3555;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.dialog-head small{font-size:9px;letter-spacing:2px;color:#a19e84}.dialog-head h2{margin:8px 0 20px;font-size:23px;letter-spacing:-.8px}.dialog-head>button{border-radius:50%;width:36px;height:36px;background:#e8ecda;font-size:24px}.help-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.help-cards article{padding:17px;background:#edf0e0;border-radius:15px}.help-cards article>i{color:#8b9f66}.help-cards h3{font-size:13px;margin:9px 0}.help-cards p,.help-keys{font-size:11px;color:#7a876c;line-height:1.9}.help-keys{margin:20px 0}.primary{background:var(--green);color:#fff9e4;padding:13px 20px;border-radius:12px;font-weight:700}.name-label{font-size:11px;display:block;margin-top:7px}.name-label input{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid var(--line);border-radius:10px;background:#fffdf5;font-size:15px}.project-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-actions button,.import-label{display:flex;gap:8px;align-items:center;padding:14px;background:#e8edda;border:1px solid #d7e0c5;border-radius:12px;font-size:11px;cursor:pointer}.project-actions input{display:none}.project-actions svg{width:20px;height:20px}.new-world{margin:22px 0;padding-top:17px;border-top:1px solid var(--line)}.new-world h3{font-size:13px;margin:0}.new-world p,#storage-note,#reset-confirm p{font-size:11px;line-height:1.8;color:#90967f}.new-world button{font-size:11px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;margin:4px}#sound-toggle{font-size:11px;background:#e8edda;border-radius:10px;padding:10px 14px}.credits{font-size:9px;line-height:1.8;color:#a0a58f;margin:20px 0 0}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.confirm-actions button{font-size:11px;padding:12px;border:1px solid var(--line);border-radius:10px}.walk-ui{position:absolute;inset:0;pointer-events:none}#interact,#stand-up{position:absolute;right:25px;bottom:55px;pointer-events:auto;padding:15px 22px;border-radius:18px;background:#fbf8ecf0;color:#536c43;border:1px solid #dce4cb;box-shadow:0 7px 25px #324b2f30;font-size:13px;display:flex;gap:10px;align-items:center}#stand-up{right:30px;bottom:120px}.walk-help{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:10px;color:#526c3f;white-space:nowrap}#stick-zone{display:none}

/* Vertical shelf gestures lift a part; horizontal gestures keep native list scrolling. */
#parts,.part-card{touch-action:pan-x}.part-card{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.part-card img{-webkit-user-drag:none}.dragging-block #world,.dragging-block .part-card{cursor:grabbing}.dragging-block{user-select:none;-webkit-user-select:none}
#drag-badge{position:fixed;z-index:30;pointer-events:none;transform:translate(-50%,calc(-100% - 15px));display:flex;align-items:center;gap:5px;border:1px solid #fff8dc;border-radius:13px;padding:5px 10px;background:#fbf8ecf2;box-shadow:0 6px 18px #314e3940;font-size:10px;white-space:nowrap}#drag-badge img{width:46px;height:36px;object-fit:contain}
@media(max-width:1150px){.top-actions span{display:none}.mode-switch{left:53%}.topbar{padding:0 18px}.brand{font-size:18px}.height-control>i{display:none}}
@media(max-width:800px){
 :root{--top:105px;--palette:82px;--shelf:148px;--dock:0px}
 .topbar{padding:10px 16px;align-items:flex-start;gap:8px}.brand{font-size:17px;gap:8px}.brand-mark{width:33px;height:33px;border-radius:11px}.brand small{font-size:8px;margin-top:2px}.brand-mark svg{width:24px;height:24px}.top-actions{gap:2px;padding-top:1px}.top-actions button{min-height:32px;padding:6px}.top-actions svg{width:18px;height:18px}.top-actions button:last-child{width:30px;height:30px}.mode-switch{top:57px;left:50%;padding:3px;border-radius:12px}.mode-switch button{padding:8px 25px;font-size:11px;border-radius:9px}.mode-switch svg{width:16px;height:16px}
 .location{left:14px;top:14px}.location strong{font-size:13px}.location small{font-size:8px}.camera-tools{right:calc(var(--palette) + 7px);top:58px;gap:0;padding:3px;border-radius:11px}.camera-tools button{width:28px;height:32px}.camera-tools svg{width:17px;height:17px}.tools{left:9px;top:103px;padding:4px;border-radius:14px}.tools button{width:34px;min-height:35px;gap:0}.tools button span{font-size:7px}.tools svg{width:19px;height:19px}.tools #undo,.tools #redo{min-height:30px}.tool-divider{margin:3px}
 .hint-banner{top:auto;bottom:calc(var(--shelf) + var(--dock) + 48px);font-size:8px;padding:6px 9px;max-width:calc(100% - var(--palette) - 100px);border-radius:10px}.hint-banner svg{display:none}.hint-banner button{font-size:16px}.save-state{left:12px;bottom:calc(var(--shelf) + var(--dock) + 5px);font-size:7px}.save-state svg{width:10px;height:10px}.height-control{gap:3px}.height-control input{font-size:16px;width:42px;height:34px}.height-control>i,.height-control small,#height-down,#height-up{display:none}#auto-height{font-size:9px}
 .library{padding:6px 9px max(6px,env(safe-area-inset-bottom))}#categories{padding-bottom:3px;gap:2px}#categories button{font-size:10px;padding:6px 10px;min-height:29px}.catalog-heading{font-size:8px;min-height:18px;padding-bottom:3px}.catalog-heading strong{font-size:9px}#parts{gap:7px;padding-bottom:3px}.part-card{flex-basis:85px;padding:1px 6px 4px;border-radius:10px}.part-card img{height:47px}.part-card strong{font-size:9px}.part-card small{font-size:7px}
 .palette{right:6px;top:14px;width:70px;padding:10px 7px;max-height:calc(100% - var(--shelf) - var(--dock) - 26px);border-radius:15px}.palette-label{font-size:10px;margin:0 1px 9px}.palette-label span{font-size:8px}#colors{grid-template-columns:repeat(2,1fr);gap:6px;padding:2px}#colors button{border-width:2px;border-radius:6px;min-height:23px}.material-label{font-size:9px;margin:11px 1px 6px}#materials{grid-template-columns:1fr;gap:4px}#materials button{font-size:9px;padding:7px 0;min-height:31px}#apply-palette{margin-top:9px;font-size:8px;padding:8px 0;gap:2px;flex-direction:column;line-height:1.4}
 #floor-picker button{font-size:10px;padding:10px}#floor-picker{left:50%;max-width:95%}#placement-confirm{left:50%;gap:3px;padding:7px;font-size:9px}#placement-label{max-width:92px;min-width:0;flex:1}#placement-confirm button{font-size:10px;padding:10px 8px;min-height:40px;flex-shrink:0}#placement-rotate{gap:3px}#placement-angle{font-size:10px}#toast{left:50%;top:108px;font-size:11px;max-width:85%;padding:12px 15px}
 .walk-help{display:none}#stick-zone{display:block;position:absolute;bottom:0;left:0;width:48%;height:48%;touch-action:none;pointer-events:auto}.stick-label{position:absolute;bottom:60px;left:28px;width:104px;height:104px;border:1px solid #fff5d099;border-radius:50%;display:grid;place-items:center;background:#fbf8ec40;color:#526d42;font-size:11px}.stick-label:before{content:'';position:absolute;width:44px;height:44px;border-radius:50%;background:#fff5ce44;border:1px solid #fff5ce88}#stick{position:absolute;width:104px;height:104px;border:1px solid #fff5d0;border-radius:50%;margin:-52px;background:#fbf8ec55}#stick i{position:absolute;left:30px;top:30px;width:44px;height:44px;border-radius:50%;background:#e5d6a8bb;border:1px solid #fff7d7}#interact{right:22px;bottom:67px;padding:16px;border-radius:20px;font-size:12px}#stand-up{right:24px;bottom:134px;font-size:11px;padding:13px}
 dialog{padding:23px 19px;border-radius:20px}.dialog-head h2{font-size:20px}.help-cards{gap:9px}.help-cards article{padding:12px}.help-cards h3{font-size:11px}.help-cards p{font-size:10px}.help-keys{font-size:9px}.project-actions{gap:7px}.project-actions button,.import-label{font-size:10px;padding:12px 10px}.project-actions svg{width:17px;height:17px}#loading h2{font-size:20px}
}
@media(max-width:480px){#placement-label{display:none}#placement-confirm{width:max-content;max-width:calc(100% - 24px)}}
@media(max-height:740px) and (max-width:800px) and (orientation:portrait){.tools{top:96px}.tools button{width:32px;min-height:30px}.tools #undo,.tools #redo{min-height:27px}.tools svg{width:17px;height:17px}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){
 :root{--top:54px;--shelf:108px;--dock:0px;--palette:82px}.topbar{padding:8px 15px}.brand small{display:none}.mode-switch{top:7px;left:50%}.mode-switch button{padding:8px 17px}.location{top:10px;left:12px}.location small{display:none}.tools{top:49px;flex-direction:row;left:9px;padding:3px}.tools button{min-height:32px;width:31px}.tools button span{display:none}.tools .tool-divider{width:1px;height:26px;margin:3px}.tools #undo,.tools #redo{min-height:32px}.camera-tools{top:8px;right:calc(var(--palette) + 8px)}.camera-tools button{width:27px;height:29px}.hint-banner{display:none}.palette{top:8px;right:6px;width:70px;padding:10px 7px;max-height:calc(100% - var(--shelf) - var(--dock) - 16px)}#colors{grid-template-columns:repeat(2,1fr);gap:6px}#materials{grid-template-columns:1fr}#apply-palette{flex-direction:column;font-size:8px}.height-control input{font-size:16px;width:42px}.library{padding:4px 9px}#categories button{min-height:26px;font-size:9px;padding:4px 10px}.catalog-heading{display:none}.part-card{flex-basis:90px}.part-card img{height:32px}.part-card small{display:none}.save-state{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Neutral navigation and editing attached to the selected block. */
#world{cursor:grab}body.placing #world{cursor:crosshair}body.walking #world{cursor:default}#world:active{cursor:grabbing}
.tools{max-height:calc(100% - var(--shelf) - 120px);overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y}.tools button{flex-shrink:0}
#radial-menu{position:absolute;width:212px;height:212px;transform:translate(-50%,-50%);z-index:4;pointer-events:none;isolation:isolate}
.radial-ring{position:absolute;inset:25px;border:1px dashed #fffce9c9;border-radius:50%;box-shadow:0 0 0 1px #60784c22}
.radial-action{position:absolute;width:54px;height:54px;border-radius:18px;background:#fbf8ecf5;border:1px solid #fff9de;box-shadow:0 4px 12px #354c2730;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transform:translate(-50%,-50%);pointer-events:auto;font-size:10px;touch-action:manipulation}
.radial-action svg{width:20px;height:20px}#rotate-selection{left:50%;top:12%}#move-selection{left:86%;top:38%}#copy-selection{left:72%;top:81%}#paint-selection{left:28%;top:81%}#delete-selection{left:14%;top:38%;color:#a46850}
#clear-selection{position:absolute;left:90%;top:4%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#526e48f2;color:#fff9e7;pointer-events:auto;font-size:23px;box-shadow:0 3px 10px #354c2720}
#selection-count{display:block;position:absolute;left:50%;top:57%;transform:translateX(-50%);max-width:100px;font-size:9px;line-height:1.4;text-align:center;white-space:normal;background:#fbf8ecd9;border-radius:7px;padding:3px 6px}
body.walking #radial-menu,.dragging-block #radial-menu{display:none!important}
.camera-tools #floor-open{font-size:10px}.camera-tools #multi-select{color:#60784c}
#build-status{position:absolute;left:calc((100% - var(--palette))/2);transform:translateX(-50%);top:110px;display:flex;align-items:center;gap:7px;font-size:10px;background:#fbf8eced;border:1px solid #fff5de;border-radius:20px;padding:5px 7px 5px 12px;z-index:3;white-space:nowrap}#build-status svg{width:15px;height:15px}#exit-placement{padding:8px;border-radius:14px;background:#e1e8d2;font-size:10px}
body.placing .hint-banner,body.has-selection .hint-banner{visibility:hidden}
#placement-confirm{width:410px;max-width:calc(100% - 20px);display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:9px;bottom:calc(var(--shelf) + 10px)}
.placement-settings,.placement-submit{display:flex;align-items:center;gap:6px}.placement-submit{border-top:1px solid var(--line);padding-top:7px;justify-content:flex-end}
#placement-confirm .height-control{margin-left:auto;gap:3px}#placement-confirm .height-control input{font-size:16px;width:48px;height:38px;padding:3px;display:block}#placement-confirm .height-control button{padding:5px;width:32px;min-height:38px;justify-content:center;font-size:17px;display:flex}
#placement-confirm button{min-height:40px;justify-content:center}#placement-confirm #auto-height{font-size:10px;padding:8px;white-space:nowrap}#placement-confirm #placement-label{display:block;max-width:none;margin-right:auto;font-size:10px;white-space:normal;line-height:1.4}
#palette-context{font-size:9px;line-height:1.5;margin:0 0 10px;color:#526e48}.palette.editing{box-shadow:0 0 0 2px #c3aa69,0 8px 22px #3c4f3920}
#floor-picker{bottom:auto;top:64px;max-width:calc(100% - 20px)}
@media(max-width:800px){
 #radial-menu{width:200px;height:200px}.radial-action{width:52px;height:52px;border-radius:17px;font-size:9px}.radial-action svg{width:19px;height:19px}
 .tools{max-height:calc(100% - var(--shelf) - 120px)}.camera-tools button{width:26px}.camera-tools{top:57px}#build-status{top:99px;max-width:calc(100% - 100px);font-size:9px}#build-status>i{display:none}#build-status>span{overflow:hidden;text-overflow:ellipsis}#floor-picker{top:100px}
 #placement-confirm{left:50%;width:355px;padding:7px;gap:6px}#placement-confirm .placement-settings{gap:4px}#placement-confirm #placement-rotate{padding:8px 6px;gap:3px}#placement-confirm .height-control{font-size:9px;gap:1px}#placement-confirm .height-control input{width:41px}#placement-confirm .height-control button{width:30px;padding:2px}#placement-confirm #auto-height{font-size:9px;padding:7px 5px}#placement-confirm #placement-label{font-size:9px;max-width:130px}#placement-confirm .placement-submit{padding-top:6px}#palette-context{font-size:8px}
}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){#radial-menu{width:170px;height:170px}.radial-action{width:46px;height:46px;border-radius:15px;font-size:8px}.radial-action svg{width:17px;height:17px}#clear-selection{width:30px;height:30px}#selection-count{font-size:8px;max-width:75px}.tools{max-height:none;max-width:calc(100% - var(--palette) - 18px);overflow-x:auto}#placement-confirm{width:520px;flex-direction:row;gap:7px;padding:6px;bottom:calc(var(--shelf) + 6px)}#placement-confirm .placement-submit{border:0;padding:0}#placement-confirm #placement-label{display:none}#placement-confirm button{min-height:36px}#build-status{top:91px}#floor-picker{top:46px}}

body.walking .tools,body.walking .library,body.walking .palette,body.walking #placement-confirm,body.walking #build-status,body.walking #floor-open,body.walking #multi-select,body.walking #floor-picker{display:none!important}

#original-color{width:100%;margin:8px 0 4px;padding:8px;border:1px solid #c4cbb1;border-radius:12px;background:#f7f3e7;color:#496344;font:inherit;font-size:12px;cursor:pointer}#original-color.on{background:#dfe8d1;border-color:#72916b}

/* Search all shapes without opening a modal; keep the shelf compact. */
.catalog-heading{min-height:31px;flex-shrink:0;gap:6px}.catalog-search{margin-left:auto;display:flex;position:relative;align-items:center;width:185px;max-width:60%}#part-search{width:100%;height:27px;border:1px solid #d9dfc8;background:#fffdf5;border-radius:8px;padding:3px 27px 3px 8px;font-size:12px;min-width:0}#part-search::-webkit-search-cancel-button{display:none}#clear-search{position:absolute;right:1px;top:0;width:28px;height:27px;font-size:19px}#parts-empty{margin:auto 8px;color:#7a876c;font-size:11px;line-height:1.6}#parts:empty{flex:0}.part-card strong{overflow:hidden;text-overflow:ellipsis}
#palette-toggle{display:flex;align-items:center;gap:5px;width:100%;min-height:32px;padding:2px 0 8px;font-size:10px;color:#536c43}#palette-toggle svg{width:16px;height:16px;flex-shrink:0}.palette-chevron{margin-left:auto;font-size:22px;line-height:1}.palette-collapsed{--palette:0px}.palette-collapsed .palette{width:44px;max-height:none;padding:5px;border-radius:14px}.palette-collapsed .palette>:not(.palette-top){display:none!important}.palette-collapsed #palette-toggle{height:34px;padding:0;justify-content:center}.palette-collapsed #palette-toggle>span{display:none}#palette-toggle:focus-visible,#part-search:focus-visible{outline:2px solid #8ca36b;outline-offset:2px}
@media(max-width:800px){.catalog-heading{min-height:30px}.catalog-search{width:165px}#part-search{font-size:16px;height:28px;padding-left:7px}#part-search::placeholder{font-size:11px}#palette-toggle{font-size:8px;gap:2px;flex-wrap:wrap;padding-bottom:6px}#palette-toggle>span:not(.palette-chevron){flex:1}#palette-toggle .palette-chevron{display:none}.palette-collapsed{--palette:0px}.palette-collapsed .palette{width:42px}#parts-empty{font-size:10px}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){.catalog-heading{display:flex;min-height:25px;padding:0}.catalog-search{width:170px}#part-search{height:24px}#clear-search{height:24px}.part-card img{height:23px}.part-card{padding-top:0;padding-bottom:1px}}

/* Keep labels and dimensions inside cards after adding the search row. */
.part-card img{height:44px}.part-card strong{line-height:1.2}.part-card small{display:block;line-height:1.2}
@media(max-width:800px){.part-card img{height:39px}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){.part-card img{height:23px}.part-card small{display:none}}
/* Color families and material samples share one compact, scrollable inspector. */
:root{--palette:204px}.palette{width:180px;padding:10px;max-height:calc(100% - var(--shelf) - 100px)}
.palette-tabs{display:flex;padding:3px;border-radius:10px;background:#e8ecdc;gap:3px;margin-bottom:10px}.palette-tabs button{flex:1;min-height:31px;border-radius:8px;font-size:11px}.palette-tabs button.active{background:#526e48;color:#fffbea}
.palette-label{margin-bottom:7px}.palette-label span{overflow-wrap:anywhere}#color-family{width:100%;height:32px;border:1px solid #d2dcc0;border-radius:8px;background:#fffdf5;color:var(--ink);padding:4px;font:inherit;font-size:11px;margin-bottom:8px}#colors{grid-template-columns:repeat(4,1fr);gap:6px}#colors button{min-height:29px;aspect-ratio:1}.custom-color-label,.recent-label{font-size:10px;margin:12px 2px 6px;color:#758363}.custom-color-row{display:flex;align-items:center;gap:5px}#custom-color{width:36px;height:34px;padding:1px;border:1px solid #ccd6bc;border-radius:7px;background:#fffdf4;cursor:pointer;flex-shrink:0}#custom-hex{width:0;flex:1;min-width:0;height:34px;border:1px solid #ccd6bc;border-radius:7px;background:#fffdf4;font-family:ui-monospace,monospace;font-size:12px;padding:4px}#custom-hex[aria-invalid=true]{border-color:#b95145}#use-custom-color{width:100%;border:1px solid #c3ceaf;background:#e5ecd8;border-radius:8px;font-size:10px;min-height:32px;margin-top:5px}#color-error{font-size:9px;color:#aa493a;line-height:1.5}#recent-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}#recent-colors button{background:var(--swatch);height:28px;border:3px solid #fbf8ec;border-radius:7px;box-shadow:0 0 0 1px #d4dcc5}
#materials{grid-template-columns:repeat(2,1fr);gap:7px}#materials button{padding:4px;border-radius:10px;text-align:center;min-height:83px;background:#f2f0e3}#materials button.active{box-shadow:0 0 0 1px #7c975c;background:#e0e9d0}#materials img{display:block;width:100%;height:43px;object-fit:contain}#materials strong{display:block;font-size:10px}#materials small{display:block;font-size:8px;line-height:1.4;color:#7b866e;margin-top:3px}.material-label{margin:4px 0 8px}.material-note{font-size:10px;line-height:1.6;color:#7c896b}
body.palette-collapsed{--palette:0px}body.palette-collapsed .palette{width:44px}body.walking{--palette:0px}
@media(max-width:800px){:root{--palette:124px}.palette{right:6px;width:112px;padding:8px;max-height:calc(100% - var(--shelf) - 26px)}.palette-tabs{margin-bottom:8px;padding:2px;gap:2px}.palette-tabs button{font-size:10px;min-height:30px}#colors{grid-template-columns:repeat(3,1fr);gap:5px}#colors button{min-height:25px}.palette-label span{font-size:8px}#color-family{font-size:11px;padding:2px}#custom-color{width:100%;height:32px}.custom-color-row{flex-wrap:wrap;gap:4px}#custom-hex{flex-basis:100%;height:32px;font-size:16px;padding:3px}#recent-colors{grid-template-columns:repeat(3,1fr);gap:5px}#recent-colors button{height:25px}#materials{grid-template-columns:1fr;gap:6px}#materials button{min-height:64px;padding:3px}#materials img{height:39px}#materials small{display:none}#materials strong{font-size:10px}.material-note{font-size:9px}.palette-collapsed .palette{width:42px}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){:root{--palette:124px}.palette{width:112px;max-height:calc(100% - var(--shelf) - 16px)}}

@media(max-width:800px){#materials{grid-template-columns:repeat(2,1fr);gap:5px}#materials button{min-height:57px;padding:2px}#materials img{height:33px}#materials strong{font-size:9px}}
/* Placement controls stay inside the canvas and never cover the color inspector. */
@media(max-width:800px) and (orientation:portrait){#placement-confirm{left:calc((100% - var(--palette))/2);max-width:calc(100% - var(--palette) - 14px)}#placement-confirm .placement-settings,#placement-confirm .placement-submit{flex-wrap:wrap}#placement-confirm #placement-label{max-width:none}}
/* Full-width canvas with a compact, two-row decorating shelf. */
:root{--palette:0px;--paint-height:124px}#viewport{right:0}.camera-tools{right:14px}.palette{left:63px;right:9px;top:auto;bottom:calc(var(--shelf) + 8px);width:auto;max-height:calc(100% - var(--shelf) - 140px);padding:7px 9px;border-radius:15px;z-index:5;overflow:auto}.palette-top{display:flex;align-items:center;gap:7px;margin-bottom:5px}.palette-top #palette-toggle{width:27px;height:28px;min-height:28px;padding:0;flex-shrink:0}.palette-top .palette-tabs{width:98px;margin:0;flex-shrink:0;padding:2px}.palette-tabs button{min-height:27px;padding:3px 9px}.palette-top #color-family{width:130px;max-width:35%;height:29px;margin:0;font-size:11px;flex-shrink:1}.palette-top #palette-more{height:28px;width:30px;font-size:21px;border:1px solid #d3dcc2;border-radius:8px;flex-shrink:0}.palette-top #apply-palette{width:65px;min-height:29px;height:29px;margin:0 0 0 auto;padding:4px;font-size:10px;flex-direction:row;flex-shrink:0}.palette-top #apply-palette:disabled{display:none}#palette-context{font-size:9px;margin:2px 0 4px}#colors{display:grid;grid-template-rows:repeat(2,27px);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:27px;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:2px 3px 4px;max-width:100%;width:100%;justify-content:start;touch-action:pan-x}#colors button{width:27px;height:27px;min-height:27px;aspect-ratio:auto;border-width:2px;border-radius:6px}.palette-advanced{display:none}.palette.expanded .palette-advanced{display:block;border-top:1px solid var(--line);margin-top:6px;padding-top:7px}.palette.expanded{max-height:calc(100% - var(--shelf) - 100px)}.palette-advanced .custom-color-row{display:flex;flex-wrap:nowrap;max-width:430px}.palette-advanced #custom-color{width:36px;flex:0 0 36px}.palette-advanced #custom-hex{width:110px;flex:0 1 130px}.palette-advanced #use-custom-color{width:100px;margin:0;flex:0 0 100px}.palette-advanced #recent-colors{display:flex;gap:6px;overflow-x:auto}.palette-advanced #recent-colors button{width:27px;min-width:27px}#original-color{width:auto;margin:4px 0 0;padding:4px 10px;min-height:27px;font-size:10px}.palette #materials{display:grid;grid-template-rows:repeat(2,49px);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:74px;gap:5px;overflow-x:auto;max-width:100%;padding:2px}#materials button{min-height:49px;height:49px;padding:1px}#materials img{height:29px}#materials strong{font-size:9px}#materials small{display:none}body.palette-collapsed .palette{left:auto;right:9px;width:43px;max-height:none;padding:5px}body.palette-collapsed .palette>:not(.palette-top){display:none!important}body.palette-collapsed .palette-top>:not(#palette-toggle){display:none!important}body.palette-collapsed .palette-top{margin:0}body.palette-collapsed #palette-toggle{height:30px}.palette-collapsed .palette-top{display:flex!important}
#placement-confirm{left:50%;bottom:calc(var(--shelf) + var(--paint-height) + 18px);max-width:calc(100% - 76px)}body.palette-collapsed{--paint-height:0px}body.material-tab{--paint-height:143px}body.material-tab.palette-collapsed{--paint-height:0px}.hint-banner{bottom:calc(var(--shelf) + var(--paint-height) + 20px);top:auto}#build-status{top:69px;max-width:calc(100% - 120px)}#tool-options{position:absolute;left:65px;top:112px;z-index:4;padding:7px 10px;background:#fbf8ecee;border:1px solid #d6dfc5;border-radius:12px;font-size:11px}#tool-options label{display:flex;align-items:center;gap:7px}#tool-options small{color:#8a967b;font-size:9px}#tool-options select{height:30px;background:#fffdf5;border:1px solid #d2dcc0;border-radius:7px;color:var(--ink)}#easy-build{background:#dfe9d1;padding:5px 9px;border-radius:8px;font-size:10px;min-height:27px;white-space:nowrap}.catalog-search{max-width:42%}#theme-list,.easy-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}#theme-list button,.easy-cards button{border:1px solid var(--line);padding:16px;border-radius:15px;background:#edf1e2;text-align:left}#theme-list button.active{border-color:#6d8953;box-shadow:0 0 0 2px #a8bd8b}#theme-list button>span{display:grid;place-items:center;height:76px;background:var(--theme-ground);font-size:40px;border-radius:11px;margin-bottom:10px}#theme-list strong,.easy-cards strong{display:block;font-size:14px;margin-bottom:5px}#theme-list small,.easy-cards small{display:block;font-size:11px;line-height:1.7;color:#7a896b}#maps>p,#easy-dialog>p{font-size:12px;color:#7a896b;line-height:1.7}
@media(max-width:800px){:root{--palette:0px;--paint-height:102px}.camera-tools{right:8px;top:57px}.palette{left:51px;right:6px;bottom:calc(var(--shelf) + 6px);width:auto;padding:5px 6px;max-height:calc(100% - var(--shelf) - 145px)}.palette-top{gap:4px;margin-bottom:4px}.palette-top .palette-tabs{width:80px}.palette-tabs button{font-size:10px;padding:2px 6px}.palette-top #color-family{width:91px;max-width:35%;font-size:10px}.palette-top #palette-toggle{width:22px}.palette-top #palette-more{width:25px}.palette-top #apply-palette{width:52px;font-size:9px;gap:2px}.palette-top #apply-palette svg{width:13px}#colors{grid-template-rows:repeat(2,25px);grid-auto-columns:25px;gap:5px}#colors button{width:25px;height:25px;min-height:25px}.palette.expanded{max-height:calc(100% - var(--shelf) - 110px)}.palette-advanced .custom-color-row{gap:5px}.palette-advanced #custom-color{flex-basis:30px;width:30px}.palette-advanced #custom-hex{flex:1;min-width:0;font-size:16px}.palette-advanced #use-custom-color{flex-basis:80px;width:80px;font-size:10px}#placement-confirm{left:calc((100% + 42px)/2);max-width:calc(100% - 65px);width:355px;bottom:calc(var(--shelf) + var(--paint-height) + 14px)}#placement-confirm .placement-settings,#placement-confirm .placement-submit{flex-wrap:wrap}#build-status{top:101px;left:calc((100% + 42px)/2);max-width:calc(100% - 70px)}#tool-options{left:53px;top:142px;padding:5px 7px;font-size:10px}#tool-options small{display:none}.tools{top:99px;max-height:calc(100% - var(--shelf) - var(--paint-height) - 105px)}#easy-build{font-size:9px;padding:3px 6px}.catalog-search{max-width:40%}#part-search::placeholder{font-size:10px}#floor-picker{top:98px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 70px)}#theme-list,.easy-cards{gap:8px}#theme-list button,.easy-cards button{padding:11px}#theme-list button>span{height:65px;font-size:34px}.hint-banner{max-width:calc(100% - 100px);left:calc((100% + 30px)/2)}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){:root{--palette:0px;--paint-height:91px}.palette{left:285px;right:8px;bottom:calc(var(--shelf) + 5px);padding:4px 7px;max-height:calc(100% - var(--shelf) - 62px)}#colors{grid-template-rows:repeat(2,22px);grid-auto-columns:22px;gap:4px}#colors button{width:22px;height:22px;min-height:22px}.tools{top:48px;max-height:40px;max-width:calc(100% - 20px)}#placement-confirm{left:142px;width:260px;max-width:260px;bottom:calc(var(--shelf) + 6px);flex-direction:column;gap:4px}.camera-tools{top:8px;right:9px}#tool-options{top:94px;left:10px}#build-status{top:94px;left:50%;max-width:45%}.palette #materials{grid-template-rows:repeat(2,38px);grid-auto-columns:62px}#materials button{height:38px;min-height:38px}#materials img{height:21px}body.material-tab{--paint-height:120px}}
.palette{width:min(480px,calc(100% - 57px));right:auto}#colors{grid-auto-flow:row;grid-template-columns:repeat(var(--color-columns,10),27px);grid-auto-columns:auto}.palette #materials{grid-auto-flow:row;grid-template-columns:repeat(4,74px);grid-auto-columns:auto}#tool-options select{font-size:16px}
@media(max-width:800px){.palette{width:calc(100% - 57px)}#colors{grid-template-columns:repeat(var(--color-columns,10),25px)}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){.palette{width:calc(100% - 293px)}#colors{grid-template-columns:repeat(var(--color-columns,10),22px)}.palette #materials{grid-template-columns:repeat(4,62px)}}

/* Placement follows the preview in a ring, sharing the scene with edit actions. */
#placement-confirm{position:absolute;left:0;top:0;bottom:auto;width:240px;height:240px;max-width:none;display:block;transform:translate(-50%,-50%);padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none;white-space:normal;z-index:7}
.preview-ring{position:absolute;inset:31px;border:1px dashed #fffbe7e6;border-radius:50%;box-shadow:0 0 0 1px #60784c24;background:radial-gradient(circle,transparent 62%,#fffce31a 63%);pointer-events:none}
#placement-confirm .preview-action{position:absolute;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;transform:translate(-50%,-50%);width:56px;height:56px;min-height:56px;padding:4px;border:1px solid #fff9de;border-radius:18px;background:#fbf8ecf5;box-shadow:0 4px 12px #354c2730;pointer-events:auto;font-size:10px;line-height:1.15;touch-action:manipulation;white-space:nowrap}
#placement-confirm .preview-action svg{width:20px;height:20px}#placement-confirm #placement-rotate{left:84%;top:31%;gap:2px}#placement-confirm #placement-angle{font-size:8px;min-width:0}#placement-confirm #height-up{left:50%;top:11%;font-size:10px}#placement-confirm #height-down{left:16%;top:31%;font-size:10px}#placement-confirm #confirm-place{left:84%;top:69%;background:var(--green);color:#fff9e7}#placement-confirm #cancel-place{left:16%;top:69%;color:#8f6653}#placement-confirm #auto-height{left:50%;top:89%;font-size:9px;padding:4px}.cancel-mark{font-size:25px;line-height:20px}
.preview-center{position:absolute;inset:0;pointer-events:none}#placement-confirm #placement-label{position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);width:94px;display:block;margin:0;max-width:100%;font-size:9px;line-height:1.3;text-align:center;max-height:47px;overflow:auto;border-radius:8px;padding:3px 5px;background:#fbf8eceb;box-shadow:0 1px 8px #45603a16;pointer-events:none}.preview-height{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #d5ddc6;background:#fbf8ecef;border-radius:8px;padding:2px 4px;font-size:9px;pointer-events:auto}.preview-height #height{width:38px;height:27px;padding:2px;border:0;border-radius:5px;background:#fffdf5;text-align:center;font-size:13px;appearance:textfield}.preview-height #height::-webkit-inner-spin-button{appearance:none}
#placement-tether{position:absolute;inset:0;width:100%;height:calc(100% - var(--shelf));z-index:3;pointer-events:none;overflow:hidden}#placement-tether line{stroke:#edc568;stroke-width:1.5;stroke-dasharray:4 5;opacity:.9}body.has-preview #build-status,body.has-preview .hint-banner{visibility:hidden}
@media(max-width:800px){#placement-confirm{width:212px;height:212px;left:0;top:0;bottom:auto;max-width:none;padding:0}#placement-confirm .preview-action{width:48px;height:48px;min-height:48px;padding:3px;font-size:9px;border-radius:16px}#placement-confirm .preview-action svg{width:18px;height:18px}#placement-confirm #placement-rotate{padding:3px;gap:2px}#placement-confirm #height-up,#placement-confirm #height-down{font-size:9px}#placement-confirm #auto-height{padding:3px;font-size:8px}.preview-center{width:auto}.preview-height #height{font-size:16px;width:31px;height:26px}.preview-ring{inset:27px}#placement-confirm #placement-label{font-size:8px;max-width:82px}.preview-height{font-size:8px;gap:2px}}
@media(max-height:740px) and (max-width:800px) and (orientation:portrait){#placement-confirm{width:188px;height:188px}#placement-confirm .preview-action{width:44px;height:44px;min-height:44px;border-radius:15px;font-size:8px}#placement-confirm .preview-action svg{width:17px;height:17px}#placement-confirm #auto-height{font-size:7px}.preview-center{width:auto}.preview-height{padding:1px 3px}.preview-ring{inset:24px}}
@media(max-height:550px) and (max-width:950px) and (orientation:landscape){#placement-confirm{width:188px;height:188px;left:0;top:0;bottom:auto;max-width:none;padding:0;display:block}#placement-confirm .preview-action{width:44px;height:44px;min-height:44px;font-size:8px;padding:3px;border-radius:15px}#placement-confirm .preview-action svg{width:17px;height:17px}#placement-confirm #placement-label{display:block;font-size:8px;max-width:76px}.preview-center{width:auto}.preview-ring{inset:24px}.preview-height #height{width:30px;height:24px;font-size:13px}}
/* Keep the model visible inside a wide, transparent control ring. */
#placement-confirm{width:350px;height:330px}#placement-confirm .preview-ring{inset:35px;border-color:#ffffff80;pointer-events:none}
#placement-confirm #height-up{left:73%;top:8%}#placement-confirm #height-down{left:27%;top:8%}
#placement-confirm #placement-rotate{left:94%;top:40%}#placement-confirm #confirm-place{left:80%;top:86%;width:68px}
#placement-confirm #confirm-stack{left:20%;top:86%;background:#628247;color:#fff9e7;width:68px}
#placement-confirm #cancel-place{left:6%;top:40%}#placement-confirm #placement-adjust{left:50%;top:97%;touch-action:none;background:#e8efd9;cursor:grab}
#placement-confirm #placement-adjust.on{cursor:grabbing;background:#d5e4bd}
#placement-confirm .preview-height{left:50%;top:8%;transform:translate(-50%,-50%)}
#placement-confirm #placement-label{left:50%;top:-5%;width:190px;max-width:190px;max-height:32px;font-size:10px;background:#fbf8eccf}
#camera-move{width:48px;display:flex;flex-direction:column;gap:0}#camera-move small{font-size:8px}body.camera-moving #world{cursor:grab}body.camera-moving #placement-confirm{visibility:hidden}body.camera-moving #placement-tether{display:none}
@media(max-width:800px){#placement-confirm{width:286px;height:266px}#placement-confirm #confirm-place,#placement-confirm #confirm-stack{width:63px;font-size:9px}#placement-confirm .preview-height{font-size:8px}#placement-confirm #placement-label{font-size:9px}.camera-tools{gap:0;padding:3px}#camera-move{width:40px}}
@media(max-height:550px) and (max-width:950px){#placement-confirm{width:286px;height:230px}#placement-confirm #placement-label{top:5%;left:50%;max-width:115px}#placement-confirm .preview-height{top:22%}}

#toast{pointer-events:none}

#camera-forward,#camera-back{font-size:22px;font-weight:500}body.placing:not(.camera-moving) #world{cursor:crosshair}
