top-nav-bar{display:block}.product-bar{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;min-height:67px;padding:12px 20px;display:flex}.product-logo{display:inline-flex}.product-logo img{object-fit:contain;width:180px;height:42px}.session-actions{align-items:center;gap:24px;display:flex}#wasm-status-text{color:var(--muted);font-size:12px}.empty-state-root{min-height:100px}workspace-drop-zone{display:contents}.document-bar{grid-area:document;justify-content:space-between;align-items:center;gap:24px;min-height:86px;padding:14px 20px;display:flex}.document-identity{flex:0 400px;min-width:0}.document-identity h1{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.document-identity p{color:var(--muted);margin-top:3px;font-size:12px}.operation-controls{flex:0 0 472px;align-items:center;gap:12px;display:flex}.operation-selector{background:var(--surface);border-radius:8px;width:284px;padding:4px;display:flex}.operation-selector button{min-height:36px;color:var(--muted);border-radius:6px;flex:1;padding:8px 18px}.operation-selector button[aria-pressed=true]{background:var(--selected);color:var(--ink)}.document-bar>.quiet-button{flex:0 0 101px}.workbench{grid-area:workbench;min-width:0;padding:20px 24px 28px}.image-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.image-pane{min-width:0}.pane-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.pane-heading h2{color:var(--secondary);font-size:14px;font-weight:500}.pixel-count{font:11px var(--font-mono);color:var(--muted)}.image-well{aspect-ratio:3/2;background:var(--surface);border-radius:4px;place-items:center;width:100%;display:grid;overflow:hidden}.image-well canvas{object-fit:contain;width:100%;height:100%}.image-well p{color:var(--muted);text-align:center;padding:20px;font-size:12px}.histogram-panel{background:var(--surface);border-radius:8px;margin-top:12px;padding:16px}.histogram-heading,.chart-units{justify-content:space-between;align-items:center;gap:8px;display:flex}.histogram-heading h3{color:var(--secondary);font-size:13px;font-weight:400}.histogram-heading span,.chart-units{color:var(--muted);font-size:11px}.chart-units{margin:14px 0 4px}.histogram-container{height:156px;position:relative}.histogram-container canvas{visibility:hidden}.has-histogram .histogram-container canvas{visibility:visible}.histogram-empty{color:var(--muted);border-bottom:1px solid var(--divider);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.has-histogram .histogram-empty{display:none}.image-metrics{border-top:1px solid var(--divider);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;display:grid}.metric-item{flex-direction:column;gap:5px;min-width:0;display:flex}.metric-label{color:var(--muted);font-size:11px}.metric-value{font:13px var(--font-mono);overflow-wrap:anywhere}.workbench-caption{color:var(--muted);justify-content:space-between;gap:20px;margin-top:20px;font-size:11px;display:flex}#file-caption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#pixel-caption{font-family:var(--font-mono);flex-shrink:0}.upload-target{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;padding:20px;display:flex}.upload-target h2{font-size:14px;font-weight:500}.result-placeholder{flex-direction:column;align-items:center;gap:16px;display:flex}.result-placeholder p{color:var(--ink);padding:0;font-size:14px}.result-placeholder>span{color:var(--muted)}.is-dragging{outline:2px dashed var(--accent);outline-offset:-6px}@media (width<=1150px){.workbench{padding:16px}.document-bar{gap:16px;padding-inline:16px}.operation-selector button{padding-inline:12px}.histogram-panel{padding:12px}.histogram-heading{flex-wrap:wrap}.histogram-container{height:140px}.image-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}}@media (width<=1279px){.document-identity{flex-basis:200px}.document-bar{padding-inline:20px}.workbench{padding:20px 24px 28px}.histogram-panel{padding:16px}}.histogram-data{color:var(--muted);margin-top:12px;font-size:11px;display:none}.has-histogram .histogram-data{display:block}.histogram-data summary{cursor:pointer;padding-block:5px}.histogram-data-scroll{max-height:240px;overflow:auto}.histogram-data table{border-collapse:collapse;width:100%;font:11px var(--font-mono)}.histogram-data caption{text-align:left;padding-block:8px;font:11px Poppins,sans-serif}.histogram-data td,.histogram-data th{text-align:right;border-bottom:1px solid var(--divider);padding:6px 4px}.histogram-data td:first-child,.histogram-data th:first-child{text-align:left}analysis-panel{flex-direction:column;grid-area:inspector;gap:12px;min-width:0;padding:20px 20px 28px;display:flex}.inspector-heading,.lut-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.inspector-heading h2{font-size:16px;font-weight:500}.inspector-heading>span,.lut-heading>span{color:var(--muted);font-size:11px}.formula-card{background:var(--surface);border-radius:8px;padding:12px 16px}.formula-card h3{color:var(--secondary);margin-bottom:14px;font-size:12px;font-weight:400}.mapping-formula{font:12px var(--font-mono);align-items:center;gap:7px;min-height:42px;display:flex}.fraction{text-align:center;flex-direction:column;font-size:11px;display:inline-flex}.fraction>span{padding:4px 0}.fraction>span:first-child{border-bottom:1px solid var(--secondary)}.algorithm-constants{font:11px/1.7 var(--font-mono);color:var(--secondary);overflow-wrap:anywhere}.selected-mapping{grid-template-columns:1fr 40px 1fr;align-items:center;gap:12px;display:grid}.selected-mapping>div{flex-direction:column;gap:4px;display:flex}.selected-mapping label,.selected-mapping div>span{color:var(--muted);font-size:11px}.selected-mapping output{font:500 26px var(--font-mono)}#selected-output{color:var(--accent)}.mapping-arrow{color:var(--muted);font-size:20px}#intensity-input{width:100%;accent-color:var(--accent);height:20px;margin:0}.numeric-substitution h3{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:400}.numeric-substitution p{color:var(--secondary);font:11px/1.7 var(--font-mono);overflow-wrap:anywhere}.math-chart-block .chart-units{margin-top:0}.math-chart{height:148px;position:relative}.math-chart canvas{visibility:hidden}.has-calculation .math-chart canvas{visibility:visible}.lut-heading{border-top:1px solid var(--divider);padding-top:16px}.lut-heading h3{font-size:13px;font-weight:500}.lut-container{width:100%}.lut-container.expanded{max-height:320px;overflow:auto}.lut-container table{border-collapse:collapse;width:100%;font:11px/1.5 var(--font-mono);table-layout:fixed}.lut-container caption{caption-side:bottom;text-align:left;color:var(--muted);padding-top:8px;font:11px Poppins,sans-serif}.lut-container th{color:var(--muted);padding:0 4px 8px;font-weight:400}.lut-container th,.lut-container td{text-align:right;overflow-wrap:anywhere}.lut-container th:first-child,.lut-container td:first-child{text-align:left;width:42px}.lut-container td{border-bottom:1px solid var(--surface);color:var(--secondary);padding:7px 4px}.lut-container td:last-child{color:var(--accent)}.selected-row{background:var(--selected)}.selected-row td{color:var(--ink)}#inspect-lut{align-self:flex-start}.precision-note{color:var(--muted);font-size:11px;line-height:1.7}.precision-note summary{cursor:pointer;min-height:28px}.precision-note p{overflow-wrap:anywhere;margin:8px 0}@media (width<=1150px){analysis-panel{padding:16px}.mapping-formula{gap:5px;font-size:11px}}#inspector-empty{color:var(--muted);font-size:12px}.has-calculation #inspector-empty,analysis-panel:not(.has-calculation) :is(.selected-mapping,#intensity-input,.numeric-substitution,.math-chart-block,.lut-heading,.lut-container,#inspect-lut,.precision-note){display:none}#intensity-input{height:12px;margin-top:-6px}.precision-note{margin-top:-4px}@media (width>=1024px) and (width<=1279px){analysis-panel{padding:20px}}error-alert{grid-area:error;padding:0 20px;display:block}.error-banner{color:#ffd4d4;background:#241a1a;border:1px solid #805454;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:10px 16px;font-size:13px;display:flex}history-drawer [hidden],history-drawer .hidden{display:none!important}.history-drawer-overlay{z-index:1000;background:#000000a6;position:fixed;inset:0}.history-drawer-container{z-index:1001;color:#f4f4f4;background:#111;border:1px solid #292929;border-radius:12px;flex-direction:column;width:min(420px,100vw - 24px);max-height:calc(100dvh - 24px);font:13px/1.5 Poppins,sans-serif;display:flex;position:fixed;inset:12px 12px 12px auto;overflow:hidden}.history-header{border-bottom:1px solid #292929;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.history-header h2{margin:0;font-size:16px;font-weight:500}.history-close{color:#b4b4b4;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.history-main{flex-direction:column;flex:1;min-height:0;display:flex}.history-content-area{flex:1;min-height:0;padding:20px;overflow-y:auto}.history-empty-state{text-align:center;flex-direction:column;justify-content:center;gap:8px;min-height:220px;display:flex}.history-empty-state h3{margin:0;font-size:14px;font-weight:500}.history-empty-state p{color:#949494;max-width:260px;margin:0 auto;font-size:12px}.history-list{flex-direction:column;gap:20px;display:flex}.history-card{border-bottom:1px solid #292929;flex-direction:column;gap:12px;padding-bottom:20px;display:flex}.history-card:last-child{border-bottom:0;padding-bottom:0}.history-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-badge{color:#b4b4b4;font-size:12px}.history-time{font-family:var(--font-mono,monospace);color:#949494;font-size:11px}.history-card-title{color:#f4f4f4;overflow-wrap:anywhere;font-size:13px}.history-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.history-metric-col{flex-direction:column;gap:4px;min-width:0;display:flex}.history-metric-label{color:#949494;font-size:11px}.history-metric-val{color:#f4f4f4;font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px}.history-metric-change{color:#949494}.history-footer{border-top:1px solid #292929;padding:16px 20px 20px}.history-footer p{color:#949494;margin:0 0 12px;font-size:11px}.history-button{color:#f4f4f4;min-height:44px;font:inherit;cursor:pointer;background:#191919;border:1px solid #3e3e3e;border-radius:8px;padding:10px 16px}.history-button-primary{color:#111;background:#f0f0f0;border-color:#f0f0f0}.history-close:hover,.history-button:not(.history-button-primary):hover{background:#282828}.history-button-primary:hover{background:#d8d8d8}history-drawer button:focus-visible{outline-offset:3px;outline:2px solid #88b5ff}.history-confirmation{padding:24px 20px}.history-confirmation h3{margin:0 0 12px;font-size:16px;font-weight:500}.history-confirmation p{color:#b4b4b4;margin:0;font-size:13px}.history-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-MediumItalic.ttf)format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/fonts/Poppins-ExtraBold.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-style:normal;font-weight:400 500;font-display:swap}:root,:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#000;--surface:#111;--well:#191919;--selected:#282828;--divider:#292929;--ink:#f4f4f4;--secondary:#b4b4b4;--muted:#949494;--accent:#88b5ff;--font-mono:"IBM Plex Mono", monospace;--surface-bg:#000;--surface-text:#f4f4f4;--surface-text-muted:#949494;--chart-grid:#292929;--chart-tick:#949494;--chart-bar:#b4b4b424;--chart-bar-processed:#88b5ff24;background:var(--ground);color:var(--ink);font-family:Poppins,sans-serif;font-size:14px}*{box-sizing:border-box}body{flex-direction:column;min-height:100vh;margin:0;display:flex}h1,h2,h3,p{margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.45;cursor:not-allowed}button:not(:disabled):hover{background-color:var(--selected)}a{color:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:#000;background:#88b5ff}*{scrollbar-color:#484848 #111;scrollbar-width:thin}[hidden],.hidden{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{background:var(--ink);color:#111;z-index:200;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.primary-action{color:#111;white-space:nowrap;background:#f0f0f0;border-radius:22px;justify-content:center;align-items:center;min-height:44px;padding:12px 22px;font-size:13px;font-weight:500;display:inline-flex}.primary-action:not(:disabled):hover{background:#d4d4d4}.quiet-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:12px;font-size:13px;display:inline-flex}main{flex:1;grid-template-columns:minmax(0,1fr) 376px;grid-template-areas:"error error""document document""tabs tabs""workbench inspector";align-items:start;width:100%;max-width:1440px;margin:0 auto;display:grid}.application-status{background:var(--surface);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding:12px 20px;font-size:11px;display:flex}.application-status p{font-family:var(--font-mono);color:var(--secondary)}#loader-overlay{display:none}#loader-overlay.active{z-index:100;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}#loader-overlay p{font-size:16px}#loader-overlay>span{color:var(--muted);font-size:12px}#mobile-guard{display:none}@media (width<=1150px){main{grid-template-columns:minmax(0,1fr) 320px}}@media (width<=767px){main,top-nav-bar,.application-status,#loader-overlay.active{display:none}#mobile-guard{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;min-height:100svh;padding:32px;display:flex}#mobile-guard h1{max-width:280px;font-size:22px;font-weight:500}#mobile-guard p{color:var(--secondary);max-width:320px;font-size:14px;line-height:1.8}#mobile-guard>span{color:var(--muted);font-size:12px}#mobile-guard img{object-fit:contain}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=1024px) and (width<=1279px){main{grid-template-columns:minmax(0,1fr) 328px;max-width:1024px}.image-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}:root[data-screen]:not([data-screen=ready]) main,:root[data-screen]:not([data-screen=ready]) top-nav-bar,:root[data-screen]:not([data-screen=ready]) .application-status,:root[data-screen]:not([data-screen=ready]) #loader-overlay.active{display:none}:root[data-screen]:not([data-screen=ready]) #mobile-guard{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;min-height:100svh;padding:32px;display:flex}#mobile-guard h1{font-size:clamp(22px,3vw,32px);font-weight:500}#mobile-guard p{color:var(--secondary);max-width:560px;font-size:15px;line-height:1.7}#mobile-guard>span{color:var(--muted);font-size:13px}.rotate-icon{display:none}:root[data-screen=portrait] .rotate-icon{display:block}:root[data-screen=portrait] #mobile-guard{padding-top:88px;padding-bottom:88px}:root[data-screen=portrait] #mobile-guard>img:first-child{width:180px;height:42px;position:absolute;top:24px;left:32px}
