:root{--yellow:#ffd400;--paper:#fff;--toner:#000;--magenta:#b0005f;--grey:#595959;color:var(--toner);background:var(--yellow);font-family:Avenir Next,Roboto,Noto Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:106.25%;line-height:1.45}*{box-sizing:border-box}body{margin:0}#app{max-width:30rem;min-height:100vh;flex-direction:column;min-height:100dvh;margin:0 auto;padding:1rem 1.25rem 1.75rem 1rem;display:flex}.kiosk{margin:0 0 .875rem;font-weight:700}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kiosk span,.kiosk small{font-weight:400;display:block}.sheet{background:var(--paper);box-shadow:6px 6px 0 var(--toner);flex-direction:column;flex:1;gap:.875rem;padding:1.5rem 1.25rem;display:flex}h1{letter-spacing:-.02em;outline:none;margin:0;font-size:2.125rem;font-weight:800;line-height:1.1}p{margin:0}.hint{color:var(--grey)}.problem{color:var(--magenta);font-weight:600}.problem:empty{display:none}.selected strong{overflow-wrap:anywhere;display:block}.selected span{color:var(--grey)}.file-input{opacity:0;width:1px;height:1px;position:absolute}.action,.quiet{width:100%;font:inherit;text-align:center;cursor:pointer;font-weight:700;display:block}.action{min-height:3.5rem;color:var(--paper);background:var(--toner);border:2px solid var(--toner);margin-top:auto;padding:.875rem 1rem}.action+.action,.action[hidden]+.file-input+.action,.file-input+.action{margin-top:0}.action[aria-disabled=true]{color:var(--grey);background:var(--paper);border-color:var(--grey);cursor:default}.action.secondary{color:var(--toner);background:var(--paper)}.quiet{min-height:3rem;color:var(--toner);background:0 0;border:0;margin-top:auto;text-decoration:underline}a:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}button:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}input:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}select:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.action:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.quiet:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.step:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.file-input:focus-visible+.action{outline:3px solid var(--magenta);outline-offset:2px}.choice input:focus-visible+span{outline:3px solid var(--magenta);outline-offset:2px}.page{aspect-ratio:210/297;background:var(--paper);border:2px solid var(--toner);width:4.5rem;position:relative}.toner{height:var(--filled,0%);background:var(--toner)}.progress{align-items:flex-end;gap:1rem;margin-top:1rem;display:flex}.progress .page{width:7.5rem}.percent{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.copies{align-items:center;gap:1.5rem;display:flex}.stack{flex:none;width:5.5rem}.stack[data-copies="2"] .page{box-shadow:5px 5px 0 -2px var(--paper), 5px 5px 0 0 var(--toner)}.stack[data-copies="3"] .page{box-shadow:5px 5px 0 -2px var(--paper), 5px 5px 0 0 var(--toner), 10px 10px 0 -2px var(--paper), 10px 10px 0 0 var(--toner)}.stack[data-copies="4"] .page{box-shadow:5px 5px 0 -2px var(--paper), 5px 5px 0 0 var(--toner), 10px 10px 0 -2px var(--paper), 10px 10px 0 0 var(--toner), 15px 15px 0 -2px var(--paper), 15px 15px 0 0 var(--toner)}.stepper{text-align:center;flex:1;justify-content:space-between;align-items:center;display:flex}.stepper span{color:var(--grey);display:block}.count{font-variant-numeric:tabular-nums;font-size:2.125rem;font-weight:800;line-height:1;display:block}.step{width:3.5rem;height:3.5rem;font:inherit;color:var(--toner);background:var(--yellow);border:2px solid var(--toner);cursor:pointer;font-size:1.75rem;font-weight:700}.step[aria-disabled=true],.step:disabled{color:var(--grey);background:var(--paper);border-color:var(--grey);cursor:default}.sides{border:0;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;display:grid}.sides legend{color:var(--grey);padding:0 0 .375rem}.choice{border:2px solid var(--toner);cursor:pointer;justify-content:center;align-items:center;min-height:3.5rem;font-weight:700;display:flex}.choice input{opacity:0;position:absolute}.choice.chosen{background:var(--yellow)}.choice.chosen span:before{content:"✓ " / ""}.total{border-top:2px solid var(--toner);padding-top:.75rem}.price{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1.1}.price.stale{color:var(--grey)}[hidden]{display:none!important}.simulation{border:2px dashed var(--magenta);color:var(--magenta);margin:0;padding:.625rem .75rem;font-weight:700}.simulator{border:2px dashed var(--grey);flex-direction:column;gap:.5rem;margin:0;padding:.75rem;display:flex}.simulator legend{color:var(--grey);font-weight:700}.journey{color:var(--grey);gap:.25rem;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.journey li{border-top:4px solid var(--grey);flex:1;padding-top:.375rem}.journey li.done,.journey li.current{color:var(--toner);border-top-color:var(--toner)}.journey li.current{font-weight:800}.offline{color:var(--paper);background:var(--magenta);text-align:center;margin:0;padding:.625rem 1rem;font-weight:700}@media (min-width:48rem){#app{max-width:38rem;padding-top:2.5rem}.sheet{padding:2rem}h1{font-size:2.5rem}}@media (min-width:48rem) and (hover:hover){.action:hover,.step:not(:disabled):hover{outline:3px solid var(--toner);outline-offset:2px}}@media (max-width:22.5rem){.copies{gap:.75rem}.stack{width:4rem}.step{width:3rem;height:3rem}h1{font-size:1.875rem}.price,.percent{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (forced-colors:active){.choice.chosen{outline:3px solid highlight}.toner{background:canvastext}}.entry{flex-direction:column;gap:.75rem;display:flex}.entry label{font-weight:700}.code-input{width:100%;min-height:3.75rem;font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--toner);background:var(--paper);border:2px solid var(--toner);border-radius:0;padding:.5rem .875rem;font-size:1.75rem;font-weight:800}.code-input::placeholder{color:var(--grey);font-weight:400}.code-input[aria-invalid=true]{border-color:var(--magenta);border-width:3px}@media (max-width:22.5rem){.code-input{letter-spacing:.06em;font-size:1.5rem}}
