:root{font-family:ui-rounded,'Avenir Next','Trebuchet MS',sans-serif;color:#654a37;background:#f7efdf;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1.5px solid #d9cbb5;background:#fff9ee;border-radius:16px;min-height:48px;padding:8px 16px;font-weight:700;transition:background .12s,transform .12s}button:hover{background:#f3e9d6}button:active{transform:scale(.96)}button:focus-visible{outline:4px solid #8cae9c;outline-offset:2px}button:disabled{opacity:.4;cursor:default}#app{height:100dvh;max-width:1440px;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px,env(safe-area-inset-left))}header{height:86px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:9px}.sprout{font-size:43px;color:#779a7c}h1{font-size:23px;margin:0;letter-spacing:-.8px}small{font-size:12px;letter-spacing:1px;color:#99856f}.tools{display:flex;gap:8px}.tools button{background:#fdf9ef}.tools button:first-child{background:#eddde7}.tools button:nth-child(2){background:#e4ecdb}main{position:relative;min-height:0;flex:1;overflow:hidden;border-radius:30px;border:2px solid #dcc9ab;box-shadow:0 5px 0 #dfd2bc;background:#f7ebd7;display:flex;justify-content:center}#scene{height:100%;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#room-label{position:absolute;top:16px;left:22px;z-index:1;background:#fffaecd9;border-radius:30px;padding:8px 15px;font-size:12px;letter-spacing:1px;text-transform:uppercase;pointer-events:none}#hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);max-width:90%;padding:8px 18px;border-radius:30px;background:#fff9e9e8;font-size:13px;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #78563810}#actions{position:absolute;right:12px;top:14px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:68%}#actions button{font-size:13px;min-height:44px;border-radius:13px;box-shadow:0 3px 0 #b6a38d33}footer{height:86px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}nav{display:flex;gap:6px;background:#fff9ed;border:1px solid #ddd0b9;border-radius:23px;padding:5px;box-shadow:0 3px 0 #ddcfb7}nav button{border:0;background:transparent;min-width:123px;font-size:22px;border-radius:17px}nav button span{font-size:14px;padding-left:4px}nav button.active{background:#bcd3bc}nav button.carry{box-shadow:inset 0 0 0 3px #dba485}.save{font-size:11px;color:#7e9175;max-width:175px}.save.error{color:#a45446;font-weight:700}#cancel{font-size:12px;background:transparent;border-color:transparent}dialog{width:min(680px,94vw);max-height:86dvh;border:2px solid #d5c0a0;border-radius:27px;background:#fff8e9;color:#654a37;padding:26px;box-shadow:0 20px 90px #513d3e33}dialog::backdrop{background:#4e453f55;backdrop-filter:blur(4px)}dialog h2{font-size:25px;margin:0 0 10px}dialog p{line-height:1.6;font-size:14px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.grid button{font-size:12px;min-height:110px;padding:8px}.grid svg{height:65px;width:100%;display:block}.grid small{font-size:10px;letter-spacing:0;display:block}input[type=text]{padding:12px;border-radius:12px;border:2px solid #c3cbb0;max-width:100%;font-size:18px;background:#fffdf4}.settings-row{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.file{display:inline-flex;align-items:center;border:1.5px solid #d9cbb5;border-radius:16px;padding:12px;cursor:pointer;font-weight:700}.file input{max-width:240px;font-size:12px}.parcel{text-align:center;padding:8px 15px}.parcel svg{height:180px;width:230px}.parcel h2{font-size:30px}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:#8b9d7a;font-size:11px}.danger{color:#a45446}#rotate{display:none}.entity{cursor:grab;outline:none}.entity:focus-visible .halo{opacity:1}.halo{fill:none;stroke:#fffbe8;stroke-width:6;opacity:0;filter:drop-shadow(0 0 2px #bb8d60)}.entity.selected .halo{opacity:1;stroke:#fff9dc;stroke-dasharray:8 6}.entity.destination .halo{opacity:1;stroke:#6da28d;stroke-width:5}.entity.invalid .halo{opacity:.6;stroke:#dda998}.entity.dragging{cursor:grabbing;opacity:.94}.name-tag{font-size:13px;font-weight:700;fill:#71533d;stroke:#fff5e4;stroke-width:5px;paint-order:stroke;pointer-events:none}.reaction{pointer-events:none;animation:float 1s ease-in-out infinite}.blink{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-5px)}}@media(max-height:700px){header{height:65px}footer{height:68px}h1{font-size:20px}small{font-size:10px}button{min-height:44px}#actions{max-width:76%}.save{max-width:130px}nav button{min-width:105px}}@media(max-width:900px){.tools button span{display:none}.tools button{min-width:48px;padding:8px}.save{max-width:110px}#cancel span{display:none}h1{font-size:19px}nav button{min-width:105px}.grid{grid-template-columns:repeat(3,1fr)}}@media(orientation:portrait) and (max-width:850px){#rotate{display:flex;position:fixed;inset:0;background:#f8efdeee;z-index:9;align-items:center;justify-content:center;flex-direction:column;gap:22px;font-size:70px;text-align:center}#rotate strong{font-size:24px}#rotate span{font-size:17px;line-height:1.7}dialog{z-index:10}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.entity.attached{pointer-events:none}
