:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0f0f13;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:1.5rem;max-width:420px;margin:0 auto}.title{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;margin:0;background:linear-gradient(135deg,#f59e0b,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dog-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.5rem 2rem;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.dog-visual{position:relative;display:flex;flex-direction:column;align-items:center}.dog-ascii{font-size:1.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em;white-space:nowrap;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dog-body{position:relative;margin-top:-.25rem}.dog-torso{width:60px;height:30px;background:#a0724a;border-radius:30px 30px 12px 12px;position:relative}.dog-torso:before,.dog-torso:after{content:"";position:absolute;bottom:-10px;width:10px;height:14px;background:#8b6240;border-radius:0 0 4px 4px}.dog-torso:before{left:10px}.dog-torso:after{right:10px}.ear{position:absolute;width:14px;height:22px;background:#8b6240;border-radius:50% 50% 0 0;top:-16px}.ear-left{left:6px;transform:rotate(-15deg)}.ear-right{right:6px;transform:rotate(15deg)}.tail{position:absolute;right:-18px;top:-5px;width:8px;height:24px;background:#a0724a;border-radius:4px;transform-origin:bottom center;animation:wag .4s ease-in-out infinite alternate}@keyframes wag{0%{transform:rotate(-20deg)}to{transform:rotate(20deg)}}.dog-info{display:flex;gap:.5rem}.mood-badge,.age-badge{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;letter-spacing:.02em}.mood-badge{background:#ec489926;color:#f472b6;border:1px solid rgba(236,72,153,.25)}.age-badge{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.25)}.stats-panel{width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.65rem}.stat-row{display:flex;align-items:center;gap:.6rem}.stat-label{font-size:.75rem;font-weight:600;color:#ffffff8c;width:80px;text-transform:uppercase;letter-spacing:.06em}.stat-bar-bg{flex:1;height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.stat-value{font-size:.75rem;font-weight:600;color:#fff6;width:28px;text-align:right;font-variant-numeric:tabular-nums}.actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;width:100%}.action-btn{flex:1;min-width:70px;padding:.65rem .5rem;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;background:#ffffff0a;color:#fafafa;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.action-btn:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn.feed{border-color:#f59e0b4d}.action-btn.feed:hover:not(:disabled){background:#f59e0b26}.action-btn.play{border-color:#ec48994d}.action-btn.play:hover:not(:disabled){background:#ec489926}.action-btn.walk{border-color:#10b9814d}.action-btn.walk:hover:not(:disabled){background:#10b98126}.action-btn.sleep{border-color:#6366f14d}.action-btn.sleep:hover:not(:disabled){background:#6366f126}.action-btn.groom{border-color:#a855f74d}.action-btn.groom:hover:not(:disabled){background:#a855f726}.activity-toast{position:fixed;bottom:2rem;background:#ec489933;border:1px solid rgba(236,72,153,.3);color:#f9a8d4;padding:.6rem 1.2rem;border-radius:999px;font-size:.85rem;font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
