/* LCD and receipt-feed: physically integrated with the Faro receipt printer. */
.result-page .receipt-machine{
  position:relative;
  width:min(96%,575px);
  min-height:168px;
  height:auto;
  margin:0 auto;
  padding:15px 17px 29px;
  display:grid;
  grid-template-columns:minmax(100px,.76fr) minmax(0,1.45fr);
  gap:15px;
  align-items:stretch;
  border:4px solid #302a35;
  border-radius:24px 24px 14px 14px;
  background:linear-gradient(145deg,#756b81 0%,#514a5a 51%,#302a37 100%);
  box-shadow:0 6px 0 #26212d,5px 13px 0 #d2c6b6,0 19px 25px #2b213025;
  color:#fff9ed;
  isolation:isolate;
}
.result-page .receipt-machine::before{
  content:"";position:absolute;top:6px;left:12px;right:12px;height:3px;
  border-radius:5px;background:#ffffff2b;pointer-events:none;
}
.result-page .receipt-machine-panel{
  min-width:0;display:flex;flex-direction:column;
  justify-content:space-between;gap:12px;padding:6px 0 5px 1px;
}
.result-page .receipt-machine-brand{
  display:flex;align-items:flex-start;flex-direction:column;gap:9px;
}
.result-page .receipt-machine-brand span{
  font:900 clamp(12px,2.8vw,18px)/1 "Courier New",monospace;
  letter-spacing:-.065em;color:#fff9ed;
}
.result-page .receipt-machine-brand small{
  color:#e0d4e5;font:800 clamp(8px,1.9vw,10px)/1.5 "Courier New",monospace;
}
.result-page .receipt-machine-light{
  display:flex;gap:8px;align-items:center;
  color:#e7dfeb;font:800 9px/1.25 "Courier New",monospace;
}
.result-page .receipt-machine-light i{
  width:9px;height:9px;flex:none;border-radius:50%;
  background:#b8f59b;box-shadow:0 0 0 3px #b8f59b18,0 0 12px #b8f59b80;
  animation:printer-led 1.3s ease-in-out infinite;
}
.result-page .receipt-display{
  isolation:isolate;position:relative;min-width:0;
  padding:10px 12px 9px;min-height:121px;
  border:3px solid #212a23;border-radius:11px;
  background:linear-gradient(130deg,#d0e9c4 0%,#afcfab 100%);
  color:#1d3b28;
  box-shadow:inset 0 4px 12px #24452c41,0 0 0 3px #8d809b,0 4px 0 #27232d;
  font-family:"Courier New",monospace;overflow:hidden;
}
.result-page .receipt-display::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:repeating-linear-gradient(0deg,transparent 0 3px,#143a2910 3px 4px);
}
.result-page .receipt-display::after{
  content:"";position:absolute;left:0;right:0;top:-46%;height:36%;
  background:linear-gradient(transparent,#ffffff30,transparent);
  pointer-events:none;animation:printer-lcd-sweep 2.1s linear infinite;
}
.result-page .receipt-display-top,.result-page .receipt-display-readout{
  display:flex;justify-content:space-between;align-items:center;gap:5px;
}
.result-page .receipt-display-top{
  font:900 9px/1 "Courier New",monospace;letter-spacing:.02em;
}
.result-page .receipt-display-top span:last-child{
  border:1px solid #31563d88;padding:2px 4px;border-radius:2px;
}
.result-page .receipt-display-main{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  margin:7px 0 6px;min-height:47px;
}
.result-page .receipt-display-main strong{
  font:900 clamp(12px,2.6vw,16px)/1.16 "Courier New",monospace;
  letter-spacing:-.04em;
}
.result-page .receipt-display-main span{
  font:700 clamp(9px,2.1vw,11px)/1.25 "Courier New",monospace;
  overflow-wrap:anywhere;
}
.result-page .receipt-display-meter{
  height:7px;overflow:hidden;border:1px solid #3c5c41;
  border-radius:2px;background:#85a98a;
}
.result-page .receipt-display-meter i{
  display:block;width:0;height:100%;background:#245d37;
  transition:width .18s steps(8,end);
}
.result-page .receipt-display-readout{
  margin-top:5px;font:800 9px/1.15 "Courier New",monospace;
}
.result-page .receipt-display-readout strong{font-size:11px}
.result-page .receipt-display-areas{display:flex;gap:4px;margin-top:6px}
.result-page .receipt-display-areas i{
  display:block;width:17px;max-width:18%;height:4px;
  border:1px solid #3d6545;background:#81a987;
}
.result-page .receipt-display-areas i.is-scanned{background:#245d37}
.result-page .receipt-machine-slot{
  bottom:7px;left:6%;width:88%;height:11px;
  background:#16141b;border:2px solid #211c29;
  box-shadow:inset 0 3px 3px #0009,0 2px 0 #a99bab4d;
}
.result-page .receipt-paper-feed{
  margin:-6px auto 0;width:100%;
}
.result-page .receipt-paper-feed .faro-receipt{
  margin:0 auto 14px;animation:none;
}
.result-page .receipt-scene.is-processing .receipt-paper-feed{
  max-height:0;opacity:0;overflow:hidden;visibility:hidden;
}
.result-page .receipt-scene.is-printing .receipt-paper-feed{
  max-height:2600px;overflow:hidden;
  animation:printer-paper-feed 1.65s steps(40,end) both;
}
.result-page .receipt-scene.is-printed .receipt-paper-feed{
  max-height:none;overflow:visible;opacity:1;visibility:visible;
}
.result-page .receipt-scene.is-processing .receipt-coach,
.result-page .receipt-scene.is-printing .receipt-coach,
.result-page .receipt-scene.is-processing .receipt-direct-actions,
.result-page .receipt-scene.is-printing .receipt-direct-actions,
.result-page .receipt-scene.is-processing .receipt-share-notice,
.result-page .receipt-scene.is-printing .receipt-share-notice{display:none}
.is-result.is-processing .result-page > :not(.receipt-scene){display:none}
.result-page .receipt-scene.is-printed .receipt-machine-light i{
  animation:none;box-shadow:0 0 0 3px #b8f59b18;
}
@keyframes printer-paper-feed{
  0%{max-height:0;opacity:.9;visibility:visible}
  100%{max-height:2600px;opacity:1;visibility:visible}
}
@keyframes printer-lcd-sweep{
  from{transform:translateY(0)}
  to{transform:translateY(480%)}
}
@keyframes printer-led{
  50%{opacity:.4;box-shadow:0 0 0 3px #b8f59b18}
}
@media(max-width:500px){
  .result-page .receipt-machine{
    width:100%;min-height:153px;padding:12px 11px 26px;
    grid-template-columns:minmax(82px,.68fr) minmax(0,1.45fr);
    gap:9px;border-width:3px;border-radius:19px 19px 12px 12px;
  }
  .result-page .receipt-machine-panel{padding:6px 0 4px}
  .result-page .receipt-machine-brand{gap:8px}
  .result-page .receipt-machine-brand span{font-size:clamp(11px,3.1vw,15px)}
  .result-page .receipt-machine-brand small{font-size:8px}
  .result-page .receipt-machine-light{font-size:7px;gap:5px}
  .result-page .receipt-machine-light i{width:7px;height:7px}
  .result-page .receipt-display{min-height:110px;padding:8px 8px 7px;border-width:2px}
  .result-page .receipt-display-top{font-size:8px}
  .result-page .receipt-display-main{min-height:46px;margin:6px 0 5px}
  .result-page .receipt-display-main strong{font-size:clamp(11px,3vw,14px)}
  .result-page .receipt-display-main span{font-size:clamp(8px,2.2vw,10px)}
  .result-page .receipt-display-readout{font-size:8px}
  .result-page .receipt-display-readout strong{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .result-page .receipt-display::after,.result-page .receipt-machine-light i{animation:none}
  .result-page .receipt-display-meter i{transition:none}
  .result-page .receipt-scene.is-printing .receipt-paper-feed{animation:none;max-height:none;opacity:1;visibility:visible}
}
