@font-face{font-family:Maybe Magic;src:url(/fonts/maybe-magic.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color:#383326;font-synthesis:none;--ink:#383326;--paper:#eee3bf;--sage:#b1be9e;--lamp-height:clamp(32px, 4.6svh, 42px);background:#493527;font-family:Maybe Magic,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{-webkit-tap-highlight-color:transparent;background:radial-gradient(at 50% 40%,#b18b5533 0,#23190d55 90%),repeating-linear-gradient(90deg,#0000 0 144px,#241c1766 145px,#8a694a33 147px,#0000 149px 293px),repeating-linear-gradient(88deg,#0000 0 17px,#a07b4520 18px,#0000 19px 35px),#59412f;margin:0}::selection{color:#fff5d9;background:#c58355}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;appearance:none}button:focus-visible{outline-offset:5px;outline:3px solid #a54027}button:disabled{cursor:default}button small{letter-spacing:.06em;font-size:10px;line-height:1.1;display:block}button svg{width:24px;height:24px}[hidden]{display:none!important}.workshop{isolation:isolate;justify-content:center;align-items:center;min-height:100svh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.machine{border:3px solid var(--ink);background:radial-gradient(ellipse at 15% 90%, #c9b77726, #0000 55%), var(--paper);border-radius:46% 46% 22px 25px/24px 27px 25px 22px;width:min(100%,760px);padding:18px 24px 14px;position:relative;box-shadow:inset 0 0 0 4px #cfc29a,3px 14px 22px #1e170c66}.machine:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #8f805c;position:absolute;inset:7px}.screw{z-index:2;border:1.5px solid var(--ink);background:#baa77a;border-radius:50%;width:8px;height:8px;position:absolute;transform:rotate(25deg)}.screw:after{content:"";border-left:1px solid var(--ink);height:5px;position:absolute;top:0;left:2px}.screw-tl{top:19px;left:13px}.screw-tr{top:20px;right:13px}.screw-bl{bottom:13px;left:13px}.screw-br{bottom:13px;right:13px}.nameplate{text-align:center;border:2px solid var(--ink);background:#ce895b;border-radius:47% 49% 16% 13%/15% 20% 10% 13%;width:83%;margin:0 auto;padding:8px 14px 9px;position:relative;transform:rotate(-.6deg);box-shadow:inset 0 0 0 3px #e3a975}h1{letter-spacing:.04em;margin:0;font-size:clamp(28px,4.6vw,43px);font-weight:400;line-height:1.07}h1>span{letter-spacing:.22em;margin-bottom:4px;font-size:16px;display:block}.nameplate p{margin:6px 0 0;font-size:13px;line-height:1.3}.console{height:118px;margin-top:3px;position:relative}.console-art{width:100%;height:100%;display:block;overflow:visible}.start{color:#fff0c7;background:radial-gradient(at 36% 24%,#bc6f50,#9a4d36 62%,#793b2b);border:3px solid #3b3022;border-radius:48% 49% 46% 48%;width:80px;height:73px;padding:7px 0 5px;transition:box-shadow 80ms,transform 80ms;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:inset 2px 3px 2px #dd9c6d66,inset -2px -5px 3px #662b2266,0 5px 3px #302716}.start>span{font-size:25px;line-height:1.2}.start small{margin-top:3px}.start:active{transform:translate(-50%,4px);box-shadow:inset 1px 2px 3px #6e342e,0 1px 2px #302716}.start[aria-disabled=true]{color:#f3deb4;cursor:default;background:#9b6349;transform:translate(-50%,3px);box-shadow:inset 1px 2px 3px #6e342e,0 2px 2px #302716}.machine[data-state=Idle] .start{animation:3s ease-in-out infinite breathe}.credit{border:1.5px solid var(--ink);background:#e8debb;border-radius:3px 6px 5px 3px;width:114px;padding:7px 8px;font:10px/1.4 PingFang SC,Hiragino Sans,Yu Gothic,Microsoft YaHei,sans-serif;position:absolute;top:26px;left:4px;transform:rotate(-3deg)}.credit:before,.credit:after{content:"";background:#c6b68c;border:1px solid #746448;width:14px;height:5px;position:absolute;top:-3px}.credit:before{left:10px;transform:rotate(12deg)}.credit:after{right:10px;transform:rotate(-8deg)}.sound-assembly{justify-items:center;gap:4px;display:grid;position:absolute;top:25px;right:3px}.wordmark{font-size:14px;transform:rotate(3deg)}.sound{border:2px solid var(--ink);background:#d5c69e;border-radius:12px 10px 12px 9px;place-items:center;width:46px;height:44px;padding:8px;display:grid;box-shadow:inset 0 0 0 2px #eadbb2,0 3px 2px #685c3c66}.sound:active{transform:translateY(2px)}.mute-mark{display:none}.sound[aria-pressed=true] .mute-mark{display:block}.columns{grid-template-columns:.8fr 1.05fr 1.25fr;gap:16px;display:grid;position:relative}.column{min-width:0}h2{justify-content:center;align-items:center;gap:8px;margin:0 0 7px;font-size:17px;font-weight:400;display:flex}h2>span{border:1.5px solid #867756;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.lamp-bank{position:relative}.column-cables{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lamps{gap:5px;margin:0;padding:0 5px;list-style:none;display:grid;position:relative}.lamp{height:var(--lamp-height);background:var(--sage);text-align:center;text-wrap:balance;border:1.7px solid #514c35;border-radius:10px 12px 11px 9px/12px 10px 12px 11px;justify-content:center;align-items:center;padding:3px 6px;font-size:17px;line-height:1.15;display:flex;position:relative;box-shadow:inset 0 2px 3px #6b785126,0 1px 1px #8f815733}.lamp:before,.lamp:after{content:"";background:#b7a375;border:1px solid #675b41;width:3px;height:7px;position:absolute;top:calc(50% - 3px)}.lamp:before{border-radius:2px 0 0 2px;left:-4px}.lamp:after{border-radius:0 2px 2px 0;right:-4px}.lamp:nth-child(3n+1){border-radius:12px 10px 9px 12px/10px 12px 10px 11px}.lamp.lit,.lamp.flicker{color:#322f22;background:#fff5ce;border-color:#766c43;box-shadow:inset 0 0 7px #ffeda7,0 0 12px #fff0b2bb,0 1px 2px #6d5c3d66}.column[data-state=Landed] .lamp.lit{border-color:#514c35;animation:.28s cubic-bezier(.16,1,.3,1) settle}.stop-mount{border:2px solid var(--ink);background:#b7aa83;border-radius:11px 9px 12px 10px;margin:15px 5px 0;padding:5px 9px 7px;position:relative}.stop-mount:before{content:"";border:2px solid var(--ink);background:#d8c79b;border-radius:4px 5px 0 0;width:34%;height:6px;position:absolute;top:-8px;left:33%}.stop{border:2px solid var(--ink);background:#edc468;border-radius:7px 8px 6px 9px;width:100%;min-height:49px;padding:3px 4px;transition:background .1s,transform 80ms,box-shadow 80ms;display:block;box-shadow:inset 0 2px 1px #fff1a788,0 3px 2px #65532c}.stop>span{font-size:22px;line-height:1}.stop small{margin-top:2px;font-size:9px}.stop:not(:disabled):hover{background:#f9d77f}.stop:not(:disabled):active{transform:translateY(3px);box-shadow:inset 0 1px 3px #9d784b}.stop:disabled{color:#665b40;background:#c5b58b;transform:translateY(2px);box-shadow:inset 0 1px 3px #7b6a4c66}.column[data-state=Landed] .stop{background:#d6be83}.printer{background:#4e4633;border:2px solid #74674b;border-radius:5px;width:39%;height:8px;margin:15px auto 0}.printer span{border-top:1px solid #181d16;width:83%;margin:1px auto 0;display:block}.machine-status{text-align:center;color:#665c40;margin:8px 0 0;font-size:12px;line-height:1.2}.companion{z-index:-1;width:220px;height:auto;position:absolute;bottom:max(3%,50% - 340px)}.robot{right:calc(50% + 375px);transform:rotate(-4deg)}.scientist{left:calc(50% + 382px);transform:rotate(3deg)}footer{text-align:center;color:#e6c999;padding:4px 16px 24px;font-size:13px}.ticket{z-index:5;text-align:center;background:#fff3cf;border:1px solid #a18d60;width:min(86%,470px);padding:25px 28px 23px;animation:.65s cubic-bezier(.16,1,.3,1) both print-ticket;position:absolute;top:43%;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:3px 12px 22px #44341c77}.ticket:before,.ticket:after{content:"";background:radial-gradient(circle at 5px 5px,#eee3bf 3px,#fff3cf 3.5px) 0 0/10px 5px repeat-x;height:5px;position:absolute;left:-1px;right:-1px}.ticket:before{top:-4px;transform:rotate(180deg)}.ticket:after{bottom:-4px}.ticket-top{justify-content:center;gap:8px;display:flex}.ticket-top span{border:1px solid #a18d60;border-radius:50%;width:5px;height:5px}.ticket-number{color:#856339;margin:16px 0;font-size:15px}.spell{text-wrap:balance;margin:0;font-size:25px;line-height:1.6}.ticket-note{color:#79613e;margin:19px 0 22px;font-size:13px}.ticket-actions{justify-content:center;gap:14px;display:flex}.ticket-actions button{background:0 0;border:1.5px solid #8f784e;border-radius:5px;min-width:88px;min-height:44px;padding:8px 18px;font-size:16px}.ticket-actions button:hover{background:#eadbb4}.ticket-actions button:active{transform:translateY(1px)}.ticket-feedback{color:#66552e;min-height:18px;margin:8px 0;font-size:12px}.again{background:#e5b86d;border:2px solid #6d5735;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;margin:0 auto;padding:7px 20px;font-size:17px;display:flex}.again:hover{background:#efc981}.ticket.retracting{pointer-events:none;animation:.18s ease-in both retract-ticket}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.clipboard-fallback{width:1px;height:1px;font-size:16px;position:fixed;top:0;left:-100px}@keyframes breathe{50%{filter:brightness(1.15);box-shadow:inset 2px 3px 2px #dd9c6d66,inset -2px -5px 3px #662b2266,0 5px 3px #302716,0 0 13px #ce8d5570}}@keyframes shake{15%{transform:rotate(-.45deg)translate(-1px)}40%{transform:rotate(.4deg)translate(1px)}70%{transform:rotate(-.2deg)}}@keyframes settle{35%{transform:translateY(2px)}65%{transform:translateY(-1px)}}@keyframes print-ticket{0%{opacity:.3;transform:translate(-50%,28%)rotate(0)}to{opacity:1;transform:translate(-50%)rotate(-1.5deg)}}@keyframes retract-ticket{to{opacity:0;transform:translate(-50%,35%)rotate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}.starting{animation:.35s ease-out shake}@media (width<=1099px){.companion{display:none}}@media (width>=600px) and (width<=850px){.workshop{padding:30px}.machine{max-width:680px;padding:18px 20px 15px}.columns{gap:12px}.lamp{font-size:16px}}@media (width<=599px){.workshop{padding:8px 8px 10px}.machine{border-radius:44% 47% 16px 19px/17px 20px 17px 16px;padding:10px 8px 9px}.machine:before{inset:4px}.screw{width:6px;height:6px}.screw-tl,.screw-tr{top:14px}.screw-tl,.screw-bl{left:7px}.screw-tr,.screw-br{right:7px}.screw-bl,.screw-br{bottom:8px}.screw:after{height:3px;left:1px}.nameplate{width:91%;padding:3px 5px}h1{letter-spacing:.02em;font-size:clamp(28px,7.8vw,39px)}h1>span{margin-bottom:2px;font-size:13px}.nameplate p{margin-top:1px;font-size:10px}.console{height:66px;margin-top:2px}.console-art{position:absolute;top:0}.start{border-width:2px;width:58px;height:53px;padding:4px 0;top:10px}.start>span{font-size:19px}.start small{margin-top:1px;font-size:9px}.credit{width:87px;padding:4px 5px;font-size:8px;line-height:1.3;top:9px;left:0}.credit:before,.credit:after{width:10px;height:4px}.sound-assembly{gap:0;top:4px;right:0}.wordmark{font-size:11px}.sound{border-radius:9px 8px 10px 7px;width:44px;height:44px;padding:10px}.sound svg{width:21px;height:21px}.columns{grid-template-columns:.8fr 1.05fr 1.25fr;gap:7px}h2{gap:4px;margin-bottom:5px;font-size:13px;line-height:17px}h2>span{border-width:1px;width:15px;height:15px;font-size:10px}.lamps{gap:3px;padding:0 3px}.lamp{border-width:1.4px;border-radius:8px 9px 9px 8px;padding:0 3px;font-size:13px;line-height:1.1}.lamp:before,.lamp:after{width:2px;height:6px}.lamp:before{left:-3px}.lamp:after{right:-3px}.stop-mount{border-width:1.5px;border-radius:8px;margin:10px 2px 0;padding:3px 4px 5px}.stop-mount:before{border-width:1.5px;height:5px;top:-6px}.stop{border-width:1.5px;border-radius:5px 6px 5px 7px;min-height:44px;padding:3px 2px}.stop>span{font-size:20px}.stop small{font-size:8px}.printer{border-width:1.5px;width:40%;height:6px;margin-top:9px}.machine-status{margin-top:5px;font-size:10px}.ticket{width:89%;padding:16px 17px 15px;top:42%}.ticket-number{margin:10px 0;font-size:13px}.spell{font-size:21px;line-height:1.45}.ticket-note{margin:12px 0 15px;font-size:12px}.ticket-feedback{margin:5px 0}.again{font-size:16px}footer{padding-top:7px;font-size:12px}}@media (width<=599px) and (height<=700px){.machine-status{display:none}}@media (width<=599px) and (height>=740px){.console{height:83px}.start{width:66px;height:61px;top:15px}.credit{top:18px}.sound-assembly{top:14px}.machine{padding-top:14px;padding-bottom:14px}.lamp{font-size:14px}h2{margin-bottom:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.starting,.machine[data-state=Idle] .start,.column[data-state=Landed] .lamp.lit{animation:none}button{transition:none}.ticket{animation:.18s ease-out fade-in}.ticket.retracting{animation:.18s ease-in both fade-out}}
