:root{color:#292e29;font-synthesis:none;--accent:#ae452e;--muted:#6c7268;--line:#dce0d6;background:#f8f7f2;font-family:Segoe UI,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}h1,h2,p{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:5;color:#fff;background:#292e29;padding:.75rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.editor-shell{flex-direction:column;height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:1.75rem;min-height:4rem;padding:.5rem 1.5rem;display:flex}h1{letter-spacing:-.02em;font-size:1rem;font-weight:450}h1 strong{font-weight:750}.history-controls{gap:.25rem;margin-left:auto;display:flex}.history-controls button{background:0 0;border:0;border-radius:.3rem;align-items:center;gap:.4rem;min-height:2.75rem;padding:.4rem .7rem;font-size:.8125rem;display:flex}.history-controls button:disabled{color:#949a8f}.history-controls button:hover:not(:disabled){background:#e9ece4}.history-controls svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.save-state{color:var(--muted);white-space:nowrap;font-size:.75rem}.save-state:before{content:"";background:#b47c2b;border-radius:50%;width:.35rem;height:.35rem;margin-right:.5rem;display:inline-block}.workspace{flex:1;grid-template-columns:17rem minmax(0,1fr);min-height:0;display:grid}.library{border-right:1px solid var(--line);padding:1.6rem 1.25rem;overflow-y:auto}h2{letter-spacing:-.015em;font-size:.9375rem;font-weight:650}ul{margin:0;padding:0;list-style:none}.asset-shelf{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1rem;margin-top:1.2rem;display:grid}.asset-tile{text-align:left;cursor:grab;background:0 0;border:0;width:100%;padding:0;display:block}.asset-tile:active{cursor:grabbing}.asset-art{aspect-ratio:1.1;background:#e3e9dd;border:1px solid #0000;border-radius:1rem;place-items:center;transition:background .15s,transform .15s;display:grid;position:relative}.asset-art img{object-fit:contain;pointer-events:none;width:100%;height:100%}.asset-tile:hover:not(:disabled) .asset-art,.asset-tile:focus-visible .asset-art{background:#d8e2cf;transform:translateY(-3px)}.asset-add{background:#f8f7f2;border-radius:.35rem;place-items:center;width:1.75rem;height:1.75rem;font-size:1.3rem;line-height:1;display:grid;position:absolute;bottom:.65rem;right:.65rem}.asset-name{padding:.65rem .2rem 0;font-size:.875rem;font-weight:550;display:block}.scene-objects{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}.scene-objects h2{justify-content:space-between;margin-bottom:.75rem;display:flex}.scene-objects h2 span{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.object-row{text-align:left;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.3rem .5rem;font-size:.8125rem;display:flex}.object-row img{object-fit:contain;width:2rem;height:2rem}.object-row[aria-pressed=true]{background:#e4ede5;border-left-color:#187c6b}.object-row:hover{background:#ecede7}.viewport{background:#e9ece7;min-width:0;min-height:0;position:relative}.viewport:focus-visible{outline-offset:-4px}.viewport-stage{position:absolute;inset:0}.viewport-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.viewport-stage.is-dragging{outline:3px solid var(--accent);outline-offset:-3px}.viewport-stage.is-dragging:after{content:"";pointer-events:none;border:3px solid var(--accent);position:absolute;inset:0}.drop-cue{color:#fff;pointer-events:none;background:#8e3b29;border-radius:.35rem;padding:.55rem .9rem;font-size:.875rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.viewport-feedback{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;display:flex;position:absolute;top:1.5rem;left:1.5rem;right:1.5rem}.retry-button{background:#f8f7f2;border:1px solid #969e90;border-radius:.3rem;min-height:2.75rem;padding:.5rem 1rem}.action-error{color:#fff;background:#8e3b29;max-width:calc(100% - 2rem);padding:.75rem 1rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}@media (width<=760px){.app-header{flex-wrap:wrap;gap:.25rem 1rem;padding:.6rem 1rem}h1{flex-basis:100%}.history-controls{margin-left:0}.save-state{margin-left:auto}.editor-shell{height:auto;min-height:100dvh}.workspace{grid-template-columns:minmax(0,1fr)}.library{border-right:0;border-bottom:1px solid var(--line);padding:1rem}.asset-shelf{grid-template-columns:repeat(auto-fill,minmax(8rem,10rem))}.scene-objects{margin-top:1rem}.viewport{min-height:65dvh}}@media (prefers-reduced-motion:reduce){.asset-art{transition:none}.asset-tile:hover:not(:disabled) .asset-art,.asset-tile:focus-visible .asset-art{transform:none}}
