:root{--ink:#20211f;--paper:#f2f0e9;--line:#cbc8bd;--accent:#ff5c35;--muted:#696a65}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;min-height:100vh}button,input,select{font:inherit}header{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4vw;gap:28px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.15em}.mark{background:var(--accent);width:50px;height:50px;display:grid;place-items:center;font-size:24px;font-weight:700}.mark.small{width:30px;height:30px;font-size:15px}.privacy{margin-left:auto;font-family:monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.privacy i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54a758;margin-right:8px}.link-button{border:0;background:none;text-decoration:underline;cursor:pointer}.shell{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(470px,1.28fr);gap:6vw;padding:8vh 7vw 6vh}.eyebrow{font-family:monospace;font-size:11px;letter-spacing:.13em}.intro h1{font-size:clamp(46px,6vw,88px);letter-spacing:-.065em;line-height:.93;margin:8vh 0 4vh}.intro h1 em{color:var(--accent);font-style:normal}.intro>p:last-child{max-width:420px;color:var(--muted);line-height:1.7}.workspace{background:#fbfaf6;border:1px solid var(--line);padding:18px}.dropzone{min-height:270px;border:1px dashed #aaa79c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:.2s}.dropzone.active,.dropzone:hover{background:#f3eee4;border-color:var(--accent)}.drop-icon{font-size:36px}.dropzone h2{font-size:22px;margin:18px 0 4px}.dropzone p{margin:0;color:var(--muted)}.dropzone small{font-family:monospace;font-size:9px;margin-top:30px}.file-list{border:1px solid var(--line);border-top:0}.file{display:grid;grid-template-columns:36px 1fr 30px;align-items:center;padding:12px;border-bottom:1px solid var(--line);gap:10px}.file:last-child{border-bottom:0}.file-index{font-family:monospace;color:var(--muted);font-size:11px}.file strong,.file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file strong{font-size:13px}.file small{color:var(--muted);font-size:10px;margin-top:3px}.file button{background:none;border:0;font-size:20px;cursor:pointer}.controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.controls>label,.controls details{font-family:monospace;font-size:10px;text-transform:uppercase}.controls select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:transparent;padding:13px}.range-row{display:flex;align-items:center;gap:12px;margin-top:18px}.range-row input{accent-color:var(--accent);width:100%}.controls details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}.controls summary{cursor:pointer}.controls details p{color:var(--muted);text-transform:none}.dimensions{display:flex;align-items:end;gap:10px;margin-top:12px}.dimensions label{flex:1}.dimensions input{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);background:transparent}.primary{grid-column:1/-1;background:var(--ink);color:white;border:0;min-height:62px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-weight:600;cursor:pointer}.primary b{color:var(--accent);font-size:24px}.primary:disabled{opacity:.35}.status{min-height:24px;margin-top:12px;font-size:12px;color:var(--muted)}.app-footer{border-top:1px solid var(--line);padding:20px 4vw;display:flex;justify-content:space-between;font-family:monospace;font-size:9px;text-transform:uppercase}.login-page{display:grid;place-items:center;padding:24px}.login-card{width:min(760px,100%);border:1px solid var(--line);padding:clamp(30px,7vw,78px);background:#faf9f4}.login-card h1{font-size:clamp(36px,6vw,68px);line-height:1.02;letter-spacing:-.055em;margin:40px 0 24px}.muted{color:var(--muted);max-width:570px;line-height:1.65}.login-form{margin-top:55px}.login-form label{display:block;font-family:monospace;text-transform:uppercase;font-size:10px;margin-bottom:10px}.password-row{display:grid;grid-template-columns:1fr auto}.password-row input{min-width:0;padding:17px;border:1px solid var(--line);background:transparent}.password-row button{padding:0 25px;border:0;background:var(--ink);color:#fff;cursor:pointer}.password-row span{color:var(--accent);margin-left:16px}.error{color:#b23622;font-size:12px}.login-card footer{margin-top:70px;font-family:monospace;font-size:9px;color:var(--muted)}@media(max-width:820px){.shell{grid-template-columns:1fr;padding:48px 20px}.intro h1{margin:35px 0 24px}.privacy{display:none}.workspace{padding:10px}.controls{grid-template-columns:1fr}.controls>*{grid-column:1!important}.password-row{grid-template-columns:1fr}.password-row button{height:54px}.dropzone{min-height:230px}}
.detail-field{display:block;margin-top:12px}.detail-field input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:transparent;padding:13px}.intro-note{display:block;margin-top:12px;font-family:monospace;font-size:11px}.intro-note span{display:block}.file-main{min-width:0}.file-meta{display:flex!important;align-items:center;gap:5px}.file-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-progress{height:4px;background:#d9d6cc;margin-top:7px;overflow:hidden}.file-progress i{display:block;width:0;height:100%;background:var(--accent);transition:width .18s ease}.file-progress i.active{min-width:12%;transition:none;animation:file-progress-slide 1.15s linear infinite;will-change:transform}.file.is-error .file-progress i{background:#b23622}.file button:disabled{opacity:.35;cursor:default}.progress-panel{margin-top:16px;border:1px solid var(--line);padding:14px;background:var(--paper)}.progress-head{display:flex;justify-content:space-between;gap:16px;font-family:monospace;font-size:11px;text-transform:uppercase}.progress-track{height:8px;background:#d9d6cc;margin-top:10px;overflow:hidden}.progress-track i{display:block;width:0;height:100%;background:var(--accent);transition:width .2s ease}.progress-track i.active{min-width:8%;transition:none;animation:batch-progress-slide 1.15s linear infinite;will-change:transform}.progress-panel p{margin:9px 0 0;color:var(--muted);font-size:11px}.progress-panel.error .progress-track i{background:#b23622}@keyframes batch-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(1260%)}}@keyframes file-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(835%)}}
