:root{--ink:#2f2340;--muted:#6f627b;--cream:#fff8ec;--card:#ffffffcc;--gold:#ffbd59;--pink:#ff7aaa;--blue:#75d6ff;--green:#8ee6a8;--shadow:0 22px 60px #55336b26}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#ffe1ef,transparent 32rem),radial-gradient(circle at top right,#d7f5ff,transparent 36rem),var(--cream);line-height:1.6}a{color:inherit}nav{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem clamp(1rem,4vw,4rem)}.logo{font-weight:900;font-size:1.35rem}.navlinks{display:flex;gap:1rem;flex-wrap:wrap}.navlinks a{text-decoration:none;font-weight:700;color:#5d4c6b}.hero{min-height:88vh;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;padding:3rem clamp(1rem,6vw,6rem) 5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900;color:#9d3e73}h1,h2,h3{line-height:1.05;margin:.2rem 0 1rem}h1{font-size:clamp(2.7rem,7vw,6.7rem);letter-spacing:-.07em}h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em}h3{font-size:1.35rem}.lede{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:58ch}.button,button{border:0;border-radius:999px;padding:.9rem 1.2rem;font-weight:900;cursor:pointer;background:var(--ink);color:white;box-shadow:0 10px 25px #2f234033;transition:.2s transform,.2s box-shadow}.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 15px 30px #2f234044}.button{text-decoration:none;display:inline-block}.ghost{background:white;color:var(--ink)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.boop,.vibe,.trip{font-weight:800;color:#6e3a82}.hero-card{position:relative;transform:rotate(2deg)}.hero-card img,.world-grid img{width:100%;height:100%;object-fit:cover;display:block}.hero-card img{border-radius:3rem;aspect-ratio:4/5;box-shadow:var(--shadow)}.badge{position:absolute;right:1rem;bottom:1rem;background:white;border-radius:1rem;padding:.8rem 1rem;font-weight:900;box-shadow:var(--shadow)}.section{padding:4rem clamp(1rem,6vw,6rem)}.intro{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1rem}.stat{background:var(--card);border:1px solid #fff;border-radius:1.5rem;padding:1.3rem;box-shadow:var(--shadow);font-weight:800}.stat span{display:block;font-size:2.2rem;font-weight:1000;color:#d84d87}.section-title{max-width:760px;margin-bottom:1.5rem}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.world-grid article,.treat-card,.quiz{background:var(--card);border:1px solid #fff;border-radius:2rem;padding:1rem;box-shadow:var(--shadow)}.world-grid article{overflow:hidden}.world-grid img{height:230px;border-radius:1.3rem}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem;align-items:start}.facts{display:grid;gap:.75rem;padding-left:1.2rem}.facts li{background:#fff7;border-radius:1rem;padding:.8rem 1rem}.treat-card{position:sticky;top:1rem;background:linear-gradient(160deg,#fff,#ffe8b8)}.breed-grid,.quiz-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.breed-grid button:nth-child(3n+1),.quiz-buttons button:nth-child(3n+1){background:var(--pink)}.breed-grid button:nth-child(3n+2),.quiz-buttons button:nth-child(3n+2){background:#4fbbe5}.breed-grid button:nth-child(3n),.quiz-buttons button:nth-child(3n){background:#48b86a}footer{text-align:center;padding:2rem;color:var(--muted)}@media (max-width:850px){.hero-grid,.split,.intro,.world-grid{grid-template-columns:1fr}.navlinks{font-size:.9rem}.hero-grid{padding-top:1rem}h1{font-size:3rem}}

/* Tap-to-celebrate dog portraits */
.world-grid article{position:relative;isolation:isolate;cursor:pointer;transition:.22s transform,.22s filter}.world-grid article:hover{transform:translateY(-4px) rotate(-.4deg)}.world-grid article::after{content:"tap portrait ✨";position:absolute;top:1.7rem;right:1.7rem;background:#ffffffe6;color:#6e3a82;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:1000;opacity:0;transform:translateY(-6px);transition:.2s}.world-grid article:hover::after{opacity:1;transform:translateY(0)}.world-grid article.celebrate img{animation:portraitWiggle .75s cubic-bezier(.2,1.7,.4,1)}.sparkle{position:fixed;z-index:9999;pointer-events:none;font-size:1.55rem;animation:sparklePop 900ms ease-out forwards;filter:drop-shadow(0 8px 12px #2f234044)}@keyframes portraitWiggle{0%{transform:scale(1) rotate(0)}20%{transform:scale(1.05) rotate(-3deg)}45%{transform:scale(1.08) rotate(3deg)}75%{transform:scale(1.04) rotate(-1deg)}100%{transform:scale(1) rotate(0)}}@keyframes sparklePop{0%{transform:translate(-50%,-50%) scale(.4) rotate(0);opacity:0}18%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1.35) rotate(28deg);opacity:0}}

/* Dog RPG */
.game-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#ffd7eb,transparent 24rem),radial-gradient(circle at 90% 15%,#c9f2ff,transparent 30rem),linear-gradient(180deg,#fff8ec,#ffecc9)}.game-shell{width:min(1050px,94vw);margin:0 auto;padding:1.5rem 0 4rem}.game-nav{padding:1rem 0}.game-panel{background:#ffffffd9;border:1px solid #fff;border-radius:2rem;box-shadow:var(--shadow);padding:clamp(1rem,3vw,2rem)}.game-hero{display:grid;grid-template-columns:1fr .9fr;gap:1.5rem;align-items:center}.pixel-yard{min-height:315px;border-radius:1.7rem;background:linear-gradient(#9fe8ff 0 45%,#8ee6a8 45%);position:relative;overflow:hidden;border:6px solid #fff}.sun{position:absolute;width:72px;height:72px;border-radius:50%;background:#ffcf4d;top:28px;right:38px;box-shadow:0 0 0 12px #ffcf4d33}.cloud{position:absolute;background:white;border-radius:999px;width:120px;height:38px;top:58px;left:45px;box-shadow:38px -18px 0 8px white,72px 0 0 2px white}.dog-sprite{position:absolute;left:42%;bottom:64px;font-size:5.5rem;animation:idleDog 1.4s infinite ease-in-out;transform-origin:bottom center}.aura-sprite{position:absolute;left:8%;bottom:76px;background:#fff;border-radius:1.4rem;padding:.7rem 1rem;font-weight:1000;box-shadow:var(--shadow)}.aura-sprite::after{content:"Aura ✨"}.quest-bubble{position:absolute;right:28px;bottom:138px;max-width:270px;background:#fff;border-radius:1.2rem;padding:.9rem;font-weight:800;box-shadow:var(--shadow)}.quest-bubble:after{content:"";position:absolute;bottom:-12px;left:30px;border:12px solid transparent;border-top-color:#fff;border-bottom:0}.game-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}.meter{background:#fff7;border-radius:1rem;padding:.75rem;font-weight:900}.meter span{display:block;font-size:1.45rem;color:#d84d87}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0}.choices button{border-radius:1.1rem;text-align:left}.story-log{background:#2f2340;color:#fff;border-radius:1.25rem;padding:1rem;min-height:9rem;max-height:18rem;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94rem}.story-log p{margin:.25rem 0}.inventory{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.item{background:#fff;border-radius:999px;padding:.45rem .75rem;font-weight:900;color:#6e3a82}.win-card{display:none;margin-top:1rem;background:linear-gradient(135deg,#fff,#ffe0f0);border:2px dashed #ff7aaa;border-radius:1.5rem;padding:1rem;font-weight:900}.win-card.show{display:block}.tiny-note{color:var(--muted);font-weight:800}@keyframes idleDog{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@media (max-width:850px){.game-hero,.choices,.game-stats{grid-template-columns:1fr}.pixel-yard{min-height:280px}.dog-sprite{font-size:4.5rem;left:35%}.quest-bubble{right:12px;left:12px;bottom:130px}}
.objective-card{background:linear-gradient(135deg,#fff,#fff3c9);border:1px solid #fff;border-radius:1.4rem;padding:1rem;margin-bottom:1rem}.objective-card h3{margin-top:0}.checklist{display:grid;gap:.45rem;margin-top:.75rem}.checklist span{display:block;background:#fff9;border-radius:999px;padding:.45rem .7rem;font-weight:900}.checklist .done{color:#258046}.game-actions{margin:.25rem 0 1rem}.game-actions .ghost{background:white;color:var(--ink)}
.riley-section{padding-top:2rem}.riley-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:1.5rem;align-items:center;background:linear-gradient(135deg,#fff,#ffe2f0 55%,#d9f6ff);border:1px solid #fff;border-radius:2rem;box-shadow:var(--shadow);padding:clamp(1rem,3vw,2rem);overflow:hidden}.riley-portrait{min-height:260px;border-radius:1.5rem;background:radial-gradient(circle at 50% 35%,#fff 0 30%,#ffd2a8 31% 55%,#c98f5a 56%);display:grid;place-items:center;font-size:7rem;box-shadow:inset 0 -20px 60px #8a4b5d22;animation:rileyRegal 2.3s infinite ease-in-out}.riley-facts{display:grid;gap:.55rem;padding-left:1.1rem}.riley-facts li{background:#fff9;border-radius:1rem;padding:.65rem .85rem}@keyframes rileyRegal{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-6px)}}@media(max-width:850px){.riley-card{grid-template-columns:1fr}.riley-portrait{min-height:200px}}
