.capsule-page [hidden]{display:none!important}.capsule-page{--cap-accent:var(--at-moon,#4179ae);--cap-accent-deep:var(--at-moon-deep,#2e5d95);--cap-accent-soft:var(--at-moon-soft,#4179ae1f);--cap-danger:var(--color-danger,#b85450)}@keyframes capFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes capScaleX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes capCardIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes capOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes capSheetIn{0%{opacity:0;transform:translateY(-20px)scale(.98)}to{opacity:1;transform:none}}@keyframes capSheetUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes capToastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes capEnvFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}@keyframes capEnvelopeOpen{0%{transform:rotateX(0)}50%{transform:rotateX(-180deg)}to{transform:rotateX(-180deg)}}@keyframes capLetterSlide{0%{opacity:0;transform:translateY(100%)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}.capsule-container{max-width:760px;margin:0 auto;padding:clamp(3.5rem,8vh,6rem) 1.5rem 4.5rem;position:relative;overflow:hidden}.capsule-container:before{content:"";background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--cap-accent) 9%, transparent), transparent 62%), radial-gradient(circle at 50% 82%, color-mix(in srgb, var(--color-mist) 8%, transparent), transparent 60%);opacity:.6;pointer-events:none;z-index:-1;width:680px;height:680px;position:absolute;top:2%;left:50%;transform:translate(-50%)}@media (max-width:640px){.capsule-container:before{opacity:.4;width:380px;height:380px}}.capsule-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:clamp(2.5rem,6vh,4rem);animation:.7s cubic-bezier(.22,1,.36,1) both capFadeUp;display:flex;position:relative}.cap-hero-env{width:88px;height:62px;color:color-mix(in srgb, var(--color-mist) 78%, var(--color-ink));filter:drop-shadow(0 12px 18px #1a1a1a1f);margin-bottom:.5rem;animation:5s ease-in-out infinite capEnvFloat;display:inline-flex;position:relative}.cap-hero-env svg{width:100%;height:100%}.cap-hero-wax{color:#f6ead8;width:22px;height:22px;font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);background:linear-gradient(135deg,#c76743,#a14a2b);border-radius:50%;justify-content:center;align-items:center;font-size:11px;animation:.55s cubic-bezier(.34,1.45,.64,1) .4s both capWaxPress;display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%)rotate(-10deg);box-shadow:inset 0 1px 2px #ffffff59,0 3px 8px #a14a2b59}.capsule-title{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.18em;color:var(--color-ink);margin:0;font-size:clamp(2.3rem,7vw,3.3rem);font-weight:600;line-height:1.2}.capsule-rule{background:linear-gradient(90deg, transparent, var(--cap-accent) 30%, var(--cap-accent) 70%, transparent);opacity:.7;transform-origin:50%;width:120px;height:1px;margin-top:.7rem;animation:.7s cubic-bezier(.22,1,.36,1) .25s both capScaleX;display:block}.capsule-subtitle{flex-direction:column;align-items:center;gap:.35rem;margin:.6rem 0 0;display:flex}.capsule-subtitle-main{letter-spacing:.22em;color:var(--color-ink-soft);font-size:.9rem}.capsule-subtitle-sub{letter-spacing:.18em;color:var(--cap-accent-deep);opacity:.85;font-size:.74rem}.cap-auth-view{max-width:600px;margin:0 auto}.cap-auth-postcard-wrap{animation:.75s cubic-bezier(.22,1,.36,1) .1s both capPostcardIn}.cap-auth-postcard{background:var(--color-card);border:1px solid var(--color-line);border-radius:3px 20px;padding:2.7rem 2.3rem 2.5rem;transition:transform .35s,box-shadow .35s;position:relative;transform:rotate(-.5deg);box-shadow:0 22px 50px -30px #1a1a1a57}.cap-auth-postcard:hover{transform:rotate(0)translateY(-2px);box-shadow:0 26px 58px -30px #1a1a1a66}.cap-auth-postcard:before{content:"";border-radius:inherit;background:radial-gradient(130% 100% at 25% 0%, transparent 62%, color-mix(in srgb, var(--cap-accent) 7%, transparent) 100%);pointer-events:none;position:absolute;inset:0}.cap-auth-postcard:after{content:"";background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--cap-accent) 14%, transparent) 0 5px, transparent 5px 9px), linear-gradient(180deg, #ffffff8c, #fff3);opacity:.9;pointer-events:none;z-index:2;transform-origin:50%;border:1px solid #ffffff59;width:150px;height:24px;animation:.5s cubic-bezier(.34,1.4,.64,1) .45s both capTapeIn;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #1a1a1a1a}.cap-auth-postmark{width:76px;height:76px;color:color-mix(in srgb, var(--cap-accent-deep) 68%, transparent);opacity:.9;transform-origin:80% 20%;animation:7s ease-in-out .6s infinite capStampSway;position:absolute;top:20px;right:20px}.cap-auth-postmark svg{width:100%;height:100%}.cap-auth-writedate{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.06em;color:var(--color-ink-faint);margin:0;font-size:.8rem;position:absolute;top:22px;left:22px;transform:rotate(-4deg)}.cap-auth-greet{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.08em;color:var(--color-ink);margin:0 0 1rem;font-size:1.95rem;font-weight:500}.cap-auth-greet-main{display:inline-block;position:relative}.cap-auth-underline{width:100%;height:10px;color:color-mix(in srgb, var(--cap-accent) 72%, transparent);opacity:.85;margin-top:-2px;display:block}.cap-auth-greet-note{letter-spacing:.14em;color:var(--color-ink-faint);opacity:.9;margin-left:.7rem;font-size:.82rem}.cap-auth-letter{max-width:32em;font-family:var(--font-serif,"Noto Serif SC", "Songti SC", serif);color:var(--color-ink-soft);letter-spacing:.02em;margin:0;font-size:.98rem;line-height:2.15}.cap-auth-letter-close{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.04em;color:var(--cap-accent-deep);opacity:.9;margin-top:.6rem;font-size:.92rem;display:block}.cap-auth-annotate{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.06em;color:color-mix(in srgb, var(--cap-accent-deep) 60%, transparent);transform-origin:50% 100%;opacity:.85;font-size:.78rem;animation:6s ease-in-out 1.6s infinite capAnnotateFloat;position:absolute;bottom:132px;right:26px}.cap-auth-annotate:before{content:"✎ "}.cap-auth-ps{color:var(--color-ink-faint);letter-spacing:.04em;margin:1rem 0 0;font-size:.78rem;line-height:1.8;position:relative}.cap-auth-heart{width:14px;height:14px;color:color-mix(in srgb, var(--cap-accent) 55%, transparent);transform-origin:50% 60%;animation:1.9s ease-in-out 1.2s infinite capHeartBeat;position:absolute;bottom:.1rem;right:.4rem}.cap-auth-stats{border-top:1px dashed var(--color-line);color:var(--color-ink-soft);letter-spacing:.04em;margin:1.3rem 0 0;padding-top:1rem;font-size:.82rem}.cap-auth-stats b{color:var(--cap-accent-deep);font-size:1rem;font-weight:600}.cap-auth-cta{align-items:center;gap:.5rem;margin-top:1.15rem;padding:.72rem 1.7rem;display:inline-flex}.cap-auth-cta-arrow{width:15px;height:15px;transition:transform .25s}.cap-auth-cta:hover .cap-auth-cta-arrow{transform:translate(4px)}.cap-auth-footer-note{text-align:center;letter-spacing:.1em;color:var(--color-ink-faint);font-size:.8rem;font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);margin-top:1.5rem;animation:.6s cubic-bezier(.22,1,.36,1) .5s both capFadeUp}@keyframes capPostcardIn{0%{opacity:0;transform:translateY(22px)scale(.97)}55%{opacity:1;transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes capWaxPress{0%{transform:translate(-50%)rotate(-10deg)scale(0)}62%{transform:translate(-50%)rotate(-10deg)scale(1.2)}to{transform:translate(-50%)rotate(-10deg)scale(1)}}@keyframes capTapeIn{0%{opacity:0;transform:translate(-50%)rotate(-2deg)scaleX(0)}60%{opacity:.9;transform:translate(-50%)rotate(-2deg)scaleX(1.05)}to{opacity:.9;transform:translate(-50%)rotate(-2deg)scaleX(1)}}@keyframes capStampSway{0%,to{transform:rotate(4deg)}50%{transform:rotate(9deg)translateY(-3px)}}@keyframes capHeartBeat{0%,to{transform:rotate(-8deg)scale(1)}22%{transform:rotate(-6deg)scale(1.22)}42%{transform:rotate(-8deg)scale(1)}}@keyframes capAnnotateFloat{0%,to{transform:rotate(5deg)translateY(0)}50%{transform:rotate(7deg)translateY(-3px)}}@media (prefers-reduced-motion:reduce){.cap-auth-postcard-wrap,.cap-auth-footer-note,.cap-hero-wax,.cap-auth-postcard:after,.cap-auth-postmark,.cap-auth-heart,.cap-auth-annotate,.cap-hero-env,.cap-footer p,.cap-footer-meta{animation:none!important}}@media (max-width:640px){.cap-auth-postcard{padding:2.4rem 1.5rem 2rem}.cap-auth-postmark{width:56px;height:56px;top:14px;right:14px}.cap-auth-writedate{top:16px;left:16px}.cap-auth-greet{font-size:1.6rem}.cap-auth-greet-note{margin:.35rem 0 0;display:block}.cap-auth-annotate{font-size:.7rem;bottom:124px;right:14px}.cap-auth-postcard:after{width:120px;height:20px;top:-7px}}.cap-btn-submit{appearance:none;border:1px solid var(--cap-accent-deep);background:var(--cap-accent-deep);color:#fff;font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.18em;cursor:pointer;transition:background .2s ease, transform .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), box-shadow .2s ease, opacity .2s ease;border-radius:999px;padding:.75rem 1.7rem;font-size:.95rem}.cap-btn-submit:hover{background:var(--cap-accent);box-shadow:0 12px 26px -16px color-mix(in srgb, var(--cap-accent-deep) 65%, transparent);transform:translateY(-1px)}.cap-btn-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.cap-btn{appearance:none;cursor:pointer;font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.12em;transition:transform .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), box-shadow .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), background .2s ease, color .2s ease, border-color .2s ease;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cap-btn-primary{background:var(--cap-accent-deep);border:1px solid var(--cap-accent-deep);color:#fff;padding:.6rem 1.4rem;font-size:.92rem}.cap-btn-primary:hover{background:var(--cap-accent);box-shadow:0 12px 26px -16px color-mix(in srgb, var(--cap-accent-deep) 65%, transparent);transform:translateY(-1px)}.cap-btn-ghost{border:1px solid var(--color-line);color:var(--color-ink-muted);background:0 0;padding:.55rem 1.2rem;font-size:.88rem}.cap-btn-ghost:hover{border-color:var(--color-mist);color:var(--color-ink);transform:translateY(-1px)}.cap-btn-sm{padding:.45rem 1rem;font-size:.84rem}.cap-btn-sm svg{width:14px;height:14px;margin-right:.25rem}.cap-feed-view{animation:.6s cubic-bezier(.22,1,.36,1) 50ms both capFadeUp}.cap-feed-view .cap-compose{animation:.55s cubic-bezier(.22,1,.36,1) .12s both capCardIn}.cap-feed-view .cap-list{animation:.55s cubic-bezier(.22,1,.36,1) .2s both capCardIn}.cap-compose{background:var(--color-card);border:1px solid var(--color-line);box-shadow:0 18px 44px -32px var(--color-card-shadow);border-radius:16px;margin-bottom:2.2rem;padding:2rem 1.8rem 1.9rem;position:relative}.cap-compose-title{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.08em;color:var(--color-ink);align-items:center;gap:.7rem;margin:0 0 1.6rem;font-size:1.35rem;font-weight:600;display:flex}.cap-compose-title-ico{width:1.45rem;height:1.45rem;color:var(--cap-accent-deep);background:var(--cap-accent-soft);box-sizing:border-box;border-radius:8px;flex-shrink:0;padding:.26rem}.cap-form-field{margin-bottom:1.3rem}.cap-form-label{letter-spacing:.08em;color:var(--color-ink-soft);justify-content:space-between;align-items:baseline;margin-bottom:.55rem;font-size:.84rem;font-weight:600;display:flex}.cap-form-input,.cap-form-textarea{box-sizing:border-box;background:var(--color-card-2,#fafbfc);border:1px solid var(--color-line);width:100%;color:var(--color-ink);border-radius:10px;padding:.85rem 1.05rem;font-size:.95rem;line-height:1.7;transition:border-color .2s,box-shadow .2s,background .2s}.cap-form-input::placeholder,.cap-form-textarea::placeholder{color:var(--color-ink-faint);opacity:.85}.cap-form-input:focus,.cap-form-textarea:focus{background:var(--color-card);border-color:color-mix(in srgb, var(--cap-accent) 55%, transparent);box-shadow:0 0 0 3px var(--cap-accent-soft);outline:none}.cap-form-textarea{resize:vertical;min-height:150px}.cap-form-counter{text-align:right;font-family:var(--font-mono);color:var(--color-ink-faint);margin-top:.3rem;font-size:.72rem}.cap-form-hint{color:var(--color-ink-faint);margin:.4rem 0 0;font-size:.76rem;line-height:1.6}.capsule-page .dtp-pop{background:radial-gradient(120% 70% at 88% 0%, color-mix(in srgb, var(--cap-accent) 8%, transparent), transparent 52%), var(--color-card);border-radius:18px;max-height:min(100vh - 120px,520px);overflow-x:hidden;box-shadow:0 22px 52px -24px #1a1a1a52,0 2px 8px #1a1a1a0f}.capsule-page .dtp-head{gap:.3rem;margin-bottom:.7rem}.capsule-page .dtp-select{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.05em;color:var(--color-ink-soft);padding:.32rem 1.2rem .32rem .6rem;font-size:.85rem}.capsule-page .dtp-nav{width:28px;height:28px;color:var(--cap-accent);background:0 0;border-radius:50%;transition:background .2s,color .2s,transform .15s}.capsule-page .dtp-nav:hover{background:var(--cap-accent-soft);color:var(--cap-accent-deep)}.capsule-page .dtp-nav:active{transform:scale(.9)}.capsule-page .dtp-today{border:1px solid color-mix(in srgb, var(--cap-accent) 42%, transparent);color:var(--cap-accent-deep);background:0 0;padding:.18rem .5rem;font-size:.7rem}.capsule-page .dtp-today:hover{background:var(--cap-accent-soft);border-color:var(--cap-accent);color:var(--cap-accent-deep)}.capsule-page .dtp-week span{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);font-size:.68rem}.capsule-page .dtp-week span:first-child,.capsule-page .dtp-week span:nth-child(7){color:var(--cap-accent);opacity:.8}.capsule-page .dtp-day{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);border-radius:10px;font-size:.86rem}.capsule-page .dtp-day:hover{background:var(--cap-accent-soft);color:var(--cap-accent-deep)}.capsule-page .dtp-day.is-today{color:var(--cap-accent-deep);font-weight:700}.capsule-page .dtp-day.is-today:after{background:var(--cap-accent)}.capsule-page .dtp-day.is-selected{background:var(--cap-accent);color:#fff;box-shadow:0 8px 18px -12px color-mix(in srgb, var(--cap-accent) 85%, transparent)}.capsule-page .dtp-day.is-selected:hover{background:var(--cap-accent);color:#fff}.capsule-page .dtp-time-input{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);font-variant-numeric:tabular-nums}.capsule-page .dtp-time-input:focus{border-color:var(--cap-accent);box-shadow:0 0 0 3px var(--cap-accent-soft)}.capsule-page .dtp-foot{margin-top:.9rem;padding-top:.85rem}.capsule-page .dtp-pop{border-top:none}.capsule-page .dtp-foot-hint{display:none}.capsule-page .dtp-btn{appearance:none;border:1px solid var(--color-line);color:var(--color-ink-muted);font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.14em;cursor:pointer;transition:color .2s ease, background-color .2s ease, border-color .2s ease, transform .15s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), box-shadow .2s ease;background:0 0;border-radius:999px;padding:.48rem 1.2rem;font-size:.8rem}.capsule-page .dtp-btn:hover{border-color:var(--cap-accent);background:var(--cap-accent-soft);color:var(--cap-accent-deep)}.capsule-page .dtp-btn:active{transform:scale(.96)}.capsule-page .dtp-btn.is-primary{background:linear-gradient(135deg, var(--cap-accent), var(--cap-accent-deep));color:#fff;box-shadow:0 10px 22px -12px color-mix(in srgb, var(--cap-accent-deep) 70%, transparent);border-color:#0000}.capsule-page .dtp-btn.is-primary:hover{background:var(--cap-accent-deep);color:#fff;transform:translateY(-1px)}.cap-compose .cap-btn-submit{width:100%;margin-top:.5rem;padding:.9rem;font-size:1rem}.cap-compose-notice{background:var(--color-card-2,#fafbfc);border:1px solid var(--color-line);color:var(--color-ink-muted);letter-spacing:.03em;border-radius:10px;align-items:flex-start;gap:.5rem;margin-top:1.2rem;padding:.85rem .95rem;font-size:.78rem;line-height:1.7;display:flex}.cap-compose-notice svg{width:1rem;height:1rem;color:var(--cap-accent-deep);flex-shrink:0;margin-top:.15rem}.cap-list{counter-reset:cap-card-counter;padding:1.6rem 0 0;position:relative}.cap-list:before{content:"";border-top:1px solid var(--color-line);pointer-events:none;position:absolute;top:0;left:0;right:0}.cap-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.4rem;display:flex}.cap-list-head-left{align-items:center;gap:.7rem;display:flex}.cap-list-title{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);letter-spacing:.06em;color:var(--color-ink);margin:0;font-size:1.25rem;font-weight:600}.cap-list-count{font-family:var(--font-mono);color:var(--cap-accent-deep);background:var(--cap-accent-soft);letter-spacing:.05em;border-radius:999px;padding:.18rem .6rem;font-size:.72rem}.cap-list-filter{flex-wrap:wrap;gap:1.1rem;display:flex}.cap-filter-chip{appearance:none;color:var(--color-ink-faint);letter-spacing:.06em;cursor:pointer;transition:color .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), transform .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1));background:0 0;border:none;align-items:baseline;gap:.35rem;padding:.2rem 0;font-size:.82rem;display:inline-flex;position:relative}.cap-filter-chip:after{content:"";background:var(--cap-accent);transform-origin:0;height:1px;transition:transform .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1));position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.cap-filter-chip:hover{color:var(--color-ink);transform:translateY(-1px)}.cap-filter-chip.is-active{color:var(--cap-accent-deep)}.cap-filter-chip.is-active:after{transform:scaleX(1)}.cap-filter-chip .chip-num{opacity:.7;font-size:.72rem}.cap-card{background:var(--color-card);border:1px solid var(--color-line);opacity:0;animation:capCardIn .5s var(--at-ease-out,cubic-bezier(.22,1,.36,1)) both;box-shadow:0 1px 2px var(--color-card-shadow);transition:transform .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), box-shadow .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1)), border-color .2s var(--at-ease-out,cubic-bezier(.22,1,.36,1));border-radius:14px;margin-bottom:.9rem;padding:1.3rem 1.5rem 1.2rem;position:relative}.cap-card:hover{box-shadow:0 12px 28px -22px var(--color-card-shadow-hover);border-color:color-mix(in srgb, var(--cap-accent) 35%, var(--color-line));transform:translateY(-2px)}.cap-card-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.cap-card-head-meta{color:var(--color-ink-faint);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.76rem;display:flex}.cap-card-date-sep{opacity:.5;width:12px;height:12px;color:var(--cap-accent)}.cap-card-date-target{color:var(--color-ink-muted);font-weight:500}.cap-card-delete{width:28px;height:28px;color:var(--color-ink-faint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex}.cap-card-delete svg{width:1rem;height:1rem}.cap-card-delete:hover{color:var(--color-danger,#b85450);background:#b8545014}.cap-card-body-main{flex:1;min-width:0}.cap-card-title{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);color:var(--color-ink);letter-spacing:.04em;margin:0 0 .7rem;font-size:1.35rem;font-weight:600;line-height:1.6}.cap-card-title.is-empty{color:var(--color-ink-faint);font-style:italic;font-weight:500}.cap-countdown{color:var(--color-ink-soft);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:.2rem;font-size:.92rem;display:flex}.cap-countdown .num{color:var(--cap-accent-deep);font-weight:600;font-family:var(--font-mono);margin:0 .1rem;font-size:1rem}.cap-countdown .countdown-suffix{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);color:var(--color-ink-faint);letter-spacing:.06em;margin-left:.4rem;font-size:.84rem}.cap-hint{color:var(--color-ink-faint);letter-spacing:.04em;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.8rem;display:flex}.cap-hint .hint-mark{color:var(--cap-accent);font-size:1rem;line-height:1}.cap-hint .hint-text{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif)}.cap-ready{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);color:var(--cap-accent-deep);letter-spacing:.06em;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.ready-dot{background:var(--cap-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.cap-card-foot{justify-content:space-between;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.cap-status{letter-spacing:.08em;font-size:.8rem;font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif)}.cap-status.locked{color:var(--color-ink-muted)}.cap-status.unlocked{color:var(--cap-accent-deep)}.cap-btn-sm .cap-btn-sm-arrow{display:none}.cap-btn-sm svg{vertical-align:-2px;width:14px;height:14px;margin-right:.25rem}.cap-empty{text-align:center;color:var(--color-ink-faint);padding:4rem 1rem;animation:.5s both capFadeUp}.cap-empty-icon{width:60px;height:60px;color:var(--color-mist);opacity:.45;margin:0 auto 1rem}.cap-empty-icon svg{width:100%;height:100%}.cap-empty-text{font-family:var(--font-serif,"Songti SC", "Noto Serif SC", serif);color:var(--color-ink-soft);letter-spacing:.08em;margin:0 0 .4rem;font-size:1.15rem}.cap-empty-desc{color:var(--color-ink-faint);letter-spacing:.04em;margin:0;font-size:.84rem;line-height:1.8}.cap-loading{text-align:center;color:var(--color-ink-faint);padding:3rem 1rem}.cap-loading p{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);letter-spacing:.08em;margin:1rem 0 0;font-size:.88rem}.loading-envelope{background:var(--color-card);border:1.5px solid var(--color-mist);perspective:200px;width:64px;height:48px;transform-style:preserve-3d;border-radius:6px;display:inline-block;position:relative}.loading-envelope:before{content:"";background:linear-gradient(135deg, var(--color-mist) 50%, transparent 50%), linear-gradient(225deg, var(--color-mist) 50%, transparent 50%);transform-origin:top;background-position:0,100%;background-repeat:no-repeat;background-size:50% 100%;border-radius:6px 6px 0 0;height:30px;animation:1.6s ease-in-out infinite capEnvelopeOpen;position:absolute;top:-1.5px;left:-1.5px;right:-1.5px}.loading-letter{background:var(--cap-accent-soft);border-radius:3px;height:30px;animation:1.6s ease-in-out infinite capLetterSlide;position:absolute;bottom:4px;left:6px;right:6px}.cap-footer{text-align:center;border-top:1px dashed var(--color-line);margin-top:3rem;padding-top:2rem}@keyframes capBreath{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.cap-footer p{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);color:var(--color-ink-faint);letter-spacing:.08em;margin-bottom:.6rem;font-size:.85rem;animation:2.8s ease-in-out infinite capBreath}.cap-footer-meta{font-family:var(--font-mono);color:var(--color-ink-faint);letter-spacing:.06em;font-size:.74rem;animation:2.8s ease-in-out .8s infinite capBreath;display:inline-block}.cap-footer-meta .cap-footer-num{color:var(--cap-accent-deep);font-variant-numeric:tabular-nums;font-weight:600}.cap-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);background:#1a1a1a73;justify-content:center;align-items:center;padding:1rem;animation:.25s ease-out capOverlayIn;display:flex;position:fixed;inset:0;overflow-y:auto}.cap-sheet{background:var(--color-card);border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;animation:.35s cubic-bezier(.22,1,.36,1) capSheetIn;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #1a1a1a38}.cap-sheet-handle{background:#1a1a1a29;border-radius:999px;flex-shrink:0;width:44px;height:4px;margin:9px auto 0;display:none}.cap-sheet-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;padding:1.1rem 1.3rem .9rem;display:flex}.cap-sheet-title{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);color:var(--color-ink);letter-spacing:.08em;align-items:center;gap:.5rem;margin:0;font-size:1.05rem;font-weight:600;display:flex}.cap-sheet-title svg{width:1.1rem}.cap-sheet-close{width:30px;height:30px;color:var(--color-ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.cap-sheet-close:hover{background:var(--color-line-soft);color:var(--color-ink)}.cap-sheet-body{padding:1.2rem 1.3rem;overflow-y:auto}.cap-sheet-footer{gap:.6rem;padding:1rem 1.3rem 1.2rem;display:flex}.cap-sheet-footer .cap-btn{flex:1;min-height:42px}.cap-sheet-footer .cap-btn-primary{font-weight:600}.cap-unlock-meta{background:var(--color-card-2,#fafbfc);border:1px solid var(--color-line);border-radius:12px;margin-bottom:.8rem;padding:.9rem 1rem;position:relative}.cap-unlock-badge{letter-spacing:.06em;color:var(--cap-accent-deep);background:var(--cap-accent-soft);border:1px solid color-mix(in srgb, var(--cap-accent) 30%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.16rem .55rem;font-size:.68rem;display:inline-flex;position:absolute;top:.7rem;right:.8rem}.cap-unlock-badge .badge-dot{background:var(--cap-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite capBadgePulse}@keyframes capBadgePulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.cap-unlock-meta strong{font-family:var(--font-cn-handwriting,"Ma Shan Zheng", "Kaiti SC", serif);color:var(--color-ink);margin-bottom:.35rem;padding-right:5.4em;font-size:1.08rem;display:block}.cap-unlock-meta div{color:var(--color-ink-faint);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.02em;line-height:1.7}.cap-unlock-hint-box{background:var(--cap-accent-soft);color:var(--cap-accent-deep);border-radius:10px;align-items:center;gap:.45rem;margin-bottom:.8rem;padding:.72rem .9rem;font-size:.84rem;line-height:1.6;display:flex}.cap-unlock-hint-box svg{opacity:.75;flex-shrink:0;width:1rem;height:1rem}.cap-unlock-hint-box .label{opacity:.8;flex-shrink:0}.cap-unlock-tip{color:var(--color-ink-muted);letter-spacing:.04em;align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.8rem;display:flex}.cap-unlock-tip svg{width:.95rem;height:.95rem;color:var(--cap-accent);flex-shrink:0}.cap-sheet-body .cap-form-field{margin-bottom:.9rem}.cap-input-wrap{position:relative}.cap-input-wrap>svg{width:1.05rem;height:1.05rem;color:var(--color-ink-faint);pointer-events:none;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.cap-input-wrap .cap-form-input{padding-left:2.55rem;padding-right:3rem}.cap-input-eye{width:2.1rem;height:2.1rem;color:var(--color-ink-faint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.cap-input-eye:hover{color:var(--color-ink);background:var(--color-line-soft)}.cap-input-eye svg{width:1.1rem;height:1.1rem}.cap-input-wrap.has-error .cap-form-input{border-color:var(--cap-danger);animation:.4s capShake}.cap-input-wrap.has-error>svg{color:var(--cap-danger)}@keyframes capShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.cap-toast-container{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.6rem;left:50%;transform:translate(-50%)}.cap-toast{background:var(--color-card);border:1px solid var(--color-line);max-width:86vw;color:var(--color-ink-soft);letter-spacing:.04em;opacity:0;border-radius:999px;padding:.6rem 1.1rem;font-size:.82rem;transition:opacity .25s,transform .25s;transform:translateY(8px);box-shadow:0 12px 28px -14px #1a1a1a4d}.cap-toast.show{opacity:1;transform:none}.cap-toast.success{border-color:color-mix(in srgb, var(--cap-accent) 50%, transparent);color:var(--cap-accent-deep);background:var(--cap-accent-soft)}.cap-toast.error{border-color:color-mix(in srgb, var(--color-danger,#b85450) 50%, transparent);color:var(--color-danger,#b85450)}@media (max-width:560px){.capsule-container{padding-left:1.1rem;padding-right:1.1rem}.cap-compose{padding:1.7rem 1.2rem 1.5rem}.cap-compose-title{font-size:1.25rem}.cap-list{padding:1.4rem 0 0}.cap-list-head{margin:0 0 1.2rem}.cap-card{border-radius:14px;padding:1.1rem 1.1rem 1rem}.cap-card-title{font-size:1.2rem}.cap-list-filter{gap:.9rem}.cap-filter-chip{font-size:.78rem}.cap-toast{font-size:.8rem}.cap-overlay{align-items:flex-end;padding:0}.cap-sheet{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:92dvh;animation:.35s cubic-bezier(.22,1,.36,1) capSheetUp}.cap-sheet-handle{display:block}.cap-sheet-header{padding:.7rem 1.15rem .9rem}.cap-sheet-body{padding:1.1rem 1.3rem .4rem}.cap-sheet-footer{padding:.9rem 1.3rem calc(.9rem + env(safe-area-inset-bottom,0px))}.cap-btn{min-height:42px}}
.lr-root{z-index:200;font-family:var(--font-serif,"Noto Serif SC", "Songti SC", serif);background:linear-gradient(160deg,#0b1424 0%,#142238 55%,#0e1a2e 100%);transition:opacity .28s;position:fixed;inset:0;overflow:hidden}.lr-root.is-closing{opacity:0}.lr-bg{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(58% 44% at 30% 28%,#4179ae1a,#0000 62%),radial-gradient(50% 42% at 74% 64%,#4179ae12,#0000 62%),radial-gradient(120% 90%,#0000 55%,#03081261 100%);animation:1s ease-out forwards lrBgIn;position:absolute;inset:0}@keyframes lrBgIn{to{opacity:1}}.lr-bg:before{content:"";pointer-events:none;background:radial-gradient(50% 50%,#becde117,#0000 70%);width:min(820px,92vw);height:min(600px,74vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lr-moon{z-index:0;opacity:.85;filter:drop-shadow(0 0 26px #f0e6c347);pointer-events:none;border-radius:50%;width:58px;height:58px;position:absolute;top:9%;right:12%;box-shadow:inset -16px -10px #f1ebd4}.lr-moon:after{content:"";pointer-events:none;background:radial-gradient(circle,#f0e6c329,#0000 68%);border-radius:50%;width:150px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lr-galaxy{z-index:0;filter:blur(2px);pointer-events:none;background:radial-gradient(40% 55% at 20%,#a0bee624,#0000 70%),radial-gradient(36% 60%,#afc8f01c,#0000 70%),radial-gradient(42% 58% at 80%,#9bb9e121,#0000 70%);width:120%;height:40%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-24deg)}.lr-star{z-index:0;opacity:0;pointer-events:none;background:#fff;border-radius:50%;animation:4s ease-in-out infinite lrStarTwinkle;position:absolute;box-shadow:0 0 7px 1px #ffffff59}@keyframes lrStarTwinkle{0%,to{opacity:.12;transform:scale(.75)}50%{opacity:.95;transform:scale(1.15)}}.lr-star.is-spark{box-shadow:0 0 12px 3px #ffffff80}.lr-star.is-spark:before,.lr-star.is-spark:after{content:"";background:#ffffffb3;border-radius:2px;position:absolute;top:50%;left:50%}.lr-star.is-spark:before{width:20px;height:1.5px;transform:translate(-50%,-50%)}.lr-star.is-spark:after{width:1.5px;height:20px;transform:translate(-50%,-50%)}.lr-mote{z-index:0;opacity:0;pointer-events:none;background:#dce6f58c;border-radius:50%;animation:14s ease-in-out infinite lrMoteFloat;position:absolute;box-shadow:0 0 10px 2px #c8d7f038}@keyframes lrMoteFloat{0%{opacity:0;transform:translateY(40px)scale(.8)}10%{opacity:.5}50%{opacity:.9}90%{opacity:.3}to{opacity:0;transform:translateY(-90px)scale(1.15)}}.lr-constellation{z-index:0;opacity:.85;pointer-events:none;width:220px;height:160px;position:absolute;top:22%;left:6%}.lr-cs{fill:#fff;opacity:0;animation:3.5s ease-in-out infinite lrCsTwinkle;animation-delay:var(--d,0s)}@keyframes lrCsTwinkle{0%,to{opacity:.2}50%{opacity:.95}}.lr-burst{z-index:6;opacity:0;pointer-events:none;background:#fff6e0f2;border-radius:50%;animation:.95s cubic-bezier(.16,.6,.4,1) forwards lrBurst;position:absolute;top:50%;left:50%;box-shadow:0 0 10px 2px #ffebbe8c}@keyframes lrBurst{0%{opacity:0;transform:translate(0)scale(.5)}12%{opacity:1}to{opacity:0;transform:translate(var(--bx,60px), var(--by,-60px)) scale(.9)}}@keyframes lrEnvGlow{0%,to{filter:drop-shadow(0 0 16px #ffecca1a)}50%{filter:drop-shadow(0 0 36px #ffecca42)}}.lr-shoot{z-index:0;opacity:0;pointer-events:none;background:linear-gradient(90deg,#ffffffe6,#0000);border-radius:2px;width:92px;height:1.5px;animation:9s ease-in-out infinite lrShoot;position:absolute;top:16%;left:76%;transform:rotate(-32deg)}@keyframes lrShoot{0%{opacity:0;transform:translate(0)rotate(-32deg)}3%{opacity:1}8%{opacity:0;transform:translate(-340px,212px)rotate(-32deg)}to{opacity:0;transform:translate(-340px,212px)rotate(-32deg)}}.lr-stage{z-index:1;perspective:1400px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lr-envelope{aspect-ratio:470/310;width:min(470px,86vw);height:auto;transform-style:preserve-3d;cursor:pointer;opacity:1;outline:none;transition:opacity .5s .12s,transform .5s cubic-bezier(.4,0,.2,1) .12s;animation:.7s cubic-bezier(.22,1.2,.36,1) .35s backwards lrEnvIn,3.4s ease-in-out 1.2s infinite lrEnvGlow;position:absolute;transform:translateY(0)scale(1)}@keyframes lrEnvIn{0%{opacity:0;transform:translateY(52px)scale(.92)}}.lr-root.is-open .lr-envelope{opacity:0;pointer-events:none;transition:opacity .45s .34s,transform .5s cubic-bezier(.4,0,.2,1) .34s;transform:translateY(72px)scale(.9)rotate(1.6deg)}.lr-root:not(.is-open):not(.is-animating) .lr-envelope:hover{transform:scale(1.02)rotate(-.4deg)}.lr-root:not(.is-open) .lr-envelope:active{transition-duration:.1s;transform:scale(.97)}.lr-paper{background-color:#fff;background-image:repeating-linear-gradient(2deg,#f5f3ee8c 0 1px,#0000 1px 4px),repeating-linear-gradient(92deg,#2a262006 0 1px,#0000 1px 5px),radial-gradient(140% 120% at 28% 8%,#ffffffe6,#0000 58%)}.lr-env-body{z-index:1;border:1px solid #2a26201a;border-radius:6px;position:absolute;inset:0;box-shadow:0 30px 58px -24px #2a262038,0 8px 22px #2a262012,0 2px 6px #2a26200d}.lr-env-body:after{content:"";background:linear-gradient(160deg,#fff,#f6f2e8);border-radius:6px;position:absolute;inset:0}.lr-env-flap{position:absolute}.lr-env-left{clip-path:polygon(0 0,100% 50%,0 100%);z-index:4;background:linear-gradient(115deg,#fbf8f1,#f0ead9);width:50%;height:100%;top:0;left:0}.lr-env-right{clip-path:polygon(100% 0,0 50%,100% 100%);z-index:4;background:linear-gradient(245deg,#fbf8f1,#f0ead9);width:50%;height:100%;top:0;right:0}.lr-env-bottom{clip-path:polygon(0 100%,100% 100%,50% 0);z-index:5;transform-origin:bottom;filter:drop-shadow(0 -2px 3px #2a262014);background:linear-gradient(#ede5d6,#f7f3e9);width:100%;height:56%;transition:transform .5s cubic-bezier(.4,0,.2,1) .3s;bottom:0;left:0}.lr-env-top{clip-path:polygon(0 0,100% 0,50% 100%);z-index:6;transform-origin:top;filter:drop-shadow(0 3px 4px #2a26201a);background:linear-gradient(#fffdf7,#f4efe2);width:100%;height:56%;transition:transform .5s cubic-bezier(.4,0,.2,1) .28s,z-index 0s .28s;top:0;left:0}.lr-root.is-open .lr-env-top{z-index:2;transition:transform .55s cubic-bezier(.4,0,.2,1) 60ms,z-index 0s .32s;transform:rotateX(168deg)}.lr-root.is-open .lr-env-bottom{transition:transform .55s cubic-bezier(.4,0,.2,1) 20ms;transform:rotateX(-168deg)}.lr-envelope:before{content:"";opacity:.6;z-index:7;background:repeating-linear-gradient(#0000 0 5px,#2a262024 5px 6px) 0 0/100% 10px;border:1px solid #2a262029;border-radius:2px;width:34px;height:30px;transition:opacity .25s;position:absolute;top:18px;right:18px}.lr-root.is-open .lr-envelope:before{opacity:0}.lr-env-date{z-index:7;letter-spacing:2px;color:#2a26206b;-webkit-user-select:none;user-select:none;font-family:Kaiti SC,KaiTi,Noto Serif SC,serif;font-size:12px;transition:opacity .25s;position:absolute;top:18px;left:20px;transform:rotate(-3deg)}.lr-root.is-open .lr-env-date{opacity:0}.lr-env-note{z-index:7;letter-spacing:7px;text-indent:7px;color:var(--at-brass-deep,#8e6740);opacity:.9;-webkit-user-select:none;user-select:none;font-family:Kaiti SC,KaiTi,Noto Serif SC,serif;font-size:15px;transition:opacity .25s;position:absolute;top:62%;left:50%;transform:translate(-50%)}.lr-root.is-open .lr-env-note{opacity:0}.lr-env-sub{z-index:7;letter-spacing:3px;color:#2a262059;font-size:8.5px;font-family:var(--font-sans,sans-serif);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:opacity .25s;position:absolute;top:73%;left:50%;transform:translate(-50%)}.lr-root.is-open .lr-env-sub{opacity:0}.lr-wax-seal{z-index:9;background:radial-gradient(circle at 32% 30%,#e0704e 0%,#c13e28 42%,#932318 72%,#6d1208 100%);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s 20ms,filter .3s;animation:.55s cubic-bezier(.34,1.56,.64,1) .8s backwards lrSealIn;display:flex;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:0 6px 16px #460f0580,inset 0 2px 3px #ffd6b466,inset 0 -4px 6px #23040073}@keyframes lrSealIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}}.lr-wax-seal:before{content:"";filter:blur(1.6px);z-index:-1;background:#6014088c;border-radius:54% 46% 52% 48%/47% 54% 46% 53%;position:absolute;inset:-4px}.lr-wax-seal:after{content:"封";color:#ffebda9e;text-shadow:0 1px 1px #3c080080;border:1px solid #ffe8d24d;border-radius:50%;justify-content:center;align-items:center;font-family:Kaiti SC,KaiTi,serif;font-size:20px;font-weight:700;display:flex;position:absolute;inset:5px}.lr-root:not(.is-open):not(.is-animating) .lr-envelope:hover .lr-wax-seal{transform:translate(-50%,-50%)rotate(-6deg)scale(1.07)}.lr-root:not(.is-open) .lr-envelope:active .lr-wax-seal{transition-duration:.12s;transform:translate(-50%,-50%)rotate(-8deg)scale(.94)}.lr-root.is-open .lr-wax-seal{opacity:0;filter:blur(3px);transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .26s 30ms,filter .26s;transform:translate(-50%,-50%)scale(1.6)rotate(24deg)}.lr-envelope:after{content:"";opacity:0;z-index:20;pointer-events:none;background:linear-gradient(105deg,#0000 32%,#ffe8be4d 46%,#0000 60%) 130% 0/260% 100%;border-radius:8px;position:absolute;inset:-2px}.lr-root.is-open .lr-envelope:after{animation:.75s .18s forwards lrShine}@keyframes lrShine{0%{opacity:0;background-position:130% 0}22%{opacity:1}to{opacity:0;background-position:-45% 0}}.lr-root.is-resealing .lr-content{transition:opacity .55s 50ms,transform .55s cubic-bezier(.4,0,.2,1) 50ms}.lr-root.is-resealing .lr-envelope{transition:opacity .65s .35s,transform .65s cubic-bezier(.4,0,.2,1) .35s}.lr-root.is-resealing .lr-env-top{transition:transform .75s cubic-bezier(.4,0,.2,1) .7s,z-index 0s .7s}.lr-root.is-resealing .lr-env-bottom{transition:transform .75s cubic-bezier(.4,0,.2,1) .78s}.lr-root.is-resealing .lr-wax-seal{transition:transform .55s cubic-bezier(.34,1.56,.64,1) 1.6s,opacity .45s 1.65s,filter .45s 1.6s}.lr-content{z-index:10;opacity:0;pointer-events:none;align-items:center;transition:opacity .35s,transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:translateY(30px)scale(.95)}.lr-root.is-open .lr-content{opacity:1;pointer-events:auto;transition:opacity .5s .46s,transform .55s cubic-bezier(.22,1,.36,1) .46s;transform:translateY(0)scale(1)}.lr-polaroid{z-index:2;perspective:800px;cursor:pointer;flex-shrink:0;width:208px;margin-right:-16px}.lr-polaroid-card{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.34,1.4,.5,1);position:relative;transform:rotate(-8deg)}.lr-polaroid:hover .lr-polaroid-card{transform:rotate(-3deg)translateY(-9px)scale(1.03)}.lr-polaroid.flipped .lr-polaroid-card{transform:rotate(-8deg)rotateY(180deg)}.lr-polaroid.flipped:hover .lr-polaroid-card{transform:rotate(-3deg)translateY(-9px)scale(1.03)rotateY(180deg)}.lr-polaroid-face{backface-visibility:hidden;background:#fffdf8;border-radius:2px;padding:11px 11px 44px;box-shadow:0 14px 30px -8px #46371e61,0 3px 8px #46371e29}.lr-polaroid-front{position:relative}.lr-polaroid-back{background:#f7efdd;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0;transform:rotateY(180deg)}.lr-polaroid-img{background:linear-gradient(160deg,#d9c9a4 0%,#cdb68c 35%,#e3d3ac 65%,#d2bd93 100%);width:100%;height:152px}.lr-polaroid-text{text-align:center;color:#6a6258;width:100%;font-family:Brush Script MT,Snell Roundhand,cursive;font-size:17px;position:absolute;bottom:13px;left:0}.lr-polaroid-back-line{color:#6a5a44;letter-spacing:3px;font-family:Kaiti SC,KaiTi,Noto Serif SC,serif;font-size:16px}.lr-polaroid-back-sub{color:#a89c86;letter-spacing:2px;font-family:sans-serif;font-size:9px}.lr-polaroid-hint{text-align:center;letter-spacing:2px;color:#6a5a4480;-webkit-user-select:none;user-select:none;margin-top:10px;font-family:sans-serif;font-size:9px}.lr-letter-card{z-index:1;background:#fdfaf1;border-radius:5px;justify-content:space-between;width:540px;max-height:min(72vh,600px);padding:38px 42px;transition:box-shadow .4s;display:flex;position:relative;box-shadow:0 26px 55px -14px #46371e66,0 4px 14px #46371e26}.lr-letter-card:hover{box-shadow:0 32px 65px -14px #46371e78,0 4px 14px #46371e2b}.lr-letter-card:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#b4a0780a 0 1px,#0000 1px 4px);border-radius:5px;position:absolute;inset:0}.lr-letter-content{flex-direction:column;flex:1;min-height:0;padding-right:26px;display:flex}.lr-note-title{color:#a89c86;letter-spacing:3px;flex-shrink:0;margin-bottom:16px;font-family:sans-serif;font-size:10.5px}.lr-note-greeting{color:#403a30;flex-shrink:0;margin-bottom:14px;font-size:19px;font-weight:700}.lr-note-body{flex:0 auto;min-height:0;margin-bottom:26px;padding-right:6px;overflow-y:auto}.lr-note-body::-webkit-scrollbar{width:5px}.lr-note-body::-webkit-scrollbar-track{background:0 0}.lr-note-body::-webkit-scrollbar-thumb{background:#b4a07859;border-radius:3px}.lr-note-body .lr-line{color:#5c5546;text-align:justify;font-size:14.5px;line-height:2.05;display:block}.lr-note-footer{color:#5c5546;text-align:center;flex-shrink:0;font-size:15px;font-style:italic}.lr-note-footer span{color:#a89c86;font-size:10.5px;font-style:normal}.lr-letter-right{border-left:1px dashed #e2d9c4;flex-direction:column;flex-shrink:0;align-items:center;width:118px;padding-left:22px;display:flex}.lr-stamp{text-align:center;color:#b8895a;cursor:default;background:#faf3e6;border:1px solid #b8895a;border-radius:4px;width:68px;margin-bottom:26px;padding:7px 4px;transition:transform .35s cubic-bezier(.34,1.4,.5,1)}.lr-stamp:hover{transform:rotate(4deg)scale(1.07)}.lr-stamp-title{letter-spacing:1px;font-size:12px;font-weight:700}.lr-stamp-sub{margin:4px 0;font-family:sans-serif;font-size:8px}.lr-stamp-circle{border:1px solid #b8895a;border-radius:50%;width:28px;height:28px;margin:4px auto;font-size:14px;line-height:26px}.lr-stamp-year{font-size:9px;font-weight:700}.lr-vertical-text{justify-content:center;align-items:flex-start;gap:15px;display:flex}.lr-vertical-text p{color:#6a6258;flex-direction:column;align-items:center;margin:0;font-family:Kaiti SC,KaiTi,Noto Serif SC,serif;font-size:14px;line-height:1.5;display:flex}.lr-vertical-text p span{line-height:1.45}.lr-vertical-text p span:hover{color:#403a30}.lr-right-footer{color:#b3aa96;letter-spacing:1.5px;margin-top:auto;font-family:sans-serif;font-size:8.5px}@keyframes lrLetterRise{0%{opacity:0;transform:translateY(44px)scale(.965)rotate(.4deg)}to{opacity:1;transform:none}}@keyframes lrPolaroidIn{0%{opacity:0;transform:translateY(42px)scale(.82)rotate(7deg)}to{opacity:1;transform:none}}@keyframes lrFadeUp{0%{opacity:0;transform:translateY(18px)}}@keyframes lrPopIn{0%{opacity:0;transform:scale(.6)rotate(-8deg)}}.lr-root.is-open .lr-letter-card{animation:.6s cubic-bezier(.22,1,.36,1) .5s both lrLetterRise}.lr-root.is-open .lr-polaroid{animation:.7s cubic-bezier(.34,1.5,.55,1) .68s both lrPolaroidIn}.lr-root.is-open .lr-note-title{animation:.45s .64s both lrFadeUp}.lr-root.is-open .lr-note-greeting{animation:.45s .72s both lrFadeUp}.lr-root.is-open .lr-note-body .lr-line{animation:.5s both lrFadeUp;animation-delay:var(--d,.82s)}.lr-root.is-open .lr-note-footer{animation:.5s 1.14s both lrFadeUp}.lr-root.is-open .lr-stamp{animation:.5s cubic-bezier(.34,1.56,.64,1) .87s both lrPopIn}.lr-root.is-open .lr-vertical-text p{animation:.45s both lrFadeUp;animation-delay:var(--d,.97s)}.lr-root.is-open .lr-right-footer{animation:.4s 1.17s both lrFadeUp}.lr-hint{letter-spacing:4px;color:#f0e1bec7;font-size:12.5px;font-family:var(--font-sans,sans-serif);-webkit-user-select:none;user-select:none;z-index:20;animation:.5s 1.15s backwards lrHintIn;position:absolute;top:calc(50% + min(470px,86vw)/2.94118 + 22px);left:50%;transform:translate(-50%)}@keyframes lrHintIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.lr-hint:after{content:"";background:#f0e1be61;width:24px;height:1px;margin:8px auto 0;animation:2.2s ease-in-out infinite lrHintPulse;display:block}@keyframes lrHintPulse{0%,to{opacity:.5;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.7)}}.lr-close-hint{letter-spacing:3px;color:#d7c8aa9e;font-size:12px;font-family:var(--font-sans,sans-serif);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:20;transition:opacity .4s;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.lr-root.is-open.settled .lr-close-hint{opacity:1}.lr-dismiss{color:#7d6b4f;cursor:pointer;z-index:30;opacity:0;pointer-events:none;background:#ffffffe6;border:1px solid #2a26201f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .3s,transform .2s,color .2s;display:inline-flex;position:absolute;top:18px;right:18px;box-shadow:0 6px 16px #2a26201f}.lr-dismiss svg{width:16px;height:16px}.lr-root.is-open.settled .lr-dismiss{opacity:1;pointer-events:auto}.lr-dismiss:hover{color:#403a30;transform:scale(1.08)}@media (max-width:900px){.lr-content{transform-origin:50%;flex-direction:column;flex-shrink:0;gap:24px;height:calc(100dvh - 24px);overflow:hidden}.lr-polaroid{flex-shrink:0;order:-1;margin-right:0}.lr-letter-card{flex:1;width:min(560px,92vw);min-height:0;max-height:none;padding:26px 28px}.lr-letter-right{width:100px}.lr-note-body{flex:1 1 0;min-height:0;max-height:none}}@media (max-width:600px){.lr-content{gap:20px;height:calc(100dvh - 20px);max-height:none;padding:6px 0 8px;overflow:hidden}.lr-envelope{width:min(470px,74vw)}.lr-letter-card{width:94vw;max-height:none;padding:22px 18px 20px}.lr-letter-content{padding-right:14px}.lr-letter-right{width:68px;padding-left:12px}.lr-note-body{flex:1 1 0;min-height:0;max-height:none;margin-bottom:14px}.lr-stamp{width:52px;margin-bottom:18px;padding:6px 3px}.lr-vertical-text{gap:8px}.lr-vertical-text p{font-size:11.5px}.lr-polaroid{width:168px}.lr-polaroid-img{height:122px}.lr-hint{top:auto;bottom:10vh}.lr-close-hint{display:none}.lr-envelope:before{width:28px;height:24px;top:12px;right:14px}.lr-env-date{letter-spacing:1px;font-size:10px;top:12px;left:14px}.lr-wax-seal{width:46px;height:46px}.lr-dismiss{width:34px;height:34px;top:12px;right:12px}}@media (prefers-reduced-motion:reduce){.lr-bg,.lr-moon,.lr-star,.lr-shoot,.lr-mote{opacity:.8!important;animation:none!important}.lr-shoot{opacity:0!important}.lr-cs{opacity:.7!important;animation:none!important}.lr-burst{opacity:0!important;animation:none!important}.lr-envelope,.lr-wax-seal,.lr-hint,.lr-envelope:after,.lr-root.is-open .lr-letter-card,.lr-root.is-open .lr-polaroid,.lr-root.is-open .lr-note-title,.lr-root.is-open .lr-note-greeting,.lr-root.is-open .lr-note-body .lr-line,.lr-root.is-open .lr-note-footer,.lr-root.is-open .lr-stamp,.lr-root.is-open .lr-vertical-text p,.lr-root.is-open .lr-right-footer{opacity:1!important;animation:none!important}.lr-root.is-open .lr-envelope:after{opacity:0!important}}
