:root{--ink: #0e1224;--ink-2: #171d36;--ink-3: #1f2747;--moon: #e8e4f4;--dusk: #8b93b8;--glow: #f2b36d;--glow-soft: rgba(242, 179, 109, .16);--hush: #7f9bd9;--line: rgba(232, 228, 244, .08);--danger: #e88a8a;--r-lg: 22px;--r-md: 16px;--font-sans: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Songti SC", "STSong", "Noto Serif SC", "SimSun", serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--ink);color:var(--moon);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea{font:inherit;color:inherit}.app{max-width:460px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:radial-gradient(120% 70% at 50% -10%,#1a2140 0%,var(--ink) 58%);position:relative;overflow:hidden}.stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5}.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--moon);opacity:.35}.stars i:nth-child(2n){opacity:.18;width:1.5px;height:1.5px}.topbar{padding:calc(env(safe-area-inset-top,0px) + 14px) 20px 10px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.pet-mini{width:34px;height:30px;border-radius:50% 50% 46% 46%;flex:none}.topbar .name{font-size:17px;font-weight:600;letter-spacing:.02em}.topbar .mood{font-size:12.5px;color:var(--dusk)}.topbar .spacer{flex:1}.mode-tag{font-size:11px;color:var(--dusk);border:1px solid var(--line);border-radius:999px;padding:2px 9px}.mode-tag.real{color:var(--hush);border-color:#7f9bd966}.main{flex:1;overflow-y:auto;padding:16px 20px 90px;scroll-behavior:smooth}.pet-stage{display:flex;flex-direction:column;align-items:center;padding:18px 0 6px}.pet{width:92px;height:80px;border-radius:50% 50% 46% 46%;background:radial-gradient(60% 60% at 38% 32%,#ffd9a3 0%,var(--glow) 55%,#c9884a 100%);box-shadow:0 0 34px #f2b36d59,0 10px 30px #0006;position:relative;animation:breathe 4s ease-in-out infinite}.pet .eye{position:absolute;top:34px;width:14px;height:7px;border-bottom:2.5px solid #6b4a22;border-radius:0 0 10px 10px}.pet .eye.l{left:22px}.pet .eye.r{right:22px}.pet .blush{position:absolute;top:46px;width:10px;height:5px;border-radius:50%;background:#d66a4559}.pet .blush.l{left:16px}.pet .blush.r{right:16px}.pet .mouth{position:absolute;top:44px;left:50%;transform:translate(-50%);width:12px;height:6px;border-bottom:2.5px solid #6b4a22;border-radius:0 0 12px 12px}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@media (prefers-reduced-motion: reduce){.pet,.moon-ring{animation:none!important}}.chat-list{display:flex;flex-direction:column;gap:12px;padding-top:10px}.bubble{max-width:84%;padding:11px 15px;border-radius:var(--r-lg);font-size:15.5px;line-height:1.65}.bubble.ai{align-self:flex-start;background:var(--ink-2);border:1px solid var(--line);border-bottom-left-radius:8px}.bubble.user{align-self:flex-end;background:var(--glow-soft);border:1px solid rgba(242,179,109,.25);border-bottom-right-radius:8px}.typing{align-self:flex-start;color:var(--dusk);font-size:14px;padding:4px 6px;letter-spacing:.2em}.crisis{margin:10px 0;padding:13px 16px;border-radius:var(--r-md);background:#e88a8a1a;border:1px solid rgba(232,138,138,.35);font-size:14.5px;line-height:1.7}.crisis b{color:var(--danger);font-weight:600}.sleep-cta-wrap{align-self:center;margin:6px 0 2px}.inputbar{position:absolute;left:0;right:0;bottom:62px;padding:10px 16px 12px;display:flex;gap:10px;align-items:flex-end;background:linear-gradient(transparent,var(--ink) 30%)}.inputbar input{flex:1;background:var(--ink-2);border:1px solid var(--line);border-radius:20px;padding:11px 16px;font-size:15px;outline:none}.inputbar input:focus{border-color:#f2b36d73}.send{width:42px;height:42px;border-radius:50%;flex:none;background:var(--glow);color:#241503;font-size:18px;font-weight:700;box-shadow:0 4px 16px #f2b36d59;transition:transform .15s ease}.send:active{transform:scale(.92)}.send:disabled{opacity:.4;box-shadow:none}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--glow);color:#241503;font-weight:600;font-size:15.5px;padding:12px 22px;border-radius:999px;box-shadow:0 6px 22px #f2b36d59;transition:transform .15s ease}.btn-primary:active{transform:scale(.96)}.btn-ghost{padding:9px 16px;border-radius:999px;font-size:14px;border:1px solid var(--line);color:var(--dusk)}.panel{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;margin-bottom:14px}.panel h3{font-size:15px;font-weight:600;margin-bottom:10px}.panel .sub{font-size:13px;color:var(--dusk)}.stat-row{display:flex;gap:12px;margin:6px 0 2px}.stat{flex:1;text-align:center;padding:12px 0;background:var(--ink-3);border-radius:var(--r-md)}.stat b{display:block;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--dusk)}.sky{display:flex;flex-wrap:wrap;gap:10px;padding:12px 2px 4px}.star-dot{width:14px;height:14px;border-radius:50%;position:relative}.star-dot.on{background:var(--glow);box-shadow:0 0 10px #f2b36d8c}.star-dot.off{background:var(--ink-3)}.field{display:block;margin:12px 0 4px;font-size:13px;color:var(--dusk)}.field input,.field select{width:100%;margin-top:5px;background:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 13px;font-size:14.5px;outline:none}.field input:focus{border-color:#7f9bd980}.tabbar{position:absolute;left:0;right:0;bottom:0;display:flex;padding:8px 10px calc(env(safe-area-inset-bottom,0px) + 10px);border-top:1px solid var(--line);background:#0e1224eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab{flex:1;text-align:center;font-size:11.5px;color:var(--dusk);padding:4px 0}.tab .ico{display:block;font-size:20px;line-height:1.2;margin-bottom:1px;filter:grayscale(.4);opacity:.75}.tab.on{color:var(--glow)}.tab.on .ico{filter:none;opacity:1}.placeholder{text-align:center;color:var(--dusk);font-size:14px;padding:40px 20px;line-height:2}.placeholder .big{font-size:34px;display:block;margin-bottom:6px}.footnote{text-align:center;font-size:11px;color:var(--dusk);opacity:.75;padding:10px 0 4px}.ai-badge{display:inline-block;font-size:10.5px;color:var(--dusk);border:1px solid var(--line);border-radius:6px;padding:0 6px;margin-left:8px;vertical-align:1px}
