﻿:root{color-scheme:dark;--night:#101e2d;--gold:#ddbf88;--cream:#faebcd;--muted:#aab2b5;--serif:"Songti SC","STSong","SimSun",serif}*{box-sizing:border-box}body{margin:0;background:#0a1420;color:var(--cream);font-family:"Microsoft YaHei","PingFang SC",sans-serif;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}button:focus-visible{outline:2px solid #fff4cf;outline-offset:7px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.page{position:relative;isolation:isolate;overflow:hidden;max-width:640px;margin:auto;min-height:100svh;padding:calc(25px + env(safe-area-inset-top)) 28px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 47%,#29404a55,transparent 55%),linear-gradient(160deg,#162737,#101c2a 66%,#182b36)}.page:after{content:"";position:absolute;inset:12px;border:1px solid #d6b87b12;pointer-events:none;z-index:-1}.stars{position:absolute;inset:0;z-index:-1;opacity:.6;background-image:radial-gradient(circle at 17% 21%,#efd5a8 0 1px,transparent 1.5px),radial-gradient(circle at 83% 32%,#efd5a8 0 1px,transparent 1.5px),radial-gradient(circle at 10% 66%,#efd5a8 0 .7px,transparent 1.2px),radial-gradient(circle at 70% 13%,#efd5a8 0 .8px,transparent 1.3px),radial-gradient(circle at 80% 70%,#efd5a8 0 1px,transparent 1.6px);background-size:310px 430px}.masthead{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1px;color:#deceac}.brand-mark{display:grid;place-items:center;width:30px;height:33px;border:1px solid #a99570;border-radius:3px;font-family:var(--serif);font-size:21px}.brand-caption{display:block;margin-top:4px;font-size:8px;letter-spacing:1.5px;color:#aaa99d}.edition{margin-left:auto;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#c8b28b}.side-note{position:absolute;left:18px;top:300px;writing-mode:vertical-rl;font:9px var(--serif);letter-spacing:5px;color:#b8a88577}.hero{text-align:center;padding-top:35px}.eyebrow{display:flex;justify-content:center;align-items:center;gap:10px;color:#bfa57c;font-size:8px;letter-spacing:3px}.eyebrow span{width:22px;height:1px;background:#bfa57c70}h1{font:400 clamp(38px,9vw,55px)/1.25 var(--serif);letter-spacing:8px;margin:20px -8px 17px 0;text-shadow:0 2px 22px #edcf8c16}h1 span{display:block;font-size:.68em;letter-spacing:10px;margin-top:11px}.intro{font-size:11px;line-height:2;letter-spacing:1.2px;color:#b9bfbb;margin:0}.moon-scene{position:relative;width:100%;height:310px;margin:10px auto 0;display:grid;place-items:center}.moon{position:relative;width:228px;height:228px;border:1px solid #f9e7b0aa;border-radius:50%;color:#645137;background:radial-gradient(ellipse at 28% 27%,#fff2c8,transparent 48%),radial-gradient(ellipse at 75% 80%,#b6985844,transparent 45%),radial-gradient(circle,#eddaa4,#ddbc78);box-shadow:0 0 28px #f3cf8d22,0 0 85px #edc77918,inset 0 0 26px #fff3c2a0;transition:transform .3s,box-shadow .3s;z-index:2;overflow:hidden}.moon:before{content:"";position:absolute;inset:0;opacity:.32;background:radial-gradient(ellipse at 70% 30%,#ab8f6355 0 8%,transparent 10%),radial-gradient(ellipse at 22% 75%,#ab8f6344 0 10%,transparent 13%),radial-gradient(ellipse at 40% 55%,#fff7d155 0 20%,transparent 23%)}.moon:hover{box-shadow:0 0 45px #f3cf8d44,0 0 110px #edc77922,inset 0 0 26px #fff3c2a0}.moon:active{transform:scale(.97)}.moon-text{position:absolute;top:38px;left:48px;text-align:left;font:33px/1.35 var(--serif);letter-spacing:9px;color:#7c6442}.moon-stamp{position:absolute;top:54px;right:55px;writing-mode:vertical-rl;border:1px solid #a06b49;padding:5px 2px;font:11px var(--serif);color:#9b6240;letter-spacing:3px}.moon-rabbit{position:absolute;width:85px;height:92px;right:30px;bottom:19px;color:#fff2d2;transform:rotate(-7deg);filter:drop-shadow(0 2px 2px #a1824c22)}.orbit{position:absolute;border:1px solid #d6b87b15;border-radius:50%;width:284px;height:284px}.orbit-two{width:308px;height:308px;border-style:dashed;border-color:#d6b87b12}.branch{position:absolute;right:-44px;top:-13px;width:163px;height:228px;z-index:3;pointer-events:none}.scene-label{position:absolute;left:3px;top:115px;writing-mode:vertical-rl;font:10px var(--serif);letter-spacing:5px;color:#bfa779}.label-right{left:auto;right:4px;top:184px}.cloud{position:absolute;width:160px;height:42px;z-index:3;pointer-events:none;border-top:1px solid #beaa8060;border-radius:70% 80% 0 0;background:linear-gradient(#233742e0,#23374200);transform:rotate(-5deg)}.cloud:before,.cloud:after{content:"";position:absolute;border-top:1px solid #beaa8044;border-radius:50%;width:83px;height:30px;top:9px;left:-18px}.cloud:after{width:112px;left:32px;top:14px}.cloud-left{left:-17px;bottom:42px}.cloud-right{right:-38px;bottom:14px;transform:scale(.8) rotate(7deg)}.floating-flower{position:absolute;left:48px;top:45px;color:var(--gold);font-size:13px;animation:float 5s ease-in-out infinite}.invitation{display:flex;align-items:center;justify-content:center;gap:12px;color:#e3cfaa;margin:0 0 17px}.invitation p{font:13px var(--serif);letter-spacing:2px;margin:0}.small-star{font-size:17px;color:#c6a76d}.draw-button{width:100%;max-width:276px;height:50px;border:1px solid #efd9a270;border-radius:5px;background:linear-gradient(105deg,#ecd6a5,#d8b578);color:#26343a;font-size:14px;letter-spacing:3px;box-shadow:0 5px 25px #0002}.draw-button span:first-child{font-size:23px;margin-right:12px;vertical-align:-2px}.draw-button span:last-child{float:right;margin-right:17px;font-size:19px}.draw-note{font-size:9px;letter-spacing:2px;color:#b8b5a7;margin:14px 0 0}.status{font-size:11px;line-height:1.7;color:#e4cea1;min-height:19px;margin:9px 0 0}.status:empty{margin-top:0;min-height:10px}footer{text-align:center;margin-top:13px}.footer-rule{display:flex;align-items:center;gap:12px;color:#ad9d81;font:10px var(--serif);letter-spacing:2px}.footer-rule:before,.footer-rule:after{content:"";height:1px;background:#c5b0832b;flex:1}.watermark{font-size:11px;letter-spacing:4px;color:#c6b99c99;margin:19px 0 7px}.footer-caption{font-size:8px;letter-spacing:1.8px;color:#939b9e;margin:0}.sparkles{position:absolute;inset:0;pointer-events:none;z-index:5}.sparkles i{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#ffe0a1;box-shadow:0 0 8px #ffe0a1;animation:burst .9s ease-out forwards;transform:rotate(var(--angle)) translateX(80px)}.summoning .moon{animation:glow .7s ease-in-out}.fallback{font-size:12px;line-height:2;color:#e6d2ad}dialog{padding:0;width:calc(100% - 40px);max-width:365px;max-height:calc(100dvh - 40px);border:1px solid #e3c99380;border-radius:12px;background:#f4ead4;color:#39413d;overflow:auto;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#07121cbd;backdrop-filter:blur(7px)}.blessing-card{position:relative;text-align:center;padding:25px 27px 18px;background:radial-gradient(circle at 50% 0,#fffaf0,transparent 62%);isolation:isolate}.blessing-card:before{content:"";position:absolute;inset:9px;border:1px solid #baa17555;border-radius:6px;z-index:-1;pointer-events:none}.close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;background:transparent;color:#7b7467;font-size:26px}.mini-moon{font-size:45px;line-height:1.2;color:#ae8545}.card-eyebrow{font:11px var(--serif);letter-spacing:4px;color:#8f7853;margin:6px 0 21px}.blessing-tag{display:inline-block;font-size:10px;letter-spacing:2px;color:#977540;border:1px solid #b3956055;padding:5px 11px;border-radius:20px;margin:0}h2{font:400 29px var(--serif);letter-spacing:3px;margin:18px 0}.blessing-text{font:16px/2.05 var(--serif);text-align:justify;color:#53574d;margin:0;min-height:100px}.card-divider{display:flex;align-items:center;gap:14px;color:#b19a6b;margin:17px 15px}.card-divider:before,.card-divider:after{content:"";height:1px;background:#b19a6b44;flex:1}.card-signature{font-size:10px;color:#89816e}.card-watermark{font:13px var(--serif);letter-spacing:3px;color:#9d8b6b;margin:18px 0 8px}.blessing-number{font-size:9px;color:#8e8778;letter-spacing:2px;margin:0 0 20px}.again{height:46px;width:100%;border:1px solid #324337;background:#31483f;color:#f8ebcf;border-radius:4px;letter-spacing:2px;font-size:12px}.again span{margin-left:10px}.dismiss{min-height:44px;color:#787364;background:transparent;border:0;font-size:11px}.card-notice{font-size:8px;color:#908775;margin:2px 0 0}dialog button:focus-visible{outline-color:#8c6937}.blessing-card.refresh{animation:reveal .3s ease-out}@keyframes float{50%{transform:translateY(-8px) rotate(40deg)}}@keyframes burst{to{transform:rotate(var(--angle)) translateX(var(--distance));opacity:0}}@keyframes glow{50%{box-shadow:0 0 90px #f3cf8d88;transform:scale(1.025)}}@keyframes reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:600px){.page{padding-left:65px;padding-right:65px}.hero{padding-top:40px}.moon-scene{height:335px;max-width:355px}.moon{width:248px;height:248px}.moon-rabbit{right:34px;bottom:25px}footer{margin-top:25px}}@media(max-width:350px){.page{padding-left:21px;padding-right:21px}.masthead{font-size:10px}.brand-caption{font-size:7px}.hero{padding-top:27px}.eyebrow{letter-spacing:2px;font-size:7px}.moon-scene{height:280px}.moon{width:208px;height:208px}.moon-text{left:39px;top:30px}.moon-stamp{right:44px;top:45px}.moon-rabbit{width:73px;bottom:9px}.orbit{width:253px;height:253px}.orbit-two{width:275px;height:275px}.branch{right:-29px;width:133px}.invitation p{font-size:11px}.scene-label{font-size:8px}.blessing-card{padding-left:23px;padding-right:23px}.watermark{letter-spacing:3px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
