:root{
  --bg:#fff8ef;
  --surface:#ffffff;
  --line:#eadfd3;
  --line-2:#f1e7dc;
  --ink:#34281f;
  --muted:#77695d;
  --green:#76a86d;
  --green-2:#8bc27f;
  --green-soft:#edf7e9;
  --red:#ea5a53;
  --red-dark:#c84943;
  --yellow:#ffc44d;
  --yellow-deep:#ffb21f;
  --shadow:0 14px 40px rgba(94,67,44,.10);
  --radius:24px;
  --safe-top:env(safe-area-inset-top);
  --safe-bottom:env(safe-area-inset-bottom);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
body{min-height:100vh;min-height:100dvh}
img{display:block;max-width:100%}
button,input,select{font:inherit}
button{cursor:pointer}
#app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg);position:relative;box-shadow:0 0 50px rgba(90,64,38,.06)}
.screen{padding:calc(18px + var(--safe-top)) 16px calc(104px + var(--safe-bottom));}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.02em}
.brand-mark{width:44px;height:44px;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f6ede4);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.brand-mark img{width:26px;height:26px}
.brand small{display:block;color:var(--muted);font-weight:700;letter-spacing:0}
.coins-pill{display:flex;align-items:center;gap:8px;background:#fff6de;border:1px solid #f1dfaf;border-radius:999px;padding:10px 16px;font-weight:900;box-shadow:var(--shadow);position:relative}
.coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff0a9 0 25%,#ffd24d 26% 62%,#f0a600 63% 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.5),0 2px 8px rgba(232,164,32,.25)}
.h1{font-size:34px;line-height:1.02;letter-spacing:-.05em;font-weight:950;margin:10px 0 6px}
.sub{margin:0;color:var(--muted);line-height:1.45}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero{padding:16px;display:grid;grid-template-columns:1fr 148px;gap:12px;align-items:center;margin-top:14px}
.hero-title{font-size:17px;font-weight:900;margin:0 0 4px}
.hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.badge{padding:7px 11px;border-radius:999px;font-weight:850;font-size:12px;background:var(--green-soft);color:#3d6d48}
.pet-stage{background:#f7efe6;color:#7d6a57}
.pet-view{height:150px;display:flex;align-items:flex-end;justify-content:center}
.pet-view img{max-height:140px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(64,41,27,.13));animation:petIdle 2.8s ease-in-out infinite}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.stat-card{padding:15px 16px}
.stat-label{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.stat-value{font-size:29px;line-height:1.05;font-weight:950;margin-top:7px;letter-spacing:-.04em}
.stat-note{font-size:12px;color:var(--muted);margin-top:7px}
.primary-card{padding:16px;margin-top:14px}
.primary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.section-kicker{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.section-title{font-size:18px;font-weight:950;margin:4px 0 0}
.xp-wrap{display:flex;align-items:center;gap:12px}
.xp-text{font-size:13px;font-weight:800;color:var(--muted)}
.bar{height:16px;border-radius:999px;background:#eee4d8;overflow:hidden;position:relative;flex:1;border:1px solid #e7d8ca}
.bar-fill{height:100%;width:0%;background:linear-gradient(90deg,#8ac37d,#6da965);border-radius:999px;transition:width .8s cubic-bezier(.22,.9,.2,1);position:relative}
.bar-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-100%);animation:shine 2.3s infinite}
@keyframes shine{to{transform:translateX(160%)}}
.floating{position:absolute;right:0;top:-22px;font-size:13px;font-weight:900;color:#488857;opacity:0;transform:translateY(8px);transition:.4s}
.floating.show{opacity:1;transform:translateY(0)}
.goal-card{padding:16px;margin-top:14px;border-style:dashed;background:linear-gradient(180deg,#fffdfa,#fff6eb)}
.goal-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.goal-copy strong{display:block;font-size:17px;margin-bottom:4px}
.goal-copy p{margin:0;color:var(--muted);line-height:1.4;font-size:14px}
.goal-cta{margin-top:10px;background:#29372d;color:#fff;border:none;border-radius:14px;padding:10px 16px;font-weight:900}
.goal-pill{padding:8px 11px;border-radius:14px;font-size:12px;font-weight:900;background:#eef6ea;color:#45714b;white-space:nowrap}
.smoke-card{padding:16px;margin-top:14px;background:linear-gradient(180deg,#fff,#fff8f6)}
.smoke-note{margin:0 0 10px;color:var(--muted);line-height:1.4;font-size:14px}
.smoke-button{position:relative;width:100%;padding:18px;border:none;border-radius:22px;background:linear-gradient(180deg,var(--red),var(--red-dark));color:#fff;font-size:20px;font-weight:950;letter-spacing:.03em;box-shadow:0 14px 30px rgba(234,90,83,.28);overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.smoke-button, .smoke-button *{user-select:none;-webkit-user-select:none}
.smoke-button:active{transform:translateY(1px)}
.smoke-progress{position:absolute;left:0;bottom:0;height:8px;width:0%;background:rgba(255,255,255,.5);transition:width .06s linear}
.smoke-hint{margin-top:10px;font-size:12px;font-weight:800;color:#8d7362;text-align:center}
.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.small-btn{border:none;background:#f5ece3;color:#634e40;border-radius:14px;padding:10px 12px;font-weight:850}
.page-block{margin-top:14px;padding:16px}
.list{display:grid;gap:12px;margin-top:12px}
.list-item{padding:14px;border:1px solid var(--line-2);background:#fff;border-radius:18px}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.muted{color:var(--muted)}
.big-number{font-size:26px;font-weight:950;letter-spacing:-.04em}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shop-item{padding:14px}
.shop-art{height:88px;border-radius:18px;background:#fbf6f0;border:1px solid #f3e7db;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.shop-visual{width:64px;height:64px;position:relative}
.shop-visual.bed::before{content:'';position:absolute;left:5px;right:5px;bottom:12px;height:26px;background:#d68376;border-radius:24px 24px 14px 14px;box-shadow:inset 0 7px 0 #ebb1a7}
.shop-visual.bowl::before{content:'';position:absolute;left:12px;right:12px;bottom:18px;height:18px;background:#7ba1a6;border-radius:4px 4px 18px 18px}
.shop-visual.plant::before{content:'';position:absolute;left:22px;bottom:14px;width:20px;height:18px;background:#c67e65;border-radius:4px 4px 11px 11px}
.shop-visual.plant::after{content:'';position:absolute;left:24px;top:8px;width:16px;height:36px;background:#6e9f74;border-radius:100% 0 100% 0;transform:rotate(-24deg);box-shadow:13px 10px 0 -2px #85af85}
.shop-visual.house::before{content:'';position:absolute;left:7px;right:7px;bottom:8px;top:14px;background:#c98f61;clip-path:polygon(50% 0,100% 33%,100% 100%,0 100%,0 33%)}
.shop-visual.house::after{content:'';position:absolute;left:24px;bottom:8px;width:16px;height:28px;background:#875944;border-radius:10px 10px 0 0}
.shop-visual.special::before{content:'';position:absolute;inset:13px;border-radius:50%;border:8px solid #c58c5a}
.shop-item h3{font-size:14px;margin:10px 0 4px}
.price{font-size:13px;font-weight:900;color:#9a7428;display:flex;align-items:center;gap:7px}
.shop-btn{width:100%;margin-top:10px;border:none;border-radius:14px;padding:11px 10px;font-weight:900;background:#28372d;color:#fff}
.shop-btn.owned{background:#ebe4dc;color:#706457}
.room{height:310px;border-radius:24px;background:linear-gradient(180deg,#fbf1e2 0 70%,#e5c39f 70% 100%);position:relative;overflow:hidden;border:1px solid #ead8c6;box-shadow:var(--shadow)}
.room::after{content:'';position:absolute;left:0;right:0;top:70%;height:3px;background:#c89c72}
.window{position:absolute;right:18px;top:22px;width:86px;height:94px;background:#dff0f5;border:8px solid #fbf2e6;border-radius:40px 40px 8px 8px;box-shadow:0 0 0 2px #d6b58d}
.window::after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:2px solid rgba(95,133,141,.25)}
.room-item{position:absolute}
.room-item.bed{left:18px;bottom:18px;width:104px;height:34px;background:#d68376;border-radius:24px 24px 14px 14px;box-shadow:inset 0 7px 0 #ebb1a7}
.room-item.bowl{right:18px;bottom:18px;width:52px;height:18px;background:#7ba1a6;border-radius:4px 4px 18px 18px}
.room-item.plant{left:24px;top:44px;width:40px;height:58px}
.room-item.plant::before{content:'';position:absolute;left:10px;bottom:0;width:22px;height:20px;background:#c67e65;border-radius:4px 4px 12px 12px}
.room-item.plant::after{content:'';position:absolute;left:12px;top:6px;width:18px;height:34px;background:#6e9f74;border-radius:100% 0 100% 0;transform:rotate(-24deg);box-shadow:14px 10px 0 -2px #85af85}
.room-item.special{left:130px;bottom:24px;width:56px;height:56px;border-radius:50%;border:8px solid #c58c5a}
.room-item.house{right:12px;bottom:30px;width:100px;height:84px;background:#c98f61;clip-path:polygon(50% 0,100% 36%,100% 100%,0 100%,0 36%)}
.room-item.house::after{content:'';position:absolute;left:34px;bottom:0;width:32px;height:42px;background:#875944;border-radius:16px 16px 0 0}
.room-pet{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:170px;height:170px;display:flex;align-items:flex-end;justify-content:center;z-index:3}
.room-pet img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(72,49,32,.14));animation:petIdle 3s ease-in-out infinite}
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(560px,100%);padding:10px 10px calc(10px + var(--safe-bottom));display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:rgba(255,248,239,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(224,210,196,.9);z-index:60}
.nav-btn{border:none;background:transparent;border-radius:16px;padding:8px 4px;color:#85786d;font-size:11px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:6px}
.nav-btn.active{background:#ffffff;color:#56795f;box-shadow:var(--shadow)}
.nav-ico{width:22px;height:22px;position:relative}
.nav-ico.home::before{content:'';position:absolute;left:3px;right:3px;bottom:3px;top:10px;border:2px solid currentColor;border-top:0;border-radius:4px}
.nav-ico.home::after{content:'';position:absolute;left:5px;top:2px;width:12px;height:12px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}
.nav-ico.chart::before{content:'';position:absolute;left:2px;bottom:3px;width:4px;height:8px;background:currentColor;border-radius:2px;box-shadow:7px -4px 0 currentColor,14px -10px 0 currentColor}
.nav-ico.pet::before{content:'';position:absolute;left:5px;top:10px;width:12px;height:9px;border-radius:50%;background:currentColor}
.nav-ico.pet::after{content:'';position:absolute;left:1px;top:4px;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:7px -3px 0 currentColor,14px 0 0 currentColor}
.nav-ico.shop::before{content:'';position:absolute;left:3px;top:8px;width:16px;height:11px;border:2px solid currentColor;border-radius:4px}
.nav-ico.shop::after{content:'';position:absolute;left:6px;top:3px;width:10px;height:6px;border:2px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0}
.nav-ico.user::before{content:'';position:absolute;left:6px;top:1px;width:10px;height:10px;border-radius:50%;border:2px solid currentColor}
.nav-ico.user::after{content:'';position:absolute;left:2px;bottom:2px;width:18px;height:10px;border:2px solid currentColor;border-radius:12px 12px 4px 4px}
.onboard{padding:calc(24px + var(--safe-top)) 18px calc(20px + var(--safe-bottom));min-height:100vh;display:flex;flex-direction:column;gap:22px}
.stepper{display:flex;justify-content:flex-end;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;background:#e4d7ca}
.dot.active{width:24px;border-radius:999px;background:#79ac72}
.welcome-panel{flex:1;display:flex;flex-direction:column;justify-content:center}
.welcome-egg{width:118px;margin:0 auto 20px}
.welcome-title{font-size:40px;line-height:1.02;letter-spacing:-.05em;text-align:center;font-weight:950;margin:0}
.welcome-sub{color:var(--muted);line-height:1.5;text-align:center;max-width:360px;margin:14px auto 0}
.btn-primary,.btn-secondary{width:100%;border:none;border-radius:18px;padding:17px;font-weight:950;font-size:16px}
.btn-primary{background:#28372d;color:#fff}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}
.stack{display:grid;gap:14px}
.field label{display:block;font-size:12px;font-weight:850;color:#64584e;margin:0 0 7px 3px}
.field input,.field select{width:100%;border:1px solid #e4d8cc;background:#fff;border-radius:16px;padding:14px 14px;color:var(--ink);outline:none}
.field input:focus,.field select:focus{box-shadow:0 0 0 3px #edf7e9;border-color:#97b88f}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice-btn{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;font-weight:900;text-align:left}
.choice-btn.active{border-color:#8ab183;background:#f7fbf6;box-shadow:0 0 0 2px #e1ecde}
.eggs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.egg-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:12px 6px;text-align:center}
.egg-card.active{border-color:#7da676;box-shadow:0 0 0 3px #e6f0e4;transform:translateY(-2px)}
.egg-card img{width:78px;height:98px;object-fit:contain;margin:0 auto 8px}
.egg-card strong{font-size:12px}
.info-box{padding:16px;border:1px solid var(--line);background:#fff;border-radius:20px;line-height:1.5;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(34,28,22,.55);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;padding:12px;z-index:100}
.modal{width:min(520px,100%);background:#fff;border-radius:28px;box-shadow:0 30px 60px rgba(0,0,0,.25);padding:20px;animation:rise .28s ease-out}
@keyframes rise{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.modal h2{font-size:30px;line-height:1.03;letter-spacing:-.05em;margin:8px 0 8px}
.modal p{color:var(--muted);line-height:1.5;margin:0}
.modal-visual{height:180px;display:flex;align-items:center;justify-content:center}
.modal-visual img{max-height:170px;max-width:190px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(69,48,32,.14));animation:petIdle 2.5s ease-in-out infinite}
.reward-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px 0}
.reward-pill{background:#fff6de;color:#8b6620;border:1px solid #f3ddb0;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900}
.goal-options{display:grid;gap:10px;margin-top:14px}
.goal-option{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;text-align:left}
.goal-option strong{display:block;font-size:16px;margin-bottom:3px}
.goal-option p{font-size:14px;margin:0 0 10px}
.goal-option .select{border:none;background:#26352b;color:#fff;border-radius:12px;padding:10px 12px;font-weight:900}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + var(--safe-bottom));z-index:120;background:#282520;color:#fff;padding:13px 14px;border-radius:16px;min-width:240px;max-width:88%;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 18px 36px rgba(0,0,0,.24);animation:toastIn .2s ease-out}
.toast button{border:none;background:transparent;color:#bde0c0;font-weight:900}
@keyframes toastIn{from{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.xp-fx,.coin-fx{position:fixed;z-index:140;pointer-events:none;font-weight:950}
.xp-fx{color:#4a8653;animation:floatFx .8s ease-out forwards}
@keyframes floatFx{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-46px);opacity:0}}
.coin-fx{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff0a9 0 25%,#ffd24d 26% 62%,#f0a600 63% 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.45),0 2px 8px rgba(232,164,32,.25);transition:transform 1.25s cubic-bezier(.2,.9,.2,1), opacity 1.25s}
.demo-badge{position:fixed;top:calc(12px + var(--safe-top));right:12px;z-index:90;background:#26352b;color:#fff;padding:8px 10px;border-radius:999px;font-size:11px;font-weight:900;box-shadow:var(--shadow)}
.lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lab-btn{border:none;background:#2a2e39;color:#fff;border-radius:16px;padding:12px 10px;font-size:12px;font-weight:900}
.lab-btn.wide{grid-column:1/-1}
.lab-btn.danger{background:#5a3338}
.empty-note{padding:18px;border:1px dashed #dfcfbf;border-radius:20px;text-align:center;color:var(--muted)}
@media (min-width:700px){body{background:#f3ebe2}}

@keyframes petIdle{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(-1.2deg)}50%{transform:translateY(-2px) rotate(0.8deg)}75%{transform:translateY(-6px) rotate(-0.8deg)}}

.smoke-priority{margin-top:14px} .smoke-priority .smoke-button{padding:24px;border-radius:26px;font-size:24px;min-height:98px} .smoke-priority .smoke-note{text-align:center;font-size:15px} .smoke-priority .smoke-hint{font-size:13px}

.btn-primary:disabled{opacity:.75} .xp-fx{font-size:18px;text-shadow:0 4px 10px rgba(255,255,255,.75)}

/* V0.4 visual upgrades */
.hero-v4{background:linear-gradient(135deg,#fff8f0,#f6ece0);border:1px solid #eadccc}
.level-badge{background:#e9f5e7;color:#3a6b42;border:1px solid #cde2cb}
.level-card{background:linear-gradient(180deg,#fff 0%,#fbf7f3 100%)}
.level-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.level-disc{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:950;font-size:28px;color:#fff;background:linear-gradient(180deg,#6aa85d,#3f7a46);box-shadow:0 10px 24px rgba(71,130,78,.28)}
.level-copy{flex:1}
.xp-text{font-weight:900;color:#5e5247}
.bar{position:relative;height:18px;border-radius:999px;background:#efe3d3;overflow:hidden;border:1px solid #e4d2bf}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#75ba63,#3f904d);transition:width .85s cubic-bezier(.2,.9,.2,1)}
.bar-fill.pulse{animation:xpPulse 1s ease}
@keyframes xpPulse{0%{filter:brightness(1)}40%{filter:brightness(1.24)}100%{filter:brightness(1)}}
.floating{position:absolute;right:10px;top:-28px;font-size:14px;font-weight:950;color:#3f904d;opacity:0;transform:translateY(10px);transition:.25s}
.floating.show{opacity:1;transform:translateY(0)}
.visual-goal{background:linear-gradient(180deg,#fffaf4,#fff)}
.goal-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.goal-hero p{margin:8px 0 0;color:var(--muted);line-height:1.4}
.goal-mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.goal-mini{background:#fff;border:1px solid #eadccc;border-radius:16px;padding:12px;text-align:center}
.goal-mini span{display:block;color:#7b6b5d;font-size:12px;margin-bottom:4px}
.goal-mini strong{font-size:16px}
.visual-goal.active .goal-pill{background:#e9f5e7;color:#34663f;border-color:#cfe0cc}
.goal-progress{margin-top:14px;height:12px;border-radius:999px;background:#f0e3d3;overflow:hidden}
.goal-progress-fill{height:100%;background:linear-gradient(90deg,#ffb54d,#ff7c39);transition:width .7s ease}
.goal-options.visual{grid-template-columns:1fr;gap:14px}
.goal-option{position:relative;overflow:hidden;border-radius:22px;padding:16px}
.goal-option.easy{background:linear-gradient(180deg,#eff9ee,#fff)}
.goal-option.medium{background:linear-gradient(180deg,#fff7e6,#fff)}
.goal-option.hard{background:linear-gradient(180deg,#fff0ed,#fff)}
.goal-ribbon{font-size:13px;font-weight:950;letter-spacing:.02em;color:#665a4d;text-transform:uppercase}
.goal-number{font-size:42px;line-height:1;font-weight:950;margin-top:8px;color:#2b2926}
.goal-caption{font-size:13px;color:#76675b;margin-bottom:10px}
.goal-bullets{display:grid;gap:6px;margin-bottom:12px}
.goal-bullets span{display:inline-flex;align-items:center;background:rgba(255,255,255,.78);border:1px solid #ecdcca;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;color:#6e5f52}
.goal-option .select{width:100%;padding:12px 14px;border-radius:14px}
.coins-label{position:fixed;z-index:140;pointer-events:none;font-weight:950;color:#9b6c09;text-shadow:0 3px 10px rgba(255,248,200,.9);animation:floatCoinText 1.5s ease-out forwards}
@keyframes floatCoinText{0%{opacity:0;transform:translateY(4px)}15%{opacity:1}100%{opacity:0;transform:translateY(-26px)}}
.modal{padding:22px}
.modal .btn-primary{margin-top:12px}
.modal .section-kicker{font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#7c9273}
.smoke-button{-webkit-user-select:none;user-select:none;touch-action:manipulation}
.smoke-button,.small-btn,.goal-cta,.goal-option .select{cursor:pointer}
.coins-pill{min-width:82px;justify-content:center}
.pet-view{min-width:132px;justify-content:center}
.pet-view img{max-height:160px}
.room-pet img{animation:petIdle 3s ease-in-out infinite}
@media (max-width:420px){
  .goal-mini-row{grid-template-columns:1fr 1fr}
  .goal-hero{flex-direction:column}
  .level-disc{width:56px;height:56px;font-size:24px}
}

/* V0.5 polish */
.hero-v5{background:linear-gradient(135deg,#fff9f2 0%,#f6ecdf 60%,#f2e1cf 100%);position:relative;overflow:hidden}
.hero-v5::after{content:'';position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#fff8ea 0%,rgba(255,248,234,0) 72%)}
.hero-copy{position:relative;z-index:2}
.pet-stage-area{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:150px}
.pet-aura{position:absolute;bottom:16px;width:110px;height:26px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(173,123,58,.22) 0%,rgba(173,123,58,.08) 48%,rgba(173,123,58,0) 75%);filter:blur(4px)}
.pet-aura.small{width:100px;height:22px;bottom:10px}
.pet-stage-area img{position:relative;z-index:2}
.main-cta-card{background:linear-gradient(180deg,#fff 0%,#fff7f4 100%);border:1px solid #efd3cf}
.smoke-heading{font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#b0534b;text-align:center;margin-bottom:4px}
.stat-value-small{font-size:24px}
.stat-card{display:flex;flex-direction:column;justify-content:space-between;min-height:128px}
.room-v5{background:linear-gradient(180deg,#fdf3e5 0 68%,#e7c8a5 68% 100%)}
.room-rug{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:200px;height:48px;border-radius:999px;background:radial-gradient(circle at center,#d1a57f 0%,#bb845b 60%,#b77b53 100%);opacity:.35}
.room-pet-v5{width:188px;height:188px;bottom:22px}
.pet-summary-card{background:linear-gradient(180deg,#fff 0%,#fcf7f1 100%)}
.small-btn{background:#fff;border:1px solid #eadccd;color:#55483d}
.small-btn:hover{background:#fdf8f2}
.goal-cta{border:none;background:linear-gradient(180deg,#2f4335,#243229);color:#fff;padding:12px 16px;border-radius:14px;font-weight:950}
.modal-visual{background:linear-gradient(180deg,#fffaf4,#f8efe3);border-radius:22px;margin-bottom:14px}
.modal-visual img{max-height:165px}
.coin-fx{transition:transform 1.55s cubic-bezier(.18,.85,.18,1),opacity 1.55s}
.xp-fx{animation:floatFx 1.2s ease-out forwards}
.brand-mark{box-shadow:0 6px 16px rgba(93,68,46,.12)}
@media (max-width:420px){
  .hero{grid-template-columns:1fr 124px}
  .grid{grid-template-columns:1fr 1fr}
  .stat-card{min-height:118px}
}

/* V0.6 animated dog prototype */
.pet-view img,
.room-pet img,
.modal-visual img{animation:none !important;transform:none !important}
.sprite-animated{image-rendering:auto;filter:drop-shadow(0 14px 18px rgba(72,49,32,.16))}
.eggs-demo{grid-template-columns:repeat(3,1fr)}
.egg-card{position:relative}
.egg-tag{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:6px 10px;border-radius:999px;background:#e9f4e5;color:#3f6c48;font-size:11px;font-weight:900;letter-spacing:.03em}
.egg-tag.muted{background:#f1ebe3;color:#8b7f72}
.egg-card.locked{opacity:.68;filter:saturate(.75)}
.egg-card.demo-ready{border:2px solid #d7b681;box-shadow:0 10px 20px rgba(164,123,62,.12)}
.egg-card.demo-ready.active{border-color:#a66f34;box-shadow:0 12px 26px rgba(166,111,52,.2)}
.hero-v5 .pet-stage-area, .room-pet-v5{overflow:visible}
@media (max-width:520px){
  .eggs-demo{grid-template-columns:1fr}
}
