@font-face{font-family:VeluweDisplay;src:url('/outputs/veluwe-font/VeluweDisplay-Regular.woff2') format('woff2');font-display:swap}
:root{--paper:#f3e6c8;--forest:#123c32;--blue:#0756a6;--orange:#f4511e;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;background:var(--forest);color:var(--forest)}
body{font-family:Georgia,'Times New Roman',serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}button{touch-action:manipulation}[hidden]{display:none!important}
.shop{height:100svh;min-height:540px;position:relative;overflow:hidden;isolation:isolate}.shop-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#715039}.artboard{position:absolute;left:50%;top:50%;width:max(100vw,150svh);aspect-ratio:3/2;transform:translate(-50%,-50%);transform-origin:53% 43%;will-change:transform}.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none}.wide-scene{opacity:1;transition:transform 1150ms var(--ease),opacity 650ms ease 160ms}.close-scene{opacity:0;transform:translate(-50%,-50%) scale(1.035);transition:opacity 750ms ease 220ms,transform 1200ms var(--ease);isolation:isolate}.merchant{position:absolute;inset:0;z-index:1;animation:merchant-breath 6s ease-in-out infinite;transform-origin:54% 90%}.counter-layer{z-index:2}.merchant-pose{position:absolute;left:16.927083%;top:2.34375%;width:65.104167%;height:auto;opacity:0;transition:opacity 190ms ease;pointer-events:none}.merchant-pose.is-active{opacity:1}.merchant-pose[data-emotion=happy]{left:15.214%;top:2.811%}.merchant-pose[data-emotion=mad]{left:13.085%;top:2.733%}.merchant-pose[data-emotion=laughing]{left:15.578%;top:6.938%}.merchant-pose[data-emotion=surprised]{left:12.151%;top:2.188%}
body[data-view=close] .wide-scene{opacity:0;transform:translate(-50%,-50%) scale(1.26)}body[data-view=close] .close-scene{opacity:1;transform:translate(-50%,-50%) scale(1)}
.shop-header{position:absolute;z-index:5;left:0;right:0;top:0;padding:clamp(18px,2.2vw,34px);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}.shop-header a,.shop-header nav{pointer-events:auto}.brand{display:block;width:145px;padding:8px 11px 6px;background:var(--paper);clip-path:polygon(0 4%,98% 0,100% 96%,1% 100%)}.brand img{display:block;width:100%;height:auto}.shop-header nav{display:flex;gap:9px;align-items:center}.header-link{font:13px/1.2 system-ui,sans-serif;text-decoration:none;padding:11px 15px;background:var(--paper);border:1px solid #123c322b}.shop-stamp{background:var(--forest);color:var(--paper);border:1px solid #f3e6c84a;padding:11px 16px;font:13px/1.2 system-ui,sans-serif}.wide-controls{position:absolute;inset:0;z-index:3;transition:opacity 250ms ease}.hotspot-board{pointer-events:none}.fox-hotspot{position:absolute;left:39%;top:17%;width:27%;height:43%;background:none;border:0;padding:0;pointer-events:auto;outline-offset:-8px}.hotspot-marker{position:absolute;right:8%;top:11%;display:grid;place-items:center;width:48px;height:37px;border-radius:55% 50% 50% 15%;background:var(--paper);color:var(--forest);font:700 26px/1 Georgia;box-shadow:0 2px 0 #123c3238;transition:transform 250ms var(--ease)}.fox-hotspot:hover .hotspot-marker{transform:translateY(-4px) rotate(-5deg)}.hotspot-label{position:absolute;left:46%;top:95%;white-space:nowrap;background:var(--paper);color:var(--forest);padding:10px 16px;font-size:17px;box-shadow:0 2px 0 #123c3233;transform:rotate(-3deg)}.hotspot-label span{color:var(--orange);margin-left:8px}.welcome-note{position:absolute;left:clamp(22px,3vw,48px);bottom:clamp(24px,4vw,60px);background:var(--paper);padding:24px 30px 25px;max-width:410px;box-shadow:3px 5px 0 #123c3235;clip-path:polygon(0 .7%,98.8% 0,100% 97%,.6% 100%)}.eyebrow{font:10px/1.4 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}.welcome-note h1{font:normal clamp(42px,4vw,67px)/1 VeluweDisplay,Impact,sans-serif;color:var(--blue);margin:10px 0 13px}.welcome-note p{font-size:17px;line-height:1.5;margin:0 0 20px}.start-link{background:none;border:0;border-bottom:1px solid #123c3255;padding:0 0 6px;font-size:16px}.start-link span{color:var(--orange);padding-left:10px}
.conversation{position:absolute;inset:0;z-index:4;pointer-events:none}.conversation button,.conversation a{pointer-events:auto}.return-button{position:absolute;top:105px;left:clamp(22px,2.2vw,34px);border:1px solid #f3e6c866;background:var(--forest);color:var(--paper);padding:11px 15px;font:13px/1.3 system-ui,sans-serif;opacity:0;transform:translateY(-8px);transition:opacity 350ms ease 500ms,transform 350ms ease 500ms}.key-hint{font-size:10px;opacity:.6;padding-left:12px}.dialogue-card{position:absolute;left:clamp(20px,2.2vw,34px);bottom:clamp(20px,2.2vw,34px);width:min(500px,41vw);padding:24px 28px 17px;background:var(--paper);box-shadow:0 10px 50px #123c3233,3px 4px 0 #71503966;opacity:0;transform:translateY(22px);transition:opacity 450ms ease 650ms,transform 650ms var(--ease) 650ms;pointer-events:auto;border-radius:2px 5px 3px 2px}.dialogue-card:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.04;background-image:url('/assets/performance-lossless/shop-01-shop-background.webp');background-size:1200px;mix-blend-mode:multiply}.dialogue-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #123c323b}.dialogue-heading h2{font:normal 33px/1 VeluweDisplay,Impact,sans-serif;color:var(--blue);margin:6px 0 0}.mood-label{font:italic 13px/1.4 Georgia;max-width:115px;text-align:right;transition:color 200ms}.dialogue-body{position:relative;padding:17px 0 18px;min-height:114px}.dialogue-text{font-size:clamp(16px,1.3vw,19px);line-height:1.5;margin:0;min-height:3em}.fact-source{font:11px/1.4 system-ui,sans-serif;display:inline-block;margin-top:11px;text-underline-offset:3px;opacity:.75}.replies{position:relative;display:grid;gap:5px}.reply{background:none;border:0;border-top:1px solid #123c322b;text-align:left;padding:10px 4px;display:flex;align-items:center;gap:12px;font:14px/1.35 system-ui,sans-serif;transition:background 180ms,color 180ms}.reply:last-child{border-bottom:1px solid #123c322b}.reply:hover{background:#0756a60b;color:var(--blue)}.reply-number{font-size:10px;opacity:.5;min-width:12px}.reply-arrow{margin-left:auto;color:var(--orange);font:20px/1 Georgia;transition:transform 200ms}.reply:hover .reply-arrow{transform:translateX(4px)}.dialogue-footer{position:relative;display:flex;justify-content:space-between;gap:10px;margin-top:14px;font:10px/1.4 system-ui,sans-serif;opacity:.65}.restart-link{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;font:inherit}.dialogue-footer>span{font-style:italic}.reward{position:relative;padding:14px 16px 12px;margin:0 0 15px;border:1px dashed var(--orange);background:#f4511e08}.reward>span{font-size:13px}.reward-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 9px}.reward-code code{font:700 clamp(15px,1.3vw,19px)/1.2 system-ui,sans-serif;color:var(--blue);letter-spacing:.03em;user-select:all}.reward-code button{background:var(--forest);color:var(--paper);border:0;font:11px/1.3 system-ui,sans-serif;padding:9px 11px}.reward small{font:10px/1.5 system-ui,sans-serif;display:block;opacity:.8}.load-status,.no-script{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;padding:16px 24px;background:var(--paper);font-size:16px;box-shadow:0 4px 25px #123c3233;text-align:center}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-view=close] .return-button,body[data-view=close] .dialogue-card{opacity:1;transform:translateY(0)}body[data-mood=mad] .mood-label{color:#b83a1b}body[data-mood=happy] .mood-label{color:var(--blue)}
@keyframes merchant-breath{0%,100%{transform:translateY(0)}50%{transform:translateY(1.5px)}}
.fox-hotspot:focus-visible{outline:0}.fox-hotspot:focus-visible .hotspot-label{outline:3px solid var(--orange);outline-offset:5px}
@media(min-width:1600px){.dialogue-card{width:510px}}
@media(max-width:900px){.shop-header{padding:18px}.brand{width:125px}.shop-stamp{display:none}.welcome-note{max-width:350px}.dialogue-card{width:420px;padding:20px 23px 15px}.return-button{top:87px;left:20px}.shop-header nav{gap:6px}.header-link{padding:10px 12px}.dialogue-text{font-size:17px}}
@media(max-width:600px){.shop{min-height:640px}.shop-header{padding:14px;gap:8px}.brand{width:112px;padding:7px 9px}.art-link{display:none}.header-link{font-size:12px}.welcome-note{left:16px;bottom:22px;width:min(330px,calc(100% - 32px));padding:20px 23px}.welcome-note h1{font-size:46px}.welcome-note p{font-size:15px;margin-bottom:14px}.eyebrow{font-size:9px}.hotspot-label{left:39%;top:92%;font-size:15px;padding:9px 13px}.hotspot-marker{right:14%;width:40px;height:33px;font-size:24px}.dialogue-card{left:12px;right:12px;bottom:14px;width:auto;padding:17px 20px 13px;max-height:55svh;overflow-y:auto;overscroll-behavior:contain}.dialogue-heading{padding-bottom:10px}.dialogue-heading h2{font-size:29px}.mood-label{font-size:12px;max-width:112px}.dialogue-body{padding:12px 0;min-height:93px}.dialogue-text{font-size:16px;line-height:1.45}.reply{font-size:12px;padding:9px 3px;min-height:40px}.dialogue-footer{font-size:9px;margin-top:11px}.dialogue-footer>span{display:none}.return-button{top:77px;left:14px;font-size:11px;padding:9px 12px}.key-hint{display:none}.reward{padding:10px 12px;margin-bottom:10px}.reward-code{padding:10px 0 7px}.reward-code code{font-size:16px}}
@media(max-height:720px) and (min-width:601px){.dialogue-card{padding:17px 23px 13px;bottom:16px;width:450px;max-height:75svh;overflow:auto}.dialogue-heading h2{font-size:28px}.dialogue-body{min-height:88px;padding:12px 0}.dialogue-text{font-size:16px}.reply{padding:8px 3px;font-size:13px}.welcome-note{padding:18px 24px}.welcome-note h1{font-size:47px}.return-button{top:89px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:1ms!important;transition-delay:0ms!important}.wide-scene,.close-scene{transform:translate(-50%,-50%)!important}}
