:root{--ink:#171717;--paper:#f2efe6;--orange:#f04a24;--blue:#153dde;--line:#aaa499;--cream:#fffdf5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Arial,sans-serif;background-image:linear-gradient(rgba(23,23,23,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,23,23,.035) 1px,transparent 1px);background-size:24px 24px}
button,input,select{font:inherit}
button,.file-button{cursor:pointer}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9}
header{display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;border-bottom:2px solid var(--ink);background:var(--cream)}
.brand{display:flex;gap:13px;align-items:center}
.mark{display:grid;place-items:center;width:45px;height:45px;background:var(--orange);color:#fff;font-weight:900;transform:rotate(-3deg)}
.brand b{letter-spacing:.08em}
.brand small{display:block;color:#5f5b54}
.counter{display:flex;gap:24px;font-family:monospace;font-weight:700}
.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:end;padding:55px 4vw 38px}
.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.13em}
.intro h1{font-size:clamp(3.3rem,6vw,6rem);line-height:.96;letter-spacing:-.06em;margin:20px 0 0}
.intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}
.intro>p{font-size:19px;max-width:44ch}
.workgrid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.45fr);gap:22px;padding:0 4vw 42px}
.panel{background:var(--cream);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:26px}
.panel-head{display:flex;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.panel-head>span{display:grid;place-items:center;align-self:start;width:35px;height:35px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800}
.panel h2{font-size:24px;margin:0}
.panel-head p{margin:4px 0 0;color:#68635b}
.recipe{display:grid;gap:16px;align-content:start}
.recipe label,.recipe legend{font-size:13px;font-weight:800;letter-spacing:.035em}
.recipe input:not([type=checkbox]),.recipe select{display:block;width:100%;margin-top:7px;border:1px solid var(--ink);background:#fff;padding:11px;color:var(--ink)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.triplet{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px}
.checkrow{display:flex;gap:18px;flex-wrap:wrap}
.checkrow label,.switch{display:flex;gap:8px;align-items:center}
.recipe input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}
fieldset{margin:0;border:1px solid var(--line);padding:14px}
.recipe-actions{display:flex;gap:8px;flex-wrap:wrap}
.ghost,.primary,.file-button{border:1px solid var(--ink);padding:10px 14px;background:#fff;font-weight:800}
.primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.file-button input,.recipe .file-button input{position:absolute;opacity:0;width:1px!important;height:1px!important;margin:0!important;padding:0!important}
.drop{display:grid;place-items:center;min-height:155px;border:2px dashed var(--blue);background:#eef1ff;text-align:center;padding:24px;cursor:pointer}
.drop.drag{background:#dfe5ff;outline:4px solid #93a5ff}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop b{font-size:22px;color:var(--blue)}
.drop span{font-family:Georgia,serif;font-size:18px}
.drop small{color:#5f667a}
.notice{min-height:26px;margin:14px 0;color:#8a260f;font-weight:700}
.empty{padding:36px;border:1px solid var(--line);text-align:center;background:#f6f3ea}
.empty strong{font-size:23px}
.empty p{margin-bottom:0;color:#666159}
.file-list{display:grid;gap:8px;max-height:530px;overflow:auto;padding-right:3px}
.file-row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 34px 34px;gap:9px;align-items:center;border:1px solid #c5c0b7;background:#fff;padding:10px}
.file-row.collision{border-color:#b32b11;background:#fff0ec}
.pos{font:700 13px monospace;color:#5d5a55}
.names{min-width:0}
.names span,.names strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.names span{font-size:13px;color:#777167}
.names strong{font-family:monospace;color:var(--blue);margin-top:3px}
.icon{border:1px solid #b7b1a7;background:#fff;width:32px;height:32px;font-weight:900}
.batch-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--ink);gap:2px}
.facts>div{background:var(--cream);padding:30px 4vw}
.facts b{color:var(--orange);font-size:12px;letter-spacing:.11em}
.facts strong{display:block;font-size:28px;margin:20px 0 8px}
.facts p{color:#625e57;margin:0}
footer{display:flex;justify-content:space-between;padding:24px 4vw;font-size:13px;font-weight:700}
.recipe :focus-visible,.batch :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:850px){.intro,.workgrid{grid-template-columns:1fr}
.intro{gap:16px}
.workgrid{padding-bottom:30px}
.panel{box-shadow:5px 5px 0 var(--ink)}
}
@media(max-width:520px){header{align-items:flex-start}
.counter{display:grid;gap:2px;text-align:right}
.intro{padding-top:38px}
.intro h1{font-size:3.5rem}
.panel{padding:18px}
.split,.triplet{grid-template-columns:1fr}
.file-row{grid-template-columns:28px minmax(0,1fr) 32px 32px 32px;gap:5px;padding:8px}
.facts{grid-template-columns:1fr}
footer{flex-direction:column;gap:8px}
.recipe-actions{display:grid;grid-template-columns:1fr 1fr}
.file-button{text-align:center}
}

@media print{header,.intro,.recipe,.drop,.batch-actions,.notice,.facts,footer,.icon{display:none!important}
body{background:#fff}
.workgrid{display:block;padding:0}
.panel{border:0;box-shadow:none}
.file-list{max-height:none}
.file-row{grid-template-columns:34px minmax(0,1fr);break-inside:avoid}
}
