:root{--paper: #faf7f0;--ink: #28332c;--muted: #6f756f;--forest: #3e6b4f;--forest-deep: #294838;--mist: #a8c3d1;--orange: #e8a87c;--night: #2b3a55;--card: rgba(250, 247, 240, .9);--line: rgba(40, 51, 44, .12);--radius: 22px;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:#e9eee8;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.page{position:relative;width:min(100%,480px);min-height:100svh;margin:0 auto;overflow:hidden;background:var(--paper);padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.btn-primary{width:100%;min-height:54px;padding:14px 20px;border-radius:18px;color:#fff;background:var(--forest);font-size:17px;font-weight:700;letter-spacing:.04em;box-shadow:0 10px 28px #29483838;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:active{transform:translateY(2px);box-shadow:0 4px 12px #2948382e}.btn-primary:disabled{background:#aebcb3;box-shadow:none}.btn-secondary,.btn-ghost{width:100%;padding:13px 16px;border-radius:16px;color:var(--forest);background:#e4eee6;font-weight:650}.btn-ghost{background:transparent;color:var(--muted)}.btn-back{color:#28332c9e;background:transparent;padding:10px 2px;font-size:14px}.creature{display:block;overflow:visible}.creature-shadow{fill:#232d2724}.creature-body,.creature-face,.creature-ear,.creature-foot{fill:#b8b5b0;stroke:#8c8984;stroke-width:4;stroke-linejoin:round}.creature-face{fill:#bbb8b3}.creature-tail{fill:none;stroke:#8c8984;stroke-width:11;stroke-linecap:round}.creature-eyes{fill:#383a38;transform-origin:111px 89px;animation:blink 4.7s infinite}.creature-mouth{fill:none;stroke:#6e6b67;stroke-width:3;stroke-linecap:round}.creature-stripes,.creature-pi{opacity:0;fill:none;stroke:#494944;stroke-width:5;stroke-linecap:round}.creature--dudu .creature-body,.creature--dudu .creature-ear,.creature--dudu .creature-foot{fill:#262b2c;stroke:#151819}.creature--dudu .creature-face{fill:#eee9dd;stroke:#d4cdbf}.creature--dudu .creature-tail{stroke:#202526}.creature--xingren .creature-body,.creature--xingren .creature-ear,.creature--xingren .creature-foot{fill:#9a674a;stroke:#704832}.creature--xingren .creature-face{fill:#b67c58;stroke:#81553b}.creature--xingren .creature-tail{stroke:#704832}.creature--wangxiaobai .creature-body,.creature--wangxiaobai .creature-ear,.creature--wangxiaobai .creature-foot{fill:#f0ede3;stroke:#a59f92}.creature--wangxiaobai .creature-face{fill:#f7f4eb;stroke:#b5aea1}.creature--wangxiaobai .creature-tail{stroke:#a59f92}.creature--wangxiaobai .creature-stripes,.creature--wangxiaobai .creature-pi{opacity:1}.creature:not(.creature--mystery):not(.creature--dudu):not(.creature--xingren):not(.creature--wangxiaobai) .creature-body,.creature:not(.creature--mystery):not(.creature--dudu):not(.creature--xingren):not(.creature--wangxiaobai) .creature-ear,.creature:not(.creature--mystery):not(.creature--dudu):not(.creature--xingren):not(.creature--wangxiaobai) .creature-foot{fill:#7d8668;stroke:#566047}.home-page{display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#a9c5d2,#dce2cc 47%,#faf7f0 82%)}.home-forest{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.home-forest:before,.home-forest:after,.home-forest i{content:"";position:absolute;bottom:19%;width:150px;height:310px;border-radius:80% 20% 0 0;background:#3e6b4f33;transform-origin:bottom}.home-forest:before{left:-70px;transform:rotate(7deg)}.home-forest:after{right:-90px;transform:rotate(-9deg)}.home-forest i:nth-child(1){left:13%;height:240px;width:95px;opacity:.32}.home-forest i:nth-child(2){right:12%;height:210px;width:80px;opacity:.25}.home-forest i:nth-child(3){left:45%;bottom:37%;width:72px;height:72px;border-radius:50%;background:#fff1bb7a}.home-creature-wrap{position:absolute;top:9%;left:50%;width:min(68vw,270px);transform:translate(-50%)}.home-creature{width:100%;animation:breathe 3.2s ease-in-out infinite}.home-copy{position:relative;z-index:2;padding:0 4px}.eyebrow,.scene-number{color:var(--forest);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.home-copy h1{margin:10px 0 18px;font-size:clamp(34px,10vw,44px);line-height:1.05;letter-spacing:.03em}.home-copy p:not(.eyebrow){margin-top:10px;color:#57655c;font-family:STSong,Songti SC,serif;font-size:16px;line-height:1.8}.home-start{position:relative;z-index:2;margin-top:24px}.home-note{position:relative;z-index:2;margin-top:12px;color:var(--muted);font-size:12px;text-align:center}.quiz-page{--sky: #a8c3d1;--sky2: #dce7df;--hill1: #698a70;--hill2: #456b52;--orb: #f7e6b2;min-height:100svh;padding-top:17px;background:linear-gradient(180deg,var(--sky),var(--sky2) 48%,#f7f3e9 76%);transition:background .5s ease}.moment-morning,.moment-next-morning{--sky: #b7d5bd;--sky2: #e3edc8;--hill1: #6f986d;--hill2: #416d4e;--orb: #f6de8b}.moment-noon{--sky: #eed98a;--sky2: #e8e0a7;--hill1: #78966a;--hill2: #4f7755;--orb: #fff2a8}.moment-afternoon,.moment-next-afternoon{--sky: #b8cf9a;--sky2: #e4e1aa;--hill1: #718d60;--hill2: #486a49;--orb: #f5c97d}.moment-sunset,.moment-next-sunset{--sky: #e8a87c;--sky2: #e9c0a0;--hill1: #765f58;--hill2: #3e5c4b;--orb: #ffe0a6}.moment-night,.moment-rain{--sky: #2b3a55;--sky2: #52647b;--hill1: #344b52;--hill2: #233b39;--orb: #dce2d7;color:#f8f5ed}.moment-golden-dawn{--sky: #dfb66b;--sky2: #f0d5a1;--hill1: #7e8b67;--hill2: #526b50;--orb: #fff1b7}.forest-progress{position:relative;z-index:5}.moment-row{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.moment-dot{height:4px;border-radius:4px;background:#faf7f057;transition:transform .2s,background .2s}.moment-dot.done{background:#faf7f0bf}.moment-dot.current{background:#fff7db;transform:scaleY(1.8)}.moment-meta{display:flex;justify-content:space-between;margin-top:10px;color:#ffffffdb;font-size:12px;font-weight:700;letter-spacing:.08em}.scene-art{position:relative;height:230px;margin:4px -20px -18px}.forest-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sky-orb{fill:var(--orb);opacity:.76}.stars{fill:#faf4d5;opacity:.8}.hill-back{fill:var(--hill1);opacity:.7}.hill-front{fill:var(--hill2)}.plants{fill:none;stroke:#22412db8;stroke-width:8;stroke-linecap:round}.ground-glow{fill:#f7efcd26}.scene-creature{position:absolute;z-index:2;left:50%;bottom:9px;width:170px;transform:translate(-50%);animation:breathe 3.2s ease-in-out infinite}.rain-lines{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.rain-lines i{position:absolute;top:-35px;left:calc(var(--i, 1) * 8%);width:2px;height:33px;background:#e1eef485;transform:rotate(16deg);animation:rain 1.05s linear infinite}.rain-lines i:nth-child(1){left:5%;animation-delay:-.2s}.rain-lines i:nth-child(2){left:14%;animation-delay:-.8s}.rain-lines i:nth-child(3){left:23%;animation-delay:-.4s}.rain-lines i:nth-child(4){left:32%;animation-delay:-.9s}.rain-lines i:nth-child(5){left:41%;animation-delay:-.1s}.rain-lines i:nth-child(6){left:50%;animation-delay:-.6s}.rain-lines i:nth-child(7){left:59%;animation-delay:-.3s}.rain-lines i:nth-child(8){left:68%;animation-delay:-.75s}.rain-lines i:nth-child(9){left:77%;animation-delay:-.15s}.rain-lines i:nth-child(10){left:86%;animation-delay:-.55s}.rain-lines i:nth-child(11){left:94%;animation-delay:-.9s}.rain-lines i:nth-child(12){left:47%;animation-delay:-.35s}.scene-card{position:relative;z-index:4;padding:20px 17px 17px;border:1px solid rgba(255,255,255,.5);border-radius:24px;background:var(--card);color:var(--ink);box-shadow:0 16px 40px #1e322624;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);animation:card-in .36s ease both}.scene-card h2{min-height:3.2em;margin:8px 0 16px;font-family:STSong,Songti SC,serif;font-size:18px;line-height:1.62;font-weight:650}.scene-options{display:flex;flex-direction:column;gap:9px}.scene-option{min-height:61px;display:grid;grid-template-columns:1fr 65px;align-items:center;gap:7px;padding:8px 8px 8px 15px;border:1px solid var(--line);border-radius:17px;background:#ffffffbd;color:var(--ink);text-align:left;font-size:14px;line-height:1.45;transition:transform .12s ease,border-color .12s ease,background .12s ease}.scene-option:active{transform:scale(.985);border-color:var(--forest);background:#fff}.option-glyph{width:65px;height:45px}.glyph-shadow{fill:#32302c1f}.glyph-body{fill:#b8b5b0;stroke:#8c8984;stroke-width:2}.glyph-tail,.glyph-ears{fill:none;stroke:#8c8984;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.glyph-eye{fill:#3d3e3c}.glyph-mark{fill:var(--forest);font-size:14px;font-weight:800}.scene-back{position:relative;z-index:5;margin-top:8px;color:#ffffffd6}.illustrated-scene{position:relative;min-height:100svh;height:100svh;padding:0;overflow:hidden;background:#263e46}.illustrated-scene .forest-progress{position:absolute;z-index:12;top:max(13px,env(safe-area-inset-top));left:18px;right:18px;padding:10px 12px 8px;border-radius:16px;background:#182b264d;box-shadow:0 6px 24px #0914111f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.illustrated-scene .scene-art--illustrated{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;margin:0;overflow:hidden}.scene-art--illustrated img{width:100%;height:100%;object-fit:cover}.illustrated-scene--1 .scene-art--illustrated img,.illustrated-scene--2 .scene-art--illustrated img,.illustrated-scene--3 .scene-art--illustrated img,.illustrated-scene--4 .scene-art--illustrated img,.illustrated-scene--8 .scene-art--illustrated img{object-position:50% 50%}.illustration-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(17,32,27,.18),transparent 22%,transparent 58%,rgba(9,20,17,.34));pointer-events:none}.illustration-rain-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 22% 15%,rgba(196,225,239,.14),transparent 34%);animation:rain-light 4.8s ease-in-out infinite;pointer-events:none}.scene-card--integrated{position:absolute;z-index:8;top:0;right:0;bottom:0;left:0;padding:0;border:0;border-radius:0;background:transparent;color:#243730;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.scene-card--integrated .scene-number{position:absolute;margin:0;padding:6px 9px;border-radius:999px;color:#233a30c2;background:#faf7eca3;box-shadow:0 4px 16px #1f312914;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.scene-card--integrated h2{position:absolute;min-height:0;margin:0;padding:12px 14px;border-radius:17px;color:#273b34;background:#fbf8edba;box-shadow:0 8px 28px #1f31291f;font-size:clamp(17px,4.7vw,20px);line-height:1.52;text-shadow:0 1px rgba(255,255,255,.45);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.illustrated-scene--1 .scene-card--integrated .scene-number{top:15%;left:6%}.illustrated-scene--1 .scene-card--integrated h2{top:20%;left:6%;width:min(76%,300px)}.illustrated-scene--2 .scene-card--integrated .scene-number{top:12%;right:6%}.illustrated-scene--2 .scene-card--integrated h2{top:17%;right:6%;width:min(82%,320px);text-align:right}.illustrated-scene--3 .scene-card--integrated .scene-number{top:12%;left:6%}.illustrated-scene--3 .scene-card--integrated h2{top:17%;left:6%;width:min(80%,312px)}.illustrated-scene--4 .scene-card--integrated .scene-number{top:12%;right:6%}.illustrated-scene--4 .scene-card--integrated h2{top:17%;right:6%;width:min(78%,304px);text-align:right}.illustrated-scene--8 .scene-card--integrated .scene-number{top:15%;right:6%;color:#ebf4efd9;background:#0f282e70}.illustrated-scene--8 .scene-card--integrated h2{top:21%;right:5%;width:min(70%,280px);color:#f7f4e9;background:#0c232a91;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.28)}.scene-options--integrated{position:absolute;top:0;right:0;bottom:0;left:0;display:block;pointer-events:none}.scene-option--hotspot{position:absolute;min-height:0;width:auto;max-width:88%;display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:8px;padding:6px 7px 6px 14px;border:1px solid rgba(255,255,255,.58);border-radius:19px;color:#263b33;background:#faf8efc7;box-shadow:0 8px 25px #12282029;font-family:STSong,Songti SC,serif;font-size:14px;line-height:1.4;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:auto;animation:hotspot-in .45s ease both}.action-sticker{width:54px;height:54px;border-radius:15px;object-fit:cover;box-shadow:inset 0 0 0 1px #54635714}.scene-option--hotspot:before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 0;border-radius:50%;background:#d9a85c;box-shadow:0 0 0 4px #d9a85c29}.scene-option--hotspot:active{color:#14281f;background:#fffdf5f2;transform:scale(.98)}.illustrated-scene--1 .scene-options--integrated{inset:auto 0 max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;padding:0 14px}.illustrated-scene--1 .scene-option--hotspot{position:relative;inset:auto;width:100%;max-width:none;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:8px;padding:3px 4px 3px 14px;color:#20352c;background:#faf8efe0;font-family:inherit;font-size:12.5px;font-weight:650;line-height:1.4;text-align:left}.illustrated-scene--1 .scene-option--hotspot:before{display:none}.illustrated-scene--1 .action-sticker{width:52px;height:52px}.illustrated-scene--1 .hotspot-1{align-self:stretch;animation-delay:.08s}.illustrated-scene--1 .hotspot-2{align-self:stretch;animation-delay:.16s}.illustrated-scene--1 .hotspot-3{align-self:stretch;margin:0;animation-delay:.24s}.illustrated-scene--2 .scene-options--integrated,.illustrated-scene--3 .scene-options--integrated,.illustrated-scene--4 .scene-options--integrated{inset:34% 0 auto;display:flex;flex-direction:column;gap:6px;padding:0 14px}.illustrated-scene--2 .scene-option--hotspot,.illustrated-scene--3 .scene-option--hotspot,.illustrated-scene--4 .scene-option--hotspot{position:relative;inset:auto;width:100%;max-width:none;min-height:54px;grid-template-columns:minmax(0,1fr) 46px;gap:8px;padding:3px 4px 3px 14px;background:#faf8efdb;font-family:inherit;font-size:12.5px;font-weight:650;line-height:1.35;text-align:left}.illustrated-scene--2 .scene-option--hotspot:before,.illustrated-scene--3 .scene-option--hotspot:before,.illustrated-scene--4 .scene-option--hotspot:before{display:none}.illustrated-scene--2 .action-sticker,.illustrated-scene--3 .action-sticker,.illustrated-scene--4 .action-sticker{width:46px;height:46px;border-radius:13px}.illustrated-scene--2 .hotspot-1,.illustrated-scene--3 .hotspot-1,.illustrated-scene--4 .hotspot-1{animation-delay:.08s}.illustrated-scene--2 .hotspot-2,.illustrated-scene--3 .hotspot-2,.illustrated-scene--4 .hotspot-2{animation-delay:.16s}.illustrated-scene--2 .hotspot-3,.illustrated-scene--3 .hotspot-3,.illustrated-scene--4 .hotspot-3{animation-delay:.24s}.illustrated-scene--8 .scene-options--integrated{inset:auto 0 max(40px,calc(10px + env(safe-area-inset-bottom)));display:flex;flex-direction:column;gap:6px;padding:0 14px}.illustrated-scene--8 .scene-option--hotspot{position:relative;inset:auto;width:100%;max-width:none;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:8px;padding:3px 4px 3px 14px;color:#f6f5ec;border-color:#d8ece561;background:#0f2b30c7;box-shadow:0 8px 28px #000d1440;font-family:inherit;font-size:12.5px;font-weight:650;line-height:1.4;text-align:left}.illustrated-scene--8 .scene-option--hotspot:before{display:none}.illustrated-scene--8 .action-sticker{width:52px;height:52px}.illustrated-scene--8 .hotspot-1{align-self:stretch;animation-delay:.08s}.illustrated-scene--8 .hotspot-2{align-self:stretch;animation-delay:.16s}.illustrated-scene--8 .hotspot-3{align-self:stretch;animation-delay:.24s}.illustrated-scene .scene-back{position:absolute;z-index:14;left:17px;bottom:max(8px,env(safe-area-inset-bottom));margin:0;padding:7px 10px;border-radius:999px;color:#ffffffd9;background:#0e231f5c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.birthday-page{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 18%,#e9dcae 0 8%,transparent 9%),linear-gradient(180deg,#2b3a55,#566277 54%,#faf7f0);color:#f9f6ed}.birthday-ripples{width:122px;height:24px;margin:52px auto 28px;border:1px solid rgba(244,230,182,.42);border-radius:50%;box-shadow:0 0 0 13px #f4e6b61a,0 0 0 27px #f4e6b60d}.birthday-page .scene-number{color:#d8e2d7}.birthday-page h1{margin-top:12px;font-family:STSong,Songti SC,serif;font-size:28px;line-height:1.45}.birthday-copy{margin:18px 0 26px;color:#faf7f0c7;font-size:14px;line-height:1.75}.birthday-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;color:#faf7f0cc;font-size:13px}.birthday-field input{width:100%;min-height:52px;padding:0 15px;border:1px solid rgba(255,255,255,.25);border-radius:16px;color:var(--ink);background:#faf7f0f0}.birthday-page .btn-back{margin-top:9px;color:#faf7f0b3;align-self:flex-start}.reveal-page{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#d7ab61,#f0d6a1 43%,#6e8a6b 44%,#334f43);color:#fffaf0}.reveal-sky{position:absolute;top:8%;left:50%;width:90px;height:90px;border-radius:50%;background:#fff0b1b8;transform:translate(-50%);filter:blur(1px);animation:sunrise 2.4s ease-out both}.reveal-line{position:relative;z-index:2;font-family:STSong,Songti SC,serif;font-size:18px;letter-spacing:.12em;opacity:0;animation:fade-up .5s ease forwards}.line-two{margin-top:7px;animation-delay:.55s}.reflection-pool{position:relative;z-index:2;width:290px;height:235px;margin-top:8px;overflow:hidden;border-radius:50%;background:radial-gradient(ellipse at center,#c6dfd294,#214239cc 68%);box-shadow:inset 0 0 40px #ffffff29,0 20px 50px #14261f47;transform:scaleY(.72)}.reveal-creature{position:absolute;left:50%;top:28px;width:210px;transform:translate(-50%) scaleY(1.38);filter:blur(4px);animation:reflection-focus 2.25s 1s ease forwards}.water-ripple,.water-ripple:before,.water-ripple:after{position:absolute;left:50%;bottom:28px;width:110px;height:20px;border:2px solid rgba(244,239,205,.42);border-radius:50%;content:"";transform:translate(-50%);animation:ripple 2s ease-out infinite}.water-ripple:before{bottom:-2px;animation-delay:-.7s}.water-ripple:after{bottom:-2px;animation-delay:-1.35s}.reveal-answer{position:relative;z-index:3;margin-top:-7px;text-align:center;font-family:STSong,Songti SC,serif;font-size:17px;line-height:1.5;opacity:0;animation:fade-up .6s 2.25s ease forwards}.reveal-answer strong{font-family:inherit;font-size:37px;letter-spacing:.1em}.reveal-skip{position:absolute;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));padding:9px 12px;border-radius:20px;color:#ffffffbf;background:#ffffff1a;font-size:12px}.reveal-page .creature-body,.reveal-page .creature-face,.reveal-page .creature-ear,.reveal-page .creature-foot,.reveal-page .creature-tail{animation-delay:1s;animation-duration:2.1s;animation-fill-mode:both}.reveal-page .creature--dudu .creature-body,.reveal-page .creature--dudu .creature-ear,.reveal-page .creature--dudu .creature-foot{animation-name:grey-to-dark}.reveal-page .creature--dudu .creature-face{animation-name:grey-to-white}.reveal-page .creature--dudu .creature-tail{animation-name:stroke-grey-to-dark}.reveal-page .creature--xingren .creature-body,.reveal-page .creature--xingren .creature-ear,.reveal-page .creature--xingren .creature-foot{animation-name:grey-to-brown}.reveal-page .creature--xingren .creature-face{animation-name:grey-to-light-brown}.reveal-page .creature--xingren .creature-tail{animation-name:stroke-grey-to-brown}.reveal-page .creature--wangxiaobai .creature-body,.reveal-page .creature--wangxiaobai .creature-ear,.reveal-page .creature--wangxiaobai .creature-foot,.reveal-page .creature--wangxiaobai .creature-face{animation-name:grey-to-white}.reveal-page .creature--wangxiaobai .creature-tail{animation-name:stroke-grey-to-light}.reveal-page .creature--wangxiaobai .creature-stripes,.reveal-page .creature--wangxiaobai .creature-pi{animation:mark-in 1.3s 1.65s both}.result{display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#e3eadf,var(--paper) 300px)}.result-kicker{color:var(--forest);text-align:center;font-size:12px;font-weight:800;letter-spacing:.2em}.result-card{padding:18px 18px 23px;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:#ffffffb8;text-align:center;box-shadow:0 16px 42px #2948381c}.result-creature{width:165px;margin:-5px auto -10px}.result-name{font-family:STSong,Songti SC,serif;font-size:34px;letter-spacing:.07em}.result-species{margin-top:5px;color:var(--muted);font-size:13px}.result-persona{margin-top:10px;color:var(--forest);font-weight:750}.zodiac-note{margin:10px auto 0;width:fit-content;padding:5px 10px;border-radius:999px;color:#8c652b;background:#f6e6bf;font-size:11px}.verdict{min-height:90px;padding:20px;border-radius:20px;background:#e5eee6}.verdict-loading{color:var(--muted);text-align:center}.verdict-text{font-family:STSong,Songti SC,serif;font-size:15.5px;line-height:1.9;text-align:justify}.axes{padding:20px 16px 12px;border-radius:20px;background:#ffffffc7}.axis-row{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:9px;margin-bottom:18px}.axis-label{color:var(--muted);font-size:11px}.axis-label.pos{text-align:right}.axis-track{position:relative;height:4px;border-radius:3px;background:#e4e3dc}.dot{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%)}.dot.you{z-index:2;background:var(--orange)}.dot.animal{background:var(--forest)}.axes-legend{display:flex;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:11px}.axes-legend .dot{position:static;display:inline-block;transform:none}.result-actions{display:flex;flex-direction:column;gap:10px}.btn-secondary:disabled{color:#92a396;background:#eceee9}.card-error{color:#8c652b;font-size:13px;text-align:center}.share-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px}.share-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#121e189e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease both}.share-body{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;animation:sheet-in .28s ease both}.share-image{width:100%;max-height:74svh;border-radius:18px;object-fit:contain;box-shadow:0 24px 60px #0a161173}.share-hint{color:#ffffffe6;font-size:13px;letter-spacing:.04em}.share-close{width:auto;padding:9px 26px;border-radius:999px;color:#ffffffd1;background:#ffffff24}.chat-page{display:flex;flex-direction:column;height:var(--chat-vh, 100svh);padding:0;background:linear-gradient(180deg,#e3eadf,var(--paper) 220px)}.chat-header{position:relative;z-index:3;display:grid;grid-template-columns:34px 46px 1fr;align-items:center;gap:9px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--line);background:#faf7f0e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-back{padding:4px 0;color:var(--forest);background:transparent;font-size:22px;line-height:1;text-align:left}.chat-avatar{width:46px}.chat-who{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-who strong{font-family:STSong,Songti SC,serif;font-size:19px;letter-spacing:.05em}.chat-who span{overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.chat-log{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 16px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat-privacy{margin-bottom:2px;color:var(--muted);font-size:11px;text-align:center}.chat-turn{display:flex}.chat-turn--user{justify-content:flex-end}.chat-bubble{max-width:84%;padding:12px 15px;border-radius:20px;font-size:15px;line-height:1.72;white-space:pre-wrap;word-break:break-word;animation:card-in .3s ease both}.chat-turn--assistant .chat-bubble{border:1px solid rgba(255,255,255,.8);border-top-left-radius:7px;background:#ffffffdb;box-shadow:0 8px 24px #29483814;font-family:STSong,Songti SC,serif}.chat-turn--user .chat-bubble{border-top-right-radius:7px;color:#fff;background:var(--forest);box-shadow:0 8px 22px #29483833}.chat-typing{display:inline-flex;gap:5px;align-items:center;height:1.72em}.chat-typing i{width:6px;height:6px;border-radius:50%;background:#a8b4aa;animation:typing 1.25s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.18s}.chat-typing i:nth-child(3){animation-delay:.36s}.chat-waiting{display:block;margin-top:2px;color:var(--muted);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-size:12px;animation:fade-up .4s ease both}.chat-error{align-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;border-radius:16px;background:#f6e6bf;color:#8c652b;font-size:13px;text-align:center}.chat-retry{padding:7px 16px;border-radius:999px;color:#fff;background:#b8863a;font-size:13px;font-weight:650}.chat-starters{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.chat-starter{padding:9px 14px;border:1px solid rgba(62,107,79,.28);border-radius:999px;color:var(--forest);background:#ffffffb3;font-size:13px}.chat-starter:active{background:#e4eee6}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:9px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#faf7f0f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-composer input{min-width:0;min-height:46px;padding:0 16px;border:1px solid var(--line);border-radius:23px;color:var(--ink);background:#fff;font-size:15px}.chat-composer input:focus{outline:none;border-color:#3e6b4f80}.chat-send{min-height:46px;padding:0 20px;border-radius:23px;color:#fff;background:var(--forest);font-size:15px;font-weight:700}.chat-send:disabled{color:#eef1ec;background:#aebcb3}@keyframes blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes breathe{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-3px) scale(1.015)}}.home-creature{animation-name:home-breathe}@keyframes home-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.015)}}@keyframes rain{0%{transform:translateY(-20px) rotate(16deg)}to{transform:translateY(310px) rotate(16deg)}}@keyframes card-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes hotspot-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes rain-light{0%,to{opacity:.65}50%{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes sunrise{0%{opacity:.1;transform:translate(-50%,22px) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes reflection-focus{0%{filter:blur(7px);opacity:.45}to{filter:blur(0);opacity:1}}@keyframes ripple{0%{opacity:.7;transform:translate(-50%) scale(.45)}to{opacity:0;transform:translate(-50%) scale(1.8)}}@keyframes grey-to-dark{0%{fill:#b8b5b0;stroke:#8c8984}to{fill:#262b2c;stroke:#151819}}@keyframes grey-to-white{0%{fill:#b8b5b0;stroke:#8c8984}to{fill:#f0ede3;stroke:#aaa396}}@keyframes grey-to-brown{0%{fill:#b8b5b0;stroke:#8c8984}to{fill:#9a674a;stroke:#704832}}@keyframes grey-to-light-brown{0%{fill:#bbb8b3;stroke:#8c8984}to{fill:#b67c58;stroke:#81553b}}@keyframes stroke-grey-to-dark{0%{stroke:#8c8984}to{stroke:#202526}}@keyframes stroke-grey-to-brown{0%{stroke:#8c8984}to{stroke:#704832}}@keyframes stroke-grey-to-light{0%{stroke:#8c8984}to{stroke:#a59f92}}@keyframes mark-in{0%{opacity:0}to{opacity:1}}@keyframes typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-height:740px){.scene-art{height:185px}.scene-creature{width:140px}.scene-card{padding-top:16px}.scene-option{min-height:55px}.home-creature-wrap{top:3%;width:220px}.illustrated-scene .scene-art--illustrated{height:100%}.scene-card--integrated{padding:0}.scene-option--hotspot{min-height:0;padding:8px 12px;font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
