@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,500;1,600&family=Italianno&family=Noto+Serif+SC:wght@400;500;600&display=swap";:root{color:#f4ead6;font-synthesis:none;text-rendering:optimizelegibility;--ink:#142321;--ink-soft:#283936;--lacquer:#121b1a;--gold:#c4a66a;--gold-pale:#e6d3a4;--silk:#eee3cd;--coral:#b46f63;--mist:#899a8d;background:#132321;font-family:Iowan Old Style,Baskerville,Times New Roman,serif}.primary-button:active,.primary-button.light:active,.token-entry-button:active,.secondary-button:active,.motion-fallback:active,.collection-status:active,.icon-button:active,.round-action:active{filter:brightness(.95)drop-shadow(0 3px 5px #050c0a3d);transform:translateY(2px)scale(.985)}.primary-button:focus-visible,.primary-button.light:focus-visible,.token-entry-button:focus-visible,.secondary-button:focus-visible,.motion-fallback:focus-visible,.collection-status:focus-visible,.icon-button:focus-visible,.round-action:focus-visible{outline-offset:3px;outline:2px solid #efd99e}.round-action{border-radius:0}@media (width<=380px){.primary-button,.primary-button.light,.token-entry-button{min-height:70px;padding-left:70px;padding-right:22px}.secondary-button,.motion-fallback{min-height:68px;padding-inline:32px}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}html{background:var(--ink)}body{background:var(--ink);overscroll-behavior:none;min-width:320px;min-height:100dvh;overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible{outline:2px solid var(--gold-pale);outline-offset:4px}.app{isolation:isolate;background:radial-gradient(circle at 76% 16%,#caac6d17,#0000 28%),linear-gradient(160deg,#1b302d,#111a19 72%);width:100%;height:100dvh;position:relative;overflow:hidden}.app:after{content:"";pointer-events:none;z-index:50;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:fixed;inset:0}.screen{width:100%;height:100%;animation:.7s cubic-bezier(.22,1,.36,1) both screen-in;position:absolute;inset:0;overflow:hidden}.full-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.topbar{z-index:40;padding:calc(env(safe-area-inset-top) + 14px) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.topbar button{pointer-events:auto}.topbar-actions{pointer-events:auto;align-items:center;gap:9px;display:flex}.music-toggle{isolation:isolate;color:#f0dca9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:radial-gradient(circle at 38% 31%,#efd9a324,#0000 34%),#0c1917c2;border:1px solid #e5cf9e94;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;padding:0;font:500 17px/1 Noto Serif SC,Songti SC,serif;transition:transform .2s,filter .2s,border-color .2s;display:grid;position:relative;box-shadow:inset 0 0 0 3px #08121073,0 6px 18px #03090847}.music-toggle:before{content:"";z-index:-1;border-radius:inherit;border:1px solid #d0ab654d;position:absolute;inset:4px}.music-toggle:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #e2c38000;position:absolute;inset:-4px}.music-toggle.is-playing:after{animation:2.8s ease-in-out infinite music-seal-breathe}.music-toggle:hover{filter:brightness(1.12)}.music-toggle:active{transform:scale(.94)}.music-toggle:focus-visible{outline-offset:3px;outline:2px solid #efd99e}.cover-music-toggle{z-index:45;top:calc(env(safe-area-inset-top) + 15px);position:fixed;right:17px}@keyframes music-seal-breathe{0%,to{border-color:#e2c38000;transform:scale(.94)}50%{border-color:#e2c38085;transform:scale(1.08)}}.icon-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b131270;border:1px solid #e5d0a352;border-radius:50%;width:42px;height:42px;font-size:27px;line-height:1}.collection-status{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;text-transform:uppercase;letter-spacing:.12em;background:#0b131278;border:1px solid #e5d0a34d;border-radius:22px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-width:92px;padding:8px 11px 7px;display:grid}.collection-status small{opacity:.58;grid-column:1;font:500 7px/1.4 system-ui,sans-serif}.collection-status b{color:var(--gold-pale);letter-spacing:.04em;grid-area:1/2/3;font-size:13px}.bilingual{flex-direction:column;align-items:center;gap:3px;display:flex}.bilingual>span{line-height:1.1}.bilingual small{letter-spacing:.2em;opacity:.66;font:500 10px/1.1 Songti SC,STSong,serif}.eyebrow{color:var(--gold-pale);text-transform:uppercase;letter-spacing:.24em;margin:0 0 13px;font:600 9px/1.4 system-ui,sans-serif}.cn-heading{color:#f0e1c4a3;letter-spacing:.28em;margin:8px 0 0;font:400 12px/1.5 Songti SC,STSong,serif}.primary-button,.secondary-button{cursor:pointer;border:1px solid #dabe848c;border-radius:999px;min-height:54px;padding:13px 24px;font-size:16px;transition:transform .22s,background-color .22s,color .22s}.primary-button{color:#152321;background:linear-gradient(115deg,#dec895,#aa8d55);box-shadow:0 10px 34px #00000040}.cover-screen .full-art{object-position:50% 50%;animation:12s ease-out both cover-drift;transform:scale(1.015)}.cover-wash{background:linear-gradient(#0f1a181a 0,#0000 36%,#0a1211db 100%);position:absolute;inset:0}.cover-copy{left:26px;right:26px;bottom:calc(env(safe-area-inset-bottom) + 74px);text-align:center;text-shadow:0 2px 24px #0000006b;position:absolute}.cover-copy .eyebrow{color:#f0dfb7;margin-bottom:12px}.cover-copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(39px,11.2vw,60px);font-weight:400;line-height:.94}.cn-title{color:#ead6a8;letter-spacing:.5em;text-indent:.5em;margin:12px 0 24px;font:400 16px/1 Songti SC,STSong,serif}.cover-foot{bottom:calc(env(safe-area-inset-bottom) + 20px);text-align:center;color:#f2e3c58c;letter-spacing:.05em;width:100%;margin:0;font-size:11px;font-style:italic;position:absolute}.invitation-screen{background:#18332b}.invitation-screen:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#07130f0d 0 43%,#08161124 57%,#081611d1 81%,#0d211b 100%);position:absolute;inset:0}.invitation-screen:after{content:"";z-index:1;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 72px #030c0952}.invitation-art{object-position:center 43%;filter:brightness(1.22)saturate(1.08)contrast(.98);animation:10s ease-in-out infinite alternate invitation-breathe;transform:scale(1.015)}.invitation-glow{z-index:1;aspect-ratio:1;filter:blur(34px);mix-blend-mode:screen;background:#e0a54e2b;border-radius:50%;width:48%;animation:3.8s ease-in-out infinite candle-breathe;position:absolute;top:47%;left:-11%}.invitation-folio{z-index:2;padding:31px 25px calc(env(safe-area-inset-bottom) + 22px);background:linear-gradient(90deg,#ad5d4c14,#0000 30% 72%,#5e8b7412),repeating-linear-gradient(0deg,#ecd3a005 0 1px,#0000 1px 5px),#0d211bf0;border-top:1px solid #ddb5678a;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -22px 38px #06120e3d,inset 0 1px #ffe8b214}.invitation-folio:before{content:"花";color:#df927b;background:#17342b;border:1px solid #da8668b8;place-items:center;width:33px;height:33px;font:400 15px/1 Songti SC,STSong,serif;display:grid;position:absolute;top:-17px;right:25px;transform:rotate(4deg)}.invitation-copy{position:relative}.invitation-copy .eyebrow{color:#e8c87f;margin-bottom:9px;font-size:8px}.invitation-copy h2{color:#f7ead0;letter-spacing:-.045em;text-shadow:0 4px 18px #00000047;max-width:420px;margin:0;font-size:clamp(35px,9vw,47px);font-weight:400;line-height:.94}.invitation-copy .cn-heading{color:#e2b791c2;margin-top:10px}.invitation-whisper{color:#f0e1c6a3;max-width:390px;margin:14px 0 19px;font-size:12px;font-style:italic;line-height:1.45}.token-entry-button{clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,13px 100%,0 50%);color:#26372f;cursor:pointer;background:linear-gradient(90deg,#b4684d1c,#0000 23%),repeating-linear-gradient(90deg,#5b3e2006 0 1px,#0000 1px 5px),#ead7aa;border:1px solid #d2ad67;width:100%;min-height:61px;padding:10px 54px 9px 26px;transition:transform .2s,filter .2s;display:block;position:relative;box-shadow:0 12px 28px #0000003b,inset 0 0 0 4px #fff8e042}.token-entry-button:after{content:"签";color:#a44f42;border:1px solid #9e4332a6;place-items:center;width:25px;height:25px;font:400 12px/1 Songti SC,STSong,serif;display:grid;position:absolute;top:50%;right:21px;transform:translateY(-50%)rotate(3deg)}.token-entry-button .bilingual>span{font-size:15px}.token-entry-button .bilingual small{color:#815f4d;opacity:.82}.token-entry-button:active{filter:brightness(.96);transform:translateY(2px)scale(.992)}@keyframes invitation-breathe{0%{transform:scale(1.015)}to{transform:scale(1.035)translateY(-.35%)}}@keyframes candle-breathe{0%,to{opacity:.62;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}.draw-screen .full-art{object-position:center}.draw-shade{background:linear-gradient(#040a0975,#0000 35%,#060c0ba8);position:absolute;inset:0}.draw-copy{top:calc(env(safe-area-inset-top) + 82px);text-align:center;position:absolute;left:26px;right:26px}.draw-copy h2{margin:0;font-size:clamp(32px,8vw,46px);font-weight:400;line-height:1}.draw-copy .cn-heading{margin-top:9px}.draw-hotspot{left:50%;bottom:calc(env(safe-area-inset-bottom) + 66px);color:#ebdcbf;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);cursor:pointer;background:#09121194;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:132px;height:132px;font-size:16px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 12px 50px #00000061}.draw-hotspot small{color:#ebdcbf8f;letter-spacing:.15em;margin-top:5px;font:400 10px/1 Songti SC,serif}.hotspot-ring{border:1px solid #d5b6778f;border-radius:50%;position:absolute;inset:8px}.hotspot-ring:before{content:"";border:1px dotted #d5b67747;border-radius:50%;position:absolute;inset:8px}.draw-hotspot.is-drawing{animation:.24s ease-in-out infinite alternate cylinder-shake}.draw-hotspot.is-drawing .hotspot-ring{animation:.8s linear infinite ring-spin}.token-screen{padding:calc(env(safe-area-inset-top) + 74px) 22px calc(env(safe-area-inset-bottom) + 22px);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--lady-color) 28%, transparent), transparent 44%), linear-gradient(160deg, #263a36, #101a19 74%);flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex}.token-aura{opacity:.24;background:repeating-radial-gradient(#0000 0 18px,#e2ca9726 19px 20px,#0000 21px 38px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 68%);mask-image:linear-gradient(#000,#0000 68%)}.flower-token{aspect-ratio:.64;clip-path:polygon(10% 0,90% 0,100% 7%,100% 93%,90% 100%,10% 100%,0 93%,0 7%);color:#24322e;text-align:center;background:linear-gradient(120deg,#ffffff3d,#0000 24%),#e9dcc1;border:1px solid #926b3ad9;width:min(78vw,360px);max-height:calc(100dvh - 220px);padding:46px 24px 24px;position:relative;box-shadow:0 24px 60px #00000057,inset 0 0 0 8px #69502f0f}.flower-token:before{content:"";clip-path:inherit;pointer-events:none;border:1px solid #6f532e47;position:absolute;inset:11px}.token-crown{background:#d3b16d;border:1px solid #9b783f;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:-18px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 5px 20px #0003}.token-crown span{transform:rotate(-45deg)}.token-index{letter-spacing:.24em;color:#6d604b;margin:0 0 18px;font:700 8px/1 system-ui,sans-serif}.flower-mark{border:1px solid #4b675957;border-radius:50%;width:92px;height:92px;margin:0 auto 13px;position:relative}.flower-mark:before,.flower-mark:after,.flower-mark span:before,.flower-mark span:after{content:"";background:color-mix(in srgb, var(--lady-color) 22%, transparent);transform-origin:0 0;border:1px solid #7b8e78;border-radius:58% 42% 62% 38%;width:34px;height:44px;position:absolute;top:50%;left:50%}.flower-mark:before{transform:rotate(0)translate(-4px,-39px)}.flower-mark:after{transform:rotate(90deg)translate(-4px,-39px)}.flower-mark span:before{transform:rotate(180deg)translate(-4px,-39px)}.flower-mark span:after{transform:rotate(270deg)translate(-4px,-39px)}.flower-token h2{color:#26352f;margin:0;font-size:clamp(35px,9vw,47px);font-weight:400;line-height:1}.cn-flower{letter-spacing:.35em;text-indent:.35em;color:#8b5f4f;margin:7px 0 0;font:400 14px/1 Songti SC,serif}.token-rule{background:#a48755;width:42px;height:1px;margin:20px auto 17px}.flower-token h3{max-width:250px;margin:0 auto;font-size:clamp(18px,4.6vw,23px);font-style:italic;font-weight:400;line-height:1.18}.cn-token-title{letter-spacing:.22em;color:#815c4d;margin:8px 0 0;font:400 10px/1 Songti SC,serif}.flower-token blockquote{letter-spacing:.22em;margin:23px 0 5px;font:400 16px/1.2 Songti SC,STSong,serif}.flower-token .source{letter-spacing:.16em;text-transform:uppercase;color:#796c58;margin:0;font:600 7px/1.3 system-ui,sans-serif}.token-screen>.primary-button{width:min(320px,88vw);position:relative}.portrait-art{object-position:center top}.portrait-gradient{background:linear-gradient(#08100f14 35%,#080f0ee6 100%);position:absolute;inset:0}.portrait-name{left:24px;right:24px;bottom:calc(env(safe-area-inset-bottom) + 110px);position:absolute}.portrait-name p{color:var(--gold-pale);letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px;font:600 9px/1 system-ui,sans-serif}.portrait-name h2{letter-spacing:-.04em;margin:0;font-size:clamp(42px,11.2vw,61px);font-weight:400;line-height:.95}.portrait-name span{color:#efdfc0a8;letter-spacing:.2em;margin-top:10px;font:400 12px/1 Songti SC,serif;display:block}.portrait-actions{left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 20px);gap:10px;display:flex;position:absolute}.portrait-actions>button:first-child{color:#14221f;background:#ecdcbbf0;border:1px solid #e0ca9e99;border-radius:999px;flex:1;min-height:58px;padding:8px 20px}.round-action{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1a189e;border:1px solid #e0ca9e8c;border-radius:50%;width:58px;height:58px;font-size:23px}.reading-screen{overscroll-behavior:contain;scrollbar-width:none;background:#101817;overflow-y:auto}.reading-screen::-webkit-scrollbar{display:none}.reading-portrait{background-position:top;background-size:cover;width:100%;height:52dvh;position:relative}.reading-portrait:after{content:"";background:linear-gradient(#0000 56%,#eee3ce 100%);position:absolute;inset:0}.reading-panel{z-index:2;min-height:60dvh;padding:18px 25px calc(env(safe-area-inset-bottom) + 30px);color:#26342f;background:#eee3ce;border-radius:26px 26px 0 0;margin-top:-8dvh;position:relative;box-shadow:0 -16px 40px #00000029}.sheet-handle{background:#a99a7f;border:0;border-radius:5px;width:42px;height:4px;margin:0 auto 29px;display:block}.reading-panel .eyebrow{color:#7c6544}.reading-panel h2{letter-spacing:-.035em;margin:0;font-size:clamp(32px,8vw,45px);font-weight:400}.reading-panel .cn-heading{color:#8a685c}.reading-block{border-top:1px solid #4852492e;grid-template-columns:auto 1fr;column-gap:9px;margin-top:25px;padding-top:20px;display:grid}.reading-block b{letter-spacing:.16em;text-transform:uppercase;color:#6b5b43;font:700 9px/1 system-ui,sans-serif}.reading-block small{color:#9b7767;font:400 9px/1 Songti SC,serif}.reading-block p{grid-column:1/-1;margin:10px 0 0;font-size:16px;line-height:1.58}.keepsake{background:color-mix(in srgb, var(--lady-color) 10%, transparent);border:1px solid #87683d59;grid-template-columns:auto 1fr;margin:28px 0 6px;padding:18px;display:grid}.keepsake span{letter-spacing:.15em;text-transform:uppercase;font:700 9px/1.2 system-ui,sans-serif}.keepsake small{margin-left:7px;font:400 9px/1.2 Songti SC,serif}.keepsake strong{grid-column:1/-1;margin-top:13px;font-size:23px;font-weight:400}.keepsake em{letter-spacing:.18em;color:#88685a;grid-column:1/-1;margin-top:3px;font:400 10px/1 Songti SC,serif}.reading-actions{grid-template-columns:1fr;gap:10px;margin-top:24px;display:grid}.collection-screen{padding:calc(env(safe-area-inset-top) + 78px) 18px calc(env(safe-area-inset-bottom) + 24px);scrollbar-width:none;background:radial-gradient(circle at 75% 8%,#c5a3611a,#0000 30%),#172724;overflow-y:auto}.collection-screen::-webkit-scrollbar{display:none}.collection-heading{padding:12px 7px 25px}.collection-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(42px,11vw,58px);font-weight:400;line-height:.95}.collection-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.album-card{aspect-ratio:.66;color:#eee2ca;text-align:left;background:#20302d;border:1px solid #dec69133;border-radius:5px;padding:0;position:relative;overflow:hidden}.album-card img{object-fit:cover;filter:grayscale()brightness(.32);opacity:.36;width:100%;height:100%}.album-card.is-unlocked img{filter:saturate(.72)contrast(.93);opacity:1}.album-card:after{content:"";background:linear-gradient(#0000 48%,#080f0eeb);position:absolute;inset:0}.album-card:disabled{cursor:default}.album-card>div{z-index:2;position:absolute;bottom:13px;left:12px;right:10px}.album-card b{font-size:18px;font-weight:400;line-height:1;display:block}.album-card small{color:#ecddc09e;letter-spacing:.12em;margin-top:7px;font:400 9px/1 Songti SC,serif;display:block}.album-number{z-index:2;color:#edbc;letter-spacing:.15em;font:600 9px/1 system-ui,sans-serif;position:absolute;top:10px;left:10px}.collection-actions{text-align:center;padding:25px 6px 0}.collection-actions p{color:#edddbfad;margin:0 0 17px;font-size:13px;font-style:italic;line-height:1.5}.collection-actions p small{letter-spacing:.16em;opacity:.64;margin-top:4px;font:400 9px/1 Songti SC,serif;display:block}.collection-actions .primary-button{width:100%}.share-screen{padding:calc(env(safe-area-inset-top) + 78px) 22px calc(env(safe-area-inset-bottom) + 18px);background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--lady-color) 16%, transparent), transparent 40%), #13221f;flex-direction:column;display:flex}.share-heading{flex:none;margin-bottom:17px}.share-heading .eyebrow{margin-bottom:8px}.share-heading h2{margin:0;font-size:clamp(29px,7.2vw,40px);font-weight:400;line-height:1}.share-heading .cn-heading{margin-top:6px}.share-card{clip-path:polygon(5% 0,95% 0,100% 4%,100% 96%,95% 100%,5% 100%,0 96%,0 4%);background:#1c2a27;border:1px solid #dcc1898c;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:0 20px 45px #00000047}.share-card:before{content:"";z-index:3;clip-path:inherit;pointer-events:none;border:1px solid #e2c99659;position:absolute;inset:9px}.share-card img{object-fit:cover;object-position:center top;width:100%;height:100%}.share-card-shade{background:linear-gradient(#080f0e0f,#080f0ee6);position:absolute;inset:0}.share-card-copy{z-index:2;text-shadow:0 2px 18px #0009;position:absolute;bottom:29px;left:28px;right:28px}.share-card-copy>span{letter-spacing:.2em;text-transform:uppercase;color:#e7d3a5;font:600 8px/1 system-ui,sans-serif}.share-card-copy h3{margin:10px 0 1px;font-size:clamp(37px,10vw,52px);font-weight:400;line-height:.9}.share-card-copy p{color:#f1e2c5c2;margin:9px 0 20px;font-size:13px;font-style:italic}.share-card-copy strong{font-size:19px;font-weight:400;display:block}.share-card-copy small{letter-spacing:.13em;color:#f1e2c59e;margin-top:4px;font:400 9px/1 Songti SC,serif;display:block}.notice{z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom) + 85px);color:#172421;background:#ecddbe;border-radius:20px;width:max-content;max-width:85%;margin:0;padding:10px 15px;font:600 11px/1.2 system-ui,sans-serif;position:absolute;transform:translate(-50%)}.share-actions{flex:none;grid-template-columns:.72fr 1.28fr;gap:9px;margin-top:14px;display:grid}.share-actions button{min-height:52px;padding-inline:13px}@keyframes screen-in{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes cover-drift{0%{transform:scale(1.05)translateY(0)}to{transform:scale(1.015)translateY(-.6%)}}@keyframes cylinder-shake{0%{transform:translate(-50%)rotate(-1.5deg)}to{transform:translate(-50%)rotate(1.5deg)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@media (width>=700px){.app{max-width:560px;margin:0 auto;box-shadow:0 0 80px #00000080}body{background:#0c1413}}@media (height<=690px){.flower-token{width:min(68vw,300px);padding-top:36px}.token-index{margin-bottom:10px}.flower-mark{width:70px;height:70px;margin-bottom:8px;transform:scale(.78)}.token-rule{margin-block:12px}.flower-token blockquote{margin-top:14px}.portrait-name{bottom:calc(env(safe-area-inset-bottom) + 94px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.primary-button,.secondary-button{clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);color:#23302c;letter-spacing:.025em;background:linear-gradient(90deg,#7a523529,#0000 18% 82%,#7a523529),#d8c39a;border:1px solid #c5a05ba8;border-radius:2px;min-height:48px;padding:10px 38px;font-size:14px;position:relative;box-shadow:0 8px 24px #0003,inset 0 0 0 3px #ffffff1a}.primary-button.light{background:#e5d7b9;border-color:#e0c791cc}.secondary-button{color:#eadbbc;background:#23322edb}.bilingual small{letter-spacing:.24em;font-size:9px}.icon-button{clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);background:#0d1816ad;border-radius:2px;width:38px;height:38px;font-size:18px}.collection-status{clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);background:#0d1816ad;border-radius:2px;min-width:88px}.cover-copy .primary-button{width:min(286px,100%)}.invitation-screen>.primary-button{align-self:center;width:min(310px,100%)}.portrait-actions>button:first-child{color:#21302b;background:#dfcfad;border-radius:2px;min-height:52px}.round-action{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);border-radius:2px;width:52px;height:52px}.draw-copy{top:calc(env(safe-area-inset-top) + 67px)}.draw-copy .eyebrow{margin-bottom:8px}.draw-copy h2{font-size:clamp(27px,7vw,38px)}.ritual-stage{z-index:3;pointer-events:none;perspective:900px;position:absolute;inset:21% 0 23%}.ritual-vessel{width:190px;height:360px;transform:translateX(-50%) rotateZ(calc(var(--tilt-x) * .72)) rotateX(var(--tilt-y));transform-origin:50% 86%;filter:drop-shadow(0 18px 18px #00000061);transition:transform 85ms linear;position:absolute;bottom:3%;left:50%}.stick-cluster{width:154px;height:196px;position:absolute;bottom:162px;left:50%;transform:translate(-50%)}.vessel-stick{z-index:1;object-fit:contain;transform-origin:50% 94%;width:auto;height:292px;transition:transform .1s linear;position:absolute;bottom:-98px;left:50%}.vessel-stick-0{transform:translate(-55%)rotate(-9deg)}.vessel-stick-1{transform:translate(-49%)rotate(-3deg)}.vessel-stick-2{transform:translate(-45%)rotate(4deg)}.vessel-stick-3{transform:translate(-40%)rotate(10deg)}.draw-armed .vessel-stick-0,.draw-auto .vessel-stick-0{transform:translateX(-56%) rotate(calc(-9deg + var(--tilt-x) * .22))}.draw-armed .vessel-stick-1,.draw-auto .vessel-stick-1{transform:translateX(-49%) rotate(calc(-3deg - var(--tilt-x) * .18))}.draw-armed .vessel-stick-2,.draw-auto .vessel-stick-2{transform:translateX(-44%) rotate(calc(4deg + var(--tilt-x) * .2))}.draw-armed .vessel-stick-3,.draw-auto .vessel-stick-3{transform:translateX(-39%) rotate(calc(10deg - var(--tilt-x) * .2))}.vessel-rim{z-index:8;background:radial-gradient(#080d0c 0 50%,#47361f 52%,#0d1615 64%,#b09154 70%,#131c1b 76%);border:2px solid #9f7d3f;border-radius:50%;width:181px;height:37px;position:absolute;bottom:146px;left:50%;transform:translate(-50%);box-shadow:inset 0 -5px 8px #000000a6,0 3px 6px #00000073}.vessel-body{z-index:7;background:linear-gradient(90deg,#060b0b,#25312e 16%,#0b1110 45%,#26322f 70%,#070c0c),#0b1211;border:1px solid #7c6133;border-radius:7px 7px 23px 23px/5px 5px 13px 13px;width:170px;height:166px;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 8px 0 16px #ffffff09,inset -12px 0 18px #00000080}.vessel-body:before,.vessel-body:after{content:"";background:#171e1c;border-top:1px solid #a48448;border-bottom:1px solid #7b602f;height:7px;position:absolute;left:0;right:0}.vessel-body:before{top:8px}.vessel-body:after{bottom:9px}.lacquer-bamboo{border-left:1px solid #ba94499e;border-right:1px solid #ba944959;position:absolute;inset:28px 25px}.lacquer-bamboo:before{content:"竹";color:#c19d57b8;text-shadow:0 0 12px #c29d5733;font:400 39px/1 Kaiti SC,STKaiti,serif;position:absolute;top:37px;left:50%;transform:translate(-50%)}.ritual-controls{z-index:12;left:22px;right:22px;bottom:calc(env(safe-area-inset-bottom) + 18px);text-align:center;flex-direction:column;align-items:center;gap:9px;display:flex;position:absolute}.fallback-button{animation:.55s cubic-bezier(.16,1,.3,1) both fallback-arrive;box-shadow:0 10px 34px #00000052,0 0 0 1px #e3c98f2e}.shake-meter{background:#dfc99d2e;width:min(210px,62vw);height:2px;margin-bottom:2px;overflow:hidden}.shake-meter span{background:linear-gradient(90deg,#8d7042,#e3c987);height:100%;transition:width .12s ease-out;display:block;box-shadow:0 0 8px #e1c58780}.ritual-instruction{color:#eadbbc;letter-spacing:.02em;text-shadow:0 2px 16px #000000b3;margin:0;font-size:17px;line-height:1.15}.ritual-instruction small{color:#eadbbc99;letter-spacing:.22em;margin-top:5px;font:400 10px/1 Songti SC,serif;display:block}.ritual-instruction.is-live:before{content:"";background:#d6b873;border-radius:50%;width:5px;height:5px;margin:0 9px 3px 0;animation:1.4s ease-in-out infinite sensor-pulse;display:inline-block;box-shadow:0 0 0 5px #d6b87324}.sensor-message{color:#eddcbc94;letter-spacing:.06em;margin:0;font:500 9px/1.35 system-ui,sans-serif}.sensor-message small{letter-spacing:.14em;margin-top:3px;font:400 8px/1 Songti SC,serif;display:block}.motion-fallback{color:#ecdbb885;background:0 0;border:0;border-bottom:1px solid #e0c79040;padding:2px 4px;font:500 9px/1.3 system-ui,sans-serif}.motion-fallback small{margin-left:7px;font:400 8px/1 Songti SC,serif}.token-screen{padding:calc(env(safe-area-inset-top) + 69px) 20px calc(env(safe-area-inset-bottom) + 18px);background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--lady-color) 18%, transparent), transparent 43%), linear-gradient(155deg, #263936, #101817 78%);grid-template-rows:auto minmax(0,1fr) auto;gap:10px;display:grid}.token-heading{z-index:2;text-align:center;position:relative}.token-heading .eyebrow{margin-bottom:6px}.token-heading h2{margin:0;font-size:clamp(27px,7vw,39px);font-weight:400;line-height:1}.token-heading .cn-heading{margin-top:7px}.real-token-display{z-index:2;perspective:1000px;cursor:pointer;background:0 0;border:0;width:min(42vw,205px);height:100%;min-height:0;margin:0 auto;padding:0;animation:.95s cubic-bezier(.16,1,.3,1) both token-materialise;display:block;position:relative}.real-token-inner{transform-style:preserve-3d;transition:transform .9s cubic-bezier(.22,.8,.24,1);display:block;position:absolute;inset:0}.real-token-display.side-back .real-token-inner{transform:rotateY(180deg)}.real-token-face{backface-visibility:hidden;place-items:center;display:grid;position:absolute;inset:0}.token-front img{object-fit:contain;filter:drop-shadow(0 18px 18px #00000059);width:100%;height:100%;transform:none}.token-back{color:#2c382f;text-align:center;background:linear-gradient(90deg,#8058271f,#0000 12% 88%,#8058271f),repeating-linear-gradient(88deg,#6d4d2406 0 1px,#0000 1px 5px),#ead8ad;border:2px solid #b38e4d;border-radius:66px 66px 28px 28px/40px 40px 18px 18px;align-content:center;justify-items:center;gap:7px;width:72%;height:94%;margin:auto;padding:46px 17px;transform:rotateY(180deg);box-shadow:inset 0 0 0 5px #ffffff40,0 18px 28px #0000004d}.token-back:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #88612b80;position:absolute;inset:9px}.back-ornament{color:#9b7045;font-size:23px}.back-flower{font-size:clamp(21px,5.4vw,28px);line-height:1}.back-cn-flower{color:#8a5b50;letter-spacing:.35em;text-indent:.35em;font:400 11px/1 Songti SC,serif}.token-back strong{max-width:170px;margin-top:8px;font-size:clamp(15px,3.8vw,19px);font-style:italic;font-weight:400;line-height:1.15}.token-back em{color:#855e50;letter-spacing:.16em;font:400 9px/1 Songti SC,serif}.token-back blockquote{writing-mode:vertical-rl;letter-spacing:.18em;margin:18px 0 3px;font:400 clamp(16px,4vw,21px)/1.5 Songti SC,STSong,serif}.token-back>small{color:#746853;letter-spacing:.13em;text-transform:uppercase;font:600 6px/1.25 system-ui,sans-serif}.token-controls{z-index:2;justify-content:center;display:flex;position:relative}.token-controls .primary-button{width:min(286px,88vw)}@keyframes chosen-stick-out{0%{transform:translate(-48%)translateY(0)rotate(2deg)}42%{transform:translate(-48%)translateY(-148px)rotate(-3deg)}to{opacity:0;transform:translate(-48%)translateY(-330px)rotate(0)scale(1.32)}}@keyframes sensor-pulse{50%{opacity:.45;transform:scale(.75)}}@keyframes fallback-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes token-materialise{0%{opacity:0;transform:translateY(24vh)rotateY(76deg)scale(.72)}to{opacity:1;transform:translateY(0)rotateY(0)scale(1)}}@media (height<=720px){.ritual-stage{transform-origin:50% 75%;inset:20% 0 21%;transform:scale(.88)}.draw-copy{top:calc(env(safe-area-inset-top) + 57px)}.draw-copy h2{font-size:25px}.real-token-display{width:min(41vw,190px)}.token-back{padding-block:32px}.token-back blockquote{margin-top:10px}}:root{--dream-apricot:#e8b95e;--dream-celadon:#6d9188;--dream-ink:#1d2b25;--dream-bamboo:#476c5c;--dream-paper:#f4ead0;--dream-ivory:#fbf4df;--dream-coral:#ad5d4c;font-family:Georgia,Times New Roman,serif}.app,button,input,textarea,select{font-family:Georgia,Times New Roman,serif}.cn-title,.cn-heading,.bilingual small,.portrait-name span,.reading-block small,.keepsake small,.keepsake em,.album-card small,.collection-actions p small,.share-card-copy small,.ritual-instruction small,.sensor-message small,.motion-fallback small,.back-cn-flower,.token-back em,.token-back blockquote{font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-weight:400}h1,h2,h3,.cover-copy h1,.invitation-copy h2,.portrait-name h2,.reading-panel h2,.collection-heading h2,.share-heading h2,.share-card-copy h3,.token-heading h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:500}.eyebrow,.portrait-name p,.reading-block b,.keepsake span,.album-number,.share-card-copy>span,.collection-status{font-family:Georgia,Times New Roman,serif;font-weight:600}.primary-button,.secondary-button{clip-path:none;min-height:52px;color:var(--dream-ivory);letter-spacing:.01em;background:#1d2b25f0;border:1px solid #fbf4df7a;border-radius:999px;padding:8px 22px;font-size:14px;box-shadow:0 9px 24px #121f1b3d,inset 0 0 0 1px #fbf4df14}.primary-button.light{color:var(--dream-ivory);background:#1c3a31eb;border-color:#e8b95e94;box-shadow:0 10px 28px #192d2647,inset 0 0 0 1px #fbe4a821}.secondary-button{color:var(--dream-ink);box-shadow:none;background:#f4ead0e6;border-color:#476c5c52}.primary-button:active,.secondary-button:active{transform:scale(.98)}.bilingual{gap:3px}.bilingual>span{font-size:14px;font-weight:500}.bilingual small{letter-spacing:.13em;margin-top:1px;font-size:8px}.icon-button,.collection-status{clip-path:none;color:var(--dream-ivory);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d2b25b8;border-color:#fbf4df6b;border-radius:999px;box-shadow:0 6px 20px #09120f2e}.icon-button{width:40px;height:40px;font-size:22px}.collection-status{min-width:92px}.portrait-actions>button:first-child{clip-path:none;min-height:54px;color:var(--dream-ivory);background:#1d2b25f0;border-radius:999px}.round-action{clip-path:none;width:54px;height:54px;color:var(--dream-ivory);background:#1d2b25bd;border-radius:999px}.ritual-vessel{width:170px}.stick-cluster{width:142px;bottom:186px}.vessel-art{z-index:7;object-fit:contain;filter:brightness(1.13)saturate(.88)drop-shadow(0 17px 20px #00000057);width:156px;height:234px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.vessel-rim{background:radial-gradient(#040807 0 52%,#31423b 54%,#a88648 61%,#182720 67%,#d0ad69 72%,#1a2924 77%);border:1px solid #d0ad69;width:154px;height:27px;bottom:161px;box-shadow:inset 0 -4px 7px #000000ad,0 5px 9px #0000004d}.vessel-body{background:radial-gradient(at 50% 73%,#557e6c40,#0000 30%),linear-gradient(90deg,#060a09,#24352e 17%,#0c1713 46%,#294037 72%,#070d0b);border:1px solid #9d7b40;border-radius:8px 8px 38px 38px/7px 7px 22px 22px;width:140px;height:178px;box-shadow:inset 10px 0 17px #ffffff09,inset -13px 0 20px #0000008f,0 17px 28px #00000047}.vessel-body:before,.vessel-body:after{background:linear-gradient(90deg,#171f1c,#aa8749 50%,#171f1c);border-color:#d0ad69bf;height:5px}.lacquer-bamboo{border:1px solid #c6a0547a;border-radius:46% 46% 38% 38%/18% 18% 15% 15%;inset:25px 17px 27px}.lacquer-bamboo:before{content:"籤";color:#e1c483cc;text-shadow:0 0 13px #d8b86f33;font:400 31px/1 Kaiti SC,STKaiti,serif;top:31px}.lacquer-bamboo:after{content:"❀";color:#79a38ebf;font-size:17px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.ritual-button{width:min(276px,82vw)}.fallback-button{border-color:#e8b95e99}.motion-fallback{color:#fbf4dfb8;background:#1d2b2575;border:1px solid #fbf4df33;border-radius:999px;min-height:34px;padding:6px 15px;font:400 10px/1.2 Georgia,Times New Roman,serif}.share-screen{padding:calc(env(safe-area-inset-top) + 69px) 18px calc(env(safe-area-inset-bottom) + 15px);background:radial-gradient(circle at 78% 18%,#e8b95e29,#0000 27%),linear-gradient(165deg,#345349,#192d27 72%)}.share-heading{margin:0 5px 13px}.share-heading .eyebrow{color:#e8c77f}.share-heading h2{font-size:clamp(28px,7vw,38px);line-height:.98}.share-heading .cn-heading{color:#fbf4dfad}.share-card{clip-path:none;color:var(--dream-ink);background:var(--dream-paper);border:1px solid #cba965a6;border-radius:4px;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 17px 38px #07130f47,inset 0 0 0 7px #fffae638}.share-card:before{clip-path:none;border-color:#8866374d;border-radius:2px;inset:8px}.share-portrait{background:#d9c9ab;border-bottom:1px solid #6e532f33;min-height:0;margin:10px 10px 0;position:relative;overflow:hidden}.share-card .share-portrait img{width:100%;height:100%;display:block;position:absolute;inset:0}.share-card .share-portrait-figure{object-fit:contain;object-position:center center;filter:brightness(1.32)saturate(.88)contrast(.9)}.share-card-copy{color:var(--dream-ink);text-shadow:none;background:linear-gradient(90deg, #ad5d4c14, transparent 24%), var(--dream-paper);padding:14px 23px 20px;position:relative;bottom:auto;left:auto;right:auto}.share-card-copy>span{color:var(--dream-coral);letter-spacing:.18em;font-size:7px}.share-card-copy h3{color:var(--dream-ink);margin:7px 0 0;font-size:clamp(29px,7.5vw,40px)}.share-card-copy p{color:#1d2b25ad;margin:5px 0 11px;font-size:12px}.share-card-copy strong{color:var(--dream-ink);font-size:18px}.share-actions{grid-template-columns:.82fr 1.18fr;gap:9px;margin-top:12px}.share-actions button{min-height:50px}@media (height<=720px){.share-screen{padding-top:calc(env(safe-area-inset-top) + 58px)}.share-heading{margin-bottom:9px}.share-heading .eyebrow{margin-bottom:5px}.share-card-copy{padding:10px 19px 13px}.share-card-copy p{margin-bottom:7px}}.reading-screen{color:var(--dream-ink);background:#243c34}.reading-portrait{filter:brightness(1.13)saturate(.84)contrast(.94);background-position:50% 16%;background-size:cover;height:58dvh}.reading-portrait:before{content:"";background:linear-gradient(90deg,#f4ead01a,#0000 36%),linear-gradient(#0f1f1a05 45%,#182d26a8 100%);position:absolute;inset:0}.reading-portrait:after{background:linear-gradient(#0000 54%,#e8dcc0 100%)}.reading-panel{min-height:68dvh;padding:0 22px calc(env(safe-area-inset-bottom) + 30px);color:var(--dream-ink);background:linear-gradient(90deg,#ad5d4c0a,#0000 19% 81%,#476c5c0d),repeating-linear-gradient(0deg,#53442b05 0 1px,#0000 1px 5px),#eee4ca;border:0;border-radius:0;margin-top:-12dvh;box-shadow:0 -19px 34px #0e1c171f}.reading-panel:before{content:"";background:linear-gradient(90deg, var(--dream-coral), #d2ad64 48%, var(--dream-bamboo));height:3px;margin:0 -22px;display:block}.sheet-handle{background:#5b4b3061;border-radius:0;width:52px;height:2px;margin:16px auto 24px}.reading-header{border-bottom:1px solid #534b3733;grid-template-columns:minmax(0,1fr) 82px;align-items:end;gap:15px;padding-bottom:19px;display:grid}.reading-title{min-width:0}.reading-title .eyebrow{max-width:210px;color:var(--dream-coral);margin-bottom:10px;font-size:8px;line-height:1.35}.reading-title h2{color:var(--dream-ink);margin:0;font-size:clamp(37px,10vw,52px);line-height:.88}.reading-byline{color:#1d2b25bd;align-items:baseline;gap:9px;margin:13px 0 0;font-size:14px;font-style:italic;display:flex}.reading-byline small{color:#875348c2;letter-spacing:.12em;font:400 9px/1 Songti SC,STSong,serif}.reading-token-art{align-self:stretch;min-height:132px;position:relative;overflow:hidden}.reading-token-art:before{content:"";border:1px solid #9d743c52;border-radius:42px 42px 16px 16px;position:absolute;inset:14px 3px 7px}.reading-token-art img{object-fit:contain;filter:brightness(1.08)drop-shadow(0 8px 10px #34271624);width:100%;height:100%;position:absolute;inset:0;transform:scaleX(2.35)scaleY(1.04)}.reading-verse{color:var(--dream-ink);background:#faf2dc8a;border-left:2px solid #ad5d4cb8;margin:20px 0 3px;padding:16px 18px 16px 22px;position:relative}.reading-verse span{color:#1d2b25a6;font-size:11px;font-style:italic;display:block}.reading-verse b{letter-spacing:.16em;margin-top:10px;font:400 17px/1.35 Songti SC,STSong,serif;display:block}.reading-verse small{color:#ad5d4cb8;letter-spacing:.18em;margin-top:7px;font:400 9px/1 Songti SC,STSong,serif;display:block}.reading-block{border-top:1px solid #534b372e;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:17px;margin:0;padding:21px 0;display:grid}.reading-label{flex-direction:column;gap:5px;padding-top:3px;display:flex}.reading-block .reading-label b{color:#725f40;letter-spacing:.15em;text-transform:uppercase;font:600 8px/1.25 Georgia,Times New Roman,serif}.reading-block .reading-label small{color:#ad5d4cbf;letter-spacing:.12em;font:400 9px/1 Songti SC,STSong,serif}.reading-block p{color:#1d2b25de;grid-column:auto;margin:0;font-size:14px;line-height:1.58}.keepsake{background:radial-gradient(circle at 15% 50%, color-mix(in srgb, var(--lady-color) 22%, transparent), transparent 28%), #f8eed39e;border:1px solid #8563344d;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:15px;margin:4px 0 0;padding:13px 17px 13px 12px;display:grid}.keepsake-mark{background:radial-gradient(circle,#fff8e4e6,#decda538 52%,#0000 72%);place-items:center;width:82px;height:82px;display:grid}.keepsake-mark img{object-fit:contain;filter:drop-shadow(0 5px 5px #332c1e33);width:100%;height:100%}.keepsake>div{grid-template-columns:auto 1fr;column-gap:7px;display:grid}.keepsake>div>span{letter-spacing:.14em;text-transform:uppercase;font:600 8px/1.2 Georgia,Times New Roman,serif}.keepsake>div>small{color:#ad5d4cbf;margin:0;font:400 8px/1.2 Songti SC,STSong,serif}.keepsake>div>strong{grid-column:1/-1;margin-top:8px;font-size:22px;font-weight:500}.keepsake>div>em{color:#875348cc;letter-spacing:.16em;grid-column:1/-1;margin-top:3px;font:400 9px/1 Songti SC,STSong,serif}.reading-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.reading-actions button{min-width:0;padding-inline:12px}@media (width<=380px){.reading-panel{padding-inline:18px}.reading-panel:before{margin-inline:-18px}.reading-header{grid-template-columns:minmax(0,1fr) 72px}.reading-block{grid-template-columns:80px minmax(0,1fr);gap:13px}.reading-actions{grid-template-columns:1fr}}.primary-button,.primary-button.light,.token-entry-button{clip-path:none;color:#f2dfb2;text-shadow:0 1px 7px #0000008c;background:linear-gradient(90deg,#0000,#ddb56513 50%,#0000),linear-gradient(#1c2521,#111715);border:1px solid #bd9853;border-radius:3px;min-height:58px;padding:9px 25px;box-shadow:0 11px 25px #0000004d,inset 0 0 0 5px #222e29,inset 0 0 0 6px #c99d4d6b,inset 0 1px #ffe7ae1f}.primary-button:hover,.primary-button.light:hover,.token-entry-button:hover{filter:brightness(1.09)}.primary-button:active,.primary-button.light:active,.token-entry-button:active{transform:translateY(2px)scale(.993);box-shadow:0 4px 12px #00000047,inset 0 0 0 5px #1d2824,inset 0 0 0 6px #c99d4d80,inset 0 3px 8px #00000047}.token-entry-button{padding-right:55px}.token-entry-button:after{color:#e0b766;background:#090f0d85;border-color:#cd9e4cb8}.token-entry-button .bilingual small,.primary-button .bilingual small{color:#e7c177c7}.secondary-button{color:#e8d5aa;text-shadow:0 1px 6px #0000006b;background:#111815c2;border:1px solid #b9934fad;border-radius:3px;min-height:58px;box-shadow:inset 0 0 0 4px #be975014}.secondary-button:active{background:#0c1210db;transform:translateY(2px)scale(.993)}.icon-button,.round-action{color:#f0ddb1;background:linear-gradient(145deg,#202b27,#111816);border:1px solid #c49e57b8;border-radius:3px;box-shadow:inset 0 0 0 4px #c69e5317,0 7px 19px #0000003d}.collection-status{background:linear-gradient(145deg,#1f2b26f0,#0e1613f0);border-color:#c49e579e;border-radius:3px;box-shadow:inset 0 0 0 4px #c69e5312,0 7px 19px #0003}.motion-fallback{color:#ebd3a4d1;background:#0f1613b8;border-color:#be97508c;border-radius:2px}.reading-panel{isolation:isolate;color:#f3e5c6;-webkit-backdrop-filter:blur(2.5px)saturate(.82);background:linear-gradient(90deg,#0c0c0ab8,#12100d94 58%,#0c0c0aad),repeating-linear-gradient(0deg,#eacf9704 0 1px,#0000 1px 5px);margin-top:-6dvh;box-shadow:0 -20px 38px #0807053d,inset 0 1px #e2bd7526}body,button,input,textarea,select{font-family:Cormorant Garamond,Iowan Old Style,Baskerville,Georgia,serif;font-style:italic}.bilingual small,.cn-heading,.cn-title,.collection-status small,.reading-label small,.reading-byline small,.keepsake small,.keepsake em,.sensor-message small,.ritual-instruction small,.motion-fallback small,.collection-actions small,.share-card-copy small{font-family:Noto Serif SC,Songti SC,STSong,serif;font-style:normal}.cover-copy h1,.invitation-copy h2,.draw-copy h2,.token-heading h2,.portrait-name h2,.reading-title h2,.collection-heading h2,.share-heading h2,.share-card-copy h3{letter-spacing:.005em;font-family:Italianno,Cormorant Garamond,cursive;font-style:normal;font-weight:400}.primary-button,.primary-button.light,.token-entry-button,.secondary-button,.motion-fallback,.collection-status,.icon-button,.round-action{isolation:isolate;clip-path:none;color:#f4e5bf;box-shadow:none;text-shadow:0 1px 8px #000000b8;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:0;border-radius:0;transition:transform .2s cubic-bezier(.22,1,.36,1),filter .2s;position:relative;overflow:visible}.primary-button,.primary-button.light,.token-entry-button{background-image:url(/assets/ui/moon-window-button.png);min-height:76px;padding:15px 28px 12px 82px;font-size:clamp(18px,5.2vw,23px);font-weight:600}.secondary-button,.motion-fallback,.collection-status,.icon-button,.round-action{background-image:url(/assets/ui/opera-proscenium-button.png);min-height:72px;padding:18px 38px 12px;font-size:clamp(17px,4.8vw,21px);font-weight:600}.primary-button:before,.primary-button:after,.primary-button.light:before,.primary-button.light:after,.token-entry-button:before,.token-entry-button:after,.secondary-button:before,.secondary-button:after,.motion-fallback:before,.motion-fallback:after,.collection-status:before,.collection-status:after,.icon-button:before,.icon-button:after,.round-action:before,.round-action:after{display:none}.primary-button:hover,.primary-button.light:hover,.token-entry-button:hover,.secondary-button:hover,.motion-fallback:hover,.collection-status:hover,.icon-button:hover,.round-action:hover{filter:brightness(1.1)saturate(1.04)drop-shadow(0 8px 12px #050c0a4d)}.primary-button:active,.primary-button.light:active,.token-entry-button:active,.secondary-button:active,.motion-fallback:active,.collection-status:active,.icon-button:active,.round-action:active{filter:brightness(.95)drop-shadow(0 3px 5px #050c0a3d);background-color:#0000;transform:translateY(2px)scale(.985)}.primary-button .bilingual,.secondary-button .bilingual,.token-entry-button .bilingual{gap:1px}.primary-button .bilingual small,.primary-button.light .bilingual small,.token-entry-button .bilingual small,.secondary-button .bilingual small{color:#edc77ed1;letter-spacing:.24em;font-size:9px}.cover-copy .primary-button,.invitation-folio .token-entry-button,.ritual-controls .ritual-button,.token-controls .primary-button,.portrait-actions .primary-button,.collection-actions .primary-button{width:min(330px,94vw)}.reading-actions,.share-actions{grid-template-columns:1fr;gap:8px}.reading-actions .secondary-button{color:#f4e5bf;background-color:#0000;background-image:url(/assets/ui/opera-proscenium-button.png);border:0}.motion-fallback{color:#f0ddb5;width:min(300px,88vw);margin-inline:auto}.collection-status{-webkit-backdrop-filter:none;backdrop-filter:none;text-transform:uppercase;background-size:100% 100%;grid-template-rows:auto auto;grid-template-columns:auto auto;min-width:124px;min-height:48px;padding:10px 22px 7px;display:grid}.collection-status span,.collection-status small,.collection-status b{z-index:1;position:relative}.collection-status span{font:italic 600 9px/1 Cormorant Garamond,Georgia,serif}.collection-status small{font:500 7px/1.25 Noto Serif SC,Songti SC,serif}.collection-status b{color:#f2d99d;font-size:13px}.icon-button,.round-action{-webkit-backdrop-filter:none;backdrop-filter:none;background-size:100% 100%;place-items:center;width:58px;min-width:58px;height:46px;min-height:46px;padding:7px 13px 5px;font-size:22px;line-height:1;display:grid}@media (width<=380px){.primary-button,.primary-button.light,.token-entry-button{min-height:70px;padding-left:70px;padding-right:22px}.secondary-button,.motion-fallback{min-height:68px;padding-inline:32px}}.reading-screen{background:#0f211c}.reading-portrait{filter:brightness(1.18)saturate(.96)contrast(.96);height:54dvh}.reading-portrait:before{background:linear-gradient(90deg,#e8b95e0f,#0000 40%),linear-gradient(#09181300 48%,#0918137a 83%,#142b24 100%)}.reading-portrait:after{display:none}.reading-panel{isolation:isolate;color:#f2e8cd;background:radial-gradient(circle at 92% 7%, color-mix(in srgb, var(--lady-color) 22%, transparent), transparent 28%), radial-gradient(circle at 5% 66%, #48776238, transparent 31%), repeating-linear-gradient(0deg, #ead8ae05 0 1px, transparent 1px 5px), linear-gradient(145deg, #203c32 0%, #132b24 62%, #0e211c 100%);min-height:72dvh;margin-top:-7dvh;overflow:hidden;box-shadow:0 -18px 40px #040f0b57,inset 0 1px #efd7a033}.reading-panel:before{z-index:2;background:linear-gradient(90deg, var(--dream-coral), #e0bd72 48%, #648d78);position:relative}.reading-panel:after{content:"";z-index:-1;background-image:linear-gradient(90deg, #193229 0%, transparent 34%), var(--lady-image);background-blend-mode:multiply;opacity:.13;filter:saturate(.55)contrast(1.04);pointer-events:none;background-position:top;background-size:cover;width:78%;height:54%;position:absolute;top:18px;right:-24%;-webkit-mask-image:linear-gradient(#0000 0%,#000 16% 65%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 16% 65%,#0000 100%)}.sheet-handle{background:#e2c68b66}.reading-header{border-bottom-color:#e2c68b33}.reading-title .eyebrow{color:#e7a98f}.reading-title h2{color:#f5ead0;text-shadow:0 5px 18px #00000038}.reading-byline{color:#f4e8cdc7}.reading-token-art:before{background:#f8e8c30d;border-color:#e2c68b4d}.reading-token-art img{filter:brightness(1.12)saturate(1.02)drop-shadow(0 8px 13px #00000047)}.reading-verse{color:#f4e9cf;background:linear-gradient(90deg,#e0bc7021,#ffffff06);border-left-color:#d98b70;box-shadow:inset 0 0 0 1px #e2c68b14}.reading-verse small{color:#df9d85}.reading-block{border-top-color:#e2c68b2b}.reading-block .reading-label b{color:#d8bd83}.reading-block .reading-label small{color:#d98976}.reading-block p{color:#f4ead3d6}.keepsake{background:radial-gradient(circle at 13%,#f0d39924,#0000 27%),linear-gradient(90deg,#ffffff09,#dfbe7a0e);border-color:#dfbe7a47;box-shadow:inset 0 0 0 1px #ffffff05}.keepsake-mark{background:radial-gradient(circle,#f0d5a124,#0000 68%)}.keepsake>div>span{color:#dbc087}.keepsake>div>small,.keepsake>div>em{color:#de967f}.keepsake>div>strong{color:#f3e7cb}.share-card{color:#f8edd2;background:#213a31;border-color:#e5c57eb8;display:block;box-shadow:0 19px 44px #05110d57,inset 0 0 0 7px #fff1cc14}.share-card:before{z-index:4;border-color:#f1d39661}.share-portrait{background:color-mix(in srgb, var(--lady-color) 42%, #29463b);border:0;margin:0;position:absolute;inset:0}.share-card .share-portrait-bg{object-fit:cover;object-position:center top;filter:blur(10px)brightness(1.42)saturate(1.12);opacity:.18;transform:scale(1.04)}.share-card .share-portrait-figure{object-fit:cover;object-position:62% 58%;transform-origin:67% 62%;filter:brightness(1.48)saturate(1.18)contrast(.94);transform:scale(1.28)}.share-card-shade{background:linear-gradient(#ecbe711a,#0000 0 54%,#0918131f 67%,#07130fe8 100%)}.share-card-copy{z-index:3;color:#f8edd2;text-shadow:0 2px 15px #00000073;background:linear-gradient(#0000,#081712e6 62%);padding:76px 25px 25px;position:absolute;bottom:0;left:0;right:0}.share-card-copy>span{color:#ecc583}.share-card-copy h3{color:#fff1d2}.share-card-copy p{color:#f8e6c2c4}.share-card-copy strong{color:#fff1d2}.share-card-copy small{color:#f2d3a6b8}.reading-screen{background-color:#171613;background-image:var(--lady-image);background-position:top;background-repeat:no-repeat;background-size:cover}.reading-portrait{opacity:0;pointer-events:none;height:54dvh}.reading-portrait:before,.reading-portrait:after{display:none}.reading-panel{color:#f3e5c6;-webkit-backdrop-filter:blur(2.5px)saturate(.82);background:linear-gradient(90deg,#0c0c0ab8,#12100d94 58%,#0c0c0aad),repeating-linear-gradient(0deg,#eacf9704 0 1px,#0000 1px 5px);margin-top:-6dvh;box-shadow:0 -20px 38px #0807053d,inset 0 1px #e2bd7526}.reading-panel:after{display:none}.reading-panel:before{background:linear-gradient(90deg,#bd6f58,#d2aa5f 48%,#d1b37440)}.reading-title h2,.keepsake>div>strong{color:#f7e9c9}.reading-title .eyebrow,.reading-block .reading-label small,.keepsake>div>small,.keepsake>div>em{color:#df8f77}.reading-byline,.reading-block p{color:#f6e7c8d6}.reading-byline small{color:#e09780d6}.reading-header,.reading-block{border-color:#ddba7433}.reading-verse{color:#f3e4c2;background:#0e0d0b70;border-left-color:#ce765e}.reading-verse span{color:#f4e2c0b8}.reading-block .reading-label b,.keepsake>div>span{color:#dfbd78}.keepsake{background:#0d0c0a6b;border-color:#d1a95d5c}.reading-actions .secondary-button{color:#e8d5aa;background:#111815c7;border-color:#b9934fad}.portrait-actions>button.primary-button:first-child,.reading-actions>button.primary-button,.share-actions>button.primary-button,.collection-actions>button.primary-button,.ritual-controls>button.primary-button,.token-controls>button.primary-button{clip-path:none;color:#f4e5bf;min-height:76px;box-shadow:none;text-shadow:0 1px 8px #000000b8;background-color:#0000;background-image:url(/assets/ui/moon-window-button.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:0;border-radius:0;padding:15px 28px 12px 82px}.reading-actions>button.secondary-button,.share-actions>button.secondary-button,.ritual-controls>button.secondary-button,.ritual-controls>button.motion-fallback{color:#f4e5bf;min-height:72px;box-shadow:none;text-shadow:0 1px 8px #000000b8;background-color:#0000;background-image:url(/assets/ui/opera-proscenium-button.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:0;border-radius:0;padding:18px 38px 12px}.invitation-folio .token-entry-button{color:#f4e7c8;text-shadow:0 1px 7px #181e1ba3;background-image:url(/assets/ui/invitation-moon-bamboo-v2.png)}.draw-screen .ritual-controls>button.primary-button,.draw-screen .ritual-controls>button.secondary-button,.draw-screen .ritual-controls>button.motion-fallback{color:#ead9af;text-shadow:0 1px 8px #000c;background-image:url(/assets/ui/draw-black-lacquer-v2.png)}.draw-screen .ritual-controls>button.secondary-button,.draw-screen .ritual-controls>button.motion-fallback{filter:brightness(.9)saturate(.88)}.draw-screen .ritual-controls>button.secondary-button:hover,.draw-screen .ritual-controls>button.motion-fallback:hover{filter:brightness(1.02)saturate(.94)drop-shadow(0 7px 12px #0000004d)}.share-actions>button.secondary-button{color:#f3dfbd;text-shadow:0 1px 7px #2e23199e;background-image:url(/assets/ui/share-opera-return-v2.png)}.share-actions>button.primary-button{color:#f5e4c5;text-shadow:0 1px 7px #292d22a3;background-image:url(/assets/ui/share-begonia-primary-v2.png)}.draw-screen .full-art{filter:brightness(.84)saturate(.84)contrast(1.02);transform:scale(1.006)}.draw-shade{background:radial-gradient(at 50% 56%,#d8b87d14,#0000 34%),linear-gradient(#050d0c4d,#050c0b06 34%,#040a096b 100%)}.ritual-stage{perspective:1100px;inset:21% 0 20%}.ritual-vessel{width:205px;height:500px;transform:translateX(-50%) rotateZ(var(--vessel-tilt-x,0deg)) rotateX(var(--vessel-tilt-y,0deg));transform-origin:50% 88%;filter:drop-shadow(0 22px 22px #00000052)drop-shadow(0 0 12px #dbba7914);bottom:-2%}.stick-cluster{z-index:4;width:184px;height:430px;bottom:168px;overflow:visible}.vessel-stick{z-index:4;transform-origin:50% 96%;filter:brightness(1.04)saturate(.9)drop-shadow(0 5px 4px #38251233);height:480px;transition:transform 72ms linear;bottom:-100px}.vessel-stick-0{--stick-x:-57%;--stick-rot:-5deg;--stick-rattle:1.35deg;--sensor-sway:var(--token-sway-0,0deg);transform:translateX(var(--stick-x)) rotate(var(--stick-rot))}.vessel-stick-1{--stick-x:-52.5%;--stick-rot:-1.7deg;--stick-rattle:1deg;--sensor-sway:var(--token-sway-1,0deg);transform:translateX(var(--stick-x)) rotate(var(--stick-rot))}.vessel-stick-2{--stick-x:-47.5%;--stick-rot:1.7deg;--stick-rattle:1.05deg;--sensor-sway:var(--token-sway-2,0deg);transform:translateX(var(--stick-x)) rotate(var(--stick-rot))}.vessel-stick-3{--stick-x:-43%;--stick-rot:5deg;--stick-rattle:1.4deg;--sensor-sway:var(--token-sway-3,0deg);transform:translateX(var(--stick-x)) rotate(var(--stick-rot))}.draw-armed .vessel-stick{transform:translateX(var(--stick-x)) translateY(var(--token-rise,0px)) rotate(calc(var(--stick-rot) + var(--sensor-sway,0deg)))}.draw-auto .ritual-vessel{animation:.32s cubic-bezier(.45,.05,.55,.95) infinite alternate ivory-vessel-shake}.draw-auto .vessel-stick{animation:.23s cubic-bezier(.36,.08,.64,.92) infinite alternate ivory-token-rattle}.draw-auto .vessel-stick-1{animation-duration:.19s;animation-delay:-.07s}.draw-auto .vessel-stick-2{animation-duration:.27s;animation-delay:-.13s}.draw-auto .vessel-stick-3{animation-duration:.21s;animation-delay:-.03s}.vessel-stick.is-chosen{z-index:6;animation:1.62s cubic-bezier(.22,.86,.24,1) both ivory-chosen-stick-out}.vessel-art{object-fit:contain;filter:brightness(1.01)saturate(.88)drop-shadow(0 18px 20px #0000003d);width:205px;height:auto;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.vessel-art-back{z-index:3}.vessel-art-front{z-index:7;clip-path:polygon(0 4.5%,8% 5.15%,22% 5.7%,38% 6.05%,50% 6.15%,62% 6.05%,78% 5.7%,92% 5.15%,100% 4.5%,100% 100%,0 100%)}@keyframes ivory-vessel-shake{0%{transform:translate(-50%)translateY(1px)rotate(-1.8deg)rotateX(-.55deg)}to{transform:translate(-50%)translateY(-1px)rotate(1.7deg)rotateX(.65deg)}}@keyframes ivory-token-rattle{0%{transform:translateX(var(--stick-x)) translateY(1px) rotate(calc(var(--stick-rot) - var(--stick-rattle)))}to{transform:translateX(var(--stick-x)) translateY(-2px) rotate(calc(var(--stick-rot) + var(--stick-rattle)))}}@keyframes ivory-chosen-stick-out{0%{transform:translateX(var(--stick-x)) translateY(0) rotate(var(--stick-rot))}42%{transform:translate(-49%)translateY(-154px)rotate(-2deg)}to{opacity:0;transform:translate(-49%)translateY(-350px)rotate(0)scale(1.22)}}@media (height<=720px){.ritual-stage{transform-origin:50% 75%;inset:19% 0;transform:scale(.84)}}.token-screen{isolation:isolate;background:#0d1717}.token-background{z-index:0;object-position:50% 50%;filter:brightness(.88)saturate(.88);transform:scale(1.008)}.token-aura{z-index:1;opacity:1;pointer-events:none;background:linear-gradient(#050c0d33 0%,#0000 20% 67%,#040a0a80 100%),radial-gradient(at 50% 47%,#dfc48914,#0000 31%);-webkit-mask-image:none;mask-image:none}.draw-releasing .ritual-vessel{animation:.48s cubic-bezier(.22,1,.36,1) both vessel-recede-on-choice}.draw-releasing .vessel-stick{animation:none}.draw-releasing .vessel-stick.is-chosen{opacity:0;animation:none}.released-token{z-index:18;object-fit:contain;pointer-events:none;filter:brightness(1.08)saturate(.9)drop-shadow(0 24px 28px #0000006b);width:min(42vw,210px);height:min(58dvh,560px);animation:1.42s cubic-bezier(.16,1,.3,1) both complete-token-release;position:absolute;top:50%;left:50%}@keyframes vessel-recede-on-choice{0%{opacity:1;transform:translate(-50%)rotate(0)rotateX(0)scale(1)}to{opacity:.2;filter:blur(1px)saturate(.65);transform:translate(-50%)translateY(34px)rotate(0)rotateX(0)scale(.88)}}@keyframes complete-token-release{0%{opacity:0;transform:translate(-50%,-38%)scale(.78)}22%{opacity:1;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-52%)scale(1)}}.invitation-screen{background-color:#1d2a2e}.invitation-screen:before{background:linear-gradient(#080f1105 0 45%,#10181b1f 58%,#121b1f85 82%,#1c272b 100%)}.invitation-folio{color:#f3e7ca;background-blend-mode:normal, soft-light, soft-light;background-color:#232e32;background-image:linear-gradient(#324044e0,#1f292df5 58%,#1a2327fa),repeating-linear-gradient(0deg,#eedebb05 0 1px,#0000 1px 5px),url(/assets/scenes/token-table.png);background-position:50%,50%,50% 79%;background-size:100% 100%,auto,125%;border-top:0;box-shadow:0 -19px 32px #070c0e33,inset 0 1px #edd2992e}.invitation-folio:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#ceaa63b8 0 1px,#0f171ac2 1px 2px,#93744380 2px 3px);height:3px;position:absolute;top:0;left:0;right:0;box-shadow:0 3px 11px #050a0c3d}.invitation-folio>*{z-index:1;position:relative}.invitation-folio:before{z-index:2;color:#dda184;background:#263439;border-color:#cc8567b3;box-shadow:0 4px 12px #050a0c38}.invitation-copy .eyebrow{color:#e7c77f}.invitation-copy h2{color:#f4e8ce;text-shadow:0 3px 17px #04090b6b}.invitation-copy .cn-heading{color:#dab894c7}.invitation-whisper{color:#e2d9c2ad}.invitation-folio .token-entry-button{background-blend-mode:color, normal;color:#f3e6c5;filter:saturate(.82)hue-rotate(5deg);text-shadow:0 1px 7px #080d0fb3;background-color:#26343a;background-image:linear-gradient(#26343a42,#11181c57),url(/assets/ui/invitation-moon-bamboo-v2.png)}.invitation-folio .token-entry-button:hover{filter:brightness(1.08)saturate(.86)hue-rotate(5deg)drop-shadow(0 8px 12px #050c0e47)}.invitation-folio .token-entry-button:active{filter:brightness(.95)saturate(.8)hue-rotate(5deg)drop-shadow(0 3px 5px #050c0e38)}
