/* The original 800 × 600 desktop, with room for one additional application. */
.launchers{gap:40px}
.launcher{font-size:25px}
.receipt-dialog{width:min(550px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:3px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:7px 7px 0 var(--ink);font-family:Pixelify,monospace;overflow:hidden}
.receipt-dialog::backdrop{background:#020b35b8}
.receipt-dialog .titlebar{height:51px;min-height:51px}
.receipt-dialog h2{font:600 25px/1 Pixelify,monospace;margin:0;background:var(--paper);padding:0 18px;z-index:1}
.receipt-scroll{overflow:hidden;background:var(--blue);padding:16px;display:flex;justify-content:center;align-items:center}
#receipt-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 290px);object-fit:contain;margin:auto;box-shadow:4px 4px 0 var(--ink)}
#receipt-message{color:var(--paper);font-size:20px;text-align:center;line-height:1.4}
.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 20px 18px;border-top:3px solid var(--ink);align-items:start}
#receipt-sharing{display:contents}
#save-receipt,.share-x{display:block;text-decoration:none;text-align:center;font:600 19px/1.1 Pixelify,monospace;border:3px solid var(--ink);border-radius:3px;box-shadow:4px 4px 0 var(--ink);padding:10px 8px;min-height:46px;cursor:pointer}
.share-x{background:var(--paper);color:var(--ink)}
.share-x:hover{background:#fffef6}
.share-x:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.share-tools{grid-column:1/-1;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.share-tools button{font-size:13px;border:0;border-radius:0;box-shadow:none;min-height:24px;padding:2px 0;background:transparent;text-decoration:underline;text-underline-offset:3px}
.share-tools button:hover:not(:disabled){box-shadow:none;transform:none;background:transparent}
#share-status{grid-column:1/-1;font-size:14px;line-height:1.2;text-align:center;margin:0}
#share-status:empty{display:none}
.video-controls .timeline{appearance:none;-webkit-appearance:none;background:transparent;--progress:0%;cursor:pointer}
.video-controls .timeline::-webkit-slider-runnable-track{height:4px;border:0;border-radius:0;background:linear-gradient(to right,var(--ink) var(--progress),#dededb var(--progress))}
.video-controls .timeline::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;background:var(--ink);box-shadow:none}
.video-controls .timeline::-moz-range-track{height:4px;border:0;border-radius:0;background:#dededb}
.video-controls .timeline::-moz-range-progress{height:4px;background:var(--ink)}
.video-controls .timeline::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--ink);box-shadow:none}
@media(max-width:420px){.receipt-actions{padding:12px 12px 16px;gap:12px}#save-receipt,.share-x{font-size:15px;min-height:43px}#receipt-image{max-height:calc(100dvh - 302px)}}
#save-receipt:hover{background:#0034eb}
#save-receipt:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.result-actions #view-receipt{max-width:170px}
@media(max-width:520px) and (orientation:portrait){
  #desktop{width:100%;height:100dvh;left:0;top:0;transform:none}
  .brand{top:12%;left:7%;width:86%;height:auto}
  .launchers{top:35%;padding:0 18px;gap:12px}
  .launcher{flex:1;min-width:0;width:auto;height:132px;padding:10px 4px;font-size:clamp(13px,3.8vw,20px);gap:10px;border-width:2px;box-shadow:4px 4px 0 var(--ink)}
  .launcher svg{width:70px;height:70px;max-width:100%}
  .desktop-hint{top:calc(35% + 165px);font-size:13px;letter-spacing:.3px;padding:0 16px}
  .taskbar{left:16px;right:20px;bottom:22px;height:48px;padding:0 10px;font-size:clamp(12px,3.5vw,17px);gap:8px;border-width:2px}
  .window{left:12px;right:16px;top:18px;bottom:90px}
  .window-content{overflow-y:auto;overscroll-behavior:contain}
  .intro{min-height:430px;height:100%;padding:28px 20px;gap:20px}
  .intro:before,.intro:after{width:54px;height:62px;top:22px}
  .intro h2{font-size:32px}.intro p:not(.eyebrow){font-size:20px}.intro .eyebrow{font-size:15px}
  .email-question{padding:16px;min-height:100%;height:auto;gap:12px}
  .email-question .question-meta{font-size:14px;gap:12px;margin:0}
  .email-message{margin:0}.email-question h2{font-size:24px}.email-body{font-size:18px;line-height:1.25}
  .email-question .answer{font-size:18px;min-height:48px}.email-question .question-actions{gap:16px;padding:0 0 5px}
  .email-question .question-actions button{font-size:17px;min-width:0}
  .result{padding:20px;min-height:100%;height:auto;gap:22px}.result-main{grid-template-columns:1fr;gap:22px}
  .portrait{width:130px;height:150px;margin:auto}.result h2{font-size:30px}.result-description{font-size:19px}.result-footer{flex-direction:column;align-items:stretch;gap:14px}
  .result-actions{justify-content:space-between;gap:10px}.result-actions button{font-size:17px}
  .watch{width:100%;min-width:0;padding:12px 8px;justify-content:center}
  .video-stage{flex:0 0 auto;width:100%;min-width:0;aspect-ratio:4/3;overflow:hidden}
  .video-screen{position:absolute;inset:0;width:auto;height:auto;min-width:0;aspect-ratio:auto}
  .computer-panel{display:none}
  .video-controls{display:grid;grid-template-columns:40px 40px minmax(0,1fr) 40px;gap:10px;align-items:center}
  .video-controls button{width:40px}
  .video-controls .timeline{grid-column:1/-1;grid-row:2;width:100%;height:28px;margin:0;justify-self:center}
  .timecode{grid-column:3;grid-row:1;margin:0}
  .volume-control{grid-column:4;grid-row:1;width:40px}
  .idle-dialog,.startup-error{left:24px;right:24px;top:25%;padding:22px}
}
