@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
:root{--ink:#252d43;--blue:#2c48cc;--paper:#faf9f4;--line:#dedfd8;--muted:#777e88;--red:#ef6549}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}button,input{font:inherit}button,a,label.upload{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,.upload:focus-within{outline:3px solid var(--red);outline-offset:4px}a{color:inherit;text-decoration:none}button{color:inherit}input[type=range]{accent-color:var(--blue);width:100%}[hidden]{display:none!important}.topbar{max-width:1500px;margin:auto;padding:27px 4%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{font:bold 30px 'Space Mono',monospace;letter-spacing:-2px;display:flex;align-items:center;gap:12px}.branddot{color:var(--red);margin-left:-12px}.brandmark{display:grid;place-items:center;letter-spacing:-3px;background:var(--blue);color:#fff9e9;width:40px;height:43px;clip-path:polygon(0 0,100% 0,100% 74%,75% 100%,0 100%)}.brand-caption{font:11px/1.5 'Space Mono',monospace;letter-spacing:1px;border-left:1px solid var(--line);padding-left:24px}.header-note{margin-left:auto;font:11px 'Space Mono',monospace;letter-spacing:1px}.header-note i{display:inline-block;width:7px;height:7px;background:#749e68;margin-right:8px}.make-link{font-size:14px;border-bottom:1px solid #a5a9b7;padding:7px 0;margin-left:20px}main{max-width:1500px;margin:auto;padding:0 4%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 0 30px;gap:20px}.eyebrow,.section-cap{font:11px 'Space Mono',monospace;letter-spacing:1.2px}.eyebrow{color:var(--muted);margin:0 0 14px}h1{font-size:clamp(40px,4.1vw,62px);letter-spacing:-3px;line-height:1.04;margin:0;font-weight:600}h1 span{color:var(--blue)}.intro-copy{font-size:16px;line-height:1.7;margin:0 0 5px;color:#6e7580}.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,1fr);gap:30px;padding-top:18px;border-top:1px solid var(--line)}.section-cap{display:flex;justify-content:space-between;align-items:center;min-height:34px;margin-bottom:12px;color:#626b7d;font-size:11px}.section-cap button{border:1px solid var(--line);background:transparent;padding:4px 10px;min-width:32px}.shop-window{position:relative;background:#dce7e2;overflow:hidden;aspect-ratio:1.43;border:1px solid #d0d8d3}.shop-window>img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;animation:breathe 7s ease-in-out infinite}.shop-label{position:absolute;top:5%;left:50%;transform:translateX(-50%);padding:11px 18px;background:#fff8e7;border:4px solid var(--blue);font:bold clamp(10px,1.1vw,15px) 'Space Mono',monospace;white-space:nowrap;box-shadow:4px 4px 0 #202b4a22}.window-badge{position:absolute;bottom:12px;left:14px;font:10px 'Space Mono',monospace;letter-spacing:1px;color:#394b63;background:#f7f3dfe6;padding:7px 9px}.receipt{position:absolute;right:10%;bottom:13%;width:24%;background:#fffdf6;box-shadow:4px 5px 0 #202b4a30;padding:8px;transform:rotate(7deg);transition:transform .4s}.receipt span,.receipt small{display:block;text-align:center;font:7px 'Space Mono',monospace;color:#61666f}.receipt canvas{width:100%;height:auto;display:block}.printing .receipt{animation:press .5s steps(3) infinite}.shop-talk{display:flex;align-items:center;gap:10px;min-height:66px;border-bottom:1px solid var(--line)}.speech-mark{font:bold 45px Georgia;color:var(--blue);align-self:center;height:35px}.shop-talk p{font:12px/1.5 'Space Mono',monospace;flex:1}.shift{font:10px 'Space Mono',monospace;white-space:nowrap;color:#8a8e8c}.order-card{margin-top:24px;border:1px solid var(--line);padding:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;background:#fffefa}.order-card .eyebrow{font-size:10px;margin-bottom:8px}.order-card strong{font-size:17px;font-weight:500}.ticket{font:11px 'Space Mono',monospace;color:#7d8490;border-left:1px dashed #c2c8cd;padding-left:18px;align-self:center}.steps{width:100%;display:flex;list-style:none;padding:0;margin:0;border-top:1px dashed #d6d9de;padding-top:17px;gap:8px;justify-content:space-between}.steps li{font:11px 'Space Mono',monospace;color:#999eaa}.steps span{margin-left:4px}.steps .current{color:var(--blue);font-weight:bold}.bench{border-left:1px solid var(--line);padding-left:30px}.bench-content{background:#fffefa;border:1px solid var(--line);padding:24px}.bench-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:30px;letter-spacing:-1.3px;margin:0;font-weight:600}.small-sticker{font:9px/1.3 'Space Mono',monospace;background:#ffc857;padding:8px 10px;transform:rotate(9deg);text-align:center;border-radius:50%}.preview-wrap{height:215px;position:relative;display:grid;place-items:center;background-color:#edf0f7;background-image:linear-gradient(45deg,#e2e6ef 25%,transparent 25%),linear-gradient(-45deg,#e2e6ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e6ef 75%),linear-gradient(-45deg,transparent 75%,#e2e6ef 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}#preview{height:195px;width:195px;filter:drop-shadow(0 8px 5px #28344926)}.preview-tag{position:absolute;bottom:8px;left:10px;font:9px 'Space Mono',monospace;color:#68758c}.upload{position:relative;display:flex;align-items:center;gap:12px;padding:15px 10px;border:1px dashed #a5b2d1;margin:15px 0 21px;background:#f4f6ff;cursor:pointer}.upload:hover,.upload.dragover{background:#e9eeff;border-color:var(--blue)}.upload-icon{font-size:28px;color:var(--blue)}.upload strong{font-size:14px;display:block}.upload small{font-size:11px;display:block;color:#747c8f;margin-top:4px}.upload input{position:absolute;width:1px;height:1px;opacity:0}.control-row label,legend,.border-control,#photo-controls label{font:10px 'Space Mono',monospace;letter-spacing:.6px}label span{color:#9a9da8;font-size:9px;margin-left:8px}.control-row input[type=text],#caption{width:100%;padding:11px 12px;border:1px solid #d7dce3;background:transparent;margin-top:8px;font-size:15px;color:var(--ink);border-radius:0}fieldset{padding:0;border:0;margin:19px 0 0;min-width:0}legend{padding:0;margin-bottom:10px}.choices{display:flex;gap:6px}.choices button{flex:1;border:1px solid #d7dce3;background:white;padding:10px 5px;font-size:12px}.choices button[aria-pressed=true]{border-color:var(--blue);background:#eef1ff;color:var(--blue)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.swatches{display:flex;gap:9px}.swatch{width:25px;height:25px;border:2px solid white;outline:1px solid #d5d9e0;background:var(--swatch);border-radius:50%}.swatch[aria-pressed=true]{outline:2px solid var(--blue)}.border-control{margin-top:19px}.border-control output{float:right;color:var(--muted)}.border-control input{margin-top:13px}.helper{font-size:11px;line-height:1.5;color:#7e8590;margin:18px 0}#photo-controls{margin-top:18px}#photo-controls .two-col{margin-top:12px}.text-button{border:0;background:none;color:var(--blue);padding:8px 0;font-size:12px}.primary,.download{width:100%;border:0;background:var(--blue);color:white;padding:15px 18px;text-align:left;font-weight:600;font-size:16px;box-shadow:3px 3px 0 #202d76;transition:background .2s}.primary span{float:right}.primary:hover{background:#203cbd}.download{margin-top:12px;background:#f5c85f;color:#302d23;box-shadow:3px 3px 0 #9b8042}.privacy{text-align:center;font-size:10px;color:#89909b;margin:14px 0 0}#error{color:#b73125;font-size:13px}footer{display:flex;align-items:center;gap:28px;margin-top:40px;padding:22px 0;border-top:1px solid var(--line);font:10px 'Space Mono',monospace;color:#838996}.footer-brand{font:bold 18px 'Space Mono',monospace;color:var(--ink)}footer span:last-child{margin-left:auto}.paused *{animation-play-state:paused!important}@keyframes breathe{50%{transform:translateY(-2px) scale(1.005)}}@keyframes press{50%{transform:translateY(9px) rotate(5deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){.shop-window{aspect-ratio:1.5}}@media(max-width:900px){.workspace{gap:20px;grid-template-columns:minmax(0,1fr) minmax(310px,1fr)}.bench{padding-left:20px}.bench-content{padding:17px}.intro-copy{font-size:14px}.shift{display:none}.shop-label{font-size:10px;padding:7px}.steps span{display:block;margin:5px 0 0}.brand-caption{display:none}}@media(max-width:680px){.topbar{padding:18px 5%;gap:12px}.brand{font-size:24px}.brandmark{width:33px;height:35px;font-size:27px}.header-note{font-size:9px}.make-link{display:none}main{padding:0 5%}.intro{padding:28px 0 24px}.intro h1{font-size:42px}.intro-copy{display:none}.workspace{grid-template-columns:1fr;gap:24px}.shop-window{aspect-ratio:1.6}.shop-label{font-size:12px}.bench{border-left:0;padding-left:0}.order-card{padding:16px;margin-top:10px}.steps span{display:inline}.bench-content{padding:20px}.section-cap{font-size:10px}.shop-talk{min-height:54px}.shop-talk p{font-size:11px}.receipt{width:22%;bottom:10%}.preview-wrap{height:235px}#preview{height:215px;width:215px}footer{gap:12px;flex-wrap:wrap}footer span:last-child{margin-left:0;width:100%}}

/* Readable controls at every screen size. */
.control-row label,legend,.border-control,#photo-controls label{font-size:12px;letter-spacing:0}.choices button{font-size:14px}.upload small,.helper,.privacy{font-size:12px}.upload strong{overflow-wrap:anywhere}.section-cap,.eyebrow,.steps li,.ticket,.shop-talk p{font-size:12px}.swatch{width:30px;height:30px}.brand-caption,.header-note,.window-badge,footer{font-size:12px}.control-row label span{font-size:11px}.primary{min-height:48px}@media(max-width:680px){.header-note{font-size:10px}.section-cap{font-size:11px}.brand-caption{display:none}.shop-talk p{font-size:12px}.steps li{font-size:11px}.swatches{gap:8px}.brand{gap:8px}}
