@import url('/fonts.css');
:root{--ink:#452738;--muted:#79656b;--cream:#fcf5e8;--pink:#e8aeb5;--wine:#793647;--gold:#f5d58d;--line:#decfc1;font-family:'Trebuchet MS',sans-serif;color:var(--ink);background:#faf4e9;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 74% 40%,#f3decd 0,transparent 57%),var(--cream)}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a05f29;outline-offset:5px}button{color:inherit}a{color:inherit}.shell{max-width:1240px;margin:auto;padding:0 48px}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:13px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:12px}.brand-star{font-size:30px;color:var(--wine)}.quiet{border:1px solid var(--line);border-radius:30px;background:transparent;padding:10px 16px;font-size:13px}.quiet span{margin-left:12px}.layout{display:grid;grid-template-columns:1fr 1.12fr;gap:78px;align-items:center;padding:48px 0 40px}.intro{padding:12px 0}.eyebrow{font-size:11px;letter-spacing:1.9px;font-weight:bold;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;background:#9c694d;border-radius:50%}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,6.8vw,94px);line-height:.98;letter-spacing:-5px;margin:25px 0 28px;position:relative}h1 em{color:var(--wine);font-weight:400}.title-star{position:absolute;font-size:62px;font-weight:400;right:18px;top:30px;color:#ac7946}.dedication{font:italic 24px Georgia,serif;margin:0 0 13px}.lead{font-size:17px;line-height:1.65;max-width:350px;margin:0 0 16px}.how{font-size:14px;color:var(--muted);line-height:1.7}.collection{margin-top:32px;max-width:350px}.collection-label{display:flex;justify-content:space-between;align-items:center}.collection h2{font-size:10px;letter-spacing:1.8px;font-weight:bold}.collection-label>span{font:12px monospace}.shelf{display:flex;gap:10px;margin:10px 0}.shelf button{height:53px;width:53px;border:1px dashed #c9bbae;border-radius:12px;background:#f3ebdf;position:relative;display:grid;place-items:center;padding:8px}.shelf button svg{width:100%;height:100%;opacity:.35;filter:grayscale(1)}.shelf button.collected{background:#f5e4d4;border:1px solid #bb8d73}.shelf button.collected svg{opacity:1;filter:none}.shelf button.collected:after{content:'✓';position:absolute;bottom:-3px;right:-3px;color:#fff;background:#725847;border-radius:50%;width:15px;height:15px;font-size:10px}#shelf-caption{font-size:12px;color:var(--muted);margin:14px 0}.text-button{border:0;background:transparent;padding:8px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.ticket-stub{display:flex;gap:16px;align-items:center;margin-top:27px;border-top:1px solid var(--line);padding-top:23px;max-width:350px}.stub-star{font-size:30px;color:#a3774c}.ticket-stub strong{display:block;letter-spacing:3px;font-size:11px}.ticket-stub div span{display:block;font:italic 12px Georgia,serif;margin-top:7px;color:var(--muted)}.barcode{margin-left:auto;width:53px;height:33px;background:repeating-linear-gradient(90deg,#70544b 0 1px,transparent 1px 3px,#70544b 3px 5px,transparent 5px 7px,#70544b 7px 8px,transparent 8px 11px);opacity:.55}
.arcade{position:relative;border:2px solid #783b49;border-radius:29px 29px 17px 17px;background:#b86778;box-shadow:7px 9px 0 #753644,15px 24px 40px #5d353427;isolation:isolate}.machine-top{margin:10px 10px 0;border:2px solid #783b49;border-radius:20px 20px 5px 5px;display:flex;align-items:center;justify-content:space-around;background:#f2c6c1;color:#713745;padding:13px 15px 15px;box-shadow:inset 0 0 0 4px #e3a5ac,inset 0 0 0 5px #b57880}.machine-top>span{font-size:29px;color:#9b5b54}.machine-top div{text-align:center}.machine-small{display:block;font-size:9px;letter-spacing:3px;font-weight:bold}.machine-top strong{display:block;font:italic 52px/.95 Georgia,serif;letter-spacing:-2px;margin-top:3px}.glass-frame{margin:0 10px;background:#e5a0ae;padding:10px;border:2px solid #783b49;border-top:0}.glass{position:relative;height:330px;border:7px solid #693a4c;border-radius:7px;background:radial-gradient(ellipse at 50% 80%,#5d415e,#292238 78%);overflow:hidden;box-shadow:inset 0 0 20px #150d25}.glass:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 16%,#ffffff05 16% 29%,transparent 29% 55%,#ffffff03 55% 60%,transparent 60%);z-index:4}.glass-label{position:absolute;top:13px;width:100%;text-align:center;color:#e2b1b5;font-size:8px;letter-spacing:2px}.rail{height:6px;background:linear-gradient(#b1afaf,#767884);position:absolute;top:41px;left:12px;right:12px;border-radius:3px}.claw{position:absolute;left:50%;top:43px;transform:translateX(-50%);width:65px;height:78px;z-index:3;transition:left .45s ease}.cable{height:28px;width:5px;margin:auto;background:repeating-linear-gradient(0deg,#797b85 0 3px,#b7b4b9 3px 5px);transition:height .55s ease}.claw svg{display:block;width:65px;height:51px}.claw.dropping .cable{height:132px}.glass-spark{position:absolute;color:#b89093;pointer-events:none}.s1{top:107px;left:30px;font-size:25px}.s2{top:119px;right:25px;font-size:15px}.s3{top:72px;right:99px;font-size:26px}.prizes{position:absolute;inset:125px 12px 18px;z-index:2}.prize{position:absolute;width:94px;height:103px;border:0;background:transparent;padding:7px;transition:transform .25s,opacity .25s;filter:drop-shadow(0 5px 3px #15102490)}.prize svg{width:100%;height:100%;overflow:visible}.prize:after{content:'';position:absolute;inset:3px;border:1px solid transparent;border-radius:18px;transition:border-color .2s}.prize[aria-pressed=true]:after{border-color:#f2d692;box-shadow:0 0 16px #f2d69225}.prize[aria-pressed=true]{transform:translateY(-5px)}.prize[data-index="0"]{left:0;top:36px;rotate:-15deg}.prize[data-index="1"]{left:23%;top:9px;rotate:12deg}.prize[data-index="2"]{right:21%;top:49px;rotate:-8deg}.prize[data-index="3"]{right:-1%;top:18px;rotate:8deg}.prize[data-index="4"]{left:28%;top:90px;rotate:-12deg}.prize.won{opacity:.35}.prize.lifting{transform:translateY(-80px) scale(.75);opacity:0;transition:transform .6s,opacity .6s}.prize-floor{position:absolute;bottom:-15px;left:-10%;width:120%;height:80px;background:radial-gradient(ellipse,#d293a399,#8b557688 60%,transparent 70%)}.start-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#282034e8;text-align:center;color:#ffe8d0;backdrop-filter:blur(4px)}.start-overlay[hidden]{display:none}.coin{width:64px;height:64px;border:2px solid #d5a959;border-radius:50%;background:#efcb83;box-shadow:inset 0 0 0 4px #f6dfaa,inset 0 0 0 5px #b88742,3px 3px 0 #9c7140;color:#946339;display:grid;place-items:center}.coin span{font:38px Georgia,serif}.start-overlay p{font:22px/1.3 Georgia,serif;margin:16px 0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;background:var(--wine);color:#fff3e3;border:1px solid #5b263b;border-radius:8px;padding:14px 22px;box-shadow:0 3px 0 #512a37;font-size:14px;min-height:46px}.start-overlay .primary{background:#eac690;color:#442935;border-color:#d4a76b;box-shadow:0 3px 0 #aa784e}.start-overlay small{font-size:8px;letter-spacing:1.6px;margin-top:15px;color:#d6b0b0}.console{padding:15px 24px 20px;background:linear-gradient(#d2919f,#bb7788);border-top:2px solid #814251;border-bottom:2px solid #814251}.display{display:flex;align-items:center;gap:10px;background:#342735;border:2px solid #895061;border-radius:5px;padding:10px;color:#f0ce91;min-height:38px}.display-led{height:5px;width:5px;border-radius:50%;background:#edc27b;box-shadow:0 0 8px #edc27b;flex-shrink:0}#machine-status{font:10px/1.4 monospace;letter-spacing:1px}.controls{display:flex;align-items:center;gap:14px;margin-top:15px}.arrows{display:flex;gap:8px}.arrows button{border-radius:50%;width:40px;height:40px;font-size:23px;border:2px solid #80505c;background:#f3d7cc;box-shadow:0 4px 0 #80505c}.arrows button:disabled{opacity:.5}.controls-label{font-size:8px;letter-spacing:1px;line-height:1.8;font-weight:bold}.controls-label span{font:10px Georgia,serif;letter-spacing:0}.grab{margin-left:auto;border:3px solid #7b364b;border-radius:50%;width:68px;height:68px;background:radial-gradient(ellipse at 35% 25%,#b25870,#803346);color:#ffe5ce;box-shadow:0 5px 0 #683043,0 0 0 3px #dba7a7,inset 0 2px 2px #e095a2;font-size:11px;font-weight:bold;letter-spacing:1px;flex-shrink:0}.grab span{display:block;font-size:19px}.grab:disabled{filter:saturate(.5)}button:active:not(:disabled){translate:0 1px}.machine-bottom{height:78px;padding:17px 25px;display:flex;align-items:center;gap:25px;background:#bb7586;border-radius:0 0 13px 13px}.prize-chute{height:41px;border:3px solid #814554;border-radius:6px;background:#683f50;box-shadow:inset 0 5px 0 #422b3b;flex:1;display:flex;align-items:center;justify-content:space-around;color:#daa7b3;font-size:8px;letter-spacing:1.4px}.coin-slot{display:flex;gap:10px;align-items:center;font-size:7px;line-height:1.7;letter-spacing:1px;font-weight:bold}.coin-slot i{display:block;background:#553a49;width:7px;height:24px;border:2px solid #e2abb7;outline:2px solid #8b5062;border-radius:2px}.feet{position:absolute;left:23px;right:16px;bottom:-12px;display:flex;justify-content:space-between;z-index:-1}.feet i{width:35px;height:15px;background:#613644;border-radius:0 0 4px 4px}footer{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;letter-spacing:1.5px}footer span:last-child{font:italic 13px Georgia,serif;letter-spacing:0}
dialog{border:1px solid #c99799;border-radius:22px;background:var(--cream);color:var(--ink);padding:36px;width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;box-shadow:0 25px 120px #1b0b3266}dialog::backdrop{background:#231327a8;backdrop-filter:blur(6px)}.close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:28px;width:38px;height:38px}.dialog-eyebrow{font-size:10px;letter-spacing:2px;color:var(--wine);margin:4px 0 15px}.dialog-art{width:90px;height:90px;margin:8px auto 16px}.dialog-art svg{width:100%;height:100%}dialog h2{font:36px/1.1 Georgia,serif;letter-spacing:-1px;margin:10px 0 14px}dialog p{font-size:15px;line-height:1.65}dialog .subtitle{color:var(--muted);font-size:14px}.puzzle-area{margin:22px 0}.dialog-actions{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:22px}.secondary{border:1px solid #c3a6a1;border-radius:8px;background:transparent;padding:12px 16px;min-height:44px;font-size:13px}.hint{min-height:20px;font-size:13px!important;color:#7b5945;margin:12px 0!important}.skip{display:block;margin:16px auto 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:12px;padding:8px}.success,.letter{text-align:center}.success .dialog-art{width:110px;height:110px}.success h2{font-style:italic}.success p{font:19px/1.6 Georgia,serif}.letter{padding:20px 0 8px}.letter-heart{font-size:50px;color:var(--wine)}.letter h2{font-size:41px}.letter .note{font:24px/1.55 Georgia,serif;margin:26px 0}.letter .signoff{font:italic 17px Georgia,serif}.letter .primary{margin-top:18px}.pizzas{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:270px;margin:auto}.pizza-turn{border:1px solid #d2bfa8;background:#f4e7d6;border-radius:15px;padding:10px;min-height:108px}.pizza-turn svg{height:70px;width:70px;display:block;margin:auto;transition:transform .2s}.pizza-turn span{display:block;font-size:11px;margin-top:6px}.cinema-row{padding:15px;background:#f2e4d3;border:1px dashed #b89378;border-radius:8px;margin-bottom:12px}.cinema-row label{font:20px Georgia,serif;display:block;margin-bottom:9px}.cinema-row select{font:14px inherit;width:100%;padding:12px;border:1px solid #c9b2a1;border-radius:5px;background:var(--cream);color:var(--ink)}.picnic-order{display:grid;grid-template-columns:1fr 1fr;gap:10px}.picnic-item{border:1px solid #ccb29f;border-radius:12px;background:#f2e3d3;min-height:88px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.picnic-item[aria-pressed=true]{outline:3px solid var(--wine)}.picnic-item .item-icon{font-size:29px}.picnic-item small{font-size:12px}.clues{font-size:13px;line-height:1.8;padding-left:20px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.memory-card{border:1px solid #9c5869;border-radius:10px;background:var(--wine);color:#f9dfae;aspect-ratio:1;font-size:30px;display:grid;place-items:center}.memory-card.revealed{background:#f0decb}.memory-card.matched{background:#e1e5cc;border-color:#8e9d73}.maze{display:grid;grid-template-columns:repeat(5,1fr);border:5px solid #9dba8b;border-radius:8px;overflow:hidden;background:#e3e8cd;max-width:275px;margin:auto}.maze-cell{aspect-ratio:1;display:grid;place-items:center;font-size:25px;border:1px solid #f8f5df}.maze-cell.wall{background:#84a075;color:#ced8b3}.maze-cell.runner{background:#f5d9b0}.race-controls{display:grid;grid-template-columns:repeat(3,44px);gap:6px;justify-content:center;margin-top:15px}.race-controls button{height:42px;border:1px solid #b59c83;border-radius:8px;background:#f0e1ce;font-size:22px}.race-controls button:first-child{grid-column:2}.race-controls button:nth-child(2){grid-column:1}.saved-note{font-size:11px!important;color:var(--muted)}.lost{padding:80px 25px;text-align:center}.noscript{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:20px;text-align:center;z-index:20}
@media(min-width:1300px){.layout{gap:95px}.glass{height:350px}.prizes{top:145px}}
@media(max-width:1000px){.shell{padding:0 28px}.layout{gap:35px}.controls-label{display:none}.title-star{right:0;font-size:45px}.prize{width:82px}.machine-top strong{font-size:46px}.eyebrow{font-size:9px}}
@media(max-width:720px){.shell{max-width:500px;padding:0 22px}.topbar{height:72px}.wordmark{font-size:10px;letter-spacing:1.4px}.brand-star{font-size:24px}.quiet{font-size:11px;padding:8px 11px}.layout{display:flex;flex-direction:column;gap:22px;padding:26px 0 32px}.intro{width:100%;padding:0;display:flex;flex-direction:column}.eyebrow{font-size:9px}h1{font-size:65px;letter-spacing:-3px;line-height:1;margin:17px 0 17px}h1 br{display:none}h1 em{display:block}.title-star{right:35px;top:25px;font-size:61px}.dedication{font-size:21px;margin-bottom:8px}.lead{font-size:15px;max-width:100%;margin-bottom:0}.how{font-size:13px;margin-bottom:0}.collection{margin-top:17px;max-width:none}.collection-label{max-width:320px}.shelf{margin:6px 0;gap:9px}.shelf button{height:43px;width:43px;border-radius:10px}#shelf-caption{display:none}.text-button{align-self:flex-start;font-size:11px}.ticket-stub{display:none}.arcade{width:100%;max-width:420px}.glass{height:306px}.machine-top{padding:12px}.machine-top strong{font-size:43px}.prizes{inset:115px 10px 18px}.prize{width:85px}.controls-label{display:block}.console{padding:13px 18px 17px}.machine-bottom{height:67px;padding:12px 20px}footer{font-size:8px;letter-spacing:1px;flex-direction:column;align-items:center;padding:20px 0;gap:8px}footer span:last-child{font-size:12px}dialog{padding:30px 23px}dialog h2{font-size:31px}.letter .note{font-size:21px}}
@media(max-width:720px){.layout{gap:12px}.intro{display:contents}.eyebrow{align-self:flex-start;order:0}h1{align-self:flex-start;order:1;font-size:48px;letter-spacing:-2px;margin:3px 0 4px}h1 em{display:inline}.title-star{display:none}.dedication{align-self:flex-start;order:2;margin:0;font-size:20px}.lead{order:3;font-size:14px;margin:0 0 9px}.how{display:none}.arcade{order:4}.collection{order:5;width:100%;margin-top:20px}.collection-label{max-width:none}.shelf{justify-content:space-between}.shelf button{width:52px;height:52px}#final-button{order:6;font-size:13px;margin-bottom:5px}}
@media(max-width:360px){h1{font-size:42px}.controls-label{display:none}.shell{padding:0 16px}.prize{width:76px}.dialog-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
