*{box-sizing:border-box}:root{font-family:Arial Narrow,Inter,Arial,sans-serif;color:#102f34;background:#164d59;font-synthesis:none}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button,select,.file-load{min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,.file-load:focus-within{outline:3px solid #ffe25c;outline-offset:3px}.bench{position:relative;isolation:isolate;width:100vw;min-height:100vh;overflow:hidden;background:linear-gradient(115deg,#1b5663,#0e3e4a 72%);padding:16px}.mat-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(210,236,228,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(210,236,228,.11) 1px,transparent 1px),linear-gradient(130deg,transparent 0 51%,rgba(255,255,255,.03) 52%,transparent 53%);background-size:40px 40px,40px 40px,19px 19px}.bench:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.42;background:radial-gradient(circle at 20% 18%,transparent 0 2px,rgba(4,22,27,.28) 3px,transparent 5px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.12) 0 1px,transparent 2px);background-size:107px 83px,71px 93px}.tape-label{position:absolute;left:18px;top:18px;z-index:8;display:flex;align-items:center;gap:16px;width:min(650px,calc(100% - 36px));height:48px;padding:5px 9px 5px 6px;background:#d9cfad;color:#142f31;box-shadow:2px 4px #02141873;font:700 12px/1 ui-monospace,monospace;letter-spacing:1.2px;text-transform:uppercase}.stamp{display:grid;place-items:center;align-self:stretch;padding:0 16px;background:#ee4c35;color:#fff;font:900 18px/1 Arial Black,sans-serif;letter-spacing:-.5px;transform:rotate(-1deg)}.status{position:fixed;right:20px;top:24px;padding:9px 12px;background:#efcf43;color:#27474b;box-shadow:2px 3px #02141866;transform:rotate(1deg)}.plate-fan{position:absolute;left:2.2vw;top:11vh;width:45vw;height:68vh}.acetate{position:absolute;width:38%;aspect-ratio:720/880;padding:0;border:6px solid rgba(222,239,230,.53);background:#d5eee42b;box-shadow:10px 15px 22px #03191e57;overflow:hidden;cursor:pointer;transition:filter .16s,transform .16s}.acetate canvas{width:100%;height:100%;display:block;opacity:.72;mix-blend-mode:multiply}.acetate span,.acetate b{position:absolute;left:7px;padding:4px 6px;background:#e6ead5;color:#17353a;font:800 9px/1 ui-monospace,monospace;text-transform:uppercase}.acetate span{top:8px}.acetate b{bottom:8px}.acetate.selected{filter:saturate(1.35) contrast(1.08);border-color:var(--plate);z-index:4}.plate-1{left:0;top:12%;transform:rotate(-10deg)}.plate-1:hover,.plate-1.selected{transform:rotate(-10deg) translateY(-7px)}.plate-2{left:29%;top:1%;transform:rotate(2deg)}.plate-2:hover,.plate-2.selected{transform:rotate(2deg) translateY(-7px)}.plate-3{left:56%;top:14%;transform:rotate(12deg)}.plate-3:hover,.plate-3.selected{transform:rotate(12deg) translateY(-7px)}.composite-sheet{position:absolute;right:4.2vw;top:10vh;width:min(41vw,590px);height:69vh;transform:rotate(1.7deg);background:#eee2c6;padding:14px;box-shadow:18px 23px 30px #03161b75,-4px -2px #f5edd9;clip-path:polygon(0 0,98.5% 0,100% 97%,1.5% 100%)}.composite-sheet:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(95deg,rgba(83,45,27,.08),transparent 15% 82%,rgba(83,45,27,.06));mix-blend-mode:multiply}.composite-sheet canvas{width:100%;height:calc(100% - 42px);display:block;object-fit:contain;background:#eee2c6}.sheet-caption{height:40px;display:flex;justify-content:space-between;align-items:end;border-top:2px solid #17383c;font:700 11px/1 ui-monospace,monospace;letter-spacing:1px}.sheet-caption b{font-size:15px}.register-pin{position:absolute;z-index:5;width:48px;height:48px;min-height:48px;border-radius:50%;border:2px solid #f4ead2;background:var(--plate);color:#173338;box-shadow:0 0 0 3px #173338,3px 5px 8px #00000059;cursor:grab;touch-action:none}.register-pin span{font:900 26px/1 ui-monospace}.register-pin.cyan{left:11px;top:19%}.register-pin.vermilion{right:7px;top:46%}.register-pin.yellow{left:47%;bottom:29px}.register-pin:active{cursor:grabbing}.crop{position:absolute;width:22px;height:22px;border-color:#173338;z-index:4}.top-left{left:8px;top:8px;border-left:3px solid;border-top:3px solid}.top-right{right:8px;top:8px;border-right:3px solid;border-top:3px solid}.ink-bank{position:absolute;left:2.5vw;right:2.5vw;bottom:1.8vh;z-index:10;min-height:142px;display:grid;grid-template-columns:.85fr 1.15fr 1fr 1.2fr;align-items:end;gap:18px;padding:0;color:#e9e2c7}.ink-tins{display:flex;gap:8px}.ink-tin{position:relative;flex:1;aspect-ratio:1;max-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid #ad9e7b;border-radius:50%;background:radial-gradient(circle at 42% 35%,#efe7cf 0 36%,#c4b795 38% 58%,#8f805f 60% 63%,#d8cfb5 65%);color:#173338;text-transform:uppercase;box-shadow:7px 9px #04181c6b,inset 0 0 0 2px #ffffff80;cursor:pointer}.ink-tin i{position:absolute;top:5px;width:31px;height:11px;border-radius:50%;background:var(--plate);border:2px solid #173338}.ink-tin span{margin-top:16px;font:900 10px/1 ui-monospace}.ink-tin b{font:700 8px/1 ui-monospace;color:#426165}.ink-tin:not([aria-pressed=true]){filter:grayscale(1);opacity:.62}.ink-tin.active{box-shadow:7px 9px #04181c6b,inset 0 0 0 5px var(--plate),0 0 0 3px #eadfbe}.dial-block,.job-ticket,.press-actions{padding:9px 11px;border:3px solid #092b32;background:#102d31;box-shadow:7px 9px #04181c61}.dial-block label{display:grid;grid-template-columns:1fr auto;gap:8px;font:700 9px/1.1 ui-monospace;text-transform:uppercase}.dial-block output{color:#f2d64b}.dial-block input{width:100%;min-height:44px;margin:-6px 0 -3px;accent-color:#f0c72f;cursor:pointer}.job-ticket{display:grid;grid-template-columns:1fr;gap:4px}.job-ticket label{font:700 9px/1 ui-monospace;text-transform:uppercase}.job-ticket select,.file-load{width:100%;border:0;background:#e5dcc1;color:#173338;padding:0 10px;font:800 10px/1 ui-monospace;text-transform:uppercase}.file-load{display:flex;align-items:center;justify-content:center;cursor:pointer}.file-load input{position:absolute;width:1px;height:1px;opacity:0}.press-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.press-actions button{border:0;background:#e5dcc1;color:#153338;font:900 9px/1 ui-monospace;text-transform:uppercase;cursor:pointer}.press-actions button:hover{background:#f0c72f}.press-actions .reset{background:#e2523c;color:#fff}.squeegee{position:absolute;left:34vw;top:54vh;z-index:6;width:22vw;height:48px;background:#ddc99f;border:8px solid #b89e6b;box-shadow:8px 10px 14px #04171c59;transform:rotate(-13deg);color:#a33126}.squeegee:after{content:"";position:absolute;left:10%;right:4%;bottom:-20px;height:15px;background:#e84e37;clip-path:polygon(0 0,100% 0,96% 100%,2% 86%)}.squeegee span{float:right;padding:4px 15px;font:900 18px Arial Black}.tape-strip{position:absolute;right:-35px;bottom:24vh;z-index:2;padding:8px 55px;background:#efcf43;color:#19363a;font:900 10px/1 ui-monospace;letter-spacing:1px;transform:rotate(-8deg);box-shadow:2px 4px 7px #0003}@media(max-width:800px){body{overflow:auto}.bench{min-height:1180px;padding:10px}.tape-label{left:10px;top:10px;width:calc(100% - 20px);height:58px;gap:7px}.stamp{padding:0 8px;font-size:14px}.tape-label>span:nth-child(2){font-size:8px}.status{display:none}.plate-fan{left:4vw;top:92px;width:92vw;height:270px}.acetate{width:42%;border-width:4px}.plate-1{left:0}.plate-2{left:28%}.plate-3{left:56%}.composite-sheet{right:6vw;top:355px;width:88vw;height:585px;padding:10px;transform:rotate(.7deg)}.register-pin{width:48px;height:48px}.ink-bank{left:8px;right:8px;bottom:12px;grid-template-columns:1fr 1fr;min-height:220px}.ink-tins{grid-column:1/-1;height:68px}.ink-tin i{top:3px}.dial-block,.job-ticket,.press-actions{min-width:0}.job-ticket{grid-column:2}.press-actions{grid-column:1/-1}.squeegee{top:265px;width:65vw;height:35px}.tape-strip{display:none}.sheet-caption{font-size:9px}.sheet-caption b{font-size:12px}}@media(max-width:390px){.bench{min-height:1220px}.plate-fan{height:245px}.acetate{width:45%}.plate-3{left:52%}.composite-sheet{top:330px;height:565px}.ink-bank{grid-template-columns:1fr 1fr}.dial-block label,.job-ticket select,.file-load,.press-actions button{font-size:8px}.squeegee{top:250px}}
