:root{--wine-950:#12080a;--wine-900:#1a0b0e;--wine-800:#2a1016;--wine-700:#4a1520;--wine-600:#6e1d2c;--gold-500:#c9a44a;--gold-300:#e8d5a3;--gold-200:#f3e6c4;--cream:#f4ead8;--cream-dark:#e8dcc4;--ink:#2a1618;--paper:#f7f0e4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--wine-900);height:100%;color:var(--gold-200);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Serif SC,Songti SC,serif;overflow:hidden}button,input{font-family:inherit}#app{height:100%}.viewport{cursor:grab;touch-action:none;background:radial-gradient(ellipse 80% 60% at 50% 40%, #6e1d2c73, transparent 70%), radial-gradient(circle at 20% 80%, #c9a44a14, transparent 40%), radial-gradient(circle at 85% 15%, #c9a44a12, transparent 36%), var(--wine-900);position:fixed;inset:0;overflow:hidden}.viewport:before{content:"";pointer-events:none;opacity:.22;background-image:radial-gradient(circle at 1px 1px,#e8d5a359 1px,#0000 0);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.viewport:after{content:"";pointer-events:none;background:linear-gradient(#12080a73 0%,#0000 18% 82%,#12080a8c 100%),linear-gradient(90deg,#12080a47 0%,#0000 12% 88%,#12080a47 100%);position:absolute;inset:0}.viewport.is-grabbing{cursor:grabbing}.world{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.world.is-easing{transition:transform .42s cubic-bezier(.22,1,.36,1)}.world-title{text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:480px;position:absolute;top:680px;left:860px;transform:translate(-50%,-50%)}.world-title .seal{border:2px solid var(--gold-500);width:72px;height:72px;color:var(--gold-300);letter-spacing:.08em;background:#4a15208c;place-items:center;margin:0 auto 12px;font-family:ZCOOL XiaoWei,serif;font-size:34px;display:grid;box-shadow:inset 0 0 0 4px #c9a44a40}.world-title h1{letter-spacing:.22em;color:var(--gold-300);text-shadow:0 8px 28px #12080ab3;margin:0;font-family:ZCOOL XiaoWei,Noto Serif SC,serif;font-size:86px;font-weight:400}.world-title p{letter-spacing:.48em;color:#e8d5a3b8;margin:8px 0 0;font-size:18px}.polaroid{cursor:pointer;transform-origin:50%;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff2e,#0000 28%),linear-gradient(#f7f0e4 0%,#efe2cb 100%);border:1px solid #c9a44a59;width:236px;padding:14px 14px 16px;transition:box-shadow .25s,filter .25s;position:absolute;box-shadow:inset 0 1px #fff8e6b3,0 18px 36px #0c04066b,0 2px #c9a44a2e}.polaroid:hover{filter:brightness(1.04);box-shadow:inset 0 1px #fff8e6cc,0 24px 48px #0c04068c,0 0 0 1px #c9a44a73}.polaroid.is-front{box-shadow:0 0 0 1px #c9a44ab3,0 28px 60px #0c040699,0 0 40px #c9a44a2e}.polaroid .tape{width:78px;height:22px;transform:translateX(-50%) rotate(var(--tape-rot,-2deg));opacity:.82;pointer-events:none;position:absolute;top:-12px;left:50%}.polaroid .tape.gold{background:linear-gradient(90deg,#b8943a,#ead28a,#b8943a)}.polaroid .tape.wine{background:linear-gradient(90deg,#6e1d2c,#a83a48,#6e1d2c)}.polaroid .tape.cream{background:linear-gradient(90deg,#e8dcc4,#fff8ea,#dcc9a4)}.frame{aspect-ratio:4/5;background:#2a1218;position:relative;overflow:hidden}.frame .fallback{background:var(--card-gradient);place-items:center;display:grid;position:absolute;inset:0}.frame .fallback .emoji{filter:drop-shadow(0 8px 16px #12080a59);font-size:72px}.frame img,.frame video{object-fit:cover;filter:sepia(.28)saturate(.85)contrast(1.05);mix-blend-mode:normal;width:100%;height:100%;position:absolute;inset:0}.frame img.is-ready,.frame video.is-ready{animation:.6s both fade-in}.frame .wine-wash{pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(#4a152014,#4a152047);position:absolute;inset:0}.kind-badge{z-index:2;letter-spacing:.18em;color:var(--gold-200);background:#1a0b0eb8;border:1px solid #c9a44a73;padding:3px 7px;font-size:11px;position:absolute;top:8px;right:8px}.gif-stage{background:var(--card-gradient);place-items:center;display:grid;position:absolute;inset:0}.gif-stage .reel{filter:drop-shadow(0 6px 10px #0000004d);font-size:68px;animation:1.15s step-end infinite gif-frames}.gif-stage:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#12080a14 3px 4px);animation:.18s infinite flicker;position:absolute;inset:0}.meta{color:var(--ink);padding:12px 4px 2px}.meta .title{margin:0;font-family:Ma Shan Zheng,Noto Serif SC,cursive;font-size:26px;font-weight:400;line-height:1.1}.meta .date{letter-spacing:.12em;color:#2a16189e;margin:4px 0 0;font-size:12px}.chrome{z-index:20;pointer-events:none;position:fixed}.chrome *{pointer-events:auto}.chrome-top{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex;top:0;left:0;right:0}.brand{flex-direction:column;gap:4px;display:flex}.brand .mark{letter-spacing:.28em;color:var(--gold-300);font-family:ZCOOL XiaoWei,serif;font-size:22px}.brand .sub{letter-spacing:.32em;color:#e8d5a39e;font-size:12px}.reset-btn{appearance:none;color:var(--gold-300);letter-spacing:.28em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a0b0eb8;border:1px solid #c9a44a8c;padding:10px 16px;font-size:13px}.reset-btn:hover{border-color:var(--gold-500);background:#4a1520e0}.chrome-bottom{justify-content:center;padding:18px 16px 24px;display:flex;bottom:0;left:0;right:0}.hint{letter-spacing:.28em;color:#e8d5a394;pointer-events:none;background:#12080a73;border:1px solid #c9a44a2e;padding:8px 16px;font-size:12px}.overlay[hidden]{display:none!important}.overlay{z-index:40;opacity:0;pointer-events:none;background:#0c0507c7;place-items:center;padding:24px;transition:opacity .28s;display:grid;position:fixed;inset:0}.overlay.is-open{opacity:1;pointer-events:auto}.overlay-card{width:min(420px,100%);color:var(--ink);background:linear-gradient(#f8f1e6,#eadcc6);border:1px solid #c9a44a80;padding:18px 18px 22px;transition:transform .32s cubic-bezier(.22,1,.36,1);transform:translateY(16px)scale(.98);box-shadow:0 30px 80px #00000073}.overlay.is-open .overlay-card{transform:none}.overlay-frame{aspect-ratio:4/5;background:#2a1218;position:relative;overflow:hidden}.overlay-frame img,.overlay-frame video,.overlay-frame .fallback,.overlay-frame .gif-stage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.overlay-copy{padding:16px 6px 0}.overlay-copy h2{margin:0;font-family:Ma Shan Zheng,cursive;font-size:36px;font-weight:400}.overlay-copy .when{letter-spacing:.16em;color:#2a161899;margin:4px 0 12px;font-size:13px}.overlay-copy .caption{letter-spacing:.04em;min-height:4.5em;margin:0;font-size:15px;line-height:1.85}.overlay-copy .caption .caret{background:var(--wine-600);vertical-align:-2px;width:8px;height:1em;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}.close-btn{appearance:none;color:var(--gold-300);letter-spacing:.24em;cursor:pointer;background:#12080ab3;border:1px solid #c9a44a80;padding:8px 14px;position:absolute;top:18px;right:18px}.close-btn:hover{border-color:var(--gold-300)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes gif-frames{0%,24%{content:"👶"}25%,49%{content:"🍼"}50%,74%{content:"😊"}75%,to{content:"✨"}}@keyframes flicker{0%{opacity:.35}50%{opacity:.7}to{opacity:.4}}@keyframes blink{50%{opacity:0}}@media (width<=720px){.world-title h1{font-size:64px}.chrome-top{padding:16px}.brand .mark{letter-spacing:.16em;font-size:18px}.hint{letter-spacing:.12em;font-size:11px}.polaroid{width:210px}}
