/* 被吞掉的那半句 · 一封真正可以拆开的信。 */
.unswallowed-section{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,5vw,74px);padding:clamp(25px,5vw,60px);margin:7px 0 64px;background:linear-gradient(138deg,var(--paper) 5%,var(--paper-alt) 100%);border:1px solid var(--line);box-shadow:3px 4px 0 var(--line);isolation:isolate;scroll-margin-top:110px}
.unswallowed-section:after{content:"";position:absolute;right:23px;top:-13px;width:96px;height:27px;background:repeating-linear-gradient(90deg,#edb9c687 0 12px,#f4d2d98c 12px 24px);border:1px dashed #bc7f91;transform:rotate(8deg);pointer-events:none}
.unswallowed-overline{display:block;font:12px/1.8 var(--sans);letter-spacing:.12em;color:var(--accent);margin-bottom:17px}
.unswallowed-heading h2{font:500 clamp(28px,3vw,42px)/1.55 var(--serif);letter-spacing:.06em;margin-bottom:24px}
.unswallowed-heading p{max-width:29em;font:15px/2.05 var(--serif);margin-bottom:13px}
.unswallowed-pencil{display:block;margin-top:27px;font:13px/1.95 var(--serif);color:var(--muted);border-left:2px solid var(--rose);padding-left:14px}
.unswallowed-object{position:relative;min-width:0;padding:19px 18px 12px;background:linear-gradient(145deg,var(--paper-alt),var(--paper));border:1px dashed var(--rose);box-shadow:0 12px 29px -20px var(--shadow)}
.unswallowed-envelope{position:relative;min-height:211px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:25px 25px 23px;background:linear-gradient(148deg,var(--paper),var(--paper-alt));border:1px solid var(--line);box-shadow:0 5px 12px var(--shadow);transition:transform .5s ease,box-shadow .5s ease}
.unswallowed-envelope:before{content:"";position:absolute;left:0;right:0;top:0;height:55%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(160deg,#e7b1c0a8,#f3d2daa8);border-bottom:1px solid var(--rose);transform-origin:top center;transition:transform .55s ease;pointer-events:none}
.unswallowed-envelope:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(170deg,transparent,#edc5ce26);pointer-events:none}
.unswallowed-address,.unswallowed-postmark,.unswallowed-wax{position:relative;z-index:1}
.unswallowed-address{align-self:flex-start;font:italic 25px/1.3 Georgia,var(--serif);color:var(--heading);padding-top:6px}
.unswallowed-postmark{font:12px/1.4 var(--serif);letter-spacing:.08em;color:var(--muted)}
.unswallowed-wax{position:absolute;right:30px;top:53%;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#b65975;color:#fff2f3;border:5px double #f3bfc9;font:italic 19px Georgia,serif;transform:rotate(12deg);box-shadow:0 2px 5px #74314935;transition:transform .4s}
.unswallowed-object[data-open=true] .unswallowed-envelope{transform:translateY(-4px) rotate(-1deg);box-shadow:0 2px 5px var(--shadow)}
.unswallowed-object[data-open=true] .unswallowed-envelope:before{transform:scaleY(-.8)}
.unswallowed-object[data-open=true] .unswallowed-wax{transform:rotate(-11deg) scale(.85)}
.unswallowed-sheet{position:relative;margin:14px 0 15px;padding:29px clamp(20px,3vw,36px) 68px;background:var(--paper);border:1px solid var(--line);box-shadow:2px 5px 13px var(--shadow);font:15px/2.05 var(--serif);animation:unswallowed-unfold .55s ease both;outline-offset:6px}
.unswallowed-sheet:before{content:"";position:absolute;top:-2px;left:17px;right:17px;border-top:2px dashed var(--line);opacity:.7}
.unswallowed-sheet p+p{margin-top:15px}
.unswallowed-paper-number{display:block;color:var(--accent);font:11px/1.7 var(--sans);letter-spacing:.12em;margin-bottom:18px}
.unswallowed-emphasis{padding:14px 0 14px 16px;margin-left:-4px;border-left:2px solid var(--rose);color:var(--heading);font-weight:600}
.unswallowed-signature{text-align:right;color:var(--heading);padding-top:7px}
.unswallowed-signature small{font-size:12px;color:var(--muted)}
.unswallowed-stamp{position:absolute;bottom:17px;left:29px;width:72px;height:72px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font:13px/1.3 var(--serif);letter-spacing:.12em;opacity:0;transform:rotate(-20deg) scale(.6);transition:opacity .25s,transform .4s;pointer-events:none}
.unswallowed-stamp span{font:24px/1.1 Georgia,serif}
.unswallowed-object[data-stamped=true] .unswallowed-stamp{opacity:.8;transform:rotate(-14deg) scale(1)}
.unswallowed-object.kiss-again .unswallowed-stamp{animation:unswallowed-kiss .4s both}
.unswallowed-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:19px 0 5px}
.unswallowed-open,.unswallowed-stamp-button{min-height:46px;padding:10px 16px;border-radius:99px;font:14px/1.4 var(--serif);transition:transform .2s,background-color .2s}
.unswallowed-open{background:var(--heading);color:var(--paper);display:inline-flex;align-items:center;gap:13px}
.unswallowed-open span{font-size:20px;line-height:1}
.unswallowed-stamp-button{border:1px solid var(--rose);background:var(--paper);color:var(--heading)}
.unswallowed-open:hover,.unswallowed-stamp-button:hover{transform:translateY(-2px)}
.unswallowed-status{text-align:center;font:12px/1.75 var(--serif);color:var(--muted);margin:11px 0 0}
:root[data-theme=night] .unswallowed-wax{background:#a95878;color:#fff4f4}
:root[data-theme=night] .unswallowed-open{background:var(--accent);color:#2b1d2b}
@keyframes unswallowed-unfold{from{opacity:0;transform:translateY(-11px)}to{opacity:1;transform:translateY(0)}}
@keyframes unswallowed-kiss{0%{transform:rotate(-14deg) scale(1.18)}100%{transform:rotate(-14deg) scale(1)}}
@media(max-width:760px){.unswallowed-section{grid-template-columns:1fr;gap:25px;padding:24px 21px 27px;margin-bottom:48px}.unswallowed-heading h2{font-size:31px;margin-bottom:16px}.unswallowed-heading p{font-size:15px}.unswallowed-pencil{margin-top:14px}.unswallowed-object{padding:13px}.unswallowed-envelope{min-height:191px;padding:22px}.unswallowed-sheet{padding:24px 21px 76px}.unswallowed-section:after{right:16px}}
@media(max-width:375px){.unswallowed-section{padding:20px 14px}.unswallowed-envelope{min-height:180px}.unswallowed-address{font-size:22px}.unswallowed-open,.unswallowed-stamp-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.unswallowed-envelope,.unswallowed-envelope:before,.unswallowed-wax,.unswallowed-stamp,.unswallowed-open,.unswallowed-stamp-button{transition:none}.unswallowed-sheet,.unswallowed-object.kiss-again .unswallowed-stamp{animation:none}}
