/* Homepage extras: real-photo hotspots, stretching dachshund, mood check, signal of the day, pup tricks, paw trail, newsletter paws */
/* paw trail */
.hp-trail{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hp-trail span{position:absolute;font-size:18px;opacity:0;animation:trailPaw 1.4s ease-out forwards;transform-origin:center}
@keyframes trailPaw{0%{opacity:.5;transform:rotate(var(--r)) scale(.7)}30%{opacity:.45;transform:rotate(var(--r)) scale(1)}100%{opacity:0;transform:rotate(var(--r)) scale(1)}}
/* mood check */
.hp-mood{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:22px 20px 24px}
.hp-mood h2{margin:0 0 4px;font-size:clamp(24px,3.4vw,32px);text-align:center}
.hp-mood .sub{font-family:system-ui,sans-serif;color:var(--muted);text-align:center;margin:0 0 16px;font-size:15px}
.hp-mood .row{display:grid;gap:8px;grid-template-columns:76px 1fr;align-items:center;margin:0 0 10px}
.hp-mood .row b{font-family:system-ui,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dk)}
.hp-mood .opts{display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}
.hp-mood .opts button{font-family:system-ui,-apple-system,sans-serif;font-size:14px;font-weight:600;background:#fff;border:2px solid var(--line);border-radius:12px;padding:10px 6px;cursor:pointer;color:var(--ink);transition:transform .12s,border-color .2s,background .2s;line-height:1.25}
.hp-mood .opts button:hover{transform:translateY(-1px);border-color:var(--accent)}
.hp-mood .opts button.on{background:#2c2622;color:#fff;border-color:#2c2622}
.hp-mood .out{margin-top:14px;border-radius:16px;padding:14px 16px;font-size:16px;line-height:1.5;display:none;animation:cardIn .35s ease}
.hp-mood .out.show{display:block}
.hp-mood .out.ok{background:#eef4ea;border:1px solid #cfe0c9}.hp-mood .out.mid{background:#fdf3dc;border:1px solid #efd9a2}.hp-mood .out.no{background:#fdeeea;border:1px solid #f1cfc4}
.hp-mood .out a{font-family:system-ui,sans-serif;font-weight:700;color:var(--accent-dk);text-decoration:none;display:inline-block;margin-top:6px}
@media(max-width:560px){.hp-mood .row{grid-template-columns:1fr}.hp-mood .opts button{font-size:13px;padding:9px 4px}}
/* Wag or Warning? game */
.wow{max-width:560px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif}
.wow-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:14px;color:var(--muted)}
.wow-top b{font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.wow-top .streak{background:#fdf3dc;border:1px solid #efd9a2;border-radius:999px;padding:4px 10px;font-weight:700;color:#9a6d43;font-size:13px;transition:transform .2s}
.wow-top .streak.pop{transform:scale(1.25)}
.wow-bar{height:8px;background:#e9dfcf;border-radius:999px;overflow:hidden;margin:0 0 14px}
.wow-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--terra),var(--mustard));border-radius:999px;transition:width .25s linear}
.wow-bar i.hurry{background:#b4432a}
.wow-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px 26px 30px;min-height:230px;box-shadow:0 18px 44px rgba(0,0,0,.09);text-align:center;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform .25s,border-color .2s,background .2s;overflow:hidden}
.wow-card.in{animation:wowIn .3s ease}
@keyframes wowIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.wow-card.right{background:#eef4ea;border-color:#3f7d4e}.wow-card.wrong{background:#fdeeea;border-color:#b4432a;animation:wowShake .35s}
@keyframes wowShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.wow-card .ico{font-size:40px;line-height:1;margin:0 0 12px}
.wow-card .sig{font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,3vw,26px);line-height:1.3;margin:0;color:var(--ink)}
.wow-card .fb{position:absolute;left:0;right:0;bottom:0;padding:10px 16px;font-size:14px;font-weight:600;background:rgba(255,255,255,.85);border-top:1px solid var(--line);opacity:0;transition:opacity .2s}
.wow-card.right .fb,.wow-card.wrong .fb{opacity:1}
.wow-card.right .fb{color:#3f7d4e}.wow-card.wrong .fb{color:#b4432a}
.wow-card .hintL,.wow-card .hintR{position:absolute;top:14px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.35}
.wow-card .hintL{left:16px;color:#3f7d4e}.wow-card .hintR{right:16px;color:#b4432a}
.wow-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.wow-btn{border:none;border-radius:18px;padding:18px 12px;font:inherit;font-size:17px;font-weight:700;cursor:pointer;color:#fff;transition:transform .12s,filter .15s;display:flex;flex-direction:column;align-items:center;gap:4px}
.wow-btn small{font-weight:500;font-size:12px;opacity:.85}
.wow-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.wow-btn:active{transform:scale(.97)}
.wow-btn.ok{background:#3f7d4e}.wow-btn.no{background:#d9714e}
.wow-btn:disabled{opacity:.5;cursor:default;transform:none}
.wow-start,.wow-end{text-align:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px 24px;box-shadow:0 18px 44px rgba(0,0,0,.09);animation:wowIn .35s ease;position:relative;overflow:hidden}
.wow-start .big{font-size:56px;line-height:1;margin:0 0 10px}
.wow-start p,.wow-end p{margin:0 0 16px;font-size:16px;line-height:1.5;color:#4a413a}
.wow-go{font:inherit;font-weight:700;font-size:18px;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:16px 34px;cursor:pointer;transition:background .15s,transform .12s;box-shadow:0 10px 26px rgba(44,38,34,.18)}
.wow-go:hover{background:#43392f;transform:translateY(-2px)}
.wow-end .score{font-family:Georgia,serif;font-size:64px;line-height:1;margin:6px 0 2px;color:var(--terra)}
.wow-end .rank{font-family:Georgia,serif;font-size:26px;margin:0 0 6px}
.wow-end .best{font-size:13px;color:var(--muted);margin:0 0 14px}
.wow-end .best.new{color:#3f7d4e;font-weight:700}
.wow-end .nudge{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:14px 0 16px;font-size:15px}
.wow-end .nudge a{display:inline-block;margin-top:8px;font-weight:700;color:#fff;background:var(--accent-dk);text-decoration:none;border-radius:999px;padding:10px 18px;font-size:14px}
.wow-end .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.wow-end .alt{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.wow-end .miss{text-align:left;margin:14px 0 0;padding:0;list-style:none;font-size:14px;color:#4a413a}
.wow-end .miss li{padding:8px 0;border-top:1px solid var(--line)}
.wow-end .miss b{color:#b4432a}
.wow-end .miss-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 0;text-align:left}
.wow-kbd{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
.wow-kbd kbd{border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:#fff;font-family:inherit}
.wow .gf-paws span{position:absolute;bottom:-30px;font-size:22px;animation:wowRise 1.8s ease-out forwards;opacity:0}
@keyframes wowRise{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-320px) rotate(30deg);opacity:0}}
/* pup tricks */
.pup.show{pointer-events:auto;cursor:pointer}
.pup svg{transform-origin:50% 100%}
.pup.bow svg{animation:pupBow .9s ease-in-out}
.pup.left.bow svg{animation:pupBowL .9s ease-in-out}
@keyframes pupBow{0%,100%{transform:rotate(0)}40%,70%{transform:rotate(14deg) translateY(4px)}}
@keyframes pupBowL{0%,100%{transform:scaleX(-1) rotate(0)}40%,70%{transform:scaleX(-1) rotate(14deg) translateY(4px)}}
.pup.spin svg{animation:pupSpin .8s ease-in-out}
@keyframes pupSpin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
.pup.roll svg{animation:pupRoll 1.2s ease-in-out}
@keyframes pupRoll{0%{transform:rotate(0)}50%{transform:rotate(180deg) translateY(-14px)}100%{transform:rotate(360deg)}}
.pup.sit svg{transform:rotate(-16deg) translateY(2px);transform-origin:20% 100%}
.pup.left.sit svg{transform:scaleX(-1) rotate(-16deg) translateY(2px);transform-origin:80% 100%}
.pup .pup-zz{position:absolute;left:78%;top:-18px;font-family:Georgia,serif;font-size:13px;color:var(--muted);opacity:0;pointer-events:none}
.pup.sleepy .pup-zz{animation:pupZz 2.4s ease-in-out infinite}
@keyframes pupZz{0%{opacity:0;transform:translateY(0)}30%{opacity:.9}100%{opacity:0;transform:translateY(-16px)}}
.pup .pup-cap{display:none}
.pup.night .pup-cap{display:block}
.pup.night .pup-tail{animation-duration:2.6s}
.pup .pup-bub{position:absolute;left:50%;top:-30px;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-family:system-ui,sans-serif;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .25s;pointer-events:none;color:var(--ink)}
.pup.say .pup-bub{opacity:1}
/* newsletter paws */
.nl-wrap{position:relative}
.nl-paws{position:absolute;inset:0;pointer-events:none;overflow:visible}
.nl-paws span{position:absolute;bottom:20%;font-size:22px;opacity:0;animation:nlRise 1.6s ease-out forwards}
@keyframes nlRise{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-220px) rotate(35deg);opacity:0}}
.pup.wiggle svg{animation:pupWiggle .6s ease-in-out 2}
@keyframes pupWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.hp-trail,.nl-paws{display:none}.wow-card.in,.wow-start,.wow-end{animation:none}}

/* sprite pup (black-and-tan) */
.pup .pup-win{overflow:hidden!important;transform:none!important;animation:none!important}.pup{width:104px;height:73px;filter:drop-shadow(0 0 1.5px rgba(255,248,236,.85))}.pup .pup-sprite{animation:pupIdle .9s infinite;animation-timing-function:steps(1,end)}.pup.walk{animation:none}.pup.walk .pup-sprite{animation:pupRun .44s infinite;animation-timing-function:steps(1,end)}.pup.night .pup-sprite{animation-duration:1.8s}.pup.night.walk .pup-sprite{animation-duration:.44s}.pup.sit .pup-sprite,.pup.sleepy .pup-sprite{animation:none;transform:translateX(-2947px)}.pup.sit svg{transform:none}.pup.left.sit svg{transform:scaleX(-1)}.pup.night .pup-cap{display:none}.pup .pup-heart{left:70%;top:-14px}@keyframes pupIdle{0.0%{transform:translateX(-1684px)}25.0%{transform:translateX(-2105px)}50.0%{transform:translateX(-2526px)}75.0%{transform:translateX(-2105px)}100%{transform:translateX(-2105px)}}@keyframes pupRun{0.0%{transform:translateX(0px)}25.0%{transform:translateX(-421px)}50.0%{transform:translateX(-842px)}75.0%{transform:translateX(-1263px)}100%{transform:translateX(-1263px)}}

/* paw trail + pup hearts */
.hp-trail{display:none!important}

