@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@500;700&display=swap";:root{color:#171914;font-synthesis:none;background:#8f8b80;font-family:IBM Plex Mono,ui-monospace,monospace}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0;overflow-x:hidden}button,input{font:inherit}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:4px solid #e5452e}.foundry{background:radial-gradient(circle at 12% 18%,#ffffff38,#0000 22%),repeating-linear-gradient(91deg,#0000 0 46px,#1414100f 47px 48px),#a7a296;border:12px solid #252720;width:100vw;height:100svh;min-height:700px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #d2cdbf,inset 0 0 80px #191a1559}.foundry:before{content:"";pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");position:absolute;inset:0}.machine-label{z-index:8;color:#e6dfc9;letter-spacing:.11em;background:#292b25;border:3px solid #11120f;grid-template-columns:1fr auto 1fr;align-items:center;height:46px;padding:0 15px;font-size:11px;display:grid;position:absolute;top:20px;left:28px;right:28px;box-shadow:0 5px #6b685e}.machine-label strong{color:#f0b63f;letter-spacing:.07em;font-family:Archivo Black,sans-serif}.machine-label .status{text-align:right;color:#c7c2b5}.platen{z-index:2;filter:drop-shadow(18px 26px 14px #0f100d7a);position:absolute;inset:8.5vh -2.5vw 10vh;transform:rotate(-2.2deg)}.platen svg{touch-action:none;width:100%;height:100%;display:block;overflow:visible}.plate-meta,.run-label{letter-spacing:.09em;fill:#d9d2bd;font-size:14px;font-weight:700}.plate-word{letter-spacing:-.055em;fill:#e0d7be;font:170px Archivo Black,Impact,sans-serif}.crack-shadow{fill:none;stroke:#0b0d0a;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.crack{fill:none;stroke:#b8402d;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:850;animation:fracture-in 1.5s cubic-bezier(.25,.8,.2,1) var(--delay) both}.load-vector{fill:none;stroke:#e34b33;stroke-width:3px;stroke-dasharray:12 9;opacity:.62}.stress-ring{fill:none;stroke:#e7ad3c;stroke-width:3px;stroke-dasharray:7 10;opacity:.7}@keyframes fracture-in{0%{stroke-dashoffset:850px}to{stroke-dashoffset:0}}.pin-handle{cursor:grab;color:#181a16}.pin-handle:active{cursor:grabbing}.pin-halo{fill:#e64b31;opacity:.24;stroke:#e64b31;stroke-width:2px}.pin-body{fill:#e9b949;stroke:#1b1d18;stroke-width:7px}.pin-handle path{stroke:#1b1d18;stroke-width:4px}.pin-handle text{fill:#1b1d18;font-size:15px;font-weight:700}.clamp{color:#e6b443;background:#30322c;border:5px solid #171814;place-items:center;width:112px;height:96px;font-weight:700;display:grid;position:absolute;box-shadow:inset 0 0 0 4px #64635a,8px 10px #1e1e1959}.clamp i{border:13px solid #b2ada0;border-radius:50%;width:54px;height:54px;position:absolute;box-shadow:inset 0 0 0 5px #1c1e19}.clamp b{z-index:1;font-size:12px}.clamp-a{top:-28px;left:-46px;transform:rotate(4deg)}.clamp-b{top:-28px;right:-46px;transform:rotate(-4deg)}.clamp-c{bottom:-28px;left:-46px;transform:rotate(-3deg)}.clamp-d{bottom:-28px;right:-46px;transform:rotate(3deg)}.word-die{z-index:7;background:#e1d9c3;border:4px solid #20221d;width:280px;height:104px;padding:12px 14px;position:absolute;bottom:26px;left:26px;transform:rotate(.8deg);box-shadow:7px 8px #6f6b61}.word-die label,.word-die span,.grain-bank>span,.export-hatch>span{letter-spacing:.13em;font-size:10px;font-weight:700;display:block}.word-die input{text-transform:uppercase;color:#20221d;background:0 0;border:0;border-bottom:4px solid #20221d;width:100%;height:46px;font:25px Archivo Black,sans-serif}.word-die span{position:absolute;top:13px;right:14px}.flywheel{z-index:7;background:#33352e;border:10px solid #1b1c18;border-radius:50%;width:242px;height:242px;position:absolute;bottom:-62px;right:24px;box-shadow:inset 0 0 0 6px #777469,9px 10px #1e1e1947}.flywheel label{z-index:3;text-align:center;color:#e3dbc6;letter-spacing:.15em;width:100%;font-size:11px;position:absolute;top:20px}.wheel{width:138px;height:138px;transform:rotate(var(--turn));background:#d3a43c;border:12px solid #9c792d;border-radius:50%;position:absolute;top:47px;left:42px;box-shadow:inset 0 0 0 5px #262822}.wheel i{transform-origin:50%;background:#22241f;border-radius:8px;width:10px;height:198px;position:absolute;top:-40px;left:55px}.wheel i:nth-child(2){transform:rotate(45deg)}.wheel i:nth-child(3){transform:rotate(90deg)}.wheel i:nth-child(4){transform:rotate(135deg)}.wheel b{z-index:2;color:#20221d;transform:rotate(calc(var(--turn) * -1));background:#d7d1c1;border-radius:50%;place-items:center;font-size:22px;display:grid;position:absolute;inset:35px}.flywheel input{z-index:5;opacity:.001;cursor:ew-resize;width:156px;height:156px;position:absolute;inset:56px 38px}.flywheel output{z-index:4;text-align:center;color:#f0b63f;width:100%;font-size:12px;font-weight:700;position:absolute;top:196px}.grain-bank{z-index:7;background:#393b34;border:4px solid #20221d;grid-template-columns:repeat(3,1fr);gap:5px;width:360px;height:92px;padding:25px 8px 8px;display:grid;position:absolute;bottom:17px;left:330px;transform:rotate(-1.4deg);box-shadow:7px 8px #6f6b61}.grain-bank>span{color:#ded7c4;position:absolute;top:7px;left:12px}.grain-bank button,.action-pod button,.export-hatch button{color:#f0ead8;text-transform:uppercase;cursor:pointer;background:#77746b;border:2px solid #151612;min-height:44px;font-size:11px;font-weight:700}.grain-bank button.active{color:#1c1d19;background:#e1ad3b;box-shadow:inset 0 -5px #a97720}.action-pod{z-index:7;gap:7px;display:flex;position:absolute;bottom:34px;right:292px;transform:rotate(1.5deg)}.action-pod button{background:#b64430;width:100px;height:76px;box-shadow:inset 0 -7px #762a20}.action-pod small{color:#f3d6c5;margin-top:7px;font-size:9px;display:block}.export-hatch{z-index:7;background:#32342e;border:4px solid #1b1c18;width:112px;padding:27px 7px 7px;position:absolute;top:76px;right:286px;transform:rotate(1deg);box-shadow:6px 7px #1e1e194d}.export-hatch>span{color:#e1dac6;position:absolute;top:8px;left:9px}.export-hatch button{background:#5f6158;width:100%;margin-top:5px}.load-meter{z-index:7;color:#e5deca;background:#1f211d;border:4px solid #11120f;width:118px;height:94px;padding:12px;position:absolute;top:82px;left:30px;transform:rotate(-1deg);box-shadow:6px 7px #1e1e1952}.load-meter span{letter-spacing:.12em;font-size:9px;display:block}.load-meter strong{color:#f0b63f;font:35px Archivo Black}.load-meter i{background:linear-gradient(90deg,#e44b31 var(--meter),#565850 var(--meter));height:7px;display:block}@media (width<=760px){.foundry{border-width:7px;min-height:700px}.machine-label{grid-template-columns:1fr;height:58px;padding:6px 10px;line-height:1.2;top:10px;left:10px;right:10px}.machine-label .serial,.machine-label .status{text-align:left;font-size:8px}.machine-label strong{order:-1;font-size:13px}.platen{inset:13vh -16vw 31vh;transform:rotate(-3deg)}.plate-word{font-size:132px}.plate-meta,.machine-overlay,.registration{display:none}.clamp{width:84px;height:76px}.clamp i{border-width:9px;width:42px;height:42px}.word-die{width:auto;height:86px;padding:8px 12px;bottom:181px;left:10px;right:10px}.word-die input{height:41px;font-size:22px}.grain-bank{width:auto;height:84px;bottom:88px;left:10px;right:10px}.grain-bank button{min-width:0;font-size:9px}.action-pod{gap:5px;bottom:10px;left:10px}.action-pod button{width:76px;height:67px}.flywheel{width:185px;height:185px;bottom:-49px;right:-58px}.wheel{border-width:9px;width:104px;height:104px;top:39px;left:31px}.wheel i{width:8px;height:140px;top:-27px;left:41px}.wheel b{font-size:18px;inset:26px}.flywheel input{width:130px;height:130px;inset:38px 24px}.flywheel output{top:148px}.flywheel label{top:12px}.export-hatch{width:94px;padding-top:25px;top:80px;right:10px}.load-meter{width:90px;height:76px;padding:8px;top:79px;left:10px}.load-meter strong{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
