:root{--ink:#202c31;--muted:#5b696d;--paper:#f6f6f1;--line:#d7ddda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a1592e;outline-offset:5px}a,button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1{font-size:clamp(38px,4.5vw,68px);line-height:1.22;letter-spacing:-2px;font-weight:650}h2{font-size:clamp(27px,3vw,39px);letter-spacing:-1px;line-height:1.4}h3{font-size:25px;line-height:1.5}p{line-height:1.9}.top{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.logo{font-size:38px;font-weight:900;letter-spacing:-3px;display:inline-flex;align-items:center;gap:16px;color:#111}.logo span{font-size:9px;letter-spacing:2px;max-width:70px;line-height:1.6}.top nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.top nav a{padding:14px 0}.nav-play{border:1px solid var(--ink);border-radius:30px;padding:12px 20px;font-size:14px;white-space:nowrap}main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:620px;gap:26px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;margin-bottom:22px}.intro{font-size:17px;color:var(--muted);margin:25px 0}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:50px;padding:15px 24px;font-size:14px;border-radius:4px}.dark{background:var(--ink);color:white}.button:hover{background:#40575f;color:#fff}.outline{border:1px solid var(--ink)}.text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid currentColor}.micro{font-size:12px;color:var(--muted);margin-top:20px}.hero-stage{height:480px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fffefa,#dfe6e3 68%);border-radius:50% 50% 6px 6px}.stage-label{position:absolute;top:28px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px}.orbit{position:absolute;bottom:62px;left:8%;width:84%;height:80px;border:1px solid #b8c6c3;border-radius:50%;box-shadow:0 20px 35px #293f4020;background:#e2e8e3}.figurine{background-image:url('assets/cat-dog-miniatures-v01.png');background-size:600% 200%;background-position:calc(var(--col,0)*20%) calc(var(--row,0)*100%);background-repeat:no-repeat;mix-blend-mode:multiply}.hero-stage .figurine{position:absolute;width:56%;height:350px;bottom:66px;filter:drop-shadow(3px 15px 5px #29323225)}.cat{left:-1%;--row:0;z-index:1}.dog{right:-1%;--row:1}.stage-bottom{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:13px}.stage-bottom span{display:block;color:var(--muted);font-size:10px;margin-top:6px}.chapter-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:20px 0;font-size:12px;letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}section:not(.hero){padding:65px 0}.game-card{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.game-scene{min-height:400px;background:linear-gradient(0deg,#102324ed,transparent),url('assets/archive-chamber.png') center/cover;position:relative;padding:28px;color:#f7ecdb}.pill{display:inline-block;border:1px solid currentColor;border-radius:30px;padding:8px 13px;font-size:11px}.scene-copy{position:absolute;bottom:34px;left:30px;right:20px}.scene-copy p{font-size:34px;font-family:Georgia,serif;letter-spacing:3px}.scene-copy h3{font-size:21px;margin:10px 0}.scene-copy span{font-size:12px}.game-details{padding:40px;background:#e8edeb}.game-details>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:16px 0}.game-details ul{padding:0;display:flex;list-style:none;gap:25px;margin:24px 0}.game-details li{font-size:11px}.game-details strong{display:block;font-size:28px;margin-bottom:7px;font-weight:500}.collection-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.collect-card{padding:25px;border-radius:6px}.warm{background:#ede8dd}.cool{background:#dce4e6}.card-number{font-size:10px;letter-spacing:2px}.portrait{height:280px;width:100%;margin:8px auto}.collect-card small{font-size:11px;letter-spacing:1px}.collect-card h3{font-size:20px;margin:10px 0}.collect-card p,.collection-note p{font-size:14px;color:var(--muted)}.collection-note{padding:25px 15px;display:flex;flex-direction:column;justify-content:center;align-items:start;gap:22px}.collection-note>span{font-size:38px}.collection-note small{font-size:11px;line-height:1.8;color:var(--muted)}.community-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.community-section>div>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:20px}.community-preview{padding:30px;background:#e9edeb;border-radius:6px}.community-preview h3{font-size:20px;margin:24px 0 8px}.topic{display:flex;gap:25px;padding:16px 0;border-bottom:1px solid #ccd5d1;font-size:13px}.topic span{color:var(--muted)}.shop-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.shop-section p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:440px;margin:20px 0}.shop-section small{display:block;font-size:11px;margin-top:14px;color:var(--muted)}.shop-wordmark{background:#dbe2df;color:#1d292e;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:130px;font-weight:900;letter-spacing:-10px;min-height:300px;border-radius:6px}.shop-wordmark span{font-size:12px;letter-spacing:4px;line-height:1.9;text-align:center;margin-top:10px}footer{border-top:1px solid var(--line);max-width:1296px;margin:auto;padding:35px 0;display:flex;align-items:center;gap:24px;flex-wrap:wrap}footer p{font-size:12px;color:var(--muted)}footer>div{margin-left:auto;display:grid;gap:7px;font-size:10px;color:var(--muted)}footer>a:last-child{font-size:12px;padding:14px} @media(max-width:900px){.top{gap:16px}.top nav{gap:17px}.logo span{display:none}.hero{min-height:550px}.hero-stage{height:390px}.hero-stage .figurine{height:280px}.collection-grid{grid-template-columns:1fr 1fr}.collection-note{grid-column:1/-1;display:block;padding:20px 0}.collection-note>*{margin:12px 0}.collection-note small{display:block}.community-section,.shop-section{gap:28px}.game-details{padding:25px}footer{margin:0 5%}}@media(max-width:600px){html{scroll-padding-top:20px}.top{padding:16px 5%;flex-wrap:wrap}.logo{font-size:34px}.top nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;font-size:13px}.nav-play{margin-left:auto}.hero{grid-template-columns:1fr;padding:38px 0 30px;gap:30px}h1{font-size:43px}.hero-stage{height:340px}.hero-stage .figurine{height:265px;bottom:53px}.orbit{bottom:53px}.stage-bottom{bottom:14px}.intro{font-size:15px}.chapter-line{font-size:10px}.chapter-line span:last-child{display:none}section:not(.hero){padding:40px 0}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading .eyebrow{margin-bottom:10px}.game-card{grid-template-columns:1fr}.game-scene{min-height:270px}.game-details{padding:26px}.collection-grid{gap:12px}.collect-card{padding:16px}.portrait{height:195px}.collect-card h3{font-size:17px}.collect-card p{font-size:12px}.community-section,.shop-section{grid-template-columns:1fr}.topic{gap:15px;font-size:12px}.community-preview{padding:22px}.shop-wordmark{min-height:230px;font-size:100px}footer>div{margin-left:0;width:100%}.actions{gap:16px}.button{padding:14px 20px}.eyebrow{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A sprite cell is 256 x 512. Preserve this ratio at every screen size. */
.hero-stage .figurine{width:min(46%,175px);height:auto;aspect-ratio:1/2;bottom:62px}
.hero-stage .cat{left:8%}.hero-stage .dog{right:8%}
.collection-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.collect-card{padding:16px 12px;min-width:0}
.portrait{width:100%;height:auto;aspect-ratio:1/2;max-width:180px;margin:8px auto 18px}
.role-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border:1px solid #7b8583;border-radius:50%;font-size:15px;font-weight:650}
.collect-card small{font-size:10px;line-height:1.6;letter-spacing:0}.collect-card h3{font-size:17px;margin:8px 0}.collect-card p{font-size:12px;line-height:1.8}
.faction-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:32px 0 18px}.faction-heading h3{font-size:21px}.faction-heading p{font-size:12px;color:var(--muted)}
.collection-note{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}.collection-note>*{margin:0}.collection-note h3{font-size:20px}.collection-note small{display:block;margin-top:8px}.collection-note a{flex-shrink:0}
@media(max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collect-card{padding:20px}.hero-stage .figurine{width:min(40%,140px)}}
@media(max-width:600px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collect-card{padding:14px 12px}.hero-stage .figurine{width:min(40%,130px);bottom:53px}.hero-stage .cat{left:7%}.hero-stage .dog{right:7%}.faction-heading{align-items:start;flex-direction:column;gap:4px}.collection-note{align-items:start;flex-direction:column}.collect-card h3{font-size:16px}}

/* Individual art bounds prevent neighbouring figures from leaking into cards. */
.figurine{background-image:none}.figurine svg{display:block;width:100%;height:100%;overflow:hidden}

.language-picker{display:inline-flex;align-items:center}.language-picker select{font:inherit;font-size:13px;padding:10px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:4px;max-width:120px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.top{flex-wrap:wrap;gap:20px}.top nav{flex-wrap:wrap}.role-badge{padding:0 6px;font-size:12px}.hero-copy h1{font-size:clamp(34px,4vw,58px)}@media(max-width:600px){.top nav{gap:12px;justify-content:flex-start}.hero-copy h1{font-size:38px}.collect-card h3{overflow-wrap:anywhere}.language-picker{margin-left:auto}.nav-play{margin-left:0}}

.amazon{background:#ffe7b7;border:1px solid #8c5f13;color:#2d2110}.amazon:hover{background:#f2c15f;color:#241806}
