:root{font-family:Inter,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#e2e8f0;background:#020817;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;height:100%;background:#020817}body{min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:hidden}button,input,textarea{font:inherit}#app{width:100vw;height:100vh;height:100dvh;background:#020817}.app-shell{--panel-width: min(20rem, 30vw);position:relative;width:100%;height:100%;background:#020817;overflow:hidden}.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:grid;place-items:center;background:transparent;transition:opacity .18s ease}.canvas-frame{display:grid;place-items:center;border-style:solid;box-shadow:0 3px 10px #00000040;overflow:hidden}.canvas-surface{position:relative;display:grid}.edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.picture-only .canvas-frame{box-shadow:none;transform-origin:0 0}.picture-only .canvas-host{touch-action:none}.picture-only .panel-toggle{display:none}.panel-collapsed .canvas-frame canvas:not(.point-input){cursor:zoom-in}.picture-only .canvas-host,.picture-only .canvas-frame canvas:not(.point-input){cursor:zoom-out}.picture-only .input-panel{position:relative;z-index:1;cursor:auto}.picture-only .wall-label:not(.input-panel){display:none}canvas:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.artwork{display:flex;align-items:flex-end}.artwork.label-below{flex-direction:column;align-items:flex-end}.artwork-side{display:flex;flex:none;flex-direction:column;align-items:flex-end}.artwork.label-below .artwork-side{flex-direction:row}.artwork-side[hidden]{display:none}.canvas-host.mobile-artwork{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.mobile-artwork .artwork.label-below{flex:none;width:100%;margin:auto 0;align-items:center}.mobile-artwork .canvas-frame{flex:none}.mobile-artwork .artwork.label-below .artwork-side{width:100%;flex-direction:column;align-items:center}.mobile-artwork .wall-label{max-width:100%}.input-panel{display:grid;gap:.7rem}.input-panel>*+*{margin-top:0}.input-control{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.5rem;row-gap:.2rem}.input-name{color:#18181b;font-weight:600}.input-control output{color:#52525b;font-variant-numeric:tabular-nums}.input-control input[type=range]{grid-column:1 / -1;width:100%;margin:0;accent-color:#52525b}.input-control select{grid-column:1 / -1;width:100%}.input-control.input-checkbox{display:flex;align-items:center;gap:.5rem}.input-control input[type=checkbox]{margin:0;accent-color:#52525b}.input-hint{grid-column:1 / -1;color:#71717a}.input-error{color:#b91c1c}.input-error[hidden]{display:none}.input-reset{justify-self:end;padding:.2rem .7rem;border:1px solid #d4d4d8;border-radius:.3rem;background:#fff;color:#3f3f46;font:inherit;cursor:pointer}.input-reset:disabled{color:#a1a1aa;cursor:default}canvas.point-input{cursor:crosshair;touch-action:none}.wall-label{flex:none;width:15rem;padding:.9rem 1rem;background:#fcfcfa;color:#3f3f46;box-shadow:0 1px 3px #0000002e;font-size:.78rem;line-height:1.45}.wall-label[hidden]{display:none}.wall-label>*{margin:0}.wall-label>*+*{margin-top:.55rem}.wall-label-title+.wall-label-byline{margin-top:.1rem}.wall-label-title{color:#18181b;font-size:.95rem;font-weight:700;line-height:1.3}.wall-label-medium{color:#71717a;white-space:pre-line}.wall-label-description{white-space:pre-line}.wall-label-links{padding:0;list-style:none}.wall-label-links a{color:inherit;overflow-wrap:anywhere}.wall-label{position:relative}.wall-label>:first-child{padding-right:1.6rem}.wall-label .wall-label-share{position:absolute;top:.45rem;right:.45rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;margin:0;padding:0;border:none;border-radius:.4rem;background:none;color:#a1a1aa;cursor:pointer;transition:color .12s ease,background .12s ease}.wall-label-share:hover,.wall-label-share:focus-visible{color:#3f3f46;background:#0000000f}.wall-label-share:focus-visible{outline:2px solid #60a5fa}.wall-label-share svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}canvas{display:block;background:transparent}.sidebar{position:absolute;top:0;right:0;width:var(--panel-width);height:100%;display:flex;flex-direction:column;gap:1rem;padding:calc(1rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) 1rem;background:#26272af0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid rgba(212,212,216,.16);box-shadow:0 20px 45px #00000061;transform:translate(0);transition:transform .24s ease,opacity .24s ease,visibility .24s ease;z-index:2}.panel-resize-handle{position:absolute;top:0;left:-.3rem;width:.6rem;height:100%;cursor:ew-resize;touch-action:none}.panel-resize-handle:after{position:absolute;top:0;left:.25rem;width:1px;height:100%;background:#d4d4d829;content:"";transition:background .16s ease,width .16s ease}.panel-resize-handle:hover:after,.panel-resize-handle:focus-visible:after,.panel-resizing .panel-resize-handle:after{width:2px;background:#e4e4e78c}.panel-resize-handle:focus-visible{outline:none}.panel-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.sidebar.collapsed{transform:translate(calc(100% - .75rem));opacity:0;visibility:hidden;pointer-events:none}.panel-toggle{position:absolute;top:calc(.5rem + env(safe-area-inset-top));right:calc(.5rem + env(safe-area-inset-right));width:2.75rem;height:2.75rem;border:1px solid rgba(212,212,216,.18);border-radius:.8rem;background:#2f3033ad;color:#e4e4e7;cursor:pointer;opacity:1;visibility:visible;transition:opacity .18s ease 0ms,background .18s ease,visibility 0ms linear 0ms;z-index:5}.app-shell.panel-collapsed .panel-toggle{opacity:0;visibility:hidden;transition:opacity .18s ease .24s,background .18s ease,visibility 0ms linear .42s}.app-shell.panel-collapsed.panel-handle-visible .panel-toggle{opacity:1;visibility:visible;transition:opacity .18s ease 0ms,background .18s ease,visibility 0ms linear 0ms}.panel-toggle-icon,.panel-toggle-icon:before,.panel-toggle-icon:after{position:absolute;left:50%;width:1.15rem;height:2px;border-radius:999px;content:"";transition:background-color .18s ease,transform .24s ease}.panel-toggle-icon{top:50%;background:transparent;transform:translate(-50%,-50%)}.panel-toggle-icon:before,.panel-toggle-icon:after{top:0;background:currentColor}.panel-toggle-icon:before{transform:translate(-50%) rotate(45deg)}.panel-toggle-icon:after{transform:translate(-50%) rotate(-45deg)}.panel-collapsed .panel-toggle-icon{background:currentColor}.panel-collapsed .panel-toggle-icon:before{transform:translate(-50%,-.38rem)}.panel-collapsed .panel-toggle-icon:after{transform:translate(-50%,.38rem)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-right:2.6rem}.panel-share{display:grid;place-items:center;flex:none;width:2rem;height:2rem;padding:0;border:none;border-radius:.4rem;background:transparent;color:#a1a1aa;cursor:pointer}.panel-share:hover,.panel-share:focus-visible{color:#fafafa;background:#ffffff14}.panel-share:focus-visible{outline:2px solid #60a5fa}.panel-share svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.definition-section-body>.edit-mode-row{margin-bottom:.75rem}.panel-header h1{margin:0;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase}.controls{display:flex;flex:1;flex-direction:column;gap:.75rem;min-height:0;margin:0 -.5rem;padding:0 .5rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(212,212,216,.25) transparent}.controls>*{flex-shrink:0}.control-row,.select-row,.levels-row,.edit-mode-row,.example-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem;color:#cbd5e1}.select-row select,.resolution-row input,.example-row select{height:2rem;min-width:7rem;border:1px solid rgba(212,212,216,.18);border-radius:.6rem;background:#3f3f42c7;color:#f4f4f5;padding:0 .55rem}.resolution-row input{width:7rem}.resolution-row input.inferred{color:#a1a1aa}.levels-row input{flex:1;min-width:0;accent-color:#a1a1aa}.levels-row .value{min-width:1.5rem;text-align:right}.add-level{flex:none;border:1px solid rgba(212,212,216,.18);border-radius:.5rem;background:#3f3f42c7;color:#f4f4f5;padding:.15rem .45rem;font:inherit;font-size:.8rem;font-variant-numeric:tabular-nums;cursor:pointer}.add-level:hover:not(:disabled){background:#525256d9}.add-level:disabled{cursor:default;opacity:.4}.render-settings-group{--settings-row: 2rem;display:flow-root}.render-settings summary{min-height:var(--settings-row);display:flex;align-items:center;gap:.45rem;list-style:none;cursor:pointer;color:#a1a1aa;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.render-settings summary::-webkit-details-marker{display:none}.render-settings summary:before{flex:none;width:.75rem;content:"▶";color:currentColor;font-size:.65rem;line-height:1;transition:transform .16s ease}.render-settings[open] summary:before{transform:rotate(90deg)}.render-settings-actions{float:right;max-width:calc(100% - 9.5rem);min-height:var(--settings-row);display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;align-items:center;row-gap:.35rem}.render-settings-alerts{display:flex;align-items:center}.render-settings-alerts:not(:has(>:not([hidden]))){display:none}.render-settings-group:has(>.render-settings[open])>.render-settings-actions{margin-bottom:.75rem}.render-settings-actions .quality-select{height:2rem;min-width:7rem;margin-left:.45rem;border:1px solid rgba(212,212,216,.18);border-radius:.6rem;background:#3f3f42c7;color:#f4f4f5;padding:0 .55rem;font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer}.render-settings summary:hover{color:#d4d4d8}.level-limit-warning{margin-left:.45rem;color:#fbbf24;font-size:1rem;letter-spacing:normal}.extend-levels{margin-left:.6rem;letter-spacing:normal;text-transform:none}.render-settings-body{clear:both;display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-left:.75rem;border-left:2px solid rgba(212,212,216,.14)}.render-settings-body.read-only>:not(.quality-details):not(.output-colour-row){opacity:.55}.edit-mode-row input{width:1.05rem;height:1.05rem;margin:0;accent-color:#a1a1aa}.quality-details{min-height:1.25rem;color:#a1a1aa;font-size:.78rem}.details-note{border-radius:.3rem;background:#fbbf2429;padding:.05rem .3rem;color:#fbbf24}.value{font-variant-numeric:tabular-nums;color:#f8fafc}.render-progress{position:absolute;right:0;bottom:0;left:0;height:.45rem;overflow:hidden;background:#18181bb8;box-shadow:0 -1px 6px #00000059;border-top:1px solid rgba(0,0,0,.55);opacity:1;pointer-events:none;transition:opacity .14s ease;z-index:6}.render-progress[hidden]{display:block;opacity:0}.render-progress-bar{width:0%;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);box-shadow:0 0 8px #60a5fab3;transition:width .1s linear}.apply-scene{width:100%;border:1px solid rgba(212,212,216,.18);border-radius:.75rem;background:#3f3f42c7;color:#f4f4f5;padding:.6rem .8rem;cursor:pointer;transition:opacity .12s ease}.apply-scene:disabled{cursor:default;opacity:.45;transition-delay:.15s}.scene-label{font-size:.8rem;color:#cbd5e1;text-transform:uppercase;letter-spacing:.08em}.scene-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.guide-button{border:none;background:none;padding:0;color:#a1a1aa;font-size:.78rem;cursor:pointer;text-decoration:underline dotted;text-underline-offset:.2em}.guide-button:hover,.guide-button[aria-expanded=true]{color:#e4e4e7}.guide{position:absolute;top:1rem;bottom:1rem;right:calc(var(--panel-width) + 1rem);width:min(38rem,calc(100% - var(--panel-width) - 2rem));display:flex;flex-direction:column;border:1px solid rgba(212,212,216,.16);border-radius:.9rem;background:#26272af5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 45px #00000061;color:#d4d4d8;font-size:.88rem;transition:transform .24s ease,opacity .24s ease,visibility .24s ease;z-index:3}.guide[hidden]{display:none}.panel-collapsed .guide{transform:translate(var(--panel-width));opacity:0;visibility:hidden;pointer-events:none}.guide-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem;border-bottom:1px solid rgba(212,212,216,.12)}.guide-header h2{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e4e4e7}.guide-close{width:2rem;height:2rem;border:1px solid rgba(212,212,216,.18);border-radius:.6rem;background:#3f3f42c7;color:#e4e4e7;font-size:1.1rem;line-height:1;cursor:pointer}.guide-close:hover{background:#525256d9}.guide-body{flex:1;overflow-y:auto;padding:.25rem 1.25rem 1.25rem}.guide-contents{display:flex;flex-wrap:wrap;gap:.25rem .9rem;padding:.75rem 0;border-bottom:1px solid rgba(212,212,216,.12);font-size:.8rem}.guide a{color:#93c5fd;text-decoration:none}.guide a:hover{text-decoration:underline}.guide h3{margin:1.25rem 0 .5rem;font-size:.95rem;color:#f4f4f5}.guide h4{margin:1rem 0 .4rem;font-size:.85rem;color:#d4d4d8}.guide p,.guide ul{margin:.5rem 0}.guide ul{padding-left:1.25rem}.guide pre{margin:.5rem 0;padding:.6rem .75rem;overflow-x:auto;border-radius:.6rem;background:#18181bb3;color:#f4f4f5;font-size:.8rem;line-height:1.45}.guide :not(pre)>code{color:#f4f4f5}.guide table{width:100%;margin:.5rem 0;border-collapse:collapse}.guide th,.guide td{padding:.35rem .5rem .35rem 0;border-bottom:1px solid rgba(212,212,216,.1);text-align:left;vertical-align:top}.guide th{font-weight:500;white-space:nowrap;color:#e4e4e7}.definition-modes{display:flex;gap:.3rem;padding:.2rem;background:#27272a;border-radius:.6rem}.definition-modes button{flex:1;padding:.4rem;border:0;border-radius:.4rem;color:#a1a1aa;background:transparent;cursor:pointer}.definition-modes button[aria-selected=true]{color:#fafafa;background:#52525b}.definition-form{font-size:.85rem;color:#e4e4e7}.definition-form[hidden],.definition-yaml[hidden],.controls>[hidden]{display:none}.definition-history,.definition-item-tools,.definition-field-heading{display:flex;align-items:center;gap:.4rem}.definition-history{justify-content:flex-end;margin-bottom:.5rem}.definition-form button,.definition-form select,.definition-form input,.definition-form textarea{max-width:100%;min-width:0;border:1px solid #52525b;border-radius:.35rem;color:#f4f4f5;background:#27272a;padding:.35rem .5rem;font:inherit}.definition-form input:not([type=checkbox]),.definition-form textarea,.definition-form select{width:100%}.definition-form textarea{resize:vertical}.definition-form button,.definition-form select{cursor:pointer}.definition-form button:disabled{opacity:.4;cursor:default}.definition-form :focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.definition-section{margin-bottom:.5rem;border:1px solid #3f3f46;border-radius:.5rem;background:#27272a59}.definition-form>.render-settings-group{margin-bottom:.5rem;padding:.5rem .65rem;border:1px solid #3f3f46;border-radius:.5rem;background:#27272a59}.definition-form .render-settings summary{color:#e4e4e7;font-size:.85rem;letter-spacing:normal;text-transform:none}.definition-form .render-settings-actions .quality-select{width:auto;min-width:0;max-width:8rem}.definition-form .resolution-row input{width:7rem}.definition-yaml>.render-settings-group{margin-bottom:.75rem}.definition-section>summary{display:flex;align-items:center;gap:.45rem;padding:.65rem;cursor:pointer;overflow-wrap:anywhere;list-style:none}.definition-section>summary:before{flex:none;width:.75rem;content:"▶";color:#a1a1aa;font-size:.65rem;line-height:1;transition:transform .16s ease}.definition-section[open]>summary:before{transform:rotate(90deg)}.definition-section>summary::marker{content:""}.definition-section>summary::-webkit-details-marker{display:none}.definition-section[open]>summary{border-bottom:1px solid #3f3f46}.definition-section-body{padding:.6rem}.definition-value{display:grid;gap:.4rem;min-width:0}.definition-field{display:grid;gap:.3rem;margin-bottom:.35rem}.definition-field-heading{justify-content:space-between}.definition-form .definition-remove{padding:.15rem .3rem;color:#a1a1aa;background:transparent;font-size:.75rem;border-color:transparent}.definition-remove:hover{color:#fca5a5}.definition-list-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem;align-items:start;padding:.4rem 0;border-bottom:1px solid #3f3f46}.definition-variable{--item-tint: 165, 180, 252;margin-top:.6rem;border:1px solid rgba(var(--item-tint),.3);background:rgba(var(--item-tint),.09);border-radius:6px;min-width:0}.definition-variable-heading{display:flex;align-items:center}.definition-variable-heading .definition-coordinate-label{flex:1;padding-top:0;color:#d4d4d8;overflow-wrap:anywhere;min-width:0}.definition-bin:hover{color:#fca5a5}.definition-item{--item-tint: 161, 161, 170;margin-top:.6rem;border-color:rgba(var(--item-tint),.3);background:rgba(var(--item-tint),.07)}.definition-group-heading{margin:.8rem 0 .4rem;font-size:.85rem;color:#b8b8c0}.definition-live-input{margin-top:.5rem;padding:.5rem;border:1px solid #52525b;border-radius:4px}.definition-live-input:empty{display:none}.definition-live-input .input-name{color:#e4e4e7}.definition-live-input output,.definition-live-input .input-hint{color:#b8b8c0}.definition-scene-section>summary>span,.definition-background-section>summary>span{flex:1}.definition-background-section>.definition-section-body{padding:.3rem}.definition-form .definition-add-item{width:2.5rem;height:1.9rem;padding:0 .15rem 0 .35rem;text-align:left;line-height:normal}.definition-scene-section:not([open]) .definition-add-item,.definition-background-section:not([open]) .definition-add-item{display:none}.definition-add-item option:not(:first-child){color:rgb(var(--item-tint));background:#27272a}.definition-item-rect{--item-tint: 147, 197, 253}.definition-item-circle{--item-tint: 196, 181, 253}.definition-item-polygon{--item-tint: 253, 211, 141}.definition-item-zoom{--item-tint: 134, 239, 172}.definition-item>summary{cursor:grab;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:rgba(var(--item-tint),.06)}.definition-item-lifted{position:relative;z-index:2;transform:scale(1.025);box-shadow:0 8px 20px #0008;border-color:rgb(var(--item-tint))}.definition-item-lifted>summary{cursor:grabbing;background:rgba(var(--item-tint),.2)}.definition-drag-preview{position:fixed;z-index:10000;pointer-events:none;opacity:.55}.definition-drag-preview .definition-item{margin:0}.definition-item-caption{flex:1;min-width:0}.definition-item-tools{flex:none;gap:.05rem}.definition-form .definition-item-action{display:grid;place-items:center;padding:.15rem;width:1.5rem;height:1.7rem;border-color:transparent;background:transparent;color:#b8b8c0}.definition-item-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.definition-item-action:hover:not(:disabled){background:rgba(var(--item-tint),.15);color:#fafafa}.definition-scene-list{position:relative}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gradient-editor{display:grid;gap:.45rem;min-width:0}.gradient-toolbar{display:flex;flex-wrap:wrap;gap:.3rem}.gradient-spacing{display:flex}.definition-form .gradient-button{padding:.2rem .45rem;font-size:.8rem}.definition-form .gradient-spacing .gradient-button:first-child{border-radius:.35rem 0 0 .35rem}.definition-form .gradient-spacing .gradient-button:last-child{border-left:0;border-radius:0 .35rem .35rem 0}.definition-form .gradient-button[aria-pressed=true]{background:#52525b;border-color:#71717a}.gradient-strip{position:relative;padding:0 .6rem}.gradient-bar{position:relative;display:grid;grid-template-rows:1fr 1fr;height:2.2rem;border:1px solid #71717a;border-radius:4px;overflow:hidden;cursor:copy}.gradient-bar canvas{display:block;width:100%;height:100%}.gradient-preview{margin-top:.4rem;cursor:default}.gradient-preview[hidden]{display:none}.gradient-preview.is-disabled{opacity:.4}.gradient-actual-layer{background:repeating-conic-gradient(#fff,#fff 25%,#aaa 0%,#aaa 50%) 0 0 / 10px 10px}.gradient-track{position:relative;height:1.6rem;cursor:copy}.definition-form .gradient-handle{position:absolute;top:.15rem;display:grid;grid-template-rows:1fr 1fr;width:1.1rem;height:1.3rem;padding:0;border:2px solid #d4d4d8;border-radius:.25rem;overflow:hidden;transform:translate(-50%);background:repeating-conic-gradient(#fff,#fff 25%,#aaa 0%,#aaa 50%) 0 0 / 6px 6px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:left .12s ease,transform .12s ease}.gradient-handle-opaque,.gradient-handle-actual{display:grid;place-items:center;font-size:.55rem;line-height:1;color:#18181b}.gradient-handle.is-unresolved .gradient-handle-opaque{grid-row:1 / -1;background:#a1a1aa}.definition-form .gradient-handle.is-selected{border-color:#93c5fd;box-shadow:0 0 0 1px #18181b,0 0 6px #93c5fd99;z-index:1}.definition-form .gradient-handle.is-expression{border-style:dashed}.definition-form .gradient-handle.is-dragging{cursor:grabbing;transition:none;z-index:2}.definition-form .gradient-handle.is-removing{opacity:.4;transform:translate(-50%,.6rem)}.definition-form .gradient-hit-marker{top:.35rem;width:.7rem;height:.9rem;border-width:1px;border-radius:50%;cursor:default;pointer-events:auto}.gradient-hit-marker.is-interleaved{border-color:#fbbf24}.gradient-tooltip{position:absolute;bottom:calc(100% + 2.6rem);padding:.1rem .35rem;border-radius:.25rem;background:#18181b;color:#f4f4f5;font-size:.75rem;white-space:nowrap;transform:translate(-50%);pointer-events:none;z-index:3}.gradient-selected,.gradient-hit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem}.gradient-selected>.definition-bin{grid-row:1;grid-column:3}.gradient-selected>.gradient-position{grid-row:2;grid-column:2 / -1}.gradient-selected-heading,.gradient-hits-heading,.gradient-caption{color:#a1a1aa;font-size:.8rem}.gradient-position{display:flex;align-items:center;gap:.25rem;color:#a1a1aa;font-size:.8rem}.definition-form .gradient-position input{width:4.5rem}.gradient-hits{display:grid;gap:.3rem}.gradient-hit{grid-template-columns:4rem auto minmax(0,1fr) auto}.gradient-hits>.gradient-button{justify-self:start}.gradient-combined{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;font-size:.8rem}.definition-insertion-line{position:absolute;left:.6rem;right:.6rem;height:2px;background:#93c5fd;pointer-events:none;z-index:1;box-shadow:0 0 3px #93c5fd66}.definition-coordinate-label{padding-top:.35rem;color:#a1a1aa}.definition-colour-value{grid-template-columns:minmax(0,1fr) 2.5rem}.definition-suggested-value{position:relative}.definition-form .definition-suggested-value input{padding-right:2.5rem}.definition-form .definition-suggested-value select{position:absolute;right:0;top:0;bottom:0;width:2.5rem;padding:0;border-left:0;border-radius:0 4px 4px 0}.definition-colour-swatch{position:relative;display:grid;grid-template-columns:1fr 1fr;height:2rem;border:1px solid #71717a;border-radius:4px;overflow:hidden;background:repeating-conic-gradient(#fff,#fff 25%,#aaa 0%,#aaa 50%) 0 0 / 10px 10px}.definition-colour-swatch.is-disabled{opacity:.4}.definition-colour-swatch:focus-within{outline:2px solid #93c5fd;outline-offset:2px}.definition-form .definition-colour{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.definition-colour-popup{margin:0;width:300px;max-width:calc(100vw - 16px);box-sizing:border-box;padding:1rem;border:1px solid #71717a;border-radius:6px;background:#27272a;color:#e4e4e7;box-shadow:0 4px 24px #0008;max-height:calc(100dvh - 16px);overflow-y:auto}.definition-form .definition-colour-area{position:relative;display:block;width:100%;height:150px;padding:0;overflow:hidden;touch-action:none;cursor:crosshair;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent)}.definition-colour-marker{position:absolute;width:10px;height:10px;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #000;transform:translate(-50%,-50%);pointer-events:none}.definition-form .definition-colour-hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1rem;padding:0;margin:.6rem 0;border-radius:8px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.definition-colour-hue::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;border:2px solid white;border-radius:50%;background:transparent;box-shadow:0 0 0 1px #000}.definition-colour-hue::-moz-range-thumb{width:.75rem;height:.75rem;border:2px solid white;border-radius:50%;background:transparent;box-shadow:0 0 0 1px #000}.definition-colour-preview{width:100%;margin-bottom:.6rem}.definition-colour-popup label{display:grid;grid-template-columns:5rem minmax(0,1fr) 3.8rem;align-items:center;gap:.5rem;margin:.4rem 0}.definition-colour-popup input[type=range]{padding:0}.definition-hint{margin:0 0 .5rem;color:#a1a1aa}.definition-error{color:#fca5a5;overflow-wrap:anywhere}@media(pointer:coarse){.panel-share{width:44px;height:44px}.definition-form .definition-item-action{width:32px;height:44px}.gradient-track{height:2.75rem}.definition-form .gradient-handle{width:1.75rem;height:2.4rem}.definition-form button,.definition-form select,.definition-form input:not([type=checkbox]),.definition-section>summary,.definition-modes button{min-height:44px}}.scene-input{width:100%;height:24rem;min-height:8rem;resize:vertical;overflow:hidden;font-size:.85rem;border-radius:.8rem;border:1px solid rgba(212,212,216,.18);background:#27272ad1}.scene-input.cm-focused{outline:none;border-color:#d4d4d866}.scene-input .cm-scroller{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.scene-status{min-height:1.25rem;color:#a1a1aa;font-size:.8rem}.scene-status.error{color:#fca5a5}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.9em}.share-dialog{width:min(32rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1rem;border:1px solid rgba(212,212,216,.16);border-radius:.9rem;background:#26272afa;box-shadow:0 20px 45px #00000073;color:#e4e4e7}.share-dialog::backdrop{background:#00000059}.share-dialog:focus{outline:none}.share-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.share-tabs{display:flex;gap:.25rem;padding:.2rem;border-radius:.7rem;background:#18181b99}.share-tab{border:0;border-radius:.55rem;background:transparent;color:#a1a1aa;padding:.4rem .85rem;cursor:pointer;transition:background .12s ease,color .12s ease}.share-tab:hover{color:#e4e4e7}.share-tab[aria-selected=true]{background:#3f3f42e6;color:#f4f4f5}.share-panel{display:flex;flex-direction:column;gap:.75rem;min-height:8rem}.share-panel[hidden],.share-dialog .edit-mode-row[hidden]{display:none}.share-preview{align-self:center;max-width:100%;border-radius:.4rem;background:#18181b99;cursor:zoom-in}.share-preview.zoomed{cursor:zoom-out}.share-preview.transparent{background:repeating-conic-gradient(#3f3f46 0,#3f3f46 25%,#27272a 0,#27272a 50%) 0 0 / 16px 16px}.share-buttons{display:flex;gap:.5rem}.share-link-text{width:100%;box-sizing:border-box;resize:none;border:1px solid rgba(212,212,216,.18);border-radius:.6rem;background:#18181b99;color:#e4e4e7;padding:.5rem .6rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.8rem;word-break:break-all}.share-status{margin:.75rem 0 0}.share-options{display:flex;flex-direction:column;gap:.75rem}.share-qr{height:auto;background:#fff}.share-dialog.wide{width:min(44rem,calc(100vw - 2rem))}.share-definition-text{white-space:pre;overflow-wrap:normal;word-break:normal;overflow-x:auto}.share-note{margin:0;line-height:1.45}.share-limits{margin:0;padding:.5rem .75rem .5rem 1.75rem;border-radius:6px;background:#fbbf241f;color:#fbbf24;line-height:1.45}.share-swatch{display:inline-block;width:.8em;height:.8em;margin-right:.3em;border:1px solid rgba(255,255,255,.6);border-radius:2px;vertical-align:-.05em}.app-shell.dropping:after{position:absolute;z-index:40;top:0;right:0;bottom:0;left:0;border:2px dashed rgba(244,244,245,.55);border-radius:.6rem;background:#18181b59;content:"";pointer-events:none}@media(max-width:700px){.sidebar{width:100%;border-left:none}.panel-resize-handle{display:none}.guide{top:0;right:0;bottom:0;left:0;width:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:none;border-radius:0;z-index:6}.panel-collapsed .guide{transform:translate(100%)}.share-dialog,.share-dialog.wide{width:calc(100vw - 1rem);max-width:none;max-height:calc(100dvh - 1rem)}.share-tabs{flex-wrap:wrap}}@media(pointer:coarse){.select-row select,.resolution-row input,.quality-select,.example-row select,.apply-scene,.input-reset,.share-tab{min-height:2.75rem}.add-level,.guide-close{min-width:2.75rem;min-height:2.75rem}.guide-button{padding:.75rem 0}.render-settings-group{--settings-row: 2.75rem}.edit-mode-row{min-height:2.75rem}.edit-mode-row input{width:1.5rem;height:1.5rem}.wall-label .wall-label-share{top:0;right:0;width:2.75rem;height:2.75rem}.wall-label>:first-child{padding-right:2rem}}@media(forced-colors:active){.canvas-host,.wall-label{forced-color-adjust:none}.panel-toggle-icon:before,.panel-toggle-icon:after,.panel-collapsed .panel-toggle-icon,.panel-resize-handle:hover:after,.panel-resize-handle:focus-visible:after{background:ButtonText;forced-color-adjust:none}.render-progress-bar{background:Highlight;forced-color-adjust:none}canvas:focus-visible,.wall-label-share:focus-visible{outline-color:Highlight}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;transition-delay:0ms!important;animation-duration:0ms!important}}
