:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--panel:#1c1f25;--line:#2b3038;--text:#e6e8ec;--muted:#949aa6;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app{grid-template-rows:100%;grid-template-columns:1fr 320px;height:100%;display:grid;overflow:hidden}.stage{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.sidebar{border-left:1px solid var(--line);background:var(--panel);min-height:0;overflow-y:auto}.filebar{z-index:2;background:linear-gradient(#14161aee,#14161a00);align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;top:0;left:0;right:0}.empty{pointer-events:none;color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.panel{border-bottom:1px solid var(--line);padding:16px}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:13px}.panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 6px;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.45}.warn{color:#ffb454}.grow{text-align:left;flex:1}button,input,select{font:inherit;color:var(--text);border:1px solid var(--line);background:#23272f;border-radius:6px;padding:6px 10px}button{cursor:pointer}button:hover{border-color:#3d444f}input[type=color]{width:46px;height:30px;padding:2px}input[type=range]{background:0 0;border:none;flex:1;padding:0}.legend{gap:6px;margin:0;padding:0;list-style:none;display:grid}.swatch{align-items:center;gap:10px;width:100%;display:flex}.swatch.selected{border-color:#89f}.chip{border:1px solid #0006;border-radius:4px;flex:none;width:20px;height:20px}.row{align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.row>span:first-child{width:120px;color:var(--muted);flex:none}.row>input,.row>select{flex:1;min-width:0}.slider{align-items:center;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.slider>span{width:120px;color:var(--muted);flex:none}.slider>output{text-align:right;width:38px;color:var(--muted);font-variant-numeric:tabular-nums}.presets{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}.presets button{padding:4px 8px;font-size:12px}.fitting{border-collapse:collapse;width:100%;font-size:13px}.fitting td{padding:3px 0}.fitting td:last-child{text-align:right;font-variant-numeric:tabular-nums}.fitting tr.current{color:#89f;font-weight:600}.head{justify-content:space-between;align-items:baseline;display:flex}.link{color:#89f;letter-spacing:.06em;background:0 0;border:none;padding:0;font-size:12px}.link:hover{text-decoration:underline}.legend li{align-items:stretch;gap:6px;display:flex}.swatch.background{opacity:.45;cursor:default}.tag{color:var(--muted);border:1px solid var(--line);border-radius:6px;flex:none;align-items:center;padding:0 7px;font-size:11px;display:flex}input[type=checkbox]{flex:none;width:16px;height:16px}.filebar{flex-wrap:wrap}.editbar{align-items:center;gap:6px;margin-left:auto;display:flex}.editbar button{padding:5px 9px}.editbar button:disabled{opacity:.35;cursor:default}.toggle.on{color:#14161a;background:#89f;border-color:#89f;font-weight:600}.inline{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.newball{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.newball label{align-items:center;gap:5px;display:flex}.newball input{width:62px}.chart{border-top:1px solid var(--line);background:#0f1115;min-height:0}.chart-head{color:var(--muted);align-items:center;gap:10px;padding:5px 10px;font-size:12px;display:flex}.chart-body{max-height:38vh;padding:0 10px 10px;overflow:auto}.chart canvas{image-rendering:pixelated;display:block}.chart canvas.editing{cursor:crosshair}.head-actions{gap:12px;display:flex}.overlay{z-index:10;background:#000a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(520px,100%);max-height:100%;padding:18px;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet-head h2{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:15px}.sheet .swatch{align-items:center;gap:10px;width:100%;padding:6px 10px;display:flex}.runs{gap:3px;max-height:320px;margin:8px 0 0;padding-left:28px;font-size:13px;display:grid;overflow:auto}.runs li{align-items:center;gap:8px;display:flex}.runs b{text-align:right;font-variant-numeric:tabular-nums;min-width:26px}.edge{color:var(--muted);padding:3px 0;font-size:11px}.decal{background:#1b2030}.decal .presets{margin-bottom:8px}.dropzone{z-index:20;pointer-events:none;color:#89f;background:#8899ff14;border:2px dashed #89f;border-radius:12px;place-items:center;font-size:15px;display:grid;position:fixed;inset:10px}@media (width<=760px){.app{grid-template-rows:auto auto;grid-template-columns:100%;overflow:hidden auto}.stage{grid-template-rows:auto 1fr auto;height:68vh}.filebar{background:0 0;position:static}.sidebar{border-left:none;border-top:1px solid var(--line);min-height:auto;overflow:visible}.filebar{gap:6px;padding:8px 10px}.filebar button,.newball button{padding:5px 8px;font-size:13px}.filebar>.muted{display:none}.editbar{margin-left:0}.newball{flex-wrap:wrap;gap:6px}.newball input{width:54px}.chart-body{max-height:26vh}.row>span:first-child,.slider>span{width:96px;font-size:12px}.sheet{padding:14px}.overlay{padding:10px}}.stage>div canvas{touch-action:none}
