.machine{--g-surface:#0d130e;--g-surface-2:#131b14;--g-sunken:#080c09;--g-line:#212a22;--g-line-strong:#313c32;--g-hairline:#00ff4112;--g-text:var(--text);--g-muted:var(--muted);--g-dim:var(--dim);--g-neon:var(--neon);--g-neon-ink:var(--neon-ink);--g-neon-soft:var(--neon-soft);--g-neon-glow:var(--neon-glow);--g-neon-hi:#4dff7d;--g-alarm:#ff5c4d;--g-alarm-text:#ffb3aa;--g-alarm-soft:#ff5c4d1f;--g-alarm-line:#5c1c16;--g-mono:var(--mono);z-index:1;min-height:100dvh;color:var(--g-text);font-family:var(--font);position:relative}.machine .plate{border-radius:var(--radius);border:1px solid var(--g-line);background:linear-gradient(180deg, var(--g-surface-2) 0%, var(--g-surface) 100%);box-shadow:inset 0 1px 0 var(--g-hairline), 0 10px 30px #00000059;position:relative}.machine .mark{letter-spacing:-.02em;font-weight:800}.machine .mark .tech{border-radius:var(--radius-xs);background:var(--g-neon);color:var(--g-neon-ink);margin-left:7px;padding:1px 7px}.machine .tape{border:1px solid var(--g-line-strong);border-radius:var(--radius-xs);background:var(--g-sunken);color:var(--g-muted);font-family:var(--g-mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-block}.machine .stencil{letter-spacing:.22em;text-transform:uppercase;color:var(--g-muted);font-size:10.5px;font-weight:600}.machine .readout{border:1px solid var(--g-line);border-radius:var(--radius-xs);background:var(--g-sunken);color:var(--g-neon);font-family:var(--g-mono);padding:3px 9px;font-size:11.5px}.machine .btn{border:1px solid var(--g-line-strong);border-radius:var(--radius-sm);background:var(--g-surface-2);min-height:44px;color:var(--g-text);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), transform 80ms ease;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.machine .btn:hover{border-color:var(--g-neon);background:var(--g-neon-soft)}.machine .btn:active{transform:translateY(1px)}.machine .btn[disabled]{opacity:.4;cursor:not-allowed;border-color:var(--g-line);background:var(--g-surface-2);transform:none}.machine .btn-go{border-color:var(--g-neon);background:var(--g-neon);color:var(--g-neon-ink);font-weight:700}.machine .btn-go:hover{background:var(--g-neon-hi);border-color:var(--g-neon-hi)}.machine .btn-danger{border-color:var(--g-alarm-line);color:var(--g-alarm-text)}.machine .btn-danger:hover{border-color:var(--g-alarm);background:var(--g-alarm-soft)}.machine input[type=text],.machine input[type=email],.machine input[type=password],.machine input[type=time],.machine input[type=month],.machine select,.machine textarea{border:1px solid var(--g-line-strong);border-radius:var(--radius-sm);background:var(--g-sunken);width:100%;min-height:44px;color:var(--g-text);font:inherit;transition:border-color .18s var(--ease);padding:10px 12px}.machine input:focus,.machine select:focus,.machine textarea:focus{border-color:var(--g-neon)}.machine textarea{resize:vertical;min-height:90px}.machine input::placeholder,.machine textarea::placeholder{color:var(--g-dim)}.machine :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--g-neon);outline-offset:2px}.machine .led{background:var(--g-line-strong);border-radius:50%;flex:none;width:8px;height:8px}.machine .led[data-on=green]{background:var(--g-neon);box-shadow:0 0 8px var(--g-neon-glow)}.machine .led[data-on=amber]{background:#00ff4159}.machine .led[data-on=red]{background:var(--g-alarm);box-shadow:0 0 8px #ff5c4d8c}.machine .note{color:var(--g-muted);font-size:13px}.machine .error{border:1px solid var(--g-alarm-line);border-radius:var(--radius-sm);background:var(--g-alarm-soft);color:var(--g-alarm-text);padding:10px 12px;font-size:13.5px}
