:root{--bg:#131415;--panel:#191a1b;--panel2:#212223;--line:#303233;--text:#e4e4e5;--muted:#9a9c9e;--dim:#65686a;--green:#26a0d6;--good:#5fae6b;--violet:#7a8a99;--red:#b8564a;--well:#131415;--well-edge:#0c0d0e;--cut:inset 0 1px 2px #000000a6;--lip:0 1px 0 #ffffff0b;--raise:inset 0 1px 0 #ffffff0e, 0 1px 0 #00000080;--press:inset 0 2px 3px #000000b8;--edge:#26a0d680;--serif:"Fraunces", Georgia, serif;--mono:"Share Tech Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{display:block}#panel{z-index:1000;border-right:1px solid var(--line);background:var(--panel);width:300px;color:var(--text);user-select:none;flex-direction:column;font-family:Inter,system-ui,sans-serif;font-size:11px;display:flex;position:fixed;top:0;bottom:0;left:0}.p-title{border-bottom:1px solid var(--well-edge);grid-template-columns:15px 1fr;align-items:center;column-gap:8px;padding:9px 11px;display:grid;box-shadow:0 1px #ffffff09}.p-logo{width:15px;height:15px;display:block}.p-logo svg{width:100%;height:100%;display:block}.p-name{font-family:var(--serif);font-variation-settings:"opsz" 72, "wght" 600;letter-spacing:-.02em;color:var(--muted);font-size:15px;line-height:1}.p-open{appearance:none;cursor:pointer;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);background:0 0;border:none;border-radius:0;margin-right:-.14em;padding:2px 0;font-family:Share Tech Mono,monospace;font-size:9px;line-height:1}.p-open:hover{color:var(--green)}.p-open:focus-visible{outline:1px solid var(--green);outline-offset:2px}.p-tools{border-bottom:1px solid var(--well-edge);align-items:center;gap:2px;padding:5px 9px;display:flex;box-shadow:0 1px #ffffff09}.p-tools .p-open{margin-left:auto}.p-tool{appearance:none;cursor:pointer;color:var(--dim);background:0 0;border:1px solid #0000;border-radius:0;place-items:center;padding:3px;line-height:0;display:grid}.p-tool svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;stroke-linejoin:miter;width:14px;height:14px;display:block}.p-tool:hover{color:var(--green);border-color:var(--well-edge);background:var(--panel2)}.p-tool:active{box-shadow:var(--press);background:var(--well)}.p-dock.on{background:var(--well);border-color:var(--well-edge);box-shadow:var(--press)}.p-tool:focus-visible{outline:1px solid var(--green);outline-offset:1px}.p-body{overscroll-behavior:contain;contain:paint;flex:1;min-height:0;overflow-y:auto}.p-body::-webkit-scrollbar{background:0 0;width:8px}.p-body::-webkit-scrollbar-track{border-left:1px solid var(--line);background:0 0}.p-body::-webkit-scrollbar-thumb{border-left:1px solid var(--edge);background:#26a0d617}.p-body::-webkit-scrollbar-thumb:hover{border-left:2px solid var(--edge);background:#26a0d629}.p-head{color:var(--dim);cursor:pointer;user-select:none;border-top:1px solid var(--well-edge);grid-template-columns:11px 1fr auto;align-items:center;column-gap:7px;padding:7px 11px;display:grid;box-shadow:0 -1px #ffffff09}.p-head.has-reset{grid-template-columns:11px 1fr auto auto}.p-head:hover{background:var(--panel2)}.p-reset{appearance:none;color:var(--line);cursor:default;pointer-events:none;background:0 0;border:none;border-radius:0;place-items:center;padding:0;line-height:0;display:grid}.p-reset svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:square;stroke-linejoin:miter;width:11px;height:11px;display:block}.p-reset.on{color:var(--green);cursor:pointer;pointer-events:auto}.p-reset.on:hover{color:var(--text)}.p-reset.on:focus-visible{outline:1px solid var(--green);outline-offset:2px}.p-cv{font-family:var(--mono);color:var(--dim);font-size:9px}.p-head.open .p-cv{color:var(--green)}.p-hname{letter-spacing:.14em;color:var(--muted);font-family:Share Tech Mono,monospace;font-size:9px}.p-meta{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:10px;overflow:hidden}.p-sec.shut{display:none}.p-sec{flex-direction:column;gap:5px;padding:4px 11px 10px;display:flex}.p-body>.p-head:first-child{border-top:none}.p-row{grid-template-columns:1fr auto;align-items:center;column-gap:9px;min-height:18px;display:grid}.p-row.p-btns{grid-template-columns:1fr 1fr}.p-k{color:var(--muted)}.p-v{color:var(--text);text-align:right;font-family:var(--mono);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:11px}.p-v.ok{color:var(--good)}body:not(.has-scene) .p-row.scene-only,body:not(.has-scene) #panel{display:none}#panel.dock-right{border-right:none;border-left:1px solid var(--line);left:auto;right:0}#panel.float{border:1px solid var(--line);max-height:78vh;inset:0 auto auto 0}#panel.float .p-title{cursor:move}#panel.float .p-title.moving{cursor:grabbing}.p-dock svg .fill{fill:currentColor;stroke:none}.p-dock.on{color:var(--green)}.p-grip{cursor:col-resize;z-index:10;touch-action:none;width:6px;position:absolute;top:0;bottom:0;right:-3px}#panel.dock-right .p-grip{left:-3px;right:auto}.p-grip:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;right:3px}#panel.dock-right .p-grip:after{left:3px;right:auto}.p-grip:hover:after,.p-grip.on:after{background:var(--green)}body.sizing,body.sizing *{cursor:col-resize!important}.p-slider{cursor:pointer;user-select:none;background:var(--well);border:1px solid var(--well-edge);height:26px;box-shadow:var(--cut), var(--lip);align-items:center;padding:0 9px;display:flex;position:relative;overflow:hidden}.p-slider:active{box-shadow:var(--press)}.p-slider .p-fill{width:calc((100% - 4px) * var(--p,0));border-right:1px solid var(--edge);pointer-events:none;background:#26a0d626;position:absolute;top:2px;bottom:2px;left:2px}.p-slider:hover .p-fill{border-right-width:2px;border-right-color:var(--edge);background:#26a0d629}.p-notch{z-index:1;pointer-events:none;background:#ffffff47;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:0}.p-slider.dirty .p-notch{background:#ffffff8c}.p-slider.dirty .p-k{color:var(--muted)}.p-slider.dirty .p-v{color:var(--text)}.p-slider .p-k{z-index:1;pointer-events:none;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);flex:1;font-family:Share Tech Mono,monospace;font-size:9px;position:relative}.p-slider:hover .p-k{color:var(--muted)}.p-slider .p-dot{z-index:3;pointer-events:auto;cursor:pointer;border:1px solid var(--dim);background:0 0;flex:none;width:7px;height:7px;margin-right:8px;position:relative}.p-slider .p-dot:hover{border-color:var(--green)}.p-slider .p-dot.on{background:var(--green);border-color:var(--green)}.p-slider .p-dot:focus-visible{outline:1px solid var(--green);outline-offset:2px}.p-slider.off .p-fill{border-right-color:var(--dim);background:#9199a40f}.p-slider.off:hover .p-fill{background:#9199a41a}.p-slider .p-k.on{color:var(--muted)}.p-slider .p-v{z-index:3;pointer-events:auto;cursor:text;text-align:right;min-width:46px;color:var(--muted);position:relative}.p-slider.editing .p-v{visibility:hidden}.p-edit{z-index:4;appearance:none;width:62px;color:var(--text);caret-color:var(--green);font-family:var(--mono);letter-spacing:-.06em;text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:0;padding:0;font-size:11px;position:absolute;top:0;bottom:0;right:9px}.p-edit[hidden]{display:none}.p-edit:focus{outline:none}.p-slider:hover .p-v{color:var(--text)}.p-slider input[type=range]{opacity:0;cursor:pointer;z-index:2;appearance:none;background:0 0;margin:0;position:absolute;inset:0}.p-slider input[type=range]:focus-visible{outline:1px solid var(--green);outline-offset:-1px}.p-select select,.p-seg .p-segwrap{margin-left:auto}.p-select select{background:var(--bg);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:0;min-width:130px;padding:3px 5px;font-family:Share Tech Mono,monospace;font-size:11px}.p-select select:disabled{color:var(--dim);cursor:default}.p-segwrap{display:flex}.p-segbtn{background:var(--panel2);color:var(--muted);border:1px solid var(--well-edge);cursor:pointer;box-shadow:var(--raise);border-left:none;border-radius:0;padding:2px 8px;font-family:Share Tech Mono,monospace;font-size:11px}.p-segbtn:first-child{border-left:1px solid var(--well-edge)}.p-segbtn.on{color:var(--green);background:var(--well);border-color:var(--well-edge);box-shadow:var(--press)}.p-segbtn:active{box-shadow:var(--press)}.p-btns{column-gap:6px}.p-btn{background:var(--panel2);color:var(--text);border:1px solid var(--well-edge);cursor:pointer;box-shadow:var(--raise);border-radius:0;flex:1;padding:5px 6px;font-family:Share Tech Mono,monospace;font-size:11px}.p-btn:hover{border-color:var(--green);color:var(--green)}.p-btn:active{box-shadow:var(--press);background:var(--well)}.p-rec{justify-content:center;align-items:center;gap:7px;display:flex}.p-rec-dot{background:var(--red);opacity:.5;flex:none;width:8px;height:8px}.p-rec:hover .p-rec-dot{opacity:.8}.p-rec.on{color:var(--red);border-color:var(--red);box-shadow:var(--press);background:#b8564a21}.p-rec.on:hover{color:var(--red);border-color:var(--red)}.p-rec.on .p-rec-dot{opacity:1;animation:1.1s step-end infinite tally}@keyframes tally{0%,62%{opacity:1}63%,to{opacity:.22}}@media (prefers-reduced-motion:reduce){.p-rec.on .p-rec-dot{opacity:1;animation:none}}.p-fx{flex-direction:column;gap:5px;display:flex}.p-slab{grid-template-columns:30px 1fr;align-items:stretch;column-gap:10px;padding:2px 0;display:grid}.p-slab-t{border:1px solid var(--well-edge);background:var(--well);height:96px;box-shadow:var(--cut), var(--lip);cursor:ns-resize;touch-action:none;position:relative;overflow:hidden}.p-slab-t.drag{box-shadow:var(--press)}.p-slab-b{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:#26a0d617;position:absolute;left:0;right:0}.p-slab-t:hover .p-slab-b,.p-slab-t.drag .p-slab-b{border-top-color:var(--edge);border-bottom-color:var(--edge);background:#26a0d629}.p-slab-t[data-zone=band]{cursor:grab}.p-slab-t[data-zone=band].drag{cursor:grabbing}.p-slab-a,.p-slab-grip{opacity:0;pointer-events:none;color:var(--green);position:absolute;left:50%;transform:translate(-50%)}.p-slab-a{width:9px;height:11px;display:block}.p-slab-a svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:square;stroke-linejoin:miter;filter:drop-shadow(0 0 1.5px #000000e6);width:100%;height:100%;display:block}.p-slab-a.top{top:-6px}.p-slab-a.bot{bottom:-6px}.p-slab-grip{background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 3px);width:11px;height:7px;margin-top:-3px;top:50%}.p-slab-t[data-zone=top] .p-slab-a.top,.p-slab-t[data-zone=bot] .p-slab-a.bot,.p-slab-t[data-zone=band] .p-slab-grip{opacity:1}.p-slab-b{min-height:0}.p-slab-s{flex-direction:column;justify-content:space-between;padding:1px 0;display:flex}.p-bg{flex-direction:column;gap:5px;padding:2px 0;display:flex}.p-bg-lab{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-family:Share Tech Mono,monospace;font-size:9px}.p-bg-prev{border:1px solid var(--well-edge);width:100%;height:34px;box-shadow:var(--cut), var(--lip);display:block}.p-bg-modes{display:flex}.p-bg-modes .p-segbtn{text-align:center;flex:1}.p-bg-sw{background:var(--line);border:1px solid var(--line);gap:1px;display:flex}.p-bg-sw[hidden]{display:none}.p-sw{appearance:none;cursor:pointer;border:none;border-radius:0;flex:1;height:20px;padding:0}.p-sw:hover,.p-sw:focus-visible{outline:1px solid var(--green);outline-offset:-1px}.p-pick{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;width:30px;height:20px;padding:0}.p-pick::-webkit-color-swatch-wrapper{padding:0}.p-pick::-webkit-color-swatch{border:1px solid var(--line);border-radius:0}.p-pick::-moz-color-swatch{border:1px solid var(--line);border-radius:0}.p-pick:hover::-webkit-color-swatch{border-color:var(--green)}.p-bg-stops{flex-direction:column;gap:4px;display:flex}.p-bg-stops[hidden]{display:none}.p-bg-stop{align-items:center;gap:7px;display:flex}#mask{z-index:900;pointer-events:none;position:fixed;inset:0}#mask i{background:#0a0b0ca8;display:block;position:absolute;box-shadow:inset 0 0 0 1px #26a0d647}#mask .lbl{font-family:var(--mono);letter-spacing:-.06em;color:var(--muted);text-shadow:0 0 3px #000000e6;font-size:10px;position:absolute}#drop{z-index:1800;pointer-events:none;backdrop-filter:blur(2px);color:var(--green);letter-spacing:.1em;border:2px dashed var(--green);background:#0b0b0c9e;place-items:center;font-family:Share Tech Mono,monospace;font-size:18px;display:none;position:fixed;inset:0}body.dragging #drop{display:grid}#loadbar{z-index:1500;opacity:1;background:#ffffff0f;height:2px;transition:opacity .5s;position:fixed;bottom:0;left:0;right:0}#loadbar.done{opacity:0}#loadfill{background:var(--green);width:0%;height:100%;box-shadow:0 0 8px var(--green)}.p-foot{border-top:1px solid var(--well-edge);background:var(--well);box-shadow:var(--cut);grid-template-columns:1fr auto auto auto;align-items:center;column-gap:8px;padding:7px 10px;display:grid;position:relative;overflow:hidden}.p-foot[hidden]{display:none}.p-foot-map{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.p-foot-n{z-index:1;font-family:var(--mono);letter-spacing:-.06em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;position:relative;overflow:hidden}.p-foot-p{z-index:1;font-family:var(--mono);letter-spacing:-.06em;color:var(--green);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:38px;font-size:10px;position:relative}.p-foot-t{z-index:1;font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:34px;font-size:10px;position:relative}.p-foot-x{z-index:1;font-family:var(--mono);color:var(--dim);cursor:pointer;appearance:none;background:0 0;border:none;border-radius:0;padding:0 4px;font-size:12px;line-height:1;position:relative}.p-foot-x:hover{color:var(--red)}#panel.busy .p-sc,#panel.busy .p-scurl,#panel.busy .p-sec>.p-btn{opacity:.4;pointer-events:none}#hud{z-index:1400;font-family:var(--mono);letter-spacing:-.06em;pointer-events:none;text-align:right;font-variant-numeric:tabular-nums;grid-template-columns:auto auto;gap:1px 8px;font-size:11px;display:grid;position:fixed;top:14px;right:14px}#hud .hv,#hud .hk{text-shadow:0 0 2px #000000eb,0 1px 2px #000000bf,0 0 7px #00000073}#hud .hv{color:#fffffff0}#hud .hk{text-align:left;color:#ffffff94;letter-spacing:.14em;text-transform:uppercase;align-self:center;font-size:9px}body:not(.has-scene) #hud .scene-only{display:none}#err:not([hidden]){z-index:2000;background:var(--bg);color:var(--red);text-align:center;place-items:center;padding:32px;font-family:Inter,system-ui,sans-serif;font-size:15px;display:grid;position:fixed;inset:0}#err .e-box{max-width:30rem;line-height:1.6}#err .e-box b{margin-bottom:.5rem;font-size:1.05rem;display:block}#welcome{display:none}body.home #welcome{backdrop-filter:blur(9px);background:#171819e0;padding:22px 26px}#welcome:not([hidden]){text-align:center;font-family:var(--serif);color:var(--text);pointer-events:none;z-index:5;width:min(600px,92vw);padding:0 1.5rem;display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}body.has-scene:not(.home) #welcome{display:none}#welcome h1{font-family:var(--serif);font-variation-settings:"opsz" 120, "wght" 700;letter-spacing:-.03em;color:var(--text);margin:0;font-size:40px}#welcome .sub{color:var(--dim);font-variation-settings:"opsz" 14, "wght" 400;margin-top:6px;font-size:13px}#welcome code{font-family:var(--mono);color:var(--muted);letter-spacing:-.06em}#examples{background:var(--line);border:1px solid var(--line);pointer-events:auto;gap:1px;margin-top:26px;display:flex}#examples a{background:var(--panel);cursor:pointer;flex:1;padding:11px 8px;text-decoration:none;display:block}#examples a:hover{background:var(--panel2)}#examples .n{font-family:var(--mono);letter-spacing:-.06em;color:var(--text);font-size:12px;display:block}#examples .s{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);font-variant-numeric:tabular-nums;margin-top:3px;font-size:9px;display:block}#examples a:hover .n,#examples a:hover .s{color:var(--green)}#pickrow{pointer-events:auto;margin-top:22px}#pickgo{border:1px solid var(--green);background:var(--well);width:100%;color:var(--green);cursor:pointer;font-family:var(--mono);letter-spacing:-.06em;border-radius:0;padding:11px 18px;font-size:11px}#pickgo:hover{background:var(--green);color:var(--bg)}#pickgo:focus-visible{outline:1px solid var(--green);outline-offset:2px}#urlrow{pointer-events:auto;gap:0;margin-top:8px;display:flex}#urlin{background:var(--well);min-width:0;color:var(--text);border:1px solid var(--line);font-family:var(--mono);letter-spacing:-.06em;border-right:none;border-radius:0;flex:1;padding:9px 11px;font-size:11px}#urlin:focus{border-color:var(--green);outline:none}#urlgo{background:var(--well);color:var(--muted);border:1px solid var(--line);cursor:pointer;font-family:var(--mono);letter-spacing:-.06em;border-radius:0;padding:9px 18px;font-size:11px}#urlgo:hover{color:var(--green);border-color:var(--green)}#welcome .drop-hint{color:var(--dim);margin:14px 0 0;font-size:12px}#wload{pointer-events:auto;text-align:left;border:1px solid var(--line);background:var(--well);margin-top:16px}#welcome.busy #examples,#welcome.busy #pickrow,#welcome.busy #urlrow{opacity:.4;pointer-events:none}#privacy{display:none}body.no-gallery #privacy{text-align:center;pointer-events:none;z-index:5;font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);font-size:10px;display:block;position:fixed;bottom:14px;left:0;right:0}body.has-scene:not(.home) #privacy{display:none}.p-marks{flex-direction:column;margin-top:4px;display:flex}.p-mk{cursor:pointer;border:1px solid #0000;grid-template-columns:18px 1fr auto auto;align-items:center;column-gap:7px;padding:4px 6px;display:grid}.p-mk:hover{background:var(--panel2);border-color:var(--well-edge)}.p-mk-i{font-family:var(--mono);letter-spacing:-.06em;color:var(--green);font-variant-numeric:tabular-nums;font-size:10px}.p-mk-v{font-family:var(--mono);letter-spacing:-.06em;color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.p-mk:hover .p-mk-v{color:var(--text)}.p-mk-p{font-family:var(--mono);color:var(--dim);font-size:10px}.p-mk-t{opacity:0;gap:1px;display:flex}.p-mk:hover .p-mk-t{opacity:1}.p-mk-b{appearance:none;cursor:pointer;line-height:1;font-family:var(--mono);color:var(--dim);background:0 0;border:none;border-radius:0;padding:0 3px;font-size:11px}.p-mk-b:hover{color:var(--green)}.p-mk-b:last-child:hover{color:var(--red)}.p-mk-b:focus-visible{outline:1px solid var(--green);outline-offset:1px;opacity:1}.p-mk-none{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);padding:6px;font-size:10px}.p-scenes{flex-direction:column;display:flex}.p-scfilter{margin-bottom:6px;display:flex}.p-scfilter input{background:var(--well);min-width:0;color:var(--text);border:1px solid var(--line);font-family:var(--mono);letter-spacing:-.06em;border-radius:0;flex:1;padding:5px 7px;font-size:10px}.p-scfilter input:focus{border-color:var(--green);outline:none}.p-grp{cursor:pointer;border:1px solid #0000;grid-template-columns:11px 1fr auto;align-items:center;column-gap:7px;padding:5px 7px;display:grid}.p-grp:hover{background:var(--panel2);border-color:var(--line)}.p-grp-cv{font-family:var(--mono);color:var(--dim);font-size:9px}.p-grp-n{color:var(--muted);font-size:11px}.p-grp:hover .p-grp-n{color:var(--text)}.p-grp-c{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);font-variant-numeric:tabular-nums;font-size:10px}.p-grp-b{border-left:1px solid var(--line);flex-direction:column;margin-left:11px;display:flex}.p-grp-b.shut{display:none}.p-sc-none{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);padding:6px 7px;font-size:10px}.p-sc{cursor:pointer;border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;column-gap:8px;padding:5px 7px;display:grid}.p-sc:hover{background:var(--panel2);border-color:var(--line)}.p-sc.on{border-color:var(--green)}.p-sc-n{color:var(--muted);font-size:11px}.p-sc:hover .p-sc-n,.p-sc.on .p-sc-n{color:var(--text)}.p-sc-m{font-family:var(--mono);letter-spacing:-.06em;color:var(--dim);font-variant-numeric:tabular-nums;font-size:10px}.p-scurl{margin-top:6px;display:flex}.p-scurl input{background:var(--well);min-width:0;color:var(--text);border:1px solid var(--line);font-family:var(--mono);letter-spacing:-.06em;border-right:none;border-radius:0;flex:1;padding:5px 7px;font-size:10px}.p-scurl input:focus{border-color:var(--green);outline:none}body.picking #app canvas{cursor:crosshair}.p-btn.on{color:var(--green);border-color:var(--green)}
