:root{color:#edf4fb;background:#0d1118;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}.appShell{display:grid;grid-template-columns:var(--panel-width, 400px) 6px minmax(0,1fr);height:100vh;background:#0d1118}.controlPanel{height:100vh;overflow-x:hidden;overflow-y:auto;background:#151b24;padding:22px}.panelResizeHandle{height:100vh;cursor:col-resize;background:linear-gradient(to right,rgba(255,255,255,.08),transparent 1px),#10151d;transition:background-color .12s ease}.panelResizeHandle:hover,.isResizingPanel .panelResizeHandle{background-color:color-mix(in srgb,var(--surface-color, #58d0ff) 28%,transparent)}.isResizingPanel{cursor:col-resize;-webkit-user-select:none;user-select:none}.panelHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.panelHeader h1{margin:0 0 6px;font-size:22px;line-height:1.15;font-weight:720}.panelHeader p{margin:0;color:#9eadbd;font-size:13px;line-height:1.45}.configActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.configActions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#101722;color:#eef6ff;cursor:pointer}.configActions button:hover{border-color:var(--surface-color, #58d0ff)}.hiddenFileInput{display:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.controlGrid{display:grid;gap:12px}.controlGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.controlGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;color:#aebdca;font-size:12px;font-weight:650}input,select{width:100%;min-height:34px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#0f141c;color:#eef6ff;padding:6px 9px;outline:none}input:focus,select:focus{border-color:var(--surface-color, #58d0ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--surface-color, #58d0ff) 24%,transparent)}input:disabled,select:disabled{cursor:not-allowed;color:#7e8a96;background:#12161d;border-color:#ffffff14}.lockedField{color:#7f8d99}.sectionBlock{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}.sectionBlock h2{margin:0 0 12px;font-size:13px;letter-spacing:0;color:#d5e2ef}.sliderRow{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:12px;align-items:end;margin-bottom:10px}.sliderRow span{color:#d9e8f5;font-size:12px;text-align:right;padding-bottom:8px}input[type=range]{padding:0;accent-color:var(--surface-color, #58d0ff)}.basisBlock{padding-bottom:28px}.basisTable{display:grid;width:100%;gap:2px}.basisHead,.basisRow{display:grid;grid-template-columns:26px minmax(76px,1fr) minmax(64px,78px) minmax(76px,92px) 36px;gap:6px;align-items:center}.basisHead{color:#8d9aaa;font-size:11px;font-weight:750;text-transform:uppercase;padding:0 6px 6px}.basisRow{min-height:40px;padding:4px 6px;border-radius:7px;background:#ffffff09;color:#edf4fb;font-size:12px}.basisRow>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basisRow input{min-height:30px;padding:4px 7px}.muted{color:#8c9aaa}.stage{position:relative;min-width:0;height:100vh}.colorSmoothRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:12px}.colorControl{grid-template-columns:64px 64px 1fr;align-items:center;min-width:0}.colorControl input{min-height:34px;padding:2px}.colorControl span{color:#d9e8f5;font-size:12px;font-weight:600}.toggleLine{display:flex;align-items:center;gap:9px;color:#aebdca;white-space:nowrap}.toggleLine input{width:16px;height:16px;min-height:16px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:3px;background:transparent;box-shadow:none;accent-color:var(--surface-color, #58d0ff)}.viewer,.viewerCanvas{position:absolute;inset:0}.viewerActions{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:2}.viewerActions button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#0e131bbd;color:#eef6ff;padding:7px 11px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viewerActions button:disabled{cursor:not-allowed;opacity:.45}.statusBar{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid rgba(255,255,255,.11);border-radius:7px;background:#0e131bc7;color:#dce8f2;padding:9px 12px;font-size:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.densityRange{margin-left:auto;color:#9eacba}@media(max-width:900px){body{overflow:auto}.appShell{grid-template-columns:1fr;height:auto}.controlPanel{height:auto;max-height:58vh;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.panelResizeHandle{display:none}.stage{height:70vh}}
