*{box-sizing:border-box;margin:0}:root{--bg: #141517;--panel: #1b1d20;--line: #292c31;--text: #d7d9dc;--muted: #82878f;--accent: #e8890c;--accent-hi: #f59b25;--mono: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;--check-a: #1a1c1f;--check-b: #17181b;--tool-dilation: #2fb3a3}body{background:var(--bg);color:var(--text);font:13.5px/1.5 system-ui,sans-serif;height:100vh;overflow:hidden}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.app{display:flex;height:100vh}.side{width:268px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.side h1{font:700 13px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.side h1:before{content:"";width:14px;height:14px;background:repeating-conic-gradient(var(--accent) 0% 25%,transparent 0% 50%) 0 0 / 7px 7px;border:1px solid var(--line)}.tabs{display:flex;flex-direction:column;margin:-8px 0}.tab{display:flex;align-items:center;gap:10px;padding:7px 8px;background:none;border:0;font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;text-align:left}.tab:hover{color:var(--text)}.tab.selected{background:var(--bg);color:var(--text)}.tab-icon{width:14px;height:14px;flex-shrink:0;border:1px solid var(--line);background:linear-gradient(var(--tool),var(--tool)) 50% 50% / 6px 6px no-repeat,color-mix(in srgb,var(--tool) 28%,transparent)}.field{display:flex;flex-direction:column;gap:6px}.field label{display:flex;justify-content:space-between;align-items:baseline;font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field label span{color:var(--text);font-size:11px;text-transform:none;letter-spacing:0}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;height:16px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--line)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;margin-top:-4px;background:var(--text);border:0;border-radius:0}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:active::-webkit-slider-thumb{background:var(--accent)}input[type=range]::-moz-range-track{height:2px;background:var(--line)}input[type=range]::-moz-range-thumb{width:10px;height:10px;background:var(--text);border:0;border-radius:0}input[type=range]:hover::-moz-range-thumb{background:var(--accent)}.field select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:2px;padding:5px 6px;font:12px var(--mono)}.advanced{border-top:1px solid var(--line);padding-top:12px}.advanced summary{font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:14px}.advanced summary:hover{color:var(--text)}.advanced .field{margin-bottom:14px}.hint{font-size:11px;color:var(--muted);line-height:1.5}button.primary{background:var(--accent);color:var(--bg);border:0;border-radius:2px;padding:9px 12px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}button.primary:hover:not(:disabled){background:var(--accent-hi)}button.primary:disabled{background:var(--line);color:var(--muted);cursor:default}.notice{border-left:2px solid var(--accent);padding:2px 0 2px 10px;font-size:12px;color:var(--muted)}.status{font:11px/1.6 var(--mono);color:var(--muted)}.filelist{display:flex;flex-direction:column;gap:1px;overflow-y:auto}.filelist-head{display:flex;justify-content:space-between;align-items:center;font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 8px 6px}.filelist-head button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.filelist-head button:hover{color:var(--accent)}.filelist .file{display:flex;align-items:center;justify-content:space-between;gap:4px;border-left:2px solid transparent;padding:3px 4px 3px 8px;color:var(--muted);font:11.5px var(--mono);cursor:pointer}.filelist .file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filelist .file:hover{background:var(--bg)}.filelist .file.selected{background:var(--bg);color:var(--text);border-left-color:var(--accent)}.filelist .file button{background:none;border:0;color:var(--muted);font-size:13px;line-height:1;padding:2px 6px;cursor:pointer;visibility:hidden;flex-shrink:0}.filelist .file:hover button,.filelist .file.selected button{visibility:visible}.filelist .file button:hover{color:var(--accent)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.drop{flex:1;display:flex;align-items:center;justify-content:center;margin:24px;background:repeating-conic-gradient(var(--check-a) 0% 25%,var(--check-b) 0% 50%) 0 0 / 24px 24px;border:1px dashed var(--line);color:var(--muted);font:12px/2 var(--mono);text-align:center;cursor:pointer}.drop.over{border-color:var(--accent);color:var(--accent)}.viewer-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;min-height:0}.viewer{position:relative;max-width:100%;max-height:100%;background:repeating-conic-gradient(#33373e,#33373e 25%,#24272c 0%,#24272c 50%) 0 0 / 16px 16px}.viewer canvas{display:block;max-width:100%;max-height:calc(100vh - 120px);image-rendering:pixelated}.viewer .after{position:absolute;top:0;right:0;bottom:0;left:0}.viewer .divider{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none}.viewer-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line);background:var(--panel)}.viewer-bar input[type=range]{flex:1}.viewer-bar span{font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.channels{display:flex;gap:1px}.channels button{background:var(--bg);border:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.04em;padding:3px 7px;cursor:pointer;border-radius:0}.channels button:not(:first-child){border-left:0}.channels button:hover{color:var(--text)}.channels button.selected{background:var(--accent);border-color:var(--accent);color:var(--bg)}.toggle{display:flex;align-items:center;gap:6px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap}.toggle input{accent-color:var(--accent)}
