:root{--bg:#141414;--fill:#0000004d;--overlay:#000000e6;--panel:#0000004d;--panel-2:#00000040;--border:#333;--border-strong:#111;--field:#333;--text:#eee;--text-dim:#b0b0b0;--accent:#fff6e2;--accent-dim:#fff6e273;--shadow:#0000004d 0px 8px 8px;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Saira,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px}*{box-sizing:border-box}a,a:visited,a:hover,a:active{color:var(--accent);text-shadow:1px 1px 3px #00000080;text-decoration:none}a:hover{text-decoration:underline}html,body,#root{height:100%;margin:0}body{overflow:hidden}.app{width:100%;height:100%;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex:0 0 320px;width:320px;height:100%;display:flex}.sidebar-header{border-bottom:1px solid var(--border);padding:18px 20px 14px}.sidebar-header h1{letter-spacing:1px;text-transform:uppercase;text-shadow:1px 1px 3px #00000080;margin:0;font-size:26px;font-weight:800}.sidebar-header p{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin:3px 0 0;font-size:12px}.panel-scroll{flex:1;padding:14px;overflow-y:auto}.section{border:1px solid var(--border);background:var(--panel-2);box-shadow:var(--shadow);border-radius:14px;margin:0 0 14px;padding:12px 14px 6px}.section legend{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);padding:0 6px;font-size:11px}.control{margin-bottom:12px;display:block}.control-inline{align-items:center;gap:8px;display:flex}.control-label{color:var(--text);justify-content:space-between;font-size:13px;display:flex}.control-value{color:var(--text-dim);font-variant-numeric:tabular-nums}.field-row{align-items:center;gap:6px;display:flex}.unit{color:var(--text-dim);font-size:12px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=number],select{background:var(--field);width:100%;color:var(--text);border:1px solid var(--border-strong);opacity:.85;border-radius:14px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600}input[type=number]:hover,select:hover,input[type=number]:focus,select:focus{opacity:1;outline:none}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}input[type=color]{border:1px solid var(--border-strong);background:var(--field);cursor:pointer;border-radius:8px;width:36px;height:26px;padding:0}.preset-slots{gap:6px;margin-bottom:8px;display:flex}.preset-slot{background:var(--field);color:var(--text-dim);border:1px solid var(--border-strong);cursor:pointer;font-variant-numeric:tabular-nums;opacity:.85;border-radius:10px;flex:1;padding:8px 0;font-family:inherit;font-size:14px;font-weight:600}.preset-slot:hover{border-color:var(--accent);opacity:1}.preset-slot.filled{color:var(--accent);border-color:var(--accent-dim);opacity:1;font-weight:700}.preset-slot.selected{outline:2px solid var(--accent)}.preset-named{letter-spacing:-.2px;padding:8px 1px;font-size:11px}.preset-actions{gap:6px;display:flex}.preset-btn{background:var(--field);color:var(--text);border:1px solid var(--border-strong);cursor:pointer;opacity:.85;border-radius:10px;flex:1;padding:8px;font-family:inherit;font-size:13px;font-weight:600}.preset-btn:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent);opacity:1}.preset-btn:disabled{opacity:.4;cursor:default}.viewport{background:radial-gradient(circle at 50% 30%,#262626,#0d0d0d);flex:1;justify-content:center;align-items:center;min-width:0;padding:24px;display:flex}.canvas-frame{border:1px solid var(--border);border-radius:16px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000008c}.sky-canvas{cursor:grab;width:100%;height:100%;display:block}.sky-canvas:active{cursor:grabbing}.hint{color:var(--text-dim);margin:0 0 10px;font-size:11px;font-style:italic}.canvas-loading{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;background:radial-gradient(circle at 50% 35%,#262626,#0d0d0d);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:14px;display:flex;position:absolute;inset:0}.canvas-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite canvas-spin}@keyframes canvas-spin{to{transform:rotate(360deg)}}
