:root{--paper:#f3f0e7;--ink:#25251f;--orange:#ef633c;--muted:#64645a;--line:#c9c8bd;--green:#63774d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(#29292009 .7px,transparent .7px);background-size:5px 5px}.page{max-width:1240px;margin:auto;padding:0 48px}header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.wordmark{font-size:43px;font-weight:900;letter-spacing:-3px;color:var(--ink);text-decoration:none}.wordmark span{font-size:14px;vertical-align:top;position:relative;top:8px;margin-left:4px;letter-spacing:0}.header-note,.online,.eyebrow,.small-note,.panel-top,.step,.button-caption,.console-bottom,.output-label,.receipt-head,.receipt-foot,.receipt-caption,.inventory>p,.stamp,footer{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.7px}.online{display:flex;gap:9px;align-items:center}.online i,.tiny-light{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green)}.intro{padding:41px 0 35px}.eyebrow{display:flex;justify-content:space-between}h1{position:relative;font-size:clamp(58px,7.5vw,94px);line-height:.99;letter-spacing:-5px;font-weight:800;margin:29px 0 25px}.italic{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-5px}.asterisk{position:absolute;right:35px;top:10px;font-size:140px;color:var(--orange);font-weight:400;line-height:1}.intro-bottom{display:flex;justify-content:space-between;align-items:end}.intro-bottom p{margin:0;font-size:17px;line-height:1.6}.intro-bottom .small-note{font-size:10px;line-height:1.8}.machine{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);background:#e8e8dc;box-shadow:5px 5px 0 #25251f0c}.console{display:flex;flex-direction:column;border-right:1px solid var(--ink)}.panel-top{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.indicator{letter-spacing:4px;color:var(--green)}.control-body{padding:27px 30px 22px}.step{display:block;margin-bottom:15px;color:var(--muted)}select{width:100%;padding:13px 12px;border:1px solid #96978a;background:#f3f0e7;color:var(--ink);border-radius:0;font:14px Arial;cursor:pointer}button{cursor:pointer;font:inherit;color:inherit}button:disabled{cursor:wait}.big-button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:22px 0 17px;padding:27px 24px 28px;background:var(--orange);border:2px solid var(--ink);border-radius:3px;box-shadow:0 7px 0 var(--ink);text-align:left;font-size:clamp(28px,3.25vw,43px);font-weight:900;letter-spacing:-1.5px;line-height:1.03;transition:transform .15s,box-shadow .15s,background .15s}.big-button:hover{background:#fa744b;transform:translateY(-2px);box-shadow:0 9px 0 var(--ink)}.big-button:active{transform:translateY(6px);box-shadow:0 1px 0 var(--ink)}.button-arrow{font-weight:400;font-size:56px}.button-caption{text-align:center;letter-spacing:0;color:var(--muted);margin:22px 0 0}.console-bottom{display:flex;justify-content:space-between;gap:15px;padding:17px 22px;border-top:1px solid var(--line);margin-top:auto;font-size:8px}.tiny-light{width:5px;height:5px;margin-right:5px}.output-side{padding:20px 27px 15px;background:#dfdfd1;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,#25251f03 3px,#25251f03 4px)}.output-label{display:flex;justify-content:space-between;font-size:9px;margin-bottom:18px}.receipt{background:#fffef8;position:relative;padding:19px 24px 16px;box-shadow:2px 4px 7px #25251f15;min-height:302px;display:flex;flex-direction:column}.receipt:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:9px;background:linear-gradient(135deg,#fffef8 25%,transparent 25%) -6px 0,linear-gradient(225deg,#fffef8 25%,transparent 25%) -6px 0;background-size:12px 18px}.receipt-head{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:12px;font-size:9px;gap:8px}.result-symbol{font-size:34px;margin-top:17px;color:var(--green);line-height:1}h2{font-size:25px;letter-spacing:-.8px;line-height:1.16;margin:11px 0}.receipt>p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 22px}.receipt-foot{border-top:1px dashed var(--line);margin-top:auto;padding-top:13px;font-size:8px;display:flex;justify-content:space-between;gap:12px}.receipt-caption{font-size:9px;letter-spacing:0;text-align:center;color:var(--muted);margin:20px 0 0}.inventory{padding:32px 0;border-bottom:1px solid var(--line);display:flex;gap:32px;align-items:center}.inventory>p{font-size:9px;white-space:nowrap}.inventory>div{display:flex;flex-wrap:wrap;gap:8px}.inventory span{border:1px solid var(--line);border-radius:20px;padding:7px 11px;font-size:10px;color:var(--muted)}.manifesto{display:flex;align-items:center;gap:25px;padding:43px 0 45px}.little-star{font-size:53px;color:var(--orange)}.manifesto p{font-size:20px;line-height:1.5;letter-spacing:-.4px;margin:0}.manifesto em{font-family:Georgia,serif}.stamp{margin-left:auto;transform:rotate(-9deg);border:2px solid var(--green);border-radius:50%;width:112px;height:112px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--green);font-size:8px;line-height:1.8}.stamp strong{font:900 19px Arial;border-block:1px solid var(--green);padding:3px 0}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding:23px 0 30px;font-size:9px;color:var(--muted)}.play-button{border:1px solid var(--ink);background:var(--paper);border-radius:3px;padding:9px 13px;font-size:12px;margin:0 5px 15px 0}.play-button:hover{background:#e6eadb}.play-button:disabled{cursor:default;opacity:.55}.play-status{font-size:12px;color:var(--green);margin:0 0 15px}.pop-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.bubble{width:36px;height:36px;border:1px solid #657551;border-radius:50%;background:#e1e9d5;box-shadow:inset -3px -4px 0 #b5c59f}.bubble:disabled{background:var(--paper);box-shadow:none;border-style:dashed}.receipt.arrive{animation:arrive .28s ease-out}@keyframes arrive{from{transform:translateY(-5px);opacity:.55}to{transform:translateY(0);opacity:1}}:focus-visible{outline:3px solid #426da5;outline-offset:5px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:absolute;z-index:5;background:white;padding:12px}.no-script{padding:15px;border:1px solid var(--orange)}@media(max-width:900px){.page{padding:0 28px}.header-note{display:none}h1{font-size:74px}.asterisk{font-size:110px;right:0;top:22px}.control-body{padding:25px 20px}.output-side{padding:20px 18px}.console-bottom{flex-direction:column;gap:8px}.inventory{align-items:start;gap:20px}.receipt{padding:18px}.big-button{padding:27px 17px;font-size:33px}.button-arrow{font-size:40px}}@media(max-width:650px){.page{padding:0 20px}header{height:85px}.wordmark{font-size:36px}.online{font-size:8px;letter-spacing:0}.intro{padding:27px 0}.eyebrow{font-size:8px;letter-spacing:0}.eyebrow span:last-child{display:none}h1{font-size:58px;letter-spacing:-3px;margin:24px 0}.italic{letter-spacing:-3px}.asterisk{font-size:65px;top:-7px;right:3px}.intro-bottom p{font-size:14px}.intro-bottom .small-note{font-size:8px}.machine{grid-template-columns:1fr}.console{border-right:0;border-bottom:1px solid var(--ink)}.control-body{padding:24px}.big-button{font-size:39px;padding:24px}.console-bottom{flex-direction:row;font-size:7px;padding:17px}.output-side{padding:22px 24px}.receipt{min-height:310px;padding:20px 23px}.receipt h2{font-size:26px}.inventory{flex-direction:column;gap:5px;padding:23px 0}.manifesto{gap:13px;padding:32px 0}.manifesto p{font-size:16px}.little-star{font-size:36px}.stamp{width:79px;height:79px;min-width:79px;font-size:6px}.stamp strong{font-size:14px}footer{font-size:8px;line-height:1.6;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Grid children must shrink below their intrinsic text widths on small phones. */
.console,.output-side{min-width:0}select{min-width:0}.console-bottom>span{min-width:0}.big-button>span:first-child{min-width:0}
@media(max-width:420px){.big-button{font-size:32px;padding:23px 17px;letter-spacing:-1px}.button-arrow{font-size:35px}.console-bottom{flex-wrap:wrap;gap:7px}.intro-bottom{align-items:start;gap:16px}.intro-bottom .small-note{max-width:130px}h1{font-size:clamp(45px,14.8vw,58px)}.manifesto{flex-wrap:wrap}.stamp{margin-left:auto}.panel-top{padding:18px;font-size:9px}.output-label{font-size:8px}.control-body{padding:22px 18px}.output-side{padding:22px 18px}}

.form-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--ink);padding:25px 28px;margin:0 0 38px;color:var(--ink);text-decoration:none;background:#eee3aa;box-shadow:4px 4px 0 #25251f12}.form-invitation>span{display:grid;gap:9px}.form-invitation small{font:9px/1.6 'Courier New',monospace;letter-spacing:.6px}.form-invitation strong{font:italic 27px Georgia,serif}.form-invitation span span{font-size:12px;line-height:1.6}.form-invitation b{font-size:42px;font-weight:400}.form-invitation:hover{background:#e7d993}@media(max-width:480px){.form-invitation{padding:20px;gap:12px}.form-invitation strong{font-size:23px}}
