@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--stone:#1e2328;--slate:#4a5560;--taupe:#a88f72;--sand:#d6c6b2;--mist:#f0ede8;--cloud:#faf9f6;--copper:#c08a5a;--bronze:#8b6b4a;--success:#3e7b5f;--warn:#b98432;--error:#b65b5b;color:var(--mist);background:var(--stone);font-family:'Plus Jakarta Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin:0}em{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;color:var(--sand)}:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.shell{width:min(1430px,calc(100% - 70px));margin:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--mist);color:var(--stone);padding:10px;z-index:30}.skip:focus{top:10px}.site-header{border-bottom:1px solid #64584e}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px}.brand{display:flex;align-items:center;text-decoration:none;font-size:26px;font-weight:800;letter-spacing:-.06em}.brand-art{width:180px;height:55px}.brand-text{display:none}.brand-text span,footer span span{color:var(--taupe)}nav{display:flex;gap:42px}nav a{text-decoration:none;font-weight:700;font-size:14px}nav a:hover,.hero-link:hover{color:var(--sand)}.hero{padding:55px 0 50px}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--copper);font-weight:800}.eyebrow span{margin:0 7px}.hero h1{font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(57px,5.3vw,91px);line-height:1.1;letter-spacing:-.065em;margin-top:16px}.hero h1 em{color:var(--mist)}.hero-copy{font-size:18px;line-height:1.7;max-width:870px;color:#d3d3d1;margin-top:19px}.hero-link{display:inline-flex;gap:28px;padding:12px 0;border-bottom:2px solid var(--copper);margin-top:18px;text-decoration:none;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.hero-link span{color:var(--copper)}.section-bar{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}.section-bar h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:35px;margin-top:6px}.section-bar>p{max-width:360px;font-size:13px;color:#adb6bd;line-height:1.6}.arcade-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:20px}.game-frame,.score-panel{border:4px solid var(--taupe);box-shadow:inset 0 0 0 3px #342b27,0 18px 40px #121518;border-radius:7px}.game-frame{min-width:0;background:#1b1d20}.game-hud{height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;font:700 17px ui-monospace,Menlo,monospace;letter-spacing:.07em;white-space:nowrap}.hearts{color:#f36b75;font-size:27px;letter-spacing:.02em}.game-hud b{color:var(--mist)}.pixel-world{height:435px;position:relative;overflow:hidden;background:#84b8da;image-rendering:pixelated}.sky{position:absolute;inset:0 0 42%;background:linear-gradient(#86b8dd,#acd9eb)}.cloud{position:absolute;width:100px;height:20px;background:#e9edf0;box-shadow:20px -12px #e9edf0,50px -9px #e9edf0,80px 0 #e9edf0}.cloud-a{left:24%;top:26%}.cloud-b{right:12%;top:18%;transform:scale(.7)}.storefront{position:absolute;bottom:70px;height:290px;border:8px solid #453b40;box-shadow:inset 0 0 0 6px #745e55}.cafe{left:0;width:34%;background:#a76144}.salon{left:34%;width:33%;background:#b77886}.shop{left:67%;width:33%;background:#547a73}.roof{position:absolute;top:-32px;left:-8px;right:-8px;height:34px;background:#6f5046;border:7px solid #443b40}.salon .roof{background:#936175}.shop .roof{background:#3e625c}.store-sign{height:66px;display:grid;place-items:center;color:#fff0d2;text-shadow:3px 3px #372a31;font:700 clamp(15px,2.3vw,29px) ui-monospace,monospace;letter-spacing:.09em}.awning{height:38px;background:repeating-linear-gradient(90deg,#f1e5d6 0 24px,#ba7853 24px 48px);border-bottom:7px solid #513f3a;box-shadow:0 8px #362e31}.salon .awning{background:repeating-linear-gradient(90deg,#e8d8df 0 24px,#ae6e82 24px 48px)}.shop .awning{background:repeating-linear-gradient(90deg,#dce5d7 0 24px,#477669 24px 48px)}.windows{position:absolute;left:10%;right:10%;bottom:12px;height:116px;display:flex;gap:12px}.windows span{flex:1;background:#2b3942;border:7px solid #66463f;box-shadow:inset 0 0 0 5px #455b62}.salon .windows span{border-color:#795463}.shop .windows span{border-color:#41645b}.door{position:absolute;width:18%;height:130px;bottom:0;left:41%;background:#65483e;border:7px solid #382f31;box-shadow:inset 0 0 0 5px #99684f}.sidewalk{position:absolute;bottom:0;left:0;right:0;height:78px;background:repeating-linear-gradient(90deg,#b9afb2 0 80px,#787376 80px 84px);border-top:13px solid #747477;box-shadow:inset 0 12px #cec3bf}.rep{position:absolute;bottom:54px;left:16%;width:47px;height:96px;z-index:3;filter:drop-shadow(4px 4px 0 #413437);transition:left .18s linear}.rep-head{position:absolute;left:10px;top:11px;width:27px;height:30px;background:#e6a97e;border:4px solid #342d32}.rep-hair{position:absolute;left:7px;top:5px;width:31px;height:12px;background:#3c2d2c;box-shadow:7px -5px #3c2d2c}.rep-body{position:absolute;left:7px;top:39px;width:35px;height:39px;background:#ede7dd;border:5px solid #3a3c43}.rep-bag{position:absolute;right:-7px;top:54px;width:22px;height:22px;background:#976038;border:5px solid #3b3032}.rep-leg{position:absolute;top:76px;width:11px;height:20px;background:#2c3448;border-bottom:5px solid #302a2e}.rep-leg.left{left:10px}.rep-leg.right{right:7px}.game-panel{position:absolute;z-index:5;top:12%;left:50%;transform:translateX(-50%);width:min(530px,90%);padding:20px 22px;background:#f7efe4;border:5px solid #352c36;box-shadow:7px 7px 0 #7f5562;color:#1e2328}.panel-kicker{color:#8b6b4a;font:800 12px ui-monospace,monospace;letter-spacing:.1em}.game-panel h3{font:800 clamp(18px,2.1vw,26px) ui-monospace,monospace;line-height:1.3;margin:10px 0}.game-panel p:not(.panel-kicker):not(.feedback){font-size:13px;line-height:1.5}.pixel-button{border:3px solid #392d32;background:#d6a473;color:#211e21;font:800 14px ui-monospace,monospace;box-shadow:4px 4px 0 #553b37;padding:11px 15px;margin-top:16px;display:inline-flex;gap:24px;justify-content:space-between;align-items:center}.pixel-button:hover{background:#ebbf8f}.choices{display:grid;gap:7px}.choices button{width:100%;border:3px solid #514450;background:#fff9f1;color:#252128;text-align:left;padding:9px 11px;font:700 12px ui-monospace,monospace;line-height:1.3}.choices button:hover,.choices button:focus-visible{background:#f2d5aa}.choices button.correct{background:#b8d7c0;border-color:#3e7b5f}.choices button.wrong{background:#f1c3bd;border-color:#b65b5b}.choices button:disabled{cursor:default}.feedback{font-size:12px;line-height:1.5;margin-top:10px;min-height:0}.feedback a{color:#654023}.game-controls{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 14px;color:#c9c5c1;font:700 11px ui-monospace,monospace}.game-controls kbd{border:1px solid #6d6261;padding:1px 4px}.game-controls>div{display:flex;gap:6px}.game-controls button{background:#423b3d;color:#fff;border:1px solid #8e7464;min-width:36px;height:34px}.score-panel{padding:20px 14px;background:#201f22;align-self:start}.score-title{display:flex;align-items:center;gap:10px;border-bottom:1px solid #7b655b;padding:0 5px 16px}.score-title span{font-size:26px}.score-title h2{font:800 23px ui-monospace,monospace;letter-spacing:.04em}.score-panel ol{list-style:none;margin:14px 0;padding:0;display:grid;gap:6px}.score-panel li{display:flex;justify-content:space-between;gap:9px;padding:10px 8px;background:#302b2b;font:700 15px ui-monospace,monospace}.score-panel li:first-child{background:#6b4b39}.board-status,.board-note{font-size:12px;line-height:1.5;color:#b8b3af;margin-top:13px}.board-refresh{margin-top:12px;background:none;border:0;color:var(--sand);padding:8px 0;font-size:12px;text-decoration:underline}.arcade-footnote{color:#9ca2a6;font-size:12px;margin-top:10px}.info{display:grid;grid-template-columns:30% 1fr;gap:30px;padding:105px 0}.info-label{font:800 11px ui-monospace,monospace;letter-spacing:.18em;color:var(--copper);padding-top:8px}.info h2,.faq-section h2{font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(37px,4vw,60px);font-weight:400;line-height:1.2}.info p{max-width:690px;color:#bfc5c9;line-height:1.8;margin-top:20px;font-size:16px}.steps{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.steps span{border:1px solid #6e6259;color:var(--sand);padding:9px 12px;font:700 11px ui-monospace,monospace}.faq-section{background:var(--mist);color:var(--stone);padding:85px 0}.faq-section .info-label{margin-bottom:15px}.faq-intro{max-width:700px;line-height:1.7;color:var(--slate);margin-top:15px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.faq-grid details{border:1px solid #d6c6b2;background:#fff;padding:18px 20px}.faq-grid summary{font-size:16px;font-weight:700;cursor:pointer}.faq-grid p{font-size:14px;line-height:1.7;color:#47515a;margin-top:13px}.faq-grid a{display:block;color:#79573b;margin-top:7px}footer{padding:33px 0;color:#b8b5b2;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}footer a{text-decoration:none}dialog{background:#252428;color:var(--mist);border:4px solid var(--taupe);box-shadow:0 24px 80px #0009;width:min(480px,calc(100% - 26px));max-height:90vh;overflow:auto}dialog::backdrop{background:#1119}.modal-inner{position:relative;padding:28px}.modal-inner h2{font:800 28px ui-monospace,monospace;margin:12px 0}.modal-inner>p:not(.panel-kicker):not(.final-score){font-size:14px;line-height:1.6;color:#c7c8c6}.final-score{display:flex;justify-content:space-between;margin:20px 0;padding:15px;background:#3a3231;font:800 18px ui-monospace,monospace}form{display:grid;gap:9px;margin-top:18px}form[hidden],#question-view[hidden],#game-welcome[hidden],#next-button[hidden]{display:none}form label{font-size:12px;font-weight:700}form label span{font-weight:400;color:#aeb5bb}form input:not([type=checkbox]){width:100%;padding:10px;background:#f7f1e8;border:2px solid #a88f72;color:#1e2328;font-size:16px}.check-row{display:flex;align-items:start;gap:8px;line-height:1.4}.check-row input{margin:2px 0 0;accent-color:var(--copper)}.form-note{font-size:11px;line-height:1.5;color:#b8b5b2}.replay{background:none;border:0;color:var(--sand);text-decoration:underline;padding:8px 0;margin-top:16px}.modal-inner form .pixel-button{justify-content:center;margin-top:2px}
.game-panel{max-height:calc(100% - 22px);overflow:auto}
@media(max-width:1000px){.arcade-grid{grid-template-columns:1fr}.score-panel{width:100%}.score-panel ol{grid-template-columns:repeat(5,1fr)}.score-panel li{display:grid;text-align:center}.score-panel li b{display:block}.brand-art{width:150px}.game-panel{width:min(510px,90%)}}
@media(max-width:680px){.shell{width:calc(100% - 28px)}.header-inner{min-height:69px}.brand-art{width:135px;height:44px}nav{gap:11px}nav a{font-size:10px}nav a:nth-child(2),nav a:nth-child(4){display:none}.hero{padding:42px 0}.hero h1{font-size:clamp(43px,10vw,62px)}.hero-copy{font-size:15px}.section-bar{display:block}.section-bar>p{margin-top:10px}.game-hud{font-size:11px;padding:0 9px;height:42px}.hearts{font-size:20px}.pixel-world{height:365px}.storefront{height:240px}.store-sign{font-size:15px}.game-panel{top:5%;padding:12px 13px;box-shadow:4px 4px 0 #7f5562}.game-panel h3{font-size:17px;margin:6px 0}.game-panel p:not(.panel-kicker):not(.feedback){font-size:11px}.choices button{padding:7px;font-size:10px}.pixel-button{font-size:11px;padding:8px;margin-top:8px}.game-controls{font-size:9px}.game-controls kbd{display:none}.score-panel ol{grid-template-columns:1fr}.score-panel li{display:flex;text-align:left}.info{display:block;padding:70px 0}.info h2{margin-top:19px}.faq-section{padding:65px 0}.faq-grid{grid-template-columns:1fr}.footer-inner{display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rep{transition:none}}

/* The route advances through a changing street, with the arcade as the focal point. */
.route-meter{height:5px;background:#443b3a;overflow:hidden}
.route-meter span{display:block;width:0;height:100%;background:var(--copper);transition:width .35s ease-out}
.store-sign{padding:4px 8px;text-align:center;overflow-wrap:anywhere;font-size:clamp(12px,1.5vw,20px);line-height:1.1}
.storefront.is-active .door{box-shadow:inset 0 0 0 5px #99684f,0 0 0 4px #f5d6a1,0 0 24px #f5d6a177}
.storefront.is-active .store-sign{color:#fff6df}
.pixel-world .game-panel{transition:opacity .18s ease-out,transform .18s ease-out}
.pixel-world.is-travelling .game-panel{opacity:0;pointer-events:none;transform:translate(-50%,12px)}
.pixel-world.is-travelling .rep{transition:left .39s ease-in-out}
.pixel-world.is-travelling .rep-leg.left{animation:rep-step .22s steps(2,end) infinite alternate}
.pixel-world.is-travelling .rep-leg.right{animation:rep-step .22s steps(2,end) infinite alternate-reverse}
@keyframes rep-step{to{transform:translateY(-7px)}}
.choices button:disabled{opacity:1}
.game-controls button{min-width:44px;min-height:44px}
.game-controls button:hover{background:#5c4b45}
.game-panel .feedback:empty{display:none}
.workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:36px;border-top:1px solid #776556;border-bottom:1px solid #776556}
.workflow>div{padding:20px 22px 22px 0;position:relative}
.workflow>div+div{padding-left:22px;border-left:1px solid #776556}
.workflow span{display:block;color:var(--copper);font:800 10px ui-monospace,monospace;letter-spacing:.12em;margin-bottom:13px}
.workflow strong{display:block;font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:25px;line-height:1.2;color:var(--mist)}
.workflow p{font-size:12px;line-height:1.5;margin-top:9px;color:#bec5c8}
.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}
.modal-actions .replay{font-size:13px}
.brand-art{display:block;width:214px;height:auto;object-fit:contain}
@media(max-width:1000px){.score-panel ol{grid-template-columns:1fr}.score-panel li{display:flex;text-align:left}.score-panel li b{display:inline}}
@media(max-width:680px){
  .brand-art{width:154px;height:auto}
  .hero h1{font-size:clamp(42px,9vw,62px)}
  .game-hud{font-size:11px;letter-spacing:0}
  .pixel-world{height:490px}
  .storefront{height:280px}
  .store-sign{font-size:12px;padding:4px;min-height:66px}
  .game-panel{top:5%;width:calc(100% - 28px);max-height:90%;padding:16px}
  .game-panel h3{font-size:19px;line-height:1.25}
  .game-panel p:not(.panel-kicker):not(.feedback){font-size:13px}
  .choices button{font-size:13px;padding:10px;min-height:44px}
  .feedback{font-size:13px}
  .pixel-button{font-size:13px;min-height:44px}
  .game-controls{font-size:10px;line-height:1.4}
  .workflow{grid-template-columns:1fr}
  .workflow>div,.workflow>div+div{padding:18px 0;border-left:0}
  .workflow>div+div{border-top:1px solid #776556}
}
@media(prefers-reduced-motion:reduce){
  .route-meter span,.pixel-world .game-panel,.pixel-world.is-travelling .rep{transition:none}
  .pixel-world.is-travelling .rep-leg.left,.pixel-world.is-travelling .rep-leg.right{animation:none}
}

/* A detailed street image carries the scene; the signs, doors and characters stay interactive. */
body{background:radial-gradient(circle at 50% -10%,#33302d 0,#1b1c1f 52%,#151618 100%)}
.site-header{background:#1a1a1bcc;border-bottom-color:#8b694e}
.header-inner{min-height:72px}
.hero{padding:26px 0 20px}
.hero h1{font-size:clamp(39px,4.3vw,65px);line-height:1.08;margin-top:7px;letter-spacing:-.045em}
.hero h1 em{font-style:normal}
.hero-copy{font-family:'Libre Caslon Text',Georgia,serif;font-size:17px;line-height:1.4;margin-top:6px}
.hero-link{margin-top:8px;padding:7px 0}
.section-bar{margin-bottom:9px}
.section-bar h2{font-size:26px;margin-top:3px}
.arcade-grid{grid-template-columns:minmax(0,1fr) 264px;gap:14px}
.game-frame,.score-panel{border-color:#b5794b;box-shadow:inset 0 0 0 2px #39241c,0 16px 32px #08090aa8}
.game-hud{height:45px;background:linear-gradient(#2f2523,#171719);font-size:14px;color:#f7e9d5}
.pixel-world{height:430px;background:#6fa8d2;overflow:clip}
.street-track{position:absolute;inset:0 auto 0 0;width:300%;height:100%;display:flex;z-index:1;transition:transform .16s linear;will-change:transform}
.street-track.is-resetting{transition:none}
.pixel-world.is-auto-walking .street-track,.pixel-world.is-auto-walking .rep{transition:none}
.street-block{position:relative;flex:0 0 33.333333%;height:100%;background:url('/assets/merchant-street.webp') center/100% 100% no-repeat}
.street-block[data-art="b"]{background-image:url('/assets/merchant-street-next.webp')}
.storefront{top:0;bottom:0;height:auto;width:33.333%;border:0;box-shadow:none;background:none;cursor:pointer}
.storefront.cafe{left:0}.storefront.salon{left:33.333%}.storefront.shop{left:66.666%}
.store-sign{position:absolute;top:11%;left:27%;width:46%;height:18%;padding:0 5px;display:grid;place-items:center;font:800 clamp(11px,1.4vw,19px) 'Libre Caslon Text',Georgia,serif;letter-spacing:0;color:#f8e6c7;text-shadow:2px 2px #201915,0 0 7px #f8c980;overflow-wrap:anywhere;text-wrap:balance;line-height:1.1;text-align:center}
.salon .store-sign{top:12%;left:24%;width:52%}
.shop .store-sign{top:12%;left:22%;width:56%}
.storefront .door{position:absolute;left:37%;bottom:10%;width:26%;height:43%;background:none;border:0;box-shadow:none}
.storefront.is-active .door{box-shadow:none;outline:3px dashed #ffe7a9;outline-offset:1px;filter:drop-shadow(0 0 9px #ffdc7b)}
.storefront{--door-face:#704635;--door-edge:#ae7956;--door-frame:#36272a}
.storefront.salon{--door-face:#a86f84;--door-edge:#d19aac;--door-frame:#49303e}
.storefront.shop{--door-face:#466f66;--door-edge:#7eaa97;--door-frame:#2b4643}
.street-block[data-art="b"] .storefront.cafe{--door-face:#773f38;--door-edge:#b1765c}
.street-block[data-art="b"] .storefront.salon{--door-face:#4d6883;--door-edge:#849bb5}
.street-block[data-art="b"] .storefront.shop{--door-face:#436344;--door-edge:#7ca273}
.storefront .door{perspective:500px;z-index:2}
.storefront .door::before,.storefront .door::after{content:'';position:absolute;inset:0;display:block;border:4px solid var(--door-frame)}
.storefront .door::before{background:repeating-linear-gradient(90deg,#211c23 0 10px,#3b2b30 10px 14px);box-shadow:inset 0 0 16px #070607}
.storefront .door::after{background:radial-gradient(circle at 83% 54%,#f3ca83 0 2px,transparent 3px),linear-gradient(90deg,var(--door-edge) 0 12%,transparent 12% 88%,var(--door-edge) 88%),linear-gradient(to bottom,var(--door-face) 0 10%,#26343b 10% 61%,var(--door-face) 61%);box-shadow:inset 0 0 0 3px var(--door-edge),inset 0 -12px #0003;transform-origin:left center;transform:rotateY(0);transition:transform .42s ease-in-out;backface-visibility:hidden}
.storefront.door-open .door::after{transform:rotateY(-78deg)}
.storefront.door-open .door{outline:0;filter:none}
.storefront.is-active .store-sign{color:#fff8df}
.rep{bottom:14px;left:4%;z-index:4;transition:left .16s linear;filter:drop-shadow(3px 4px 1px #211a1a)}
.merchant{position:absolute;bottom:14px;left:11%;width:60px;height:96px;z-index:3;opacity:0;transform:translate(-20px,-12px) scale(.72);transform-origin:bottom center;transition:opacity .35s,transform .42s ease-out;filter:drop-shadow(3px 3px 0 #2e2428)}
.has-merchant .merchant{opacity:1;transform:translate(0,0) scale(1)}
.merchant-head{position:absolute;top:9px;left:9px;width:27px;height:29px;background:#dfa278;border:4px solid #382c2d}
.merchant-hair{position:absolute;top:3px;left:7px;width:31px;height:15px;background:#382627;box-shadow:5px -4px #382627}
.merchant-body{position:absolute;top:36px;left:5px;width:37px;height:38px;background:#98533e;border:5px solid #352b30;box-shadow:inset 0 0 0 4px #d39862}
.merchant[data-variant="1"] .merchant-body{background:#426d7c;box-shadow:inset 0 0 0 4px #a9d0ce}
.merchant[data-variant="1"] .merchant-hair{background:#5b3b28;box-shadow:5px -4px #5b3b28}
.merchant[data-variant="2"] .merchant-body{background:#716089;box-shadow:inset 0 0 0 4px #c4a8d2}
.merchant[data-variant="2"] .merchant-head{background:#c7815b}
.merchant[data-variant="3"] .merchant-body{background:#59764c;box-shadow:inset 0 0 0 4px #becb85}
.merchant[data-variant="3"] .merchant-hair{height:9px;top:7px;background:#211d25;box-shadow:5px -4px #211d25}
.walk-prompt{position:absolute;z-index:5;bottom:13%;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:9px 15px;background:#252026ec;border:3px solid #dba671;box-shadow:4px 4px 0 #35242a;color:#fff1d9;text-align:center;font:800 13px ui-monospace,monospace;line-height:1.4}
.walk-prompt[hidden]{display:none}
.pixel-world.is-walking .game-panel{display:none}
.pixel-world .game-panel{top:7%;left:64%;width:min(460px,68%);max-height:calc(100% - 38px);overflow:visible;padding:15px 18px;background:#fff4dc;border:4px solid #32242d;border-radius:6px;box-shadow:6px 6px 0 #583d43;transition:none}
.pixel-world #question-view{max-height:345px;overflow-y:auto;scrollbar-width:thin}
.pixel-world .game-panel::after{content:'';position:absolute;left:16%;bottom:-17px;width:20px;height:20px;background:#fff4dc;border-right:4px solid #32242d;border-bottom:4px solid #32242d;transform:rotate(45deg)}
.game-panel h3{font-size:clamp(17px,1.8vw,23px);margin:7px 0 11px}
.choices{gap:5px}
.choices button{background:#fff8e7;border-color:#473137;border-radius:3px;padding:7px 10px}
.choices button:hover,.choices button:focus-visible{background:#f8cc86}
.pixel-button{background:#d99b5d;box-shadow:3px 3px 0 #50312c}
.score-panel{padding:12px;background:linear-gradient(#2b2525,#1b1b1e)}
.score-title{padding-bottom:10px;gap:7px}.score-title h2{font-size:19px}.score-title span{font-size:21px}
.score-panel li{font-size:12px;padding:7px 8px;background:#332b29}
.score-panel li:first-child{background:#654633}
.arcade-footnote{font-family:'Libre Caslon Text',Georgia,serif;font-style:italic}
@media(max-width:1000px){.arcade-grid{grid-template-columns:1fr}.score-panel{width:100%}.score-panel ol{grid-template-columns:repeat(5,1fr)}.score-panel li{display:grid;text-align:center}}
@media(max-width:680px){.header-inner{min-height:62px}.hero{padding:30px 0 25px}.hero h1{font-size:clamp(42px,9vw,60px)}.hero-copy{font-size:15px}.pixel-world{height:470px}.store-sign,.salon .store-sign{font-size:12px}.pixel-world .game-panel{top:5%;left:50%;width:calc(100% - 28px);padding:13px}.pixel-world #question-view{max-height:390px}.pixel-world .game-panel h3{font-size:18px}.merchant{bottom:9px;transform:translate(-14px,-10px) scale(.6)}.has-merchant .merchant{transform:scale(.85)}.rep{transform-origin:bottom center;scale:.85;bottom:9px}.walk-prompt{font-size:11px;bottom:10%}.score-panel ol{grid-template-columns:1fr}.score-panel li{display:flex;text-align:left}}
@media(prefers-reduced-motion:reduce){.street-track,.rep,.merchant,.storefront .door::after{transition:none}}

.brand{gap:9px;letter-spacing:-.055em}
.brand-mark{display:block;width:48px;height:35px;object-fit:contain;flex:none}
.brand-name{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:27px;font-weight:800;line-height:1;white-space:nowrap;color:#f4f1ed}
.brand-name span{color:#b99b7d}
.rep{width:47px;height:89px;overflow:visible;pointer-events:none;image-rendering:pixelated}
.rep img{position:absolute;left:-26px;top:-32px;width:102px;height:auto;max-width:none;pointer-events:none;image-rendering:pixelated}
.merchant{overflow:visible;pointer-events:none;image-rendering:pixelated}
.merchant img{position:absolute;left:-12px;top:-7px;width:72px;height:auto;max-width:none;pointer-events:none;image-rendering:pixelated}
@media(max-width:680px){.brand{gap:6px}.brand-mark{width:38px;height:28px}.brand-name{font-size:21px}}

/* Keep feet on the pavement while the merchant walks out from the door center. */
.rep{width:1px;height:160px;scale:1;bottom:14px;transform-origin:bottom center}
.rep img{left:-42px;top:-39px;width:170px}
.merchant{width:1px;height:160px;bottom:14px;z-index:3;transform:translate(0,5px) scale(.72);transform-origin:bottom center;transition:opacity .3s ease-out,transform .48s ease-out}
.merchant img{left:-58px;top:-7px;width:116px}
.has-merchant .merchant{opacity:1;transform:translate(calc(-1 * var(--merchant-step, 35px)),0) scale(1)}
.rep.is-facing-left img{transform:scaleX(-1)}
.pixel-world.is-key-walking .rep,.pixel-world.is-key-walking .street-track{transition:none}
@media(max-width:680px){.rep{scale:1;bottom:14px}.merchant{bottom:14px;transform:translate(0,5px) scale(.72)}.has-merchant .merchant{transform:translate(calc(-1 * var(--merchant-step, 35px)),0) scale(1)}}
@media(max-width:440px){.rep{height:130px}.rep img{left:-35px;top:-29px;width:136px}.merchant{height:130px}.merchant img{left:-47px;top:-3px;width:93px}}

/* Result dialog controls share one clear button treatment. */
.modal-inner form .pixel-button{width:100%;min-height:46px;margin-top:4px;justify-content:center;gap:10px;text-align:center}
.modal-actions{display:flex;gap:10px;margin-top:18px}
.modal-actions .replay{flex:1;min-height:44px;margin:0;padding:9px 12px;border:2px solid #8b694e;background:#322b29;color:var(--mist);font-size:13px;font-weight:700;text-align:center;text-decoration:none}
.modal-actions .replay:hover,.modal-actions .replay:focus-visible{background:#4b3930;border-color:var(--copper)}

/* The page warms into the FAQ and cools back into the footer as one continuous scroll. */
body{background:radial-gradient(ellipse 75% 25% at 50% 0%,#372b28 0%,transparent 78%),linear-gradient(180deg,#1b1c1f 0%,#202020 52%,#191b1d 100%)}
.info{padding-bottom:70px}
.faq-section{--bridge-height:190px;background-color:var(--mist);background-image:linear-gradient(180deg,#191b1d 0%,#483b34 26%,#b8a894 64%,#f0ede8 100%);background-size:100% var(--bridge-height);background-repeat:no-repeat;padding-top:calc(var(--bridge-height) + 30px)}
footer{--bridge-height:160px;background-color:#151618;background-image:linear-gradient(180deg,#f0ede8 0%,#b8a894 36%,#5a4a3e 72%,#151618 100%);background-size:100% var(--bridge-height);background-repeat:no-repeat;padding-top:calc(var(--bridge-height) + 25px)}
@media(max-width:680px){.info{padding-bottom:50px}.faq-section{--bridge-height:150px;padding-top:calc(var(--bridge-height) + 24px)}footer{--bridge-height:125px;padding-top:calc(var(--bridge-height) + 18px)}}
