@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary: #0a0a0a;--bg-secondary: #171717;--bg-tertiary: #1e1e1e;--bg-elevated: #2b2b2b;--bg-glass: rgba(24, 25, 28, .756);--surface: #202224;--border: rgba(255, 255, 255, .12);--border-light: rgba(255, 255, 255, .22);--border-glow: rgba(45, 133, 255, .4);--text-primary: #f2f4f8;--text-secondary: #c7ccd7;--text-dim: #9299a8;--text-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--accent: #2d8dff;--accent-hover: #4ca1ff;--accent-glow: rgba(45, 133, 255, .32);--accent-dim: rgba(45, 133, 255, .12);--accent-surface: rgba(45, 133, 255, .18);--wheels-mini-x: 0px;--wheels-mini-y: 0px;--red: #f87171;--green: #4ade80;--blue: #60a5fa;--danger: #ef4444;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .5), 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 22px rgba(45, 133, 255, .2);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .03);--sidebar-width: 380px;--header-height: 44px;--track-bg: linear-gradient(90deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .08) 100%);--track-height: 3px;--thumb-size: 14px}:root[data-theme=light]{--bg-primary: #eef2f7;--bg-secondary: #f6f9fd;--bg-tertiary: #ffffff;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .75);--surface: #ffffff;--border: rgba(10, 20, 34, .14);--border-light: rgba(10, 20, 34, .24);--border-glow: rgba(34, 118, 215, .26);--text-primary: #0f1724;--text-secondary: #2b3a4f;--text-dim: #5f7088;--accent: #2a84e8;--accent-hover: #4799f1;--accent-glow: rgba(42, 132, 232, .24);--accent-dim: rgba(42, 132, 232, .1);--accent-surface: rgba(42, 132, 232, .12);--track-bg: linear-gradient(90deg, rgba(10, 20, 34, .08) 0%, rgba(10, 20, 34, .15) 100%);--shadow-sm: 0 1px 2px rgba(14, 30, 50, .08), 0 2px 4px rgba(14, 30, 50, .05);--shadow-md: 0 8px 18px rgba(14, 30, 50, .12), 0 2px 6px rgba(14, 30, 50, .06);--shadow-lg: 0 16px 30px rgba(14, 30, 50, .16), 0 4px 12px rgba(14, 30, 50, .08);--shadow-glow: 0 0 20px rgba(42, 132, 232, .16);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .72)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:DM Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;font-weight:400;background:radial-gradient(circle at 16% -20%,rgba(255,255,255,.035) 0%,transparent 44%),radial-gradient(circle at 84% -10%,rgba(255,255,255,.02) 0%,transparent 42%),var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none;transition:background .25s ease,color .25s ease}:root[data-theme=light],:root[data-theme=light] body{background:radial-gradient(circle at 8% 0%,rgba(42,132,232,.16) 0%,transparent 38%),radial-gradient(circle at 92% 0%,rgba(255,255,255,.95) 0%,transparent 32%),var(--bg-primary)}#app{--preview-controls-ratio: .5;--controls-flex-ratio: .5;display:flex;flex-direction:column;height:100vh;height:100svh;height:100dvh;overflow:hidden;background:var(--bg-primary);transition:background .25s ease;position:relative}#app:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.045;background-image:radial-gradient(rgba(255,255,255,.7) .4px,transparent .7px),radial-gradient(rgba(0,0,0,.85) .35px,transparent .7px);background-size:3px 3px,4px 4px;background-position:0 0,1px 1px;animation:glass-grain-shift 8s steps(7) infinite}#app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(130% 85% at 50% -18%,rgba(255,255,255,.025) 0%,transparent 58%)}#app>*{position:relative;z-index:1}#header{display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,0px) calc(12px + env(safe-area-inset-right,0px)) 0 calc(12px + env(safe-area-inset-left,0px));background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;height:calc(var(--header-height) + env(safe-area-inset-top,0px));z-index:10;box-shadow:var(--shadow-inset);isolation:isolate}#top-control-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px calc(12px + env(safe-area-inset-right,0px)) 6px calc(12px + env(safe-area-inset-left,0px));background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;z-index:9}.top-global-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.top-global-actions .tool-btn{min-height:44px}.header-left,.header-right{display:flex;align-items:center;gap:6px}.header-title{font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.3px;background:linear-gradient(135deg,#edf4ff,#a7cbff,#388fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root[data-theme=light] .header-title{background:linear-gradient(135deg,#26415f,#2a84e8,#4da4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-btn{width:auto;min-width:74px;padding:0 10px;gap:6px;color:var(--text-secondary)}#controls{position:relative}#isolated-cal-sliders,#isolated-controls-sliders{position:absolute;left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(var(--subtabs-height, 48px) + 8px);z-index:40;background:#18191ceb;border-radius:var(--radius-sm);padding:8px 10px;box-shadow:0 8px 20px #00000080;pointer-events:auto;isolation:isolate;border:1px solid rgba(255,255,255,.03);display:none}#isolated-controls-sliders{border-color:#ffffff14;background:linear-gradient(180deg,#12151df5,#0a0c10f2);box-shadow:0 14px 32px #00000075,inset 0 1px #ffffff0d}#isolated-controls-sliders :is(.mapping-control-row,.picker-settings-row,.toning-slider-row){display:flex;align-items:center;gap:8px;margin:0;padding:1px 0;border:0;border-radius:0;background:transparent}#isolated-controls-sliders :is(.mapping-control-row,.picker-settings-row,.toning-slider-row)+:is(.mapping-control-row,.picker-settings-row,.toning-slider-row){margin-top:3px;padding-top:3px;border-top:1px solid rgba(255,255,255,.08)}#isolated-controls-sliders :is(.mapping-control-row,.picker-settings-row,.toning-slider-row)>label{flex:0 0 68px;font-size:11px;font-weight:400;line-height:1.2;color:var(--text-secondary)}#isolated-controls-sliders :is(.mapping-control-row,.picker-settings-row,.toning-slider-row) input[type=range]{flex:1 1 auto;min-width:0}#isolated-controls-sliders .val-input{flex:0 0 58px;min-width:58px;text-align:right}#controls.module-calibration #isolated-cal-sliders,#controls.module-mapping #isolated-controls-sliders,#controls.module-toning #isolated-controls-sliders{display:block}#isolated-cal-sliders .slider-row,#isolated-controls-sliders .slider-row,#isolated-controls-sliders .picker-settings-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}#isolated-cal-sliders .slider-row:last-child,#isolated-controls-sliders .slider-row:last-child,#isolated-controls-sliders .picker-settings-row:last-child{margin-bottom:0}#isolated-cal-sliders input[type=range],#isolated-controls-sliders input[type=range]{flex:1 1 auto}.theme-btn .theme-toggle-label{font-family:var(--text-mono);font-size:10px;letter-spacing:.2px}.theme-btn.active{border-color:var(--border-glow);background:var(--accent-surface);color:var(--text-primary)}#layout-studio-entry-btn{position:relative;color:var(--text-dim)}#layout-studio-entry-btn:before{content:"DEV";position:absolute;right:-3px;top:-3px;font-family:var(--text-mono);font-size:7px;line-height:1;padding:2px 3px;border-radius:999px;background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);color:#e7c078}:where(.icon-btn,.primary-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item){position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,inset 0 -1px #0000004d,var(--shadow-sm);background-image:linear-gradient(175deg,#ffffff04,#ffffff01 35%,#0000000f);backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%)}:where(.icon-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.06);background:radial-gradient(120% 120% at 15% 12%,rgba(255,255,255,.06) 0%,rgba(255,255,255,.015) 24%,transparent 64%);opacity:.28;pointer-events:none}:where(.icon-btn,.primary-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item):after{content:"";position:absolute;left:-70%;top:0;width:50%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.28) 48%,transparent 100%);transform:skew(-18deg);opacity:0;transition:left .32s ease,opacity .22s ease;pointer-events:none}:where(.icon-btn,.primary-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item):hover:after{left:130%;opacity:.62}:where(.icon-btn,.primary-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item):hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00000038,0 10px 22px #00000059,0 0 0 1px #2d85ff3d}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:#2a2c30b3;color:var(--text-secondary);border-color:var(--border-light)}.icon-btn:active{transform:scale(.92);background:var(--bg-tertiary)}.primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.4px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #2d85ff57}.primary-btn:hover{background:var(--accent-hover);box-shadow:0 12px 24px #2d85ff61,0 0 0 1px #78baff47 inset}.primary-btn:active{transform:translateY(0) scale(.97);box-shadow:0 1px 4px #2d85ff57}.fps-badge{font-family:var(--text-mono);font-size:9.5px;font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums;padding:3px 8px;background:var(--bg-tertiary);border-radius:var(--radius-xs);border:1px solid var(--border);letter-spacing:.5px}#preview-container{flex:var(--preview-controls-ratio) 1 0;min-height:120px;position:relative;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}#preview-controls-divider{display:none}#gl-canvas{max-width:100%;max-height:100%;display:block}.compare-hint{position:fixed;top:calc(var(--header-height) + env(safe-area-inset-top,0px) + 10px);left:50%;transform:translate(-50%);max-width:min(680px,calc(100vw - 24px));padding:8px 12px;border-radius:var(--radius-md);background:linear-gradient(180deg,#121220f5,#0e0e18f0);border:1px solid var(--border-light);color:var(--text-secondary);font-size:11.5px;letter-spacing:.15px;z-index:30;box-shadow:var(--shadow-md),var(--shadow-glow);text-align:center;pointer-events:none}#split-divider{position:absolute;width:24px;margin-left:-12px;border-left:0;box-shadow:none;background:transparent;z-index:5;align-items:center;justify-content:center;cursor:ew-resize;pointer-events:auto}.split-divider-handle,#split-divider:hover .split-divider-handle{display:none}#drop-zone{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:flex;align-items:center;justify-content:center;border:1.5px dashed rgba(255,255,255,.08);border-radius:var(--radius-xl);transition:all .3s ease;background:radial-gradient(ellipse at center,rgba(255,255,255,.04) 0%,transparent 70%)}#drop-zone.drag-over{border-color:var(--accent);background:radial-gradient(ellipse at center,rgba(45,133,255,.16) 0%,transparent 70%);box-shadow:inset 0 0 60px #2d85ff1f}.drop-content{text-align:center;color:var(--text-secondary)}.drop-content svg{opacity:.25}.drop-content p{margin:12px 0;font-size:13px;font-weight:400;color:var(--text-dim)}.drop-content .hint{font-family:var(--text-mono);font-size:10px;color:var(--text-dim);opacity:.7;margin-top:4px;letter-spacing:.5px}#error-msg{padding:8px 16px;background:#ef444414;border-bottom:1px solid rgba(239,68,68,.15);color:var(--red);font-size:12px;text-align:center}#controls{flex:var(--controls-flex-ratio) 1 0;display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border);overflow-y:auto;min-height:110px;max-height:none;padding-bottom:env(safe-area-inset-bottom,0px)}#controls::-webkit-scrollbar{width:3px}#controls::-webkit-scrollbar-track{background:transparent}#controls::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}#controls::-webkit-scrollbar-thumb:hover{background:#ffffff24}#toolbar{display:flex;align-items:center;gap:2px;padding:5px 14px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.tool-btn{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 12px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease}.tool-btn:hover{background:#262c35c2;color:var(--text-secondary);border-color:var(--border-light)}.tool-btn:active{transform:scale(.95)}.tool-btn.active{background:var(--accent-surface);border-color:var(--border-glow);color:var(--text-primary);box-shadow:0 0 12px #2d85ff33}#hold-compare-btn.active{background:#2d85ff3d;color:var(--text-primary);border-color:#72b1ff85;box-shadow:0 0 0 1px #72b1ff38 inset}#layer-tabs{display:flex;gap:4px;padding:8px 14px;flex-shrink:0}.layout-controls{display:grid;grid-template-columns:1fr;gap:8px;padding:0}.layout-control-item{display:flex;flex-direction:column;gap:4px}.layout-control-item span{font-family:var(--text-mono);font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim)}.layout-control-item select{min-height:44px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-size:10.5px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.layout-control-item select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2d85ff33}#layout-manager-panel{margin-top:6px}.layout-manager-content{display:grid;gap:6px}.layout-manager-list-wrap{display:grid;gap:4px}.layout-manager-list-label{font-family:var(--text-mono);font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim)}.layout-profile-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:126px;overflow-y:auto}.layout-profile-item{min-height:28px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);color:var(--text-secondary);display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;cursor:grab}.layout-profile-item.dragging{opacity:.6}.layout-profile-item.active{border-color:#2d85ff66;background:var(--accent-dim);color:var(--text-primary)}.layout-drag-handle{font-family:var(--text-mono);font-size:9px;color:var(--text-dim);-webkit-user-select:none;user-select:none}.layout-profile-name{min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-profile-tags{display:inline-flex;align-items:center;gap:4px}.layout-profile-badge{font-family:var(--text-mono);font-size:8px;letter-spacing:.4px;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:1px 5px}.layout-profile-badge.lock{border-color:#f59e0b59;color:#e7c078}.layout-manager-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.layout-manager-actions .small-btn{width:100%}.layout-manager-status{min-height:18px;font-family:var(--text-mono);font-size:8.5px;color:var(--text-dim);letter-spacing:.5px}.layer-tab{flex:1;min-height:44px;padding:8px 6px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-family:DM Sans,sans-serif;font-size:11.5px;font-weight:500;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden}.layer-tab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%);pointer-events:none}.layer-tab .tab-num{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:50%;font-family:var(--text-mono);font-size:9.5px;font-weight:600;transition:all .25s ease}.layer-tab:hover{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-light)}.layer-tab.active{background:var(--accent-surface);border-color:#2d85ff66;color:var(--text-primary);box-shadow:0 0 16px #2d85ff33,var(--shadow-inset)}.layer-tab.active .tab-num{background:var(--accent);color:#fff;box-shadow:0 2px 8px #2d85ff73}#wheels-row{display:flex;align-items:flex-start;gap:0;flex-shrink:0;padding:0 4px}#wheels-panel .panel-header-actions{flex-wrap:wrap;justify-content:flex-end}#wheels-panel .panel-header-actions .small-btn{flex:0 0 auto}#wheel-pin-btn{min-width:82px;text-align:center;justify-content:center;align-items:center}#wheel-compare-btn{min-width:150px;text-align:center}#wheels-collapse-btn{min-width:44px;width:44px;padding:0 8px;font-family:var(--text-mono);font-size:9px;letter-spacing:.6px;text-transform:uppercase}#controls.wheel-pinned #wheels-panel{position:sticky;top:var(--wheel-controls-sticky-offset, 0px);z-index:7;background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border-bottom:1px solid var(--border)}#wheels-row.wheels-compare-swap{flex-direction:row-reverse}#wheels-row.wheels-compare-inside{position:relative;justify-content:center;min-height:244px;align-items:center}#wheels-row.wheels-compare-inside .wheel-col{flex:0 0 auto;position:static;transform:none;margin:0}#wheels-row.wheels-compare-inside .wheel-col:first-child{z-index:1;width:auto;max-width:none}#wheels-row.wheels-compare-inside .wheel-col:last-child{z-index:3;width:auto;max-width:none}#wheels-row.wheels-compare-inside .wheel-label{display:none}#wheels-row.wheels-compare-inside #wheel-container,#wheels-row.wheels-compare-inside #rendered-wheel-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;max-width:none}#wheels-row.wheels-compare-inside #wheel-container{z-index:1;width:clamp(112px,34vw,142px)}#wheels-row.wheels-compare-inside #rendered-wheel-container{z-index:3;width:clamp(112px,34vw,142px)}#wheels-row.wheels-compare-inside #wheel-canvas{opacity:1;filter:none}#wheels-row.wheels-compare-inside #rendered-wheel-canvas{opacity:1;filter:drop-shadow(0 0 10px rgba(0,0,0,.35))}#history-panel,.panel{margin:6px;padding:8px;background:color-mix(in srgb,var(--bg-secondary) 78%,transparent);border:1px solid rgba(255,255,255,.045);border-radius:var(--radius-md);box-shadow:0 4px 10px #00000029}#history-panel,#panels>.panel{width:calc(100% - 12px)}#history-panel{margin-top:6px}#calibration-panel{background:var(--bg-glass);box-shadow:none}.history-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding-bottom:2px;border-bottom:none}.history-panel-actions,.panel-header-actions{display:inline-flex;align-items:center;gap:6px}.module-collapse-btn{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.module-collapse-btn:hover{background:#262c35c2;color:var(--text-secondary);border-color:var(--border-light);transform:translateY(-1px)}.module-collapse-btn:active{transform:scale(.94);color:var(--accent)}.module-collapse-btn.is-collapsed{transform:none}.module-collapse-btn.is-collapsed svg{transform:rotate(-90deg)}.reset-module-btn{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;flex-shrink:0}.reset-module-btn svg{width:12px;height:12px;display:block}.reset-module-btn:hover{background:#262c35c2;color:var(--text-secondary);border-color:var(--border-light);transform:translateY(-1px)}.reset-module-btn:active{transform:scale(.94);color:var(--accent)}.module-collapse-btn svg{width:12px;height:12px;display:block}.history-panel-title{font-family:var(--text-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-dim)}.history-panel-status{font-family:var(--text-mono);font-size:9px;color:var(--text-dim)}.history-list{display:flex;flex-direction:column;gap:4px;max-height:132px;overflow-y:auto;padding-right:2px}.history-list::-webkit-scrollbar{width:3px}.history-list::-webkit-scrollbar-track{background:transparent}.history-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 8px;background:var(--bg-glass);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;min-height:30px}.history-item:hover{background:#ffffff0a;border-color:var(--border);color:var(--text-primary)}.history-item:active{transform:scale(.985)}.history-item.active{background:var(--accent-dim);border-color:#2d85ff57;color:var(--text-primary);box-shadow:0 0 0 1px #2d85ff1f inset}.history-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.history-item-label{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-time{font-family:var(--text-mono);font-size:8.5px;color:var(--text-dim)}.history-item-index{font-family:var(--text-mono);font-size:9px;color:var(--text-dim);flex-shrink:0}.wheel-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.wheel-label{font-family:var(--text-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);text-align:center;padding:8px 0 2px}#wheel-container,#rendered-wheel-container{display:flex;align-items:center;justify-content:center;padding:2px 4px 6px;flex-shrink:0;width:100%;aspect-ratio:1;max-width:180px}#wheel-canvas,#rendered-wheel-canvas{border-radius:50%;touch-action:none;width:100%!important;height:100%!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}#panels{flex:1;overflow-y:auto;padding:0 0 8px;min-width:0}#panels::-webkit-scrollbar{width:3px}#panels::-webkit-scrollbar-track{background:transparent}#panels::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:3px}.panel{padding:8px}.panel.is-collapsed>:not(.panel-header){display:none}#history-panel.is-collapsed .history-list{display:none}.panel.is-collapsed,#history-panel.is-collapsed{padding:5px 7px;margin-top:4px;margin-bottom:4px}.panel.is-collapsed .panel-header,#history-panel.is-collapsed .history-panel-header{margin-bottom:0;padding-bottom:0;border-bottom:none;min-height:24px}.panel-title{font-family:var(--text-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);margin-bottom:0}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;padding-bottom:2px;border-bottom:none}.slider-row{display:flex;align-items:center;gap:8px;margin-bottom:3px;padding:1px 0}.slider-row label{width:68px;font-size:11px;font-weight:400;color:var(--text-secondary);flex-shrink:0;letter-spacing:.1px}.slider-row input[type=range]{flex:1;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#bcc4d06b,#8c94a059);border-radius:999px;cursor:pointer;position:relative;transition:box-shadow .2s ease,background .2s ease,opacity .2s ease}.slider-row input[type=range]:hover{box-shadow:0 0 0 3px #ffffff0d}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.45);cursor:pointer;transition:all .15s ease;box-shadow:0 3px 8px #00000073,0 0 0 1px #ffffff14}.slider-row input[type=range]::-webkit-slider-thumb:hover{background:#fff;transform:scale(1.08);box-shadow:0 4px 10px #0000008c,0 0 0 1px #ffffff1f}.slider-row input[type=range]:active::-webkit-slider-thumb{background:#f8f9fb;box-shadow:0 0 0 3px #ffffff1f,0 2px 8px #00000073}.slider-row input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.45);cursor:pointer;transition:all .15s ease;box-shadow:0 3px 8px #00000073}.slider-row input[type=range]::-moz-range-track{height:3px;background:linear-gradient(90deg,#bcc4d06b,#8c94a059);border-radius:999px;border:none}.slider-row .val{width:38px;font-family:var(--text-mono);font-size:9.5px;font-weight:500;color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:.3px}.val-input{width:58px;padding:4px 6px;background:#030508f2;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f5f8fcf5;font-family:var(--text-mono);font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;outline:none;transition:all .2s ease;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.val-input::-webkit-inner-spin-button,.val-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.val-input:focus{border-color:#ffffff59;color:#fff;background:#000000fa;box-shadow:0 0 0 2px #ffffff24}.val-input:hover:not(:focus){border-color:var(--border-light)}.cal-channel{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;padding:4px 6px;border-radius:var(--radius-sm);background:#ffffff03;transition:background .2s ease}.cal-channel:hover{background:#ffffff05}.cal-label{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--text-mono);font-size:9px;font-weight:700;flex-shrink:0;margin-top:4px;transition:all .2s ease}#top-control-bar .tool-btn,#top-control-bar .small-btn{min-height:34px}.cal-label.red{background:#f871711f;color:var(--red);box-shadow:0 0 8px #f8717114}.cal-label.green{background:#4ade801f;color:var(--green);box-shadow:0 0 8px #4ade8014}.cal-label.blue{background:#60a5fa1f;color:var(--blue);box-shadow:0 0 8px #60a5fa14}.cal-sliders{flex:1;min-width:0}.cal-sliders .slider-row{margin-bottom:2px}.cal-sliders .slider-row label{width:58px;font-size:10.5px}.collapsible-toggle{display:flex;align-items:center;gap:6px;padding:7px 10px;margin:8px 0 2px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--text-mono);font-size:10px;font-weight:500;letter-spacing:.3px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.collapsible-toggle:hover{background:#262c35c2;color:var(--text-secondary);border-color:var(--border-light)}.collapsible-toggle svg{transition:transform .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:var(--text-dim);opacity:.6}.collapsible-toggle.open svg{transform:rotate(90deg)}.collapsible-content{padding:8px 0 2px}.xy-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;padding:3px 4px}.xy-row .primary-label{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--text-mono);font-size:9px;font-weight:700;flex-shrink:0}.primary-label.red{background:#f871711f;color:var(--red)}.primary-label.green{background:#4ade801f;color:var(--green)}.primary-label.blue{background:#60a5fa1f;color:var(--blue)}.xy-input-group{display:flex;align-items:center;gap:4px}.xy-input-group label{font-family:var(--text-mono);font-size:9.5px;color:var(--text-dim);font-weight:500}.xy-input{width:62px;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-primary);font-family:var(--text-mono);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;outline:none;transition:all .2s ease;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.xy-input::-webkit-inner-spin-button,.xy-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.xy-input:focus{border-color:var(--accent);background:var(--bg-secondary);box-shadow:0 0 0 2px #2d85ff33}#xy-diagram-container,#tone-curve-container,#wheel-canvas,#rendered-wheel-canvas{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}#xy-diagram-container:hover,#tone-curve-container:hover{box-shadow:0 10px 24px #00000047,0 0 0 1px #2d85ff38;transform:translateY(-1px)}#wheel-canvas:hover,#rendered-wheel-canvas:hover{filter:drop-shadow(0 4px 14px rgba(45,133,255,.28))}.xy-input:hover{border-color:var(--border-light)}#histogram-container{width:100%;height:56px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}#histogram-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff05}#histogram-container canvas{width:100%;height:100%;display:block}#xy-diagram-container{width:100%;aspect-ratio:1;max-width:280px;margin:10px auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:crosshair}#xy-diagram-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff05}#xy-diagram-canvas{width:100%;height:100%;display:block;touch-action:none}#tone-curve-container{width:100%;aspect-ratio:1;max-width:256px;margin:0 auto 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:crosshair}#tone-curve-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff05}#tone-curve-canvas{width:100%;height:100%;display:block;touch-action:none}.tone-curve-controls{display:flex;gap:6px;margin:0 0 8px}.tone-curve-controls .small-btn{flex:1}.color-management-panel{margin:0 0 10px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass)}.color-management-title{margin:0 0 6px;font-family:var(--text-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.color-management-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.color-management-row label{font-size:10.5px;color:var(--text-secondary)}.color-management-row select{min-width:124px;padding:4px 6px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:10px}.icc-profile-readout{margin-top:2px;font-family:var(--text-mono);font-size:9px;color:var(--text-dim)}.mapping-list{display:flex;flex-direction:column;gap:2px;margin:6px 0;max-height:90px;overflow-y:auto}.mapping-item{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-glass);border-radius:var(--radius-sm);font-family:var(--text-mono);font-size:10px;cursor:pointer;border:1px solid transparent;transition:all .2s ease}.mapping-item:hover{background:var(--bg-elevated);border-color:var(--border)}.mapping-item.selected{border-color:#2d85ff6b;background:var(--accent-dim);box-shadow:0 0 12px #2d85ff2e}.mapping-color{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px #ffffff1a}.mapping-range{margin-left:auto;font-size:9.5px;color:var(--text-dim)}.mapping-actions{display:flex;gap:6px;margin:8px 0}.picker-settings-row{display:flex;align-items:center;gap:8px;margin:6px 0 2px}.picker-settings-row label{width:74px;font-size:10.5px;color:var(--text-secondary);flex-shrink:0}.picker-settings-row input[type=range]{flex:1}.picker-coord-readout{margin:2px 0 8px;font-family:var(--text-mono);font-size:9.5px;color:var(--text-dim)}.small-btn{min-height:44px;padding:8px 12px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:10.5px;font-weight:500;cursor:pointer;transition:all .2s ease}.small-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-light);box-shadow:var(--shadow-sm)}.small-btn:active{transform:scale(.96)}.small-btn.active{background:var(--accent-surface);border-color:var(--border-glow);color:var(--text-primary);box-shadow:0 0 10px #2d85ff3d}.small-btn.danger{border-color:#ef444433;color:var(--red)}.small-btn.danger:hover{background:#ef444414;border-color:#ef44444d}#mapping-detail h4{font-family:var(--text-mono);font-size:9px;font-weight:600;color:var(--text-dim);margin:10px 0 4px;text-transform:uppercase;letter-spacing:1px}#bottom-bar{padding:8px calc(14px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(14px + env(safe-area-inset-left,0px));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;box-shadow:var(--shadow-inset)}#preset-section{display:flex;flex-direction:column;gap:8px}.preset-list{display:flex;gap:6px;overflow-x:auto;padding:2px 0;-webkit-overflow-scrolling:touch}.preset-list::-webkit-scrollbar{height:2px}.preset-list::-webkit-scrollbar-track{background:transparent}.preset-list::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.preset-item{display:flex;flex-direction:column;align-items:center;padding:8px 14px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .25s ease;color:var(--text-secondary);position:relative;overflow:hidden}.preset-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 60%);pointer-events:none;transition:opacity .25s ease}.preset-item:hover{border-color:#2d85ff6b;background:var(--accent-dim);color:var(--text-primary);box-shadow:0 4px 16px #2d85ff38,0 0 0 1px #2d85ff29;transform:translateY(-1px)}.preset-item:active{transform:translateY(0) scale(.97)}.preset-name{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1px}.preset-type{font-family:var(--text-mono);font-size:8.5px;font-weight:500;color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;margin-top:2px}.preset-actions{display:flex;gap:6px}.caps-badge{font-family:var(--text-mono);font-size:8.5px;font-weight:500;color:var(--text-dim);text-align:center;margin-top:4px;letter-spacing:.5px;opacity:.6}.mobile-module-bar{display:none;touch-action:pan-x}.mobile-module-btn{min-height:38px;border:1px solid transparent;background:transparent;color:var(--text-dim);font-family:var(--text-mono);font-size:10px;letter-spacing:.4px;border-radius:var(--radius-sm);padding:0 8px}.mobile-module-btn.active{color:var(--text-primary);background:var(--accent-dim);border-color:#2d85ff57}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel,:root[data-ui-layout=image-priority] #controls.image-priority-mode #history-panel{display:flex;flex-direction:column}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel-header,:root[data-ui-layout=image-priority] #controls.image-priority-mode .history-panel-header{display:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode .module-collapse-btn{display:none!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode :is(.mobile-submodule-tabs,.mapping-control-rail,.mapping-mode-rail,.calibration-primary-rail,.toning-control-rail){order:2;margin-top:8px;z-index:3}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel>:not(.panel-header):not(:is(.mobile-submodule-tabs,.mapping-control-rail,.mapping-mode-rail,.calibration-primary-rail,.toning-control-rail)),:root[data-ui-layout=image-priority] #controls.image-priority-mode #history-panel>:not(.history-panel-header):not(:is(.mobile-submodule-tabs,.mapping-control-rail,.mapping-mode-rail,.calibration-primary-rail,.toning-control-rail)){order:1}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel>:is(.mobile-submodule-tabs,.mapping-control-rail,.mapping-mode-rail,.calibration-primary-rail,.toning-control-rail),:root[data-ui-layout=image-priority] #controls.image-priority-mode #history-panel>:is(.mobile-submodule-tabs,.mapping-control-rail,.mapping-mode-rail,.calibration-primary-rail,.toning-control-rail){margin-top:auto}.mobile-submodule-tabs,.mapping-mode-rail,.mapping-control-rail,.calibration-primary-rail,.toning-control-rail,#isolated-cal-sliders,#isolated-controls-sliders{display:none}@media (max-width: 767px){#controls.module-calibration #isolated-cal-sliders,#controls.module-mapping #isolated-controls-sliders,#controls.module-toning #isolated-controls-sliders{display:flex;flex-direction:column;gap:0;position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:calc(var(--mobile-overlay-bottom) + var(--isolated-overlay-extra-bottom, 68px));z-index:38;margin:0;padding:7px 8px 5px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#0e1117f2,#090b0ff0);box-shadow:0 8px 18px #0000006b,inset 0 1px #ffffff08;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);overflow:hidden}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-calibration #calibration-panel .cal-channel,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .mapping-global-row,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel #mapping-detail,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel .toning-slider-row{display:none!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] #histogram-container,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] #tone-curve-container,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] .tone-curve-controls{display:block}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] .tone-curve-controls{display:flex}#isolated-cal-sliders .cal-channel,#isolated-controls-sliders .mapping-control-row,#isolated-controls-sliders .picker-settings-row,#isolated-controls-sliders .toning-slider-row{display:none;padding:7px 2px;border:0;border-radius:0;background:transparent}#controls[data-cal-primary=xy] #isolated-cal-sliders{display:none}#controls[data-cal-primary=red] #isolated-cal-sliders .cal-channel[data-cal-primary=red],#controls[data-cal-primary=green] #isolated-cal-sliders .cal-channel[data-cal-primary=green],#controls[data-cal-primary=blue] #isolated-cal-sliders .cal-channel[data-cal-primary=blue],#controls[data-mapping-control=picker] #isolated-controls-sliders .picker-settings-row,#controls[data-mapping-control=src] #isolated-controls-sliders .mapping-control-row[data-mapping-control=src],#controls[data-mapping-control=dst] #isolated-controls-sliders .mapping-control-row[data-mapping-control=dst],#controls[data-mapping-control=range] #isolated-controls-sliders .mapping-control-row[data-mapping-control=range],#controls[data-mapping-control=strength] #isolated-controls-sliders .mapping-control-row[data-mapping-control=strength]{display:flex}#controls[data-mapping-mode=global] #isolated-controls-sliders .mapping-control-row{display:none}#controls[data-mapping-mode=global] #isolated-controls-sliders .picker-settings-row,#controls[data-toning-control=exposure] #isolated-controls-sliders .toning-slider-row[data-toning-control=exposure],#controls[data-toning-control=contrast] #isolated-controls-sliders .toning-slider-row[data-toning-control=contrast],#controls[data-toning-control=highlights] #isolated-controls-sliders .toning-slider-row[data-toning-control=highlights],#controls[data-toning-control=shadows] #isolated-controls-sliders .toning-slider-row[data-toning-control=shadows],#controls[data-toning-control=whites] #isolated-controls-sliders .toning-slider-row[data-toning-control=whites],#controls[data-toning-control=blacks] #isolated-controls-sliders .toning-slider-row[data-toning-control=blacks]{display:flex}#isolated-cal-sliders .cal-channel,#isolated-controls-sliders .mapping-control-row,#isolated-controls-sliders .picker-settings-row,#isolated-controls-sliders .toning-slider-row{align-items:center;gap:8px;margin-bottom:0}#isolated-controls-sliders .mapping-control-row+.mapping-control-row,#isolated-controls-sliders .toning-slider-row+.toning-slider-row,#isolated-controls-sliders .picker-settings-row+.mapping-control-row,#isolated-controls-sliders .mapping-control-row+.picker-settings-row,#isolated-controls-sliders .picker-settings-row+.toning-slider-row,#isolated-controls-sliders .toning-slider-row+.picker-settings-row{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;margin-top:2px}#isolated-cal-sliders .cal-channel:last-child,#isolated-controls-sliders .mapping-control-row:last-child,#isolated-controls-sliders .picker-settings-row:last-child,#isolated-controls-sliders .toning-slider-row:last-child{margin-bottom:0}#isolated-cal-sliders .cal-label{width:22px;height:22px}#isolated-cal-sliders .cal-sliders,#isolated-controls-sliders .slider-row{flex:1 1 auto}#isolated-cal-sliders .slider-row label,#isolated-controls-sliders .slider-row label,#isolated-controls-sliders .picker-settings-row label{width:56px;font-size:9.2px;font-weight:500;color:#d6dde8cc}#isolated-cal-sliders .val-input,#isolated-controls-sliders .val-input{min-width:68px;max-width:82px;padding:4px 7px;font-size:9.6px;font-weight:500}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .mapping-list{margin:6px 0;max-height:86px;padding-right:2px}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .mapping-item{min-height:28px;padding:4px 7px;border-radius:8px;font-size:9.5px;font-weight:500;border-color:#ffffff0d;background:#ffffff08;box-shadow:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .mapping-actions{margin-top:4px;gap:6px}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .mapping-actions .small-btn{min-height:28px;padding:0 9px;border-radius:8px;font-size:9.5px;font-weight:500}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel .picker-coord-readout{margin:4px 0 6px;font-size:9px;letter-spacing:.1px;color:#c8d0e0b8}.picker-coord-readout{margin:2px 0 8px;font-family:var(--text-mono);font-size:9.5px;color:var(--text-dim);text-align:right;letter-spacing:.2px}#isolated-cal-sliders input[type=range],#isolated-controls-sliders input[type=range]{min-width:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs{position:sticky;top:auto;bottom:0;left:auto;right:auto;margin:6px 0 0;padding:6px 0 0;border-top:1px solid var(--border);border-bottom:none;background:linear-gradient(180deg,transparent 0%,rgba(8,10,14,.82) 36%,rgba(8,10,14,.94) 100%);-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);z-index:3}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel-header,:root[data-ui-layout=image-priority] #controls.image-priority-mode .history-panel-header{display:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode .panel{padding:8px 6px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #history-panel{padding-top:0}}.wheels-dock-btn{display:none;position:absolute;right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));min-width:42px;width:auto;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--border-light);background:color-mix(in srgb,var(--bg-secondary) 82%,transparent);color:var(--text-secondary);align-items:center;justify-content:center;z-index:36;font-family:var(--text-mono);font-size:9.5px;letter-spacing:.7px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);box-shadow:var(--shadow-sm)}.wheels-dock-btn.mode-out{min-width:42px;padding:0 10px}.wheels-dock-btn.mode-out:after{content:""}.wheels-dock-btn.active{border-color:var(--border-glow);background:var(--accent-dim);color:var(--text-primary)}@media (max-width: 767px){:root{--header-height: 52px;--mobile-primary-bar-height: 52px;--mobile-primary-bar-gap: 12px;--mobile-shell-left: max(10px, env(safe-area-inset-left, 0px));--mobile-shell-right: max(10px, env(safe-area-inset-right, 0px));--mobile-overlay-bottom: calc(var(--mobile-primary-bar-height) + var(--mobile-primary-bar-gap) + env(safe-area-inset-bottom, 0px))}#top-control-bar{gap:6px;padding:6px calc(10px + env(safe-area-inset-right,0px)) 6px calc(10px + env(safe-area-inset-left,0px))}.top-global-actions{width:100%;gap:5px}.top-global-actions .tool-btn{min-height:30px;padding:4px 8px;font-size:9.5px}#split-btn{min-width:80px;padding:4px 8px}#preview-controls-divider.active{display:flex;align-items:center;justify-content:center;height:16px;width:calc(100% - 24px);margin:-8px 12px 0;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(180deg,#12151cf0,#090b0fe0);box-shadow:0 10px 22px #0000005c,inset 0 1px #ffffff0f;cursor:row-resize;touch-action:none;z-index:36}:root[data-ui-layout=image-priority] #preview-controls-divider{display:flex;align-items:center;justify-content:center}#preview-controls-divider .divider-hint{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:6px;pointer-events:none}#preview-controls-divider .divider-hint .dot{width:6px;height:6px;border-radius:999px;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);box-shadow:0 1px 1px #00000080 inset;opacity:.7;transition:transform .12s ease,opacity .12s ease}#preview-controls-divider:hover .divider-hint .dot,#preview-controls-divider.dragging .divider-hint .dot{transform:scale(1.35);opacity:1}@media (any-pointer: coarse){#preview-controls-divider .divider-hint .dot{width:8px;height:8px;opacity:.85}}:root[data-ui-layout=controls-priority] #controls{min-height:34dvh}:root[data-ui-layout=image-priority] #controls{min-height:33dvh;transition:flex .22s ease,min-height .22s ease}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-open{min-height:33dvh}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs{display:none!important}#app.compact-adjustment-mode #header{display:none}#app.compact-adjustment-mode #top-control-bar{padding-top:4px;padding-bottom:4px}#app.compact-adjustment-mode #top-control-bar .top-global-actions{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}#app.compact-adjustment-mode #top-control-bar .top-global-actions::-webkit-scrollbar{display:none}#app.compact-adjustment-mode #top-control-bar .tool-btn,#app.compact-adjustment-mode #top-control-bar .small-btn{flex:0 0 auto}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open{flex:0 0 0!important;min-height:0!important;border-top:none;padding-bottom:0;overflow:visible;background:transparent;pointer-events:none}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open #history-panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open #bottom-bar,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open #wheels-panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open #xy-panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .mobile-submodule-tabs,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .mapping-mode-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .mapping-control-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .calibration-primary-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .toning-control-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .submodule-tab,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .small-btn,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .module-collapse-btn,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.image-priority-mode.module-open .reset-module-btn{pointer-events:auto}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #preview-container{align-items:flex-start;justify-content:center;padding-top:6px}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #gl-canvas{align-self:flex-start}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open){flex:0 0 0!important;min-height:0!important;border-top:none;padding-bottom:0;overflow:hidden}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open) #toolbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open) #history-panel,:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open) #bottom-bar{display:none!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open) #panels{display:block!important;margin:0;padding:0;overflow:visible;pointer-events:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-open) #panels>.panel{display:none!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #panels>#wheels-panel.wheels-mini-preview{display:block!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview{display:block!important;position:fixed;right:calc(58px + env(safe-area-inset-right,0px));bottom:calc(var(--mobile-overlay-bottom) + 10px);left:auto;width:120px;margin:0;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:linear-gradient(180deg,#101319f5,#090b0ff0);-webkit-backdrop-filter:blur(12px) saturate(126%);backdrop-filter:blur(12px) saturate(126%);box-shadow:0 12px 26px #0000006b;pointer-events:auto;touch-action:none;cursor:grab;transform:translate(var(--wheels-mini-x, 0px),var(--wheels-mini-y, 0px));z-index:35}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview.is-dragging{cursor:grabbing}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview .panel-header{display:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row{display:flex!important;min-height:92px;padding:0;justify-content:center;gap:4px}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview .wheel-col{flex:0 0 auto}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview .wheel-label{display:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheel-container,:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #rendered-wheel-container{width:52px;max-width:52px;padding:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside{position:relative;min-height:92px;justify-content:center;align-items:center}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside .wheel-col{position:static;transform:none;width:auto;max-width:none;margin:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside .wheel-col:first-child{z-index:1}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside .wheel-col:last-child{z-index:3}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside #wheel-container,:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside #rendered-wheel-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;max-width:52px;padding:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside #wheel-container{z-index:1}:root[data-ui-layout=image-priority] #controls.image-priority-mode:not(.module-wheels) #wheels-panel.wheels-mini-preview #wheels-row.wheels-compare-inside #rendered-wheel-container{z-index:3}.header-title{font-size:13px}.theme-btn{min-width:64px;padding:0 8px}#toolbar{gap:6px;padding:4px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}#wheels-panel .panel-header-actions .small-btn{min-height:28px;font-size:9px;padding:4px 8px}#wheel-compare-btn{min-width:116px}.tool-btn{flex:0 0 auto;scroll-snap-align:start;min-height:30px;font-size:9.5px}#layer-tabs{padding:6px 10px}.layout-controls{padding:8px 10px 4px}.layout-manager-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#history-panel{margin:6px}.history-list{max-height:152px}#panels{padding:0 0 8px;scroll-padding-bottom:16px}.slider-row{gap:6px}.slider-row label{width:56px;font-size:9.5px}#wheel-container,#rendered-wheel-container{max-width:124px}:root[data-ui-layout=controls-priority] #wheel-canvas,:root[data-ui-layout=controls-priority] #rendered-wheel-canvas{touch-action:pan-y}:root[data-ui-layout=image-priority] #wheel-canvas,:root[data-ui-layout=image-priority] #rendered-wheel-canvas{touch-action:pan-y}#wheels-row.wheels-compare-inside{min-height:168px}#wheels-row.wheels-compare-inside #wheel-container,#wheels-row.wheels-compare-inside #rendered-wheel-container{width:clamp(88px,27vw,110px)}.mobile-module-bar{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:calc(8px + env(safe-area-inset-bottom,0px));display:none;align-items:center;gap:4px;min-height:var(--mobile-primary-bar-height);padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#07080af5,#080a0eeb);border-color:#ffffff1c;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 -10px 22px #00000085,inset 0 1px #ffffff0d;z-index:35;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.mobile-module-bar::-webkit-scrollbar{display:none}.mobile-module-btn{flex:0 0 auto;min-height:36px;min-width:72px;font-size:9.5px;letter-spacing:.3px;padding:0 10px}.mobile-module-bar.active{display:flex}.wheels-dock-btn{display:inline-flex}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-module-bar{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);background:linear-gradient(180deg,#0c0e14f5,#0a0c10e6);-webkit-backdrop-filter:blur(14px) saturate(135%);backdrop-filter:blur(14px) saturate(135%);box-shadow:0 10px 24px #00000052,inset 0 1px #ffffff0d}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-module-bar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail{scrollbar-width:none;-ms-overflow-style:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-module-bar::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail::-webkit-scrollbar,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail::-webkit-scrollbar{display:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs{margin:4px 10px 8px;padding:8px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}:root[data-ui-layout=image-priority] #controls.image-priority-mode .layer-tab{flex:0 0 auto;min-height:34px;padding:0 12px;border-radius:999px;font-size:10.5px;letter-spacing:.15px;scroll-snap-align:start}:root[data-ui-layout=image-priority] #controls.image-priority-mode .layer-tab .tab-num{width:16px;height:16px;font-size:8.5px}:root[data-ui-layout=image-priority] #controls.image-priority-mode .layer-tab.active{box-shadow:0 8px 18px #2d85ff2e,inset 0 1px #ffffff14}.mobile-submodule-tabs{display:flex;gap:5px;overflow-x:auto;padding:6px 0 1px;margin:0 0 1px;-webkit-overflow-scrolling:touch;position:sticky;top:auto;bottom:0;left:auto;right:auto;z-index:4;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;border:0;border-top:1px solid rgba(255,255,255,.04);border-radius:0;background:linear-gradient(180deg,#080a0e85,#080a0ec7 44%,#080a0eeb);box-shadow:none;-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%)}#calibration-primary-tabs.calibration-primary-rail,#toning-control-tabs.toning-control-rail,#mapping-control-tabs.mapping-control-rail{position:relative;top:auto;bottom:auto;left:auto;right:auto;z-index:2;margin:0;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}#mapping-mode-tabs.mapping-mode-rail,#mapping-control-tabs.mapping-control-rail,#calibration-primary-tabs.calibration-primary-rail,#toning-control-tabs.toning-control-rail{display:flex;align-items:center;gap:5px;overflow-x:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:relative;top:auto;bottom:auto;left:auto;right:auto;z-index:2;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none}#mapping-mode-tabs.mapping-mode-rail .submodule-tab,#mapping-control-tabs.mapping-control-rail .submodule-tab,#calibration-primary-tabs.calibration-primary-rail .submodule-tab,#toning-control-tabs.toning-control-rail .submodule-tab{flex:0 0 auto;min-height:27px;padding:0 10px;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:#ffffff08;color:#e2e8f2b8;font-size:9.2px;font-weight:500;letter-spacing:.08px;text-shadow:none;box-shadow:none;scroll-snap-align:start}#mapping-mode-tabs.mapping-mode-rail .submodule-tab.active,#mapping-control-tabs.mapping-control-rail .submodule-tab.active,#calibration-primary-tabs.calibration-primary-rail .submodule-tab.active,#toning-control-tabs.toning-control-rail .submodule-tab.active{color:#fff;border-color:#2d85ff2e;background:#2d85ff1f;box-shadow:none}#mapping-mode-tabs.mapping-mode-rail::-webkit-scrollbar,#mapping-control-tabs.mapping-control-rail::-webkit-scrollbar,#calibration-primary-tabs.calibration-primary-rail::-webkit-scrollbar,#toning-control-tabs.toning-control-rail::-webkit-scrollbar{display:none}.mobile-submodule-tabs::-webkit-scrollbar{display:none}.calibration-tabs,.mapping-mode-tabs,.toning-tabs{background:transparent;border-radius:0;padding:0}.mobile-submodule-tabs .submodule-tab,.calibration-primary-rail .submodule-tab,.toning-control-rail .submodule-tab{flex:0 0 auto;min-height:29px;padding:0 10px;border:1px solid rgba(255,255,255,.05);border-radius:10px;background:linear-gradient(180deg,#1013199e,#0a0c1194);color:#e2e8f2b8;font-size:9.4px;font-weight:500;letter-spacing:.08px;text-shadow:none;scroll-snap-align:start;box-shadow:none}.mobile-submodule-tabs .submodule-tab.active,.calibration-primary-rail .submodule-tab.active,.toning-control-rail .submodule-tab.active{color:#fff;border-color:#2d85ff33;background:linear-gradient(180deg,#2d85ff1c,#2d85ff14);box-shadow:0 2px 6px #2d85ff1a,inset 0 1px #ffffff0a}:root[data-ui-layout=image-priority] #controls.image-priority-mode .cal-channel>.cal-label,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-row>label,:root[data-ui-layout=image-priority] #controls.image-priority-mode .picker-settings-row>label,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-slider-row>label,:root[data-ui-layout=image-priority] #controls.image-priority-mode #mapping-detail h4{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#calibration-panel .cal-channel,#calibration-panel[data-cal-primary=none] .cal-channel{display:none}#calibration-panel[data-cal-primary=red] .cal-channel[data-cal-primary=red],#calibration-panel[data-cal-primary=green] .cal-channel[data-cal-primary=green],#calibration-panel[data-cal-primary=blue] .cal-channel[data-cal-primary=blue]{display:block}#xy-panel{display:none!important}#controls.module-calibration #calibration-panel[data-cal-primary=xy]~#xy-panel{display:block!important;position:static;left:auto;right:auto;z-index:1;margin:6px 0 0;max-height:none;overflow:visible;background:linear-gradient(180deg,#14171ffa,#0a0c10f5);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 18px 38px #00000085,0 0 0 1px #2d85ff1a,inset 0 1px #ffffff0d}#calibration-panel[data-cal-primary=xy]~#xy-panel .xy-panel-content{display:grid;gap:8px}#calibration-panel[data-cal-primary=xy]~#xy-panel .xy-row{margin-bottom:0;padding:8px 10px;border:0;border-radius:12px;background:#ffffff0a;flex-wrap:wrap}#calibration-panel[data-cal-primary=xy]~#xy-panel .xy-input-group{flex:1 1 120px}#calibration-panel[data-cal-primary=xy]~#xy-panel .xy-input{width:min(100%,82px)}#calibration-panel[data-cal-primary=xy]~#xy-panel .panel-header{display:none}#mapping-panel[data-mapping-mode=global] .mapping-point-group,#mapping-panel[data-mapping-mode=global] #mapping-control-tabs{display:none}#mapping-panel[data-mapping-mode=point] #mapping-control-tabs{display:flex}#mapping-panel[data-mapping-mode=point] .mapping-global-row{display:none}#mapping-panel[data-mapping-mode=global] .mapping-picker-group,#mapping-panel[data-mapping-mode=point] .mapping-picker-group{display:block}#mapping-detail .mapping-control-row{display:none}#mapping-panel[data-mapping-control=src] #mapping-detail .mapping-control-row[data-mapping-control=src],#mapping-panel[data-mapping-control=dst] #mapping-detail .mapping-control-row[data-mapping-control=dst],#mapping-panel[data-mapping-control=range] #mapping-detail .mapping-control-row[data-mapping-control=range],#mapping-panel[data-mapping-control=strength] #mapping-detail .mapping-control-row[data-mapping-control=strength]{display:flex}#toning-panel .toning-slider-row{display:none}#toning-panel[data-toning-control=exposure] .toning-slider-row[data-toning-control=exposure],#toning-panel[data-toning-control=contrast] .toning-slider-row[data-toning-control=contrast],#toning-panel[data-toning-control=highlights] .toning-slider-row[data-toning-control=highlights],#toning-panel[data-toning-control=shadows] .toning-slider-row[data-toning-control=shadows],#toning-panel[data-toning-control=whites] .toning-slider-row[data-toning-control=whites],#toning-panel[data-toning-control=blacks] .toning-slider-row[data-toning-control=blacks]{display:flex}#toning-panel[data-toning-control=curve] .toning-slider-row{display:none}#toning-panel[data-toning-control=curve] #histogram-container,#toning-panel[data-toning-control=curve] .tone-curve-controls{display:block}#controls.module-toning[data-toning-control=curve] #isolated-controls-sliders{display:none!important}#toning-panel[data-toning-control=curve] .tone-curve-controls{display:flex}#toning-panel[data-toning-control=curve] #color-management-panel{display:none}#toning-panel:not([data-toning-control=curve]) #tone-curve-container,#toning-panel:not([data-toning-control=curve]) .tone-curve-controls,#toning-panel:not([data-toning-control=curve]) #histogram-container{display:none}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-calibration #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-history #history-panel{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:var(--mobile-overlay-bottom);z-index:34;max-height:min(46dvh,360px);overflow-y:auto;background:color-mix(in srgb,var(--bg-secondary) 78%,transparent);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:var(--shadow-lg);padding:8px}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-calibration #panels,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #panels,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #panels{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:var(--mobile-overlay-bottom);z-index:34;max-height:min(46dvh,360px);overflow-y:auto;background:color-mix(in srgb,var(--bg-secondary) 82%,transparent);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%);box-shadow:var(--shadow-lg);padding:8px;pointer-events:auto}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #panels{bottom:var(--mobile-overlay-bottom);max-height:min(36dvh,300px)}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-calibration #panels>.panel:not(.wheels-mini-preview),:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #panels>.panel:not(.wheels-mini-preview),:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #panels>.panel:not(.wheels-mini-preview){margin:0;width:100%}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-calibration #panels .mobile-submodule-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #panels .mobile-submodule-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #panels .mobile-submodule-tabs{position:sticky;top:auto;bottom:0;left:auto;right:auto;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--border);border-bottom:none;background:linear-gradient(180deg,transparent 0%,rgba(8,10,14,.82) 36%,rgba(8,10,14,.94) 100%);-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);z-index:3}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-panel>:is(.mapping-control-rail,.mapping-mode-rail),:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #mapping-panel>:is(.mapping-control-rail,.mapping-mode-rail){margin-top:2px;margin-bottom:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-control-tabs.mapping-control-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #mapping-control-tabs.mapping-control-rail{margin-bottom:2px}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #mapping-mode-tabs.mapping-mode-rail,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #mapping-mode-tabs.mapping-mode-rail{margin-top:0}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-calibration #panels>.panel:not(.wheels-mini-preview),:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #panels>.panel:not(.wheels-mini-preview),:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #panels>.panel:not(.wheels-mini-preview){margin:0;width:100%}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #toning-panel[data-toning-control=curve] #tone-curve-container{position:relative;left:auto;right:auto;bottom:auto;max-height:none;z-index:1;width:100%;margin:6px 0 0;background:linear-gradient(180deg,#12151cfa,#0a0c10f5);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:8px;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 18px 38px #00000085,0 0 0 1px #2d85ff1a,inset 0 1px #ffffff0d}:root[data-ui-layout=image-priority] #controls.image-priority-mode #xy-diagram-container,:root[data-ui-layout=image-priority] #controls.image-priority-mode #tone-curve-container{width:100%;max-width:none;margin-left:0;margin-right:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode #xy-diagram-container{aspect-ratio:1.03;margin-top:4px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #tone-curve-container{aspect-ratio:1.75;margin-top:4px}:root[data-ui-layout=image-priority] #app:has(#controls.image-priority-mode:not(.module-wheels)) #preview-controls-divider{display:none!important}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #panels{max-height:min(54dvh,420px)}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] #histogram-container,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #toning-panel[data-toning-control=curve] #histogram-container{height:44px;margin-bottom:8px}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #toning-panel[data-toning-control=curve] .tone-curve-controls,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #toning-panel[data-toning-control=curve] .tone-curve-controls{margin-top:6px;padding:8px 10px;gap:6px}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #toning-panel[data-toning-control=curve] .tone-curve-controls{position:relative;left:auto;right:auto;bottom:auto;z-index:1;width:100%;margin:8px 0 0;display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);background:linear-gradient(180deg,#12151cfa,#0a0c10f5);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);box-shadow:0 18px 38px #00000085,0 0 0 1px #2d85ff1a,inset 0 1px #ffffff0d}:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-wheels #wheels-panel{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:var(--mobile-overlay-bottom);z-index:34;background:color-mix(in srgb,var(--bg-secondary) 70%,transparent);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:var(--shadow-lg)}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-wheels #wheels-panel{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:var(--mobile-overlay-bottom);z-index:34;background:color-mix(in srgb,var(--bg-secondary) 78%,transparent);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%);box-shadow:var(--shadow-lg);padding:8px;pointer-events:auto}:root[data-ui-layout=image-priority] #controls.module-wheels #wheels-panel .panel-header{margin-bottom:2px;padding-bottom:2px}:root[data-ui-layout=image-priority] #controls.module-wheels #wheels-row{min-height:146px}:root[data-ui-layout=image-priority] #bottom-bar{position:fixed;left:var(--mobile-shell-left);right:var(--mobile-shell-right);bottom:var(--mobile-overlay-bottom);z-index:34;max-height:min(42dvh,320px);overflow-y:auto;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);background:linear-gradient(180deg,#06070af2,#07080ceb);box-shadow:0 -14px 30px #0000008c,inset 0 1px #ffffff0a;padding:8px}:root[data-ui-layout=image-priority] #bottom-bar{display:none}:root[data-ui-layout=image-priority] #bottom-bar #color-management-panel{margin-top:2px;border-top:1px solid var(--border);padding-top:8px}:root[data-ui-layout=image-priority] #bottom-bar #preset-section{gap:6px}:root[data-ui-layout=image-priority] #controls.image-priority-mode{--controls-surface: linear-gradient(180deg, rgba(11, 14, 20, .92), rgba(8, 10, 15, .9));--controls-border-soft: rgba(255, 255, 255, .08);--controls-border-faint: rgba(255, 255, 255, .045);--controls-rail-shell-bg: linear-gradient(180deg, rgba(18, 22, 30, .72), rgba(10, 13, 19, .66));--controls-tab-bg: rgba(255, 255, 255, .035);--controls-tab-hover: rgba(255, 255, 255, .06);--controls-tab-active: rgba(45, 133, 255, .13);--controls-tab-text: rgba(226, 233, 244, .8);--controls-tab-active-border: rgba(45, 133, 255, .28)}:root[data-ui-layout=image-priority] #controls.image-priority-mode #layer-tabs{margin:3px 8px 6px;padding:6px;border:1px solid var(--controls-border-soft);border-radius:12px;background:#0c0f15db;box-shadow:0 8px 18px #00000047;-webkit-backdrop-filter:blur(10px) saturate(122%);backdrop-filter:blur(10px) saturate(122%)}:root[data-ui-layout=image-priority] #controls.image-priority-mode .layer-tab{min-height:32px;border-radius:999px;border-color:#ffffff0f;background:#ffffff08;color:#e0e7f1c7}:root[data-ui-layout=image-priority] #controls.image-priority-mode .layer-tab.active{border-color:#2d85ff33;background:#2d85ff24;box-shadow:none}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-calibration #panels,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #panels,:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-toning #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-calibration #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #panels,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #panels{background:var(--controls-surface);border:1px solid var(--controls-border-soft);border-radius:14px;box-shadow:0 12px 28px #00000057;-webkit-backdrop-filter:blur(12px) saturate(124%);backdrop-filter:blur(12px) saturate(124%);padding:9px 8px 7px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #panels>.panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-calibration #panels>.panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #panels>.panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-toning #panels>.panel{background:transparent;border:0;box-shadow:none;padding:5px 4px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #panels>.panel+.panel{margin-top:4px}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail{margin:5px 0 2px;padding:3px;border:1px solid var(--controls-border-faint);border-radius:11px;background:var(--controls-rail-shell-bg);box-shadow:inset 0 1px #ffffff08;border-top:0;border-bottom:0;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);position:relative;bottom:auto;z-index:2}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs .submodule-tab,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail .submodule-tab,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail .submodule-tab,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail .submodule-tab,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail .submodule-tab{min-height:29px;padding:0 11px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:var(--controls-tab-bg);color:var(--controls-tab-text);font-size:9.8px;font-weight:560;letter-spacing:.12px;box-shadow:inset 0 1px #ffffff08;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs .submodule-tab.active,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail .submodule-tab.active,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail .submodule-tab.active,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail .submodule-tab.active,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail .submodule-tab.active{border-color:var(--controls-tab-active-border);background:linear-gradient(180deg,#2d85ff33,#2d85ff1c);color:#fff;box-shadow:0 4px 12px #2d85ff33,inset 0 1px #ffffff14;transform:translateY(-.5px)}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs .submodule-tab:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail .submodule-tab:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail .submodule-tab:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail .submodule-tab:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail .submodule-tab:hover{background:var(--controls-tab-hover);border-color:#ffffff16}:root[data-ui-layout=image-priority] #controls.image-priority-mode .mobile-submodule-tabs .submodule-tab.active:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-mode-rail .submodule-tab.active:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .mapping-control-rail .submodule-tab.active:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .calibration-primary-rail .submodule-tab.active:hover,:root[data-ui-layout=image-priority] #controls.image-priority-mode .toning-control-rail .submodule-tab.active:hover{background:linear-gradient(180deg,#2d85ff3b,#2d85ff1f)}:root[data-ui-layout=image-priority] #controls.module-calibration #isolated-cal-sliders,:root[data-ui-layout=image-priority] #controls.module-mapping #isolated-controls-sliders,:root[data-ui-layout=image-priority] #controls.module-toning #isolated-controls-sliders{padding:6px 8px 5px;border:1px solid var(--controls-border-soft);border-radius:11px;background:linear-gradient(180deg,#0d1016f2,#080a0fed);box-shadow:0 9px 18px #00000057}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-mapping #isolated-controls-sliders,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-mapping #isolated-controls-sliders{top:auto}:root[data-ui-layout=image-priority] #isolated-controls-sliders .mapping-control-row+.mapping-control-row,:root[data-ui-layout=image-priority] #isolated-controls-sliders .toning-slider-row+.toning-slider-row,:root[data-ui-layout=image-priority] #isolated-controls-sliders .picker-settings-row+.mapping-control-row,:root[data-ui-layout=image-priority] #isolated-controls-sliders .mapping-control-row+.picker-settings-row,:root[data-ui-layout=image-priority] #isolated-controls-sliders .picker-settings-row+.toning-slider-row,:root[data-ui-layout=image-priority] #isolated-controls-sliders .toning-slider-row+.picker-settings-row{border-top:0;padding-top:7px;margin-top:0}:root[data-ui-layout=image-priority] #controls.image-priority-mode.module-wheels #wheels-panel,:root[data-ui-layout=image-priority] #app.auto-overlay-mode #controls.module-wheels #wheels-panel{background:var(--controls-surface);border:1px solid var(--controls-border-soft);border-radius:14px;box-shadow:0 12px 26px #00000057;-webkit-backdrop-filter:blur(12px) saturate(124%);backdrop-filter:blur(12px) saturate(124%);padding:8px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #history-panel{background:transparent;border:0;box-shadow:none;padding:5px 4px}:root[data-ui-layout=image-priority] #controls.image-priority-mode #bottom-bar{background:var(--controls-surface);border:1px solid var(--controls-border-soft);border-radius:14px;box-shadow:0 12px 26px #00000057;padding:8px}}@media (any-pointer: coarse){.icon-btn,.tool-btn,.small-btn,.layer-tab,.primary-btn,.reset-module-btn,.module-collapse-btn,.layout-control-item select{min-height:34px}.icon-btn,.reset-module-btn,.module-collapse-btn{min-width:34px}.history-item{min-height:34px}}@media (min-width: 768px){#app{display:grid;grid-template-rows:var(--header-height) auto 1fr auto;grid-template-columns:1fr var(--sidebar-width);grid-template-areas:"header header" "topbar topbar" "preview sidebar" "bottom bottom"}#header{grid-area:header}#top-control-bar{grid-area:topbar}#preview-container{grid-area:preview;min-height:0;border-right:1px solid var(--border)}#controls{grid-area:sidebar;max-height:none;overflow-y:auto;border-top:none;border-left:1px solid var(--border)}#bottom-bar{grid-area:bottom}#wheels-row{flex-direction:row;padding:0 6px}#wheels-row.wheels-compare-inside{min-height:220px}#wheels-row.wheels-compare-inside .wheel-col:first-child{max-width:140px}.wheel-col{flex:1}#wheel-container,#rendered-wheel-container{padding:2px 6px 6px;max-width:180px}#panels{padding:4px 14px 8px;max-height:none}#panels .panel{max-height:none}}@media (min-width: 1200px){:root{--sidebar-width: 420px}#wheel-container,#rendered-wheel-container{max-width:200px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes glass-grain-shift{0%{transform:translateZ(0)}25%{transform:translate3d(-1px,1px,0)}50%{transform:translate3d(1px,-1px,0)}75%{transform:translate3d(.5px,1px,0)}to{transform:translate3d(-1px,.5px,0)}}.panel{animation:fadeIn .2s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#app:before{animation:none}:where(.icon-btn,.primary-btn,.tool-btn,.small-btn,.layer-tab,.reset-module-btn,.collapsible-toggle,.mapping-item,.preset-item):hover{transform:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible){outline:none}::selection{background:#2d85ff5c;color:var(--text-primary)}
