*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#071d28}body{color:#fff1ce;font-family:"Songti TC","Noto Serif TC","PMingLiU",serif}.scene{position:relative;width:100%;height:100svh;min-height:540px;overflow:hidden;isolation:isolate;background:#071d28}.night,.shade,canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.night{object-fit:cover;object-position:70% center}.shade{background:linear-gradient(90deg,rgba(3,20,31,.38),transparent 60%),linear-gradient(0deg,rgba(3,20,31,.6),transparent 24%)}#stars{z-index:1}#fairy{z-index:2}#notes{z-index:3}.greeting{position:absolute;z-index:4;left:7%;top:17%;text-align:center;text-shadow:0 3px 28px #00141e,0 1px 3px #00131d}.brand{margin:0;color:#e6c780;font-size:clamp(20px,2.05vw,31px);letter-spacing:.3em;padding-left:.3em;font-weight:600}.rule{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0 16px}.rule span{height:1px;width:42px;background:linear-gradient(90deg,transparent,#d5b36d)}.rule span:last-child{transform:rotate(180deg)}.rule b{font-size:16px;font-weight:400;color:#ebd9aa}h1{font-size:clamp(42px,4.45vw,72px);font-weight:600;letter-spacing:.07em;margin:0;line-height:1.3}.wish{font-size:clamp(13px,1.2vw,17px);letter-spacing:.22em;margin:22px 0 0;color:#dedcc5}.signature{position:absolute;bottom:28px;left:7%;z-index:5;margin:0;font:10px/1.8 system-ui,sans-serif;letter-spacing:.22em;color:#d8d7bf}.signature span{margin:0 12px;color:#dec78b}button{position:absolute;bottom:23px;right:27px;z-index:6;width:43px;height:43px;border-radius:50%;border:1px solid #d5bf8060;background:#071f30a0;color:#ffedc5;font:16px system-ui;cursor:pointer;backdrop-filter:blur(10px)}button:hover{background:#163445}button:focus-visible{outline:2px solid #ffe5a6;outline-offset:4px}.loading{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);font-size:14px;z-index:7;background:#07232bd9;padding:12px 18px;border-radius:8px;white-space:nowrap}.scene[data-ready="true"] .loading{display:none}.scene[data-ready="error"] .loading{max-width:85%;white-space:normal}
@media(max-width:650px){.scene{min-height:620px}.night{object-position:73% center}.shade{background:linear-gradient(180deg,rgba(3,20,31,.38),transparent 65%,rgba(3,20,31,.65))}.greeting{left:0;right:0;top:10%;padding:0 14px}.brand{font-size:21px}h1{font-size:clamp(35px,10.5vw,52px);letter-spacing:.04em}.rule{margin:14px 0 10px}.wish{margin-top:16px;font-size:12px;letter-spacing:.12em}.signature{left:23px;bottom:30px;font-size:8px;letter-spacing:.12em}.signature span{margin:0 7px}}

/* ── 官網嵌入用覆蓋(2026-09-26 整合進首頁中秋卡)──────────────
   原本是整頁動畫(100svh + min-height),嵌進卡片 iframe 後高度由卡片決定 */
html,body{background:#071d28}
.scene{height:100%;min-height:0}
@media(max-width:650px){.scene{min-height:0}}
