:root{color-scheme:light;font-family:"Space Mono",ui-monospace,"Lucida Console",monospace;background:#d1d1d1;color:#111}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"Space Mono",ui-monospace,"Lucida Console",monospace}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:156px minmax(0,1fr) 380px;min-height:100vh}.tool-menu{display:grid;align-content:start;gap:8px;padding:24px 14px;border-right:1px solid #111;background:#e9e7e1}.menu-title{margin-bottom:18px;font-size:12px;letter-spacing:.12em;color:#6c675e}.menu-item{width:100%;min-height:38px;border:1px solid #111;border-radius:0;background:transparent;text-align:left;text-transform:uppercase;font-size:12px;color:#111}.menu-item.is-active{background:#111;color:#fff}.menu-item:disabled{border-color:#c8c3ba;color:#9b958c}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 20px 18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}h1{margin:0;font-size:20px;line-height:1.1;letter-spacing:0;text-transform:uppercase}p{margin:3px 0 0;color:#6b665d;font-size:12px}.drop-zone{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border:1px solid #111;background:#d1d1d1}.drop-zone.is-over{outline:3px solid #ff751a;outline-offset:-3px}canvas{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 104px);box-shadow:0 0 0 2px #111,0 10px 24px rgba(0,0,0,.14);cursor:grab;touch-action:none}canvas.is-dragging{cursor:grabbing}.empty-state{position:absolute;display:grid;gap:8px;justify-items:center;padding:24px;color:#504a41;text-align:center;pointer-events:none}.empty-state strong{font-size:20px;text-transform:uppercase}.empty-state.is-hidden{display:none}.controls{display:grid;align-content:start;gap:18px;padding:24px;border-left:1px solid #111;background:#f7f6f1}.control-group,.control-grid,.file-input{display:grid;gap:9px}.group-label,label span{color:#111;font-size:12px;font-weight:700;text-transform:uppercase}.file-input{cursor:pointer}input[type=file]{width:100%;padding:10px;border:1px solid #111;border-radius:0;background:#fff}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #111;background:#fff}.segmented.two{grid-template-columns:repeat(2,1fr)}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented.four{grid-template-columns:repeat(4,1fr)}.segmented label{display:grid;place-items:center;min-height:38px;border-right:1px solid #111;color:#111;cursor:pointer;font-size:12px;text-transform:uppercase}.segmented label:last-child{border-right:0}.segmented input{position:absolute;opacity:0}.segmented label:has(input:checked){background:#111;color:#fff}textarea,select{width:100%;border:1px solid #111;border-radius:0;background:#fff;color:#111}textarea{resize:vertical;min-height:82px;padding:10px;line-height:1.45;font-family:"Space Mono",ui-monospace,"Lucida Console",monospace}select{min-height:40px;padding:0 10px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.batch-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}button{min-height:40px;border:1px solid #111;border-radius:0;background:#fff;color:#111;cursor:pointer;text-transform:uppercase;font-size:12px}button:hover{background:#f0eee8}.primary-button{min-width:150px;border-color:#111;background:#111;color:#fff}.primary-button:hover{background:#ff751a;color:#111}.control-grid{grid-template-columns:1fr 1fr}.control-grid label{display:grid;gap:8px;min-width:0}input[type=range]{width:100%;accent-color:#111}input[type=color]{width:100%;min-height:40px;padding:3px;border:1px solid #111;border-radius:0;background:#fff}.check-row{align-content:start}.check-row input{width:22px;height:22px;justify-self:start;accent-color:#111}.subtle{display:none}.subtle.is-visible{display:grid}.note{padding:12px;border:1px solid #111;border-radius:0;background:#f0eee8;color:#111;font-size:12px;line-height:1.45}.download-area{display:grid;gap:8px;justify-items:end}.status-text{min-height:18px;color:#6b665d;font-size:12px;text-align:right}.status-text.is-error{color:#9d2d20}@media(max-width:1020px){.app-shell{grid-template-columns:1fr}.tool-menu{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto;border-right:0;border-bottom:1px solid #111}.workspace,.controls{padding:18px}.topbar{align-items:stretch;flex-direction:column}.primary-button{width:100%}.drop-zone{min-height:54vh}canvas{max-height:54vh}.controls{border-left:0;border-top:1px solid #111}.download-area{justify-items:stretch}.status-text{text-align:left}}.slot-picker{display:grid;gap:8px}.slot-picker span,.slot-hint{font-size:11px;color:#6b665d;text-transform:uppercase}.slot-picker.is-hidden{display:none}
.photo-tray{display:none;gap:10px;padding:10px;border:1px solid #111;background:#e9e7e1}.photo-tray.is-visible{display:grid}.photo-tray-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;color:#6b665d}.thumb-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.thumb-button{position:relative;display:block;min-height:0;padding:0;border:1px solid #111;background:#fff;aspect-ratio:1;overflow:hidden}.thumb-button img{width:100%;height:100%;object-fit:cover;display:block}.thumb-button span{position:absolute;right:0;bottom:0;padding:2px 5px;background:#111;color:#fff;font-size:10px}.thumb-button:hover{background:#fff;outline:2px solid #ff751a;outline-offset:0}.slot-picker{display:none!important}
.thumb-button.is-selected{outline:3px solid #ff751a;outline-offset:0}.thumb-button.is-drop{outline:3px solid #111;outline-offset:-5px}.thumb-button small{position:absolute;left:0;top:0;padding:2px 5px;background:#ff751a;color:#111;font-size:10px}
.icon-row{display:grid;grid-template-columns:42px 42px 1fr;gap:8px}.icon-row button{min-height:34px;padding:0;font-size:15px}.icon-row button:last-child{font-size:11px}.thumb-button.is-empty{display:grid;place-items:center;background:#f7f6f1;color:#6b665d;border-style:dashed}.thumb-button.is-empty::before{content:"DROP";font-size:11px;letter-spacing:.08em}.thumb-button.is-empty span,.thumb-button.is-empty small{display:none}
.tool-panel{display:grid;gap:18px}.tool-panel.is-hidden{display:none!important}body[data-tool="glitch"] #photoCanvas{cursor:default}body[data-tool="glitch"] .empty-state strong::after{content:""}
body[data-tool="glitch"] #binderControls{display:none!important}body[data-tool="glitch"] .topbar .download-area{display:none!important}body[data-tool="binder"] #glitchControls{display:none!important}
.control-grid button{align-self:end;min-height:40px}
.preset-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.preset-row button{min-width:0;padding:0 6px}.glitch-batch{display:none;gap:10px;padding:10px;border:1px solid #111;background:#e9e7e1}.glitch-batch.is-visible{display:grid}.glitch-batch span{font-size:11px;text-transform:uppercase;color:#6b665d}
.range-number{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center}.range-number input[type=number]{min-height:36px;border:1px solid #111;border-radius:0;background:#fff;padding:0 8px}.three-buttons{grid-template-columns:1fr 1fr 1fr}
body[data-tool="archive"] #binderControls,body[data-tool="archive"] #glitchControls{display:none!important}body[data-tool="archive"] .topbar .download-area{display:none!important}
body[data-tool="camera"] #binderControls,body[data-tool="camera"] #glitchControls,body[data-tool="camera"] #archiveControls{display:none!important}body[data-tool="camera"] .topbar .download-area{display:none!important}#cameraText{min-height:40px;border:1px solid #111;border-radius:0;padding:0 10px;background:#fff}
body[data-tool="rnm"] #binderControls,body[data-tool="rnm"] #glitchControls,body[data-tool="rnm"] #archiveControls,body[data-tool="rnm"] #cameraControls,body[data-tool="rnm"] #mirrorControls,body[data-tool="rnm"] #cropControls{display:none!important}body[data-tool="rnm"] .topbar .download-area{display:none!important}

body[data-tool="archive"] #rnmControls,body[data-tool="archive"] #cameraControls,body[data-tool="archive"] #mirrorControls,body[data-tool="archive"] #cropControls{display:none!important}
body[data-tool="camera"] #rnmControls,body[data-tool="camera"] #mirrorControls,body[data-tool="camera"] #cropControls{display:none!important}
body[data-tool="mirror"] #binderControls,body[data-tool="mirror"] #glitchControls,body[data-tool="mirror"] #rnmControls,body[data-tool="mirror"] #archiveControls,body[data-tool="mirror"] #cameraControls,body[data-tool="mirror"] #cropControls{display:none!important}body[data-tool="mirror"] .topbar .download-area{display:none!important}
body[data-tool="crop"] #binderControls,body[data-tool="crop"] #glitchControls,body[data-tool="crop"] #rnmControls,body[data-tool="crop"] #archiveControls,body[data-tool="crop"] #cameraControls,body[data-tool="crop"] #mirrorControls{display:none!important}body[data-tool="crop"] .topbar .download-area{display:none!important}
#mirrorOutput{min-height:160px;background:#f0eee8}

body[data-tool="mirror"] .workspace{display:none!important}
body[data-tool="mirror"] .app-shell{grid-template-columns:156px minmax(420px,760px);justify-content:start}
body[data-tool="mirror"] .controls{border-left:1px solid #111;min-height:100vh}
body[data-tool="mirror"] #mirrorControls textarea{min-height:240px}

.crop-move-control{display:none!important}
body[data-tool="crop"] #photoCanvas{cursor:grab}
body[data-tool="crop"] #photoCanvas.is-dragging{cursor:grabbing}

.filename-box{min-height:58px!important;font-size:11px!important;line-height:1.25!important;resize:vertical;word-break:break-word}

body[data-tool="binder"] .topbar{min-height:0}
body[data-tool="binder"] .drop-zone{align-items:start;padding-top:6px}
body[data-tool="binder"] .empty-state{top:50%;left:50%;transform:translate(-50%,-50%)}

body[data-tool="btw"] #binderControls,body[data-tool="btw"] #glitchControls,body[data-tool="btw"] #rnmControls,body[data-tool="btw"] #archiveControls,body[data-tool="btw"] #cameraControls,body[data-tool="btw"] #mirrorControls,body[data-tool="btw"] #cropControls{display:none!important}body[data-tool="btw"] .workspace{display:none!important}body[data-tool="btw"] .app-shell{grid-template-columns:156px minmax(420px,760px);justify-content:start}body[data-tool="btw"] .controls{border-left:1px solid #111;min-height:100vh}.btw-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btw-card{border:1px solid #111;background:#fff;padding:12px;display:grid;gap:8px}.btw-card small{color:#6b665d;font-size:11px;text-transform:uppercase}.btw-card strong{font-size:20px}.btw-card.is-highlight{background:#111;color:#fff}.btw-card.is-highlight small{color:#d8d5ce}@media(max-width:620px){.btw-results{grid-template-columns:1fr}}

body[data-tool="binder"] #btwControls{display:none!important}
body[data-tool="glitch"] #btwControls{display:none!important}
body[data-tool="rnm"] #btwControls{display:none!important}
body[data-tool="archive"] #btwControls{display:none!important}
body[data-tool="camera"] #btwControls{display:none!important}
body[data-tool="mirror"] #btwControls{display:none!important}
body[data-tool="crop"] #btwControls{display:none!important}