/* Distinct illustration surfaces; reading and form areas stay opaque. */
.hero{background:#f8f3df url(assets/cover-garden-border.webp) center/cover no-repeat;min-height:850px;border:0;padding:32px 60px 30px}.hero::after{inset:17px;border-color:#ba9c6d88}.hero-copy{padding-top:52px}.folio,.hero-bottom{position:relative;z-index:1}.hero-bottom{margin-top:44px}.hero-copy,.couple-seal,.person-hint,.open-letter{position:relative;z-index:1}.hero-place{display:inline-block;background:#fffdf1dd;padding:2px 10px}.person-hint{display:table;margin:0 auto 17px;background:#fffdf1d9;padding:2px 8px}.open-letter{background:#fffdf3e8}.hero-bottom button,.hero-bottom>span{background:#fffdf1dd;padding:2px 5px}.letter{padding:0 0 42px;background:#445b42;overflow:hidden}.letter-stilllife{display:block;width:100%;height:330px;object-fit:cover;object-position:center;image-rendering:pixelated}.letter-paper{position:relative;width:78%;margin:-65px auto 0;background:#fffcef;padding:58px 60px 52px;border:1px solid #d3be91;box-shadow:0 10px 35px #172d2435}.letter-paper::before{content:'';position:absolute;inset:12px;border:1px solid #d4c39e80;pointer-events:none}.letter-flower{bottom:44px;right:45px}.letter-paper .chapter{margin-bottom:15px}.letter h2{font-size:38px}.schedule{background:#eef0df;padding-top:0}.day-art{display:block;width:calc(100% + 16.28%);max-width:none;position:relative;margin-left:-8.14%;height:320px;object-fit:cover;object-position:center 60%;image-rendering:pixelated;margin-bottom:45px}.timeline article>div{background:#fffdf4;border:1px solid #b8bd97;border-top:3px solid #9ba77f;padding:23px;box-shadow:4px 4px 0 #bcc4a366}.timeline time{font-family:WeddingSerif,serif}.timeline .main-ceremony>div{border-top-color:#294d3c}.map{background:#173b31;color:#fff9e6;position:relative}.map .chapter{color:#dec58c}.map h2,.map p,.map .text-link{color:#fff9e6}.map .button{background:#f8edce;color:#173b31;border-color:#f8edce}.map-layout{grid-template-columns:1fr auto}.map-token{width:88px!important;height:110px!important;image-rendering:pixelated;opacity:.95}.reply{max-width:none;padding:0 0 45px;background:#d8e1c3}.reply-scene{height:290px;overflow:hidden}.reply-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;image-rendering:pixelated}.reply-paper{position:relative;max-width:680px;width:82%;margin:-40px auto 0;padding:48px 50px;background:#fffdf5;border:1px solid #c5caa9;box-shadow:0 8px 30px #31462b19}.reply h2{font-size:34px}.reply-intro{font-size:15px}footer{background:#173b31;color:#fff9e6;border-top:1px solid #637859}footer>span{color:#cfb574}footer p{font-family:WeddingSerif,serif}.hero-bottom{font-size:12px}.person-hint{font-size:12px}.cat-hint{font-size:12px}
@media(max-width:650px){.hero{min-height:750px;padding:25px 22px 34px;background-position:center;background-size:cover}.hero-copy{padding-top:48px}.hero h1{font-size:36px}.hero-bottom{gap:5px;margin-top:35px;font-size:12px}.hero::after{inset:10px}.letter{padding-bottom:30px}.letter-stilllife{height:225px;object-position:center}.letter-paper{width:88%;margin-top:-35px;padding:34px 23px 36px}.letter h2{font-size:28px}.invite-copy{font-size:16px}.letter-paper blockquote{font-size:15px;padding-left:13px;margin:26px 0 22px}.letter-flower{right:21px;bottom:29px;width:44px;height:56px}.letter-sign{font-size:20px}.schedule{padding:0 25px 45px}.day-art{width:calc(100% + 50px);margin-left:-25px;height:210px;object-position:center 62%;margin-bottom:35px}.schedule h2{font-size:29px}.timeline article{grid-template-columns:80px 1fr;gap:10px}.timeline article>div{padding:15px 40px 15px 15px}.timeline img{right:9px;top:16px;width:24px;height:28px}.timeline h3{font-size:19px}.timeline time{font-size:26px}.timeline p{font-size:14px}.map{padding:40px 25px}.map h2{font-size:24px}.map-token{width:43px!important;height:60px!important}.map-layout{gap:10px}.reply{padding:0 0 32px}.reply-scene{height:200px}.reply-scene>img{object-position:70% center}.reply-paper{width:90%;padding:32px 20px;margin-top:-22px}.reply h2{font-size:27px}.reply-heading img{width:46px;height:65px}.person-hint{margin-bottom:16px;font-size:12px}.hero-place{font-size:13px}.form-notice{font-size:13px}.choices span{font-size:14px;padding:10px 4px}.choices label{min-width:65px}.count-row{gap:10px}}
@media(max-width:350px){.hero h1{font-size:32px}.hero .date-rule{gap:10px}.hero-place{font-size:12px}.letter h2{font-size:25px}.reply h2{font-size:24px}.timeline article{grid-template-columns:68px 1fr}.timeline time{font-size:24px}.hero-bottom{font-size:11px}}
.map #copy-address{margin-left:14px;padding:8px 0}.map #map-link{margin-bottom:6px}

/* Courtyard figures share the foreground stone terrace and a single scale. */
.scene-couple{left:50%;bottom:10%;gap:0;z-index:2}.scene-couple img{width:auto;height:clamp(62px,10vw,120px)}.scene-couple .person{min-width:0;min-height:0}.person::after,.cat::before{content:'';position:absolute;left:16%;right:16%;bottom:0;height:6%;border-radius:50%;background:#172d2850;z-index:-1}.cat{z-index:2;padding:3px}.cat-goudan{left:calc(50% - clamp(68px,11vw,131px));bottom:9%}.cat-erya{left:calc(50% + clamp(38px,6vw,72px));right:auto;bottom:9%}.cat img{width:auto;height:clamp(40px,6.5vw,78px)}.cat-hint{left:50%;right:auto;transform:translateX(-50%);bottom:1.8%;white-space:nowrap;padding:2px 9px;letter-spacing:1px}.secret-star{top:19%;right:12%;z-index:2}.signature-mark{font-family:WeddingSerif,Georgia,serif;letter-spacing:5px;font-size:29px}.signature-mark i{font-size:.6em;font-weight:400;color:var(--gold)}.letter-sign{display:flex;align-items:center;gap:16px}.letter-sign small{letter-spacing:4px;font-size:12px}.character-dialog{position:fixed;inset:auto 0 calc(76px + env(safe-area-inset-bottom));margin:0 auto;max-width:500px;width:calc(100% - 28px);padding:18px 34px 16px 16px;box-shadow:0 12px 44px #09241b55;display:flex;align-items:center;gap:17px;text-align:left;border:1px solid #bfa774;z-index:20;max-height:45dvh}.character-dialog:not([open]){display:none}.character-dialog>img{width:53px;height:74px;flex:none;margin:0}.character-copy{min-width:0;flex:1}.character-dialog .chapter{font-size:14px;margin:0 0 6px;letter-spacing:1px}.character-dialog p{font-size:14px;line-height:1.75;margin:0;min-height:49px}.character-dialog .dialog-close{top:2px;right:8px;font-size:24px;width:30px;height:36px}.talk-actions{display:flex;gap:22px;margin-top:9px}.talk-actions button{border:0;background:none;color:#805d31;font-size:12px;padding:6px 0;border-bottom:1px solid #cdb98b}.garden-play{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 0;padding:13px 0;border-bottom:1px solid #71866c66}.garden-play>button{background:#f5edd8;color:#244737;border:1px solid #c9b98c;padding:10px 15px;font-size:13px;white-space:nowrap}.garden-play>p{font-size:12px;color:#e0d5b9}.firefly{position:absolute;z-index:4;width:44px;height:44px;margin:-22px 0 0 -22px;border:0;border-radius:50%;background:transparent;color:#fff7a3;font-size:20px;filter:drop-shadow(0 0 6px #ffde64);animation:glimmer 2.2s ease-in-out infinite;animation-delay:var(--delay)}.firefly:hover,.firefly:focus-visible{background:#ffe48222}.firefly:active{transform:scale(1.25)}@keyframes glimmer{50%{filter:drop-shadow(0 0 12px #ffe373);color:#fffddd;transform:translateY(-3px)}}
@media(max-width:650px){.garden-play{display:block;text-align:center}.garden-play p{margin-top:10px}.scene-couple img{height:clamp(55px,15vw,96px)}.cat img{height:clamp(35px,9.5vw,60px)}.cat-goudan{left:calc(50% - 23vw)}.cat-erya{left:calc(50% + 12vw)}.cat{min-width:40px;min-height:44px}.cat-hint{font-size:10px}.character-dialog{gap:12px;padding:15px 32px 12px 13px}.character-dialog>img{width:42px;height:65px}.character-dialog p{font-size:14px}.signature-mark{font-size:26px}}
@media(prefers-reduced-motion:reduce){.firefly{animation:none}}
.cat-goudan{left:35%;transform:translateX(-50%)}.cat-erya{left:65%;transform:translateX(-50%)}@keyframes pet{0%,100%{transform:translateX(-50%)}50%{transform:translate(-50%,-5px) rotate(-4deg)}}
@media(max-width:650px){.scene-couple .person{min-width:44px;display:grid;place-items:center}.cat-goudan{left:31%}.cat-erya{left:69%}}@media(max-width:350px){.cat-goudan{left:28%}.cat-erya{left:72%}}

.envelope-gate{min-height:calc(100svh - 28px);max-width:1060px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f0dc url(assets/cover-garden-border.webp) center/cover no-repeat;padding:55px 25px 40px;text-align:center;color:#294333}.envelope-kicker{font-family:WeddingSerif,serif;font-size:23px;letter-spacing:2px;margin-bottom:40px}.envelope-object{position:relative;isolation:isolate;display:block;width:min(560px,100%);height:310px;border:1px solid #bca780;background:linear-gradient(155deg,#fff9e9,#ecdfbc);box-shadow:0 22px 40px #6b60402a,0 3px 0 #d6c6a4;color:#294333;overflow:hidden;transition:transform .25s}.envelope-object:hover{transform:translateY(-4px)}.envelope-object::before,.envelope-object::after{content:'';position:absolute;bottom:0;width:70%;height:100%;background:#f4e8cb;z-index:-1;pointer-events:none}.envelope-object::before{left:0;clip-path:polygon(0 0,100% 100%,0 100%)}.envelope-object::after{right:0;clip-path:polygon(100% 0,100% 100%,0 100%)}.envelope-flap{position:absolute;inset:0;background:linear-gradient(#e5d4ae,#f8edcf);clip-path:polygon(0 0,100% 0,50% 53%);z-index:-1}.envelope-address{position:absolute;top:28px;left:0;right:0;font-size:13px;letter-spacing:5px;color:#7b694b}.envelope-names{position:absolute;top:80px;left:0;right:0;font-family:WeddingSerif,serif;font-size:34px;letter-spacing:3px}.envelope-names i{font-family:Georgia,serif;font-size:22px;color:#9c7448;margin:0 8px}.envelope-seal{position:absolute;top:145px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#8a453b;border:4px double #d3a486;box-shadow:0 3px 8px #61342933;color:#f5d7ad;font-size:29px;font-family:WeddingSerif,serif}.envelope-open-label{position:absolute;bottom:28px;left:0;right:0;font-size:14px;letter-spacing:4px}.envelope-date{font-family:WeddingSerif,serif;font-size:23px;margin-top:36px}.envelope-time{margin-top:8px;font-size:16px;letter-spacing:2px}.envelope-venue{font-size:13px;margin-top:13px}.envelope-share{border:0;border-bottom:1px solid #a68a60;background:transparent;color:#84643a;padding:8px 0;margin-top:25px;font-size:13px;letter-spacing:2px}.envelope-foot{font-size:12px;color:#8b7c59;letter-spacing:3px;margin-top:20px}.topbar .monogram{border:0;background:transparent;color:inherit;font:19px WeddingSerif,serif;letter-spacing:2px;padding:6px 0}.monogram span{font:11px sans-serif;letter-spacing:1px;margin-left:7px}.top-share{border:0;background:transparent;color:#e0c793;font-size:12px;padding:7px}.letter-courtyard-link{position:relative;display:table;color:#8c6c3c;border-bottom:1px solid #c8b38a;margin-top:24px;text-decoration:none;font-size:14px;padding-bottom:5px;z-index:1}.letter-courtyard-link span{margin-left:16px}.bottom-nav a[aria-current="location"]{background:#345546;color:#f7dfb0}.letter{scroll-margin-top:0}
@media(max-width:650px){.envelope-gate{padding:32px 22px;min-height:calc(100svh - 28px)}.envelope-kicker{font-size:18px;letter-spacing:1px;margin-bottom:27px}.envelope-object{height:265px}.envelope-names{font-size:29px;top:70px;letter-spacing:1px}.envelope-address{top:22px;font-size:12px}.envelope-seal{top:125px;width:57px;height:57px;font-size:25px}.envelope-open-label{bottom:24px}.envelope-date{font-size:20px;margin-top:28px}.envelope-time{font-size:14px}.envelope-venue{font-size:12px}.envelope-share{margin-top:17px}.envelope-foot{margin-top:17px}.letter-courtyard-link{font-size:13px}}

/* Letter, day and reply details */
.letter-paper .wedding-quote{width:max-content;max-width:100%;padding-left:18px;margin-bottom:30px;font-family:WeddingSerif,SimSun,serif;font-size:clamp(14px,2vw,21px);line-height:1.95}.wedding-quote span{display:block;width:13em;max-width:100%;text-align:justify;text-align-last:justify;white-space:nowrap}.letter-bouquet{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#8c754c;padding:9px 0;margin:20px 0 0;font-size:12px;letter-spacing:1px}.letter-bouquet img{image-rendering:pixelated;object-fit:contain}.letter-bouquet.bloom img{animation:bouquet-bloom .65s ease}@keyframes bouquet-bloom{50%{transform:rotate(-12deg) scale(1.2)}}.scene-couple .person+ .person{margin-left:-12px}.day-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.day-fortune{border:1px solid #c3b28d;background:#fffaf0;color:#6e5730;padding:8px 12px;font-size:13px}.fortune-line{font-size:14px;color:#716143;line-height:1.8;margin-top:14px;min-height:1.8em}.form-actions{position:sticky;bottom:calc(65px + env(safe-area-inset-bottom));z-index:5;background:#fffdf5f5;padding:12px 0;border-top:1px solid #ded4bd;box-shadow:0 -8px 15px #fffdf5c9}.form-actions #submit-reply{width:100%;padding:13px 20px}.submit-help{width:100%;font-size:12px;color:#716952;line-height:1.6}.receipt-confirmation{font-size:15px;background:#e8efdc;color:#234a36;padding:12px 15px;margin-bottom:20px;border-left:3px solid #55734e}.receipt{scroll-margin-top:28px}
@media(max-width:650px){.letter-paper .wedding-quote{font-size:15px;padding-left:12px}.scene-couple .person{min-width:0!important}.scene-couple .person+ .person{margin-left:-5px}.fortune-line{font-size:13px}.day-actions{gap:12px}.form-actions{bottom:calc(61px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.letter-paper .wedding-quote{font-size:14px}}

/* Approved larger figures; the original invitation wording is retained. */
.scene-couple img{height:clamp(115px,19vw,220px)}.scene-couple .person+.person{margin-left:-52px}.cat img{height:clamp(74px,12.25vw,142px)}.cat-goudan{left:29%}.cat-erya{left:72%}
.person:focus-visible,.cat:focus-visible{outline:2px solid #fff0b5;outline-offset:4px}.day-actions #schedule-card{border:0;background:none;padding:8px 0;color:inherit;font:inherit;border-bottom:1px solid #b6a776}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.memory-tile{position:relative;height:94px;background:#e9dfbd;border:1px solid #b8a377;box-shadow:0 3px 0 #d4c5a0;font:28px WeddingSerif,serif;color:#896c3c;border-radius:4px;transition:background .2s,transform .2s}.memory-tile img{height:66px;max-width:90%;object-fit:contain;image-rendering:pixelated;visibility:hidden}.memory-tile::after{content:'囍';position:absolute;inset:0;display:grid;place-items:center}.memory-tile.revealed,.memory-tile.matched{background:#fffae9}.memory-tile.revealed::after,.memory-tile.matched::after{display:none}.memory-tile.revealed img,.memory-tile.matched img{visibility:visible}.memory-tile.matched{border-color:#7a956b;background:#edf3e1;box-shadow:0 3px 0 #becdaf}.memory-tile:focus-visible{outline:3px solid #6a8758;outline-offset:3px}#memory-dialog{max-width:480px;padding:28px}#memory-dialog h2{margin:9px 0}#memory-dialog p{font-size:14px}#memory-status{color:#436341;min-height:25px}#memory-done{margin-left:20px}#copy-text{display:block;width:100%;padding:12px;box-sizing:border-box;font:15px/1.7 sans-serif;color:#234436;background:#fffdf4;border:1px solid #c5bb9c;user-select:text}.flower-pop img{animation:bouquet-bloom .6s ease}.garden-play button:disabled{opacity:.7}
@media(max-width:650px){.scene-couple img{height:clamp(95px,31vw,165px)}.scene-couple .person+.person{margin-left:-28px}.cat img{height:clamp(60px,20vw,106px)}.cat-goudan{left:23%}.cat-erya{left:78%}.memory-grid{gap:8px}.memory-tile{height:79px}.memory-tile img{height:55px}#memory-dialog{padding:24px 18px}.day-actions{column-gap:18px;row-gap:12px}}

.bouquet-note{font:13px/1.8 WeddingSerif,serif;color:#796445;max-width:26em;margin:4px 0 0}.bouquet-note:empty{display:none}
.day-actions button,.talk-actions button,#copy-address{min-height:44px}.secret-star{min-width:44px;min-height:44px}.talk-actions{gap:18px}.character-dialog .dialog-close{min-height:44px;min-width:44px}.character-dialog .talk-actions button{padding:8px 0}.person.speaking::before,.cat.speaking::after{content:'✦';position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:16px;line-height:1;color:#fff0a7;text-shadow:0 0 8px #f4c650;pointer-events:none}

/* Small, discoverable scenes: drawn objects remain the main visual. */
.scene-spot{position:absolute;z-index:1;width:44px;height:44px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:none;color:#ffe9a0;cursor:pointer}.scene-spot span{display:block;opacity:0;transition:opacity .25s;font-size:16px;text-shadow:0 0 8px #f7d071}.scene-spot:hover span,.scene-spot:focus-visible span,.show-spots .scene-spot span,.scene-spot.discovered span{opacity:1}.scene-spot:focus-visible{outline:2px solid #ffedb3}.scene-spot.discovered span{font-size:11px}.spot-lantern{left:23%;top:69%}.spot-lotus{left:33%;top:63%}.spot-bridge{left:56%;top:51%}.spot-willow{left:67%;top:43%}.spot-pavilion{left:36%;top:41%}.spot-sky{left:43%;top:10%}.explore-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:16px 0 0;color:#e6d7b2}.explore-bar button{background:transparent;border:0;border-bottom:1px solid #9eaa85;color:#f7e7bd;min-height:44px;padding:6px 0;font:13px inherit}.explore-bar span{font-size:12px;letter-spacing:1px}.garden-confetti{position:absolute;top:12%;z-index:5;pointer-events:none;color:#ffe9a1;animation:garden-celebrate 2.2s ease-out both}@keyframes garden-celebrate{0%{opacity:0;transform:translateY(30px) scale(.3)}25%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-60px) scale(1.3)}}.letter,.reply-scene{position:relative}.art-spot{position:absolute;z-index:2;border:1px solid #d4bd8588;background:#fff7dfeb;color:#735c34;min-height:44px;padding:6px 12px;font-size:12px;box-shadow:0 3px 9px #23372922;border-radius:2px}.ring-spot{right:6%;top:30px}.reply-scene .mailbox-spot{right:8%;top:30px}.art-spot:focus-visible{outline:2px solid #8a6b37;outline-offset:3px}@media(max-width:650px){.explore-bar{justify-content:center;gap:3px 16px}.art-spot{font-size:11px;padding:4px 9px}.ring-spot{top:18px;right:6%}.reply-scene .mailbox-spot{top:18px;right:6%}.scene-spot{z-index:1}.character-dialog p{min-height:60px}}@media(prefers-reduced-motion:reduce){.garden-confetti{animation:none;display:none}}

.illustration-world{position:relative;overflow:hidden}.day-world{width:calc(100% + 16.28%);margin-left:-8.14%;height:320px;margin-bottom:45px}.day-world .day-art{width:100%;height:100%;margin:0;position:static}.world-spot{position:absolute;z-index:2;width:52px;height:52px;border:0;border-radius:50%;transform:translate(-50%,-50%);background:transparent;color:#fff0b1;cursor:pointer}.world-spot span{font-size:14px;text-shadow:0 0 5px #91702d;animation:world-glint 3.4s ease-in-out infinite}.world-spot:hover span,.world-spot:focus-visible span{font-size:21px;opacity:1}.world-spot:focus-visible{outline:2px solid #967338}.pendant-button{border:0;background:none;padding:0;min-width:44px;cursor:pointer}.pendant-button:hover{transform:rotate(-5deg)}.explore-bar button{font-size:13px;font-family:inherit}.world-particle{position:absolute;z-index:3;pointer-events:none;color:#fff0b2;font-size:14px;animation:world-puff 1.6s ease-out both}.snow-particle{font-size:30px;color:white}@keyframes world-glint{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.15)}}@keyframes world-puff{0%{opacity:0;transform:translateY(8px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-50px) scale(1.3)}}@media(max-width:650px){.day-world{width:calc(100% + 50px);margin-left:-25px;height:210px;margin-bottom:35px}.day-world .day-art{width:100%;height:100%;margin:0}}@media(prefers-reduced-motion:reduce){.world-particle{display:none}.world-spot span{animation:none;opacity:.6}}

.world-response{position:relative;text-align:left;background:#fff9e8;border:1px solid #c5ad7d;padding:16px 20px;margin:14px 0;color:#244335;box-shadow:3px 3px 0 #9b9d7029}.world-response[hidden]{display:none}.response-name{color:#947440;font-size:12px;letter-spacing:2px}.world-response p{font:15px/1.8 WeddingSerif,SimSun,serif;margin:6px 0}.world-response>div{display:flex;gap:20px}.world-response button{min-height:44px;background:none;border:0;border-bottom:1px solid #caba93;color:#79613e;padding:4px 0;font-size:12px}.letter-paper .world-response,.reply-paper .world-response{margin:0 0 22px}.map .world-response p{color:#244335}.map .world-response{margin-top:20px}.schedule>.world-response{margin-top:-25px;margin-bottom:24px}@media(max-width:650px){.world-response{padding:12px 15px}.world-response p{font-size:14px}}

.spot-lantern{left:11%;top:45%}.spot-lotus{left:92%;top:66%}.spot-pavilion{left:36%;top:34%}.spot-willow{left:68%;top:33%}.spot-cloud{left:53%;top:26%}

/* Stable dialogue typography across sections and mobile text autosizing. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.world-response p,.map .world-response p,.character-dialog p,.bouquet-note,.fortune-line,.gift-line,.cat-speech p{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:15px;font-weight:400;line-height:1.85;letter-spacing:0;overflow-wrap:anywhere}
.world-response .response-name,.character-dialog .chapter{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:13px;font-weight:500;line-height:1.6;letter-spacing:1px}
.world-response button,.talk-actions button{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:13px;line-height:1.6}
.scene-spot span{opacity:.65;animation:glimmer 3.5s ease-in-out infinite}
.scene-spot{z-index:3}
@media(prefers-reduced-motion:reduce){.scene-spot span{animation:none}}
