body.editor{height:100dvh;overflow:hidden}.app-header{height:64px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:space-between;padding:0 23px;gap:20px}.brand-version{font:9px Consolas,monospace;color:var(--muted);letter-spacing:1.6px;margin-left:18px;border-left:1px solid var(--line);padding-left:18px}.session-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:22px}.session-note .lucide{width:14px;height:14px}.dot{width:4px;height:4px;background:var(--accent);border-radius:50%;margin-left:5px}.header-actions{display:flex;align-items:center;gap:8px}.workspace-shell{height:calc(100dvh - 64px);display:grid;grid-template-columns:88px minmax(0,1fr) 296px}.tool-rail{display:flex;flex-direction:column;gap:5px;align-items:stretch;border-right:1px solid var(--line);padding:18px 8px 9px;background:var(--panel);overflow:auto}.rail-caption{font:9px Consolas,monospace;letter-spacing:1px;color:var(--faint);text-align:center;margin-bottom:8px}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:61px;border-radius:5px;background:transparent;color:var(--muted);font-size:10px;position:relative;flex-shrink:0;transition:background .15s,color .15s}.tool .lucide{width:20px;height:20px}.tool:hover{background:var(--panel-2);color:var(--ink)}.tool.active{background:var(--accent-wash);color:var(--accent)}.tool.active::before{content:"";position:absolute;left:-8px;height:22px;width:2px;background:var(--accent)}.rail-divider{height:1px;background:var(--line);margin:10px 9px}.rail-help{margin-top:auto}.canvas-column{min-width:0;display:flex;flex-direction:column;overflow:hidden}.canvas-toolbar{height:54px;min-height:54px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);background:var(--panel)}.current-file{min-width:0;display:flex;align-items:center;gap:10px;font-size:11px}.current-file strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.current-file>span:last-child{color:var(--muted);font:10px Consolas,monospace;white-space:nowrap}.file-indicator{width:6px;height:6px;background:var(--accent);border-radius:2px;flex-shrink:0}.history-controls{display:flex;flex-shrink:0}.stage{position:relative;flex:1;min-height:240px;display:flex;align-items:center;justify-content:center;background-color:var(--bg);background-image:radial-gradient(var(--line) .6px,transparent .6px);background-size:18px 18px;isolation:isolate;overflow:hidden}.stage-top,.stage-bottom{position:absolute;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:4;pointer-events:none}.stage-top>*,.stage-bottom>*{pointer-events:auto}.stage-top{top:15px}.stage-label{font:9px Consolas,monospace;letter-spacing:1.2px;color:var(--faint)}.segment{display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.segment button{background:transparent;border-radius:3px;color:var(--muted);font-size:10px;padding:5px 9px;display:flex;align-items:center;gap:5px;min-height:27px}.segment .lucide{width:13px;height:13px}.segment button.selected{background:var(--panel-3);color:var(--ink)}.stage-bottom{bottom:13px}.stage-bottom>span{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}.stage-bottom .lucide{width:13px;height:13px}.zoom-controls{display:flex;align-items:center;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:2px}.zoom-controls output{width:38px;font:10px Consolas,monospace;text-align:center;color:var(--muted)}.zoom-controls .icon-button{width:27px;height:27px}.zoom-controls>span{height:14px;border-left:1px solid var(--line);margin:0 2px}.empty-stage{text-align:center;max-width:430px;padding:65px 20px 56px}.empty-mark{width:150px;height:104px;position:relative;margin:0 auto 22px}.sample-card{position:absolute;width:80px;height:94px;border:1px solid #ffffff30;border-radius:3px;background:#3c3c43;left:30px;top:0;transform:rotate(-14deg);box-shadow:0 10px 20px #0002}.sample-card.front{left:54px;top:8px;background:#d5d0c4;transform:rotate(9deg);overflow:hidden}.sample-orbit{position:absolute;width:60px;height:60px;background:#6877bb;border-radius:50%;left:20px;top:15px}.sample-bar{position:absolute;bottom:0;left:8px;width:40px;height:76px;border:10px solid #e9e4d8;border-bottom:0;border-radius:25px 25px 0 0;transform:rotate(-15deg)}.empty-cross{position:absolute;right:8px;top:0;font-size:22px;font-weight:200;color:var(--violet)}.empty-stage h1{font-size:clamp(27px,2.7vw,37px);line-height:1.16;letter-spacing:-1.1px;margin:13px 0}.empty-stage>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}.empty-stage>.button{min-width:165px}.empty-stage>.text-button{display:flex;margin:10px auto 13px;font-size:11px}.empty-hint,.import-limits{display:block;font-size:10px;color:var(--faint);margin-top:10px}.empty-hint kbd{margin-left:4px}.viewport{position:absolute;inset:58px 24px 53px;overflow:hidden;touch-action:none;cursor:grab}.viewport:active{cursor:grabbing}.visual{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center;background-color:#ddd;background-image:conic-gradient(#eee 25%,#d2d2d2 0 50%,#eee 0 75%,#d2d2d2 0);background-size:16px 16px;box-shadow:0 12px 35px #0002}.visual>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.visual img{user-select:none}#compare-layer{position:absolute;inset:0;background:var(--paper);clip-path:inset(0 50% 0 0);pointer-events:none}#before-image{width:100%;height:100%;object-fit:contain}#compare-divider{position:absolute;left:50%;top:0;bottom:0;width:2px;background:white;pointer-events:none;box-shadow:0 0 0 1px #0003}#compare-divider>span{position:absolute;top:50%;transform:translate(-50%,-50%);padding:7px;background:white;color:#333;border-radius:50%;box-shadow:0 1px 6px #0003}.compare-labels{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between;pointer-events:none}.compare-labels span{background:#111b;color:white;font:9px Consolas,monospace;letter-spacing:1px;padding:5px 8px;border-radius:3px}.compare-control{position:absolute;bottom:53px;left:25%;right:25%;z-index:5;padding:6px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.compare-control input{display:block;height:18px}.compare-control span{font-size:9px;color:var(--muted)}#crop-overlay{position:absolute;inset:0;overflow:hidden;cursor:default}#crop-box{position:absolute;border:1px solid #fff;box-shadow:0 0 0 20000px #0007;cursor:move;touch-action:none}.crop-grid{position:absolute;inset:0;background-image:linear-gradient(to right,transparent 33.2%,#fff5 33.2%,#fff5 33.6%,transparent 33.6%,transparent 66.4%,#fff5 66.4%,#fff5 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.2%,#fff5 33.2%,#fff5 33.6%,transparent 33.6%,transparent 66.4%,#fff5 66.4%,#fff5 66.8%,transparent 66.8%);pointer-events:none}.crop-handle{position:absolute;width:14px;height:14px;background:white;border:2px solid #536dec;border-radius:2px;z-index:2}.crop-handle.nw{top:-7px;left:-7px;cursor:nwse-resize}.crop-handle.ne{top:-7px;right:-7px;cursor:nesw-resize}.crop-handle.sw{bottom:-7px;left:-7px;cursor:nesw-resize}.crop-handle.se{bottom:-7px;right:-7px;cursor:nwse-resize}.batch-tray{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0}.batch-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-bottom:1px solid var(--line)}.batch-header>div{display:flex;gap:14px}.batch-header .text-button{font-size:10px}.batch-header>button{font-size:12px;color:var(--ink)}.count{font:9px Consolas,monospace;border:1px solid var(--line);padding:1px 5px;border-radius:3px;color:var(--muted)}.batch-list{display:flex;gap:10px;overflow-x:auto;padding:12px 20px;min-height:95px;align-items:center}.batch-empty{font-size:11px;color:var(--faint);padding:15px 0}.batch-item{width:150px;min-width:150px;border:1px solid var(--line);border-radius:5px;position:relative;background:var(--bg)}.batch-item.selected{border-color:var(--accent)}.batch-select{display:flex;gap:8px;align-items:center;width:100%;background:transparent;padding:8px;text-align:left;border-radius:4px}.batch-select img{width:40px;height:45px;object-fit:contain;background:var(--panel-3);border-radius:2px}.batch-select>span{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:10px}.batch-select strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78px}.batch-select small{font-size:9px;color:var(--muted)}.batch-remove{position:absolute;right:1px;top:0;background:var(--panel-2);width:18px;height:18px;border-radius:2px;font-size:12px;color:var(--muted)}.batch-state{display:block;font:9px Consolas,monospace;padding:3px 8px;border-top:1px solid var(--line);color:var(--muted)}.batch-state.ready{color:var(--accent)}.batch-state.failed{color:var(--danger)}.batch-footer{padding:8px 20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.batch-footer label{font-size:10px;margin:0;white-space:nowrap}.batch-footer input{font:10px Consolas,monospace;padding:6px 8px;flex:1;max-width:250px;min-width:120px}.batch-footer>span{font:9px Consolas,monospace;color:var(--faint)}.batch-footer>button{margin-left:auto;font-size:10px}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:29px;padding:5px 19px;border-top:1px solid var(--line);background:var(--panel);font-size:10px;color:var(--muted);flex-shrink:0}.status-bar p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-bar>span{font:8px Consolas,monospace;letter-spacing:.8px;white-space:nowrap}.status-bar .text-button{min-height:20px;padding:0;font-size:10px;color:var(--accent)}#progress-wrap{height:3px;line-height:0}progress{width:100%;height:3px;accent-color:var(--blue);border:0;display:block}.inspector{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.inspector-title{padding:19px 20px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.inspector-title h2{font-size:20px;letter-spacing:-.5px;margin-top:3px}.inspector-title .eyebrow{font-size:8px}.inspector-title>button{display:none}#inspector-content{overflow-y:auto;flex:1;min-height:0}.inspector-section{padding:19px 20px;border-bottom:1px solid var(--line)}.inspector-section h3{font-size:12px;margin-bottom:13px}.inspector-section>p:first-child{margin-top:0}.inspector-section fieldset{padding:0;margin:0;border:0;min-width:0}.inspector-section .hint a{color:var(--accent);text-decoration:underline}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.field-row>div{min-width:0}.field-row input{width:100%;font-size:12px}.field-row.triple{grid-template-columns:1fr 1fr 1fr}.input-unit{position:relative}.input-unit input{padding-right:28px;width:100%}.input-unit>span{position:absolute;right:10px;top:11px;color:var(--faint);font:10px Consolas,monospace;pointer-events:none}.check-label{display:flex;align-items:center;gap:8px;min-height:26px;font-size:11px;cursor:pointer;margin:6px 0}.setting-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 4px}.setting-label label{margin:0}.setting-label output{font:10px Consolas,monospace;color:var(--accent)}.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.chip{flex:1;min-width:40px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:10px;border-radius:4px;padding:7px 6px;min-height:30px}.chip:hover{color:var(--ink);border-color:var(--accent)}.chip.selected{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.mode-help{font-size:10px;color:var(--muted);margin:8px 0 13px;min-height:32px}.inspector-section select{font-size:12px}.inspector-section>label{margin-top:12px}.inspector-section>input{width:100%}.inspector-export{padding:16px 20px;border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -8px 24px #00000008;flex-shrink:0}.inspector-export .button{width:100%;margin-top:8px;min-height:38px;font-size:11px}.inspector-export>p{font-size:9px;color:var(--muted);line-height:1.65;margin-top:10px}#result-stats{display:flex;flex-direction:column;gap:6px;font-size:12px;overflow-wrap:anywhere}#result-stats>span{font:8px Consolas,monospace;letter-spacing:1.2px;color:var(--faint)}#result-stats strong{font-size:12px;font-weight:500}#result-stats small{font-size:10px;color:var(--accent)}.quick-action{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 0;border-bottom:1px solid var(--line);background:none;font-size:11px;text-align:left}.quick-action:last-child{border-bottom:0}.quick-action .lucide{width:14px;color:var(--accent)}.empty-inspector{padding:20px;color:var(--muted);font-size:12px}.empty-inspector .hint{margin-top:12px}.preset-group{font:9px Consolas,monospace;letter-spacing:1px;color:var(--faint);margin:16px 0 7px}.preset-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:transparent;color:var(--ink);font-size:11px;padding:10px 0;border-bottom:1px solid var(--line)}.preset-option:hover{color:var(--accent)}.preset-option small{font:9px Consolas,monospace;color:var(--muted);white-space:nowrap}.preset-option>span{max-width:170px}.recipe-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.recipe-row>button:first-child{text-align:left;font-size:12px;background:none;padding:12px 0;flex:1;min-width:0;overflow-wrap:anywhere}.recipe-row small{display:block;font-size:10px;color:var(--muted)}.wide{width:100%}.crop-preview{width:100%;max-height:120px;object-fit:contain;background:var(--bg);border:1px solid var(--line);margin-top:12px;border-radius:4px}.transform-row{display:flex;gap:6px;margin:12px 0}.transform-row button{flex:1}.notice{padding:10px;border:1px solid var(--line);border-left:2px solid var(--violet);font-size:10px;color:var(--muted);margin-top:14px;line-height:1.7}#error{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:80;background:var(--panel);color:var(--danger);border:1px solid var(--danger);border-radius:6px;box-shadow:var(--shadow);padding:10px 12px;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(600px,calc(100vw - 28px));font-size:12px}#error>span{overflow-wrap:anywhere}#error>.lucide{width:18px;flex:none}#drop-overlay{position:fixed;inset:12px;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--panel);border:2px dashed var(--accent);border-radius:10px;box-shadow:0 0 0 20px #0009;pointer-events:none}#drop-overlay>.lucide{width:48px;height:48px;color:var(--accent);margin-bottom:20px}#drop-overlay h2{font-size:28px}#drop-overlay p{color:var(--muted);margin-top:10px}
@media(min-height:950px){.empty-stage h1{font-size:44px}.empty-mark{margin-bottom:34px}.empty-stage>p:not(.eyebrow){margin-bottom:27px}.tool{min-height:68px}.batch-list{min-height:114px}}
@media(max-width:1150px){.workspace-shell{grid-template-columns:74px minmax(0,1fr) 272px}.tool-rail{padding-inline:6px}.tool.active::before{left:-6px}.brand-version{display:none}.session-note{margin-right:0}.canvas-toolbar{padding-inline:15px}.current-file>span:last-child{display:none}.stage-label{display:none}.stage-top{justify-content:flex-end}.batch-footer>span{display:none}.batch-header{padding-inline:12px}.batch-header>div{gap:7px}.batch-header .text-button{font-size:9px}.inspector-section,.inspector-export{padding:16px}.status-bar>span{display:none}}
@media(max-width:760px){body.editor{height:100dvh}.app-header{height:58px;padding:0 14px;gap:12px}.brand{font-size:20px}.app-header .logo{width:26px}.session-note{display:none}.header-actions{gap:5px}.header-actions>.button{padding:7px 9px;min-height:34px}.header-actions>.button span{display:none}.header-actions .icon-button{width:30px}.workspace-shell{height:calc(100dvh - 58px);grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 63px}.tool-rail{grid-row:2;border-right:0;border-top:1px solid var(--line);padding:4px 5px;flex-direction:row;overflow-x:auto;gap:2px}.tool{min-width:57px;min-height:52px;gap:4px;font-size:9px;flex:1}.tool .lucide{width:18px;height:18px}.rail-caption,.rail-divider,.rail-help{display:none}.tool.active::before{left:15px;right:15px;top:-4px;height:2px;width:auto}.canvas-column{grid-row:1;grid-column:1}.canvas-toolbar{height:42px;min-height:42px;padding-inline:12px}.current-file strong{max-width:165px;font-size:10px}.history-controls .icon-button{width:30px;height:30px}.stage{min-height:180px}.stage-top{top:10px;left:12px;right:12px}.segment button{font-size:9px;min-height:26px;padding:4px 8px}.stage-bottom{left:12px;right:12px;bottom:9px}.stage-bottom>span{max-width:190px;font-size:9px}.stage-bottom>span .lucide{display:none}.empty-stage{padding:45px 15px 40px;max-width:330px}.empty-mark{transform:scale(.8);height:88px;margin-bottom:6px}.empty-stage h1{font-size:28px;margin:8px 0}.empty-stage .eyebrow{font-size:8px}.empty-stage>p:not(.eyebrow){font-size:11px;line-height:1.6;margin-bottom:16px}.empty-stage>.button{min-height:40px}.empty-stage>.text-button{font-size:10px;margin:3px auto 7px}.empty-hint{display:none}.import-limits{font-size:9px;margin-top:4px}.viewport{inset:52px 14px 48px}.batch-header{padding:4px 12px}.batch-header>button{font-size:10px}.batch-header>div{gap:6px}.batch-header .text-button{font-size:9px}.batch-header .lucide{width:13px;height:13px}.batch-list{min-height:86px;padding:8px 12px}.batch-footer{padding:6px 12px;gap:8px}.batch-footer label{font-size:9px}.batch-footer>button{font-size:9px}.status-bar{min-height:25px;padding:4px 12px;font-size:9px}.inspector{position:fixed;bottom:63px;left:8px;right:8px;z-index:30;max-height:min(74dvh,650px);border:1px solid var(--line);border-radius:12px 12px 0 0;box-shadow:0 -16px 70px #0005;transform:translateY(calc(100% + 80px));transition:transform .22s ease;visibility:hidden}.inspector.open{transform:translateY(0);visibility:visible}.inspector-title{padding:12px 17px}.inspector-title h2{font-size:18px}.inspector-title>button{display:flex}#inspector-content{max-height:42dvh;flex:initial}.inspector-export{padding:11px 17px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspector-export .button{margin:0;min-height:42px}.inspector-export #result-stats{grid-column:1/-1}.inspector-export #result-stats>span{display:none}.inspector-export>p{grid-column:1/-1;margin-top:2px}.inspector-export strong{font-size:11px!important}.inspector-section{padding:17px}.field-row input,select,.inspector-section>input,textarea{font-size:16px!important}input[type=range]{min-height:32px}.check-label{min-height:32px;font-size:12px}.chip{min-height:38px;font-size:11px}.preset-option{min-height:44px}.compare-control{left:12%;right:12%;bottom:48px}.compare-control span{font-size:8px}.crop-handle{width:20px;height:20px}.crop-handle.nw{top:-10px;left:-10px}.crop-handle.ne{top:-10px;right:-10px}.crop-handle.sw{bottom:-10px;left:-10px}.crop-handle.se{bottom:-10px;right:-10px}}
@media(max-height:800px) and (min-width:761px){.empty-mark{transform:scale(.7);height:70px;margin-bottom:4px}.empty-stage h1{font-size:28px}.empty-stage>p:not(.eyebrow){margin-bottom:14px}.empty-hint{display:none}.empty-stage>.text-button{margin:4px auto}.import-limits{font-size:9px}.tool{min-height:53px}.rail-divider{margin:5px 8px}.inspector-title{padding:12px 18px}.batch-list{min-height:80px;padding-top:8px;padding-bottom:8px}}
