/* Fixed letter + six connected stamps. Deliberately no homepage player. */
.v3-album{padding-top:8px;position:relative}
.v3-main-stamp{padding:6px}
.v3-envelope-stage{position:relative;aspect-ratio:16/9;overflow:hidden;isolation:isolate;background:#eee6d3}
.v3-envelope-picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.v3-envelope-fallback{position:absolute;inset:8%;border:1px solid #b9a987;background:linear-gradient(148deg,#f7f0de 49.6%,#cbbb9e 50%,#f0e6ce 50.4%);box-shadow:0 5px 14px #654c2420}
.v3-envelope-fallback i{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#954333;color:#d6ac6c;font-size:22px;font-style:normal;box-shadow:0 3px 6px #55352366}
.v3-envelope-target{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}
.v3-album.has-selection .v3-envelope-target{cursor:copy}
.v3-envelope-target:focus-visible{outline:2px solid #a77e3e;outline-offset:-4px}
.v3-envelope-prompt{position:absolute;left:10px;right:10px;bottom:9px;pointer-events:none;text-align:center;color:#705a3f;font-family:var(--type-serif);font-size:10px;letter-spacing:.12em;line-height:1.5;text-shadow:0 1px 6px #fff9e9,0 1px 4px #fff9e9}
.v3-stamp-slot{position:absolute;right:6%;top:9%;width:19%;height:40%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #9b825266;background:#fff9e51a;transform:rotate(3deg);color:#8c7450;transition:background .2s,border-color .2s,box-shadow .2s}
.v3-stamp-slot b{font-family:var(--type-serif);font-weight:400;font-size:9px;letter-spacing:.1em}
.v3-stamp-slot small{font-size:7px;white-space:nowrap}
.v3-album.has-selection .v3-stamp-slot,.v3-album.is-guiding .v3-stamp-slot{border-color:#99713c;background:#fff5d94d;box-shadow:0 0 0 3px #fff6d933}
.v3-album.is-over-envelope .v3-stamp-slot{border:2px solid #9b682d;background:#ffe4a977;box-shadow:0 0 0 5px #ffedb844}
.v3-attached-stamp{position:absolute;right:5%;top:7%;width:22%;height:44%;padding:4px;background:#fff9e7;box-shadow:1px 3px 6px #4b351c44;transform:rotate(3deg);opacity:0;pointer-events:none}
.v3-attached-stamp img{width:100%;height:100%;object-fit:cover}
.v3-attached-stamp span{position:absolute;left:4px;right:4px;bottom:5px;color:#fff;font-size:8px;line-height:1.2;text-shadow:0 1px 5px #142d38,0 1px 3px #142d38}
.v3-attached-stamp::after{content:"";position:absolute;right:-9px;bottom:-8px;width:25px;height:25px;border:1px solid #a3593a;border-radius:50%;opacity:.65;transform:rotate(-15deg)}
.v3-album.is-posting .v3-attached-stamp{opacity:1;animation:v3-stamp-land .3s ease-out both}
.v3-album.is-posting .v3-stamp-slot{opacity:0}
.v3-album .sheet-heading{height:30px;gap:10px}
.v3-album .sheet-heading>span{font-family:var(--type-serif);font-size:12px;letter-spacing:.06em}
.v3-album .sheet-heading>.sheet-instruction{font-family:var(--type-sans);font-size:8px;letter-spacing:0;color:#929780}
.v3-album .stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v3-album .stamp-grid>.stamp{height:116px;padding:6px}
.v3-album .album-foot{height:44px;min-height:44px}
.v3-album .album-foot button{min-height:44px;font-size:10px}
.v3-album .drag-handle{touch-action:none;user-select:none}
.v3-album .stamp-picture>img{user-select:none;-webkit-user-drag:none}
.v3-album.is-posting .stamp-select,.v3-album.is-posting .drag-handle{cursor:wait}
.v3-album.is-dragging #main-screen{position:sticky;top:var(--appbar,90px);z-index:150;box-shadow:0 12px 25px #213b3733}
.v3-home-status{position:absolute;top:100%;left:14px;right:14px;font-size:10px;line-height:1.6;color:#8c6e42;text-align:center;min-height:0;margin:0;pointer-events:none}
.v3-stamp-ghost{position:fixed!important;z-index:2000!important;width:130px;height:92px;margin:0!important;padding:5px!important;pointer-events:none;transform:rotate(-7deg);filter:drop-shadow(0 7px 12px #132e4266);opacity:.94;user-select:none}
.v3-stamp-ghost .stamp-picture{height:100%}
.v3-stamp-ghost .stamp-select{pointer-events:none}
.v3-stamp-ghost .drag-handle,.v3-stamp-ghost .postmark,.v3-stamp-ghost .stamp-subtitle,.v3-stamp-ghost .twins{display:none}
.v3-stamp-ghost .stamp-title{font-size:20px;bottom:9px;left:7px}
.v3-stamp-ghost .stamp-title .brush-title{font-size:26px}
.v3-stamp-ghost .stamp-title img.asia-wordmark{height:23px;width:110px}
.v3-stamp-ghost .stamp-number{top:5px;left:7px;font-size:7px}
.v3-guide-ghost{transform-origin:center;animation:v3-guide-flight 3s ease-in-out 2 both;z-index:2001!important}
.v3-guide-panel{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2002;display:flex;align-items:center;gap:12px;width:min(94vw,480px);padding:15px 14px;background:#fffaedfa;border:1px solid #beab7c;color:#52635e;box-shadow:0 6px 28px #243d3833}
.v3-guide-panel strong{font-family:var(--type-serif);font-size:15px;line-height:1.5;font-weight:400;color:#6c5535}
.v3-guide-panel p{font-size:10px;line-height:1.8;margin-top:4px}
.v3-guide-panel button{flex-shrink:0;min-height:44px;min-width:60px;padding:8px 10px;background:#f0e5ce;border:1px solid #b7a479;font-size:11px;color:#6c5535}
.v3-opening{position:fixed;inset:0;z-index:10000;background:#ece6d9;color:#333c3c;isolation:isolate;overflow:hidden}
.v3-opening-action{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;overflow:hidden}
.v3-opening-action:focus-visible{outline:2px solid #997b4c;outline-offset:-8px}
.v3-opening-letter{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 22px 90px;opacity:1;transition:opacity .5s ease,transform .5s ease;background:radial-gradient(ellipse at 50% 44%,#fffcf2,#e9e1d1 75%)}
.v3-opening-overline{font-family:var(--type-serif);font-size:12px;letter-spacing:.26em;color:#8c7a5e;margin:0 0 25px}
.v3-opening-envelope{display:block;position:relative;aspect-ratio:16/9;width:min(92vw,920px);background:#eee7d5;box-shadow:0 18px 65px #654c242a;transform:rotate(-2deg)}
.v3-opening-envelope>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-opening-vision{position:absolute;inset:0;background:#e2e9e4;opacity:0;visibility:hidden;transition:opacity .5s ease}
.v3-opening-picture{position:absolute;inset:0;display:block}
.v3-opening-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;pointer-events:none}
.v3-opening-shade{position:absolute;inset:0;background:linear-gradient(0deg,#e8eee4eb,transparent 58%),linear-gradient(90deg,#e8eee41a,transparent)}
.v3-opening-copy{position:absolute;left:6%;right:6%;bottom:22%;display:flex;flex-direction:column;gap:18px;text-align:center}
.v3-opening-brush{font-family:"Icefire Brush",cursive;color:#172f36;font-size:clamp(62px,19vw,165px);font-weight:400;line-height:1.3;letter-spacing:.02em;text-shadow:0 1px 5px #e8f0df66}
.v3-opening-line{font-family:var(--type-serif);font-size:12px;line-height:1.8;letter-spacing:.12em;color:#405b5e}
.v3-opening-hint{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));left:20px;right:20px;font-family:var(--type-serif);font-size:13px;letter-spacing:.18em;line-height:1.8;color:#7a6545;text-align:center;pointer-events:none}
.v3-opening.is-unsealing .v3-opening-letter{opacity:0;transform:scale(1.025)}
.v3-opening.is-unsealing .v3-opening-vision{opacity:1;visibility:visible}
.v3-opening.is-vision .v3-opening-hint{color:#435e61}
@keyframes v3-stamp-land{from{transform:rotate(3deg) scale(1.22);opacity:.4}to{transform:rotate(3deg) scale(1);opacity:1}}
@keyframes v3-guide-flight{0%,8%{opacity:0;transform:translate(0,0) rotate(-7deg) scale(1)}16%{opacity:.94;transform:translate(0,0) rotate(-7deg) scale(1)}66%,80%{opacity:.98;transform:translate(var(--guide-x),var(--guide-y)) rotate(3deg) scale(var(--guide-scale))}95%,100%{opacity:0;transform:translate(var(--guide-x),var(--guide-y)) rotate(3deg) scale(var(--guide-scale))}}
@media(max-width:359px){.v3-album{padding-top:8px}.v3-album .stamp-grid>.stamp{height:112px}.v3-album .sheet-heading>span{font-size:11px;letter-spacing:0}.v3-album .sheet-heading>.sheet-instruction{font-size:7px}.v3-album .album-foot button{font-size:9px}.v3-envelope-prompt{font-size:9px;letter-spacing:.06em}.v3-stamp-slot b{font-size:8px}.v3-stamp-slot small{font-size:6px}.v3-guide-panel{gap:9px;padding:12px}.v3-guide-panel strong{font-size:13px}.v3-guide-panel p{font-size:9px}.v3-guide-panel button{font-size:10px;min-width:53px}.v3-opening-line{font-size:11px;letter-spacing:.05em}}
@media(min-width:651px){.v3-album{padding-top:24px}.v3-main-stamp{padding:10px}.v3-envelope-prompt{font-size:16px;bottom:22px;letter-spacing:.15em}.v3-stamp-slot b{font-size:18px}.v3-stamp-slot small{font-size:11px}.v3-stamp-slot{gap:10px}.v3-attached-stamp{padding:7px}.v3-attached-stamp span{font-size:17px;left:8px;right:8px;bottom:12px}.v3-attached-stamp::after{width:55px;height:55px;right:-16px;bottom:-16px}.v3-album .sheet-heading{height:58px}.v3-album .sheet-heading>span{font-size:18px;letter-spacing:.12em}.v3-album .sheet-heading>.sheet-instruction{font-size:11px}.v3-album .stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v3-album .stamp-grid>.stamp{height:220px;padding:10px}.v3-album .album-foot{height:55px;min-height:55px}.v3-album .album-foot button{font-size:12px;min-height:44px}.v3-home-status{font-size:12px;left:30px;right:30px}.v3-opening-overline{font-size:16px;margin-bottom:35px}.v3-opening-line{font-size:18px}.v3-opening-copy{bottom:19%;gap:25px}.v3-opening-hint{font-size:16px;bottom:45px}.v3-guide-panel strong{font-size:17px}.v3-guide-panel p{font-size:12px}.v3-guide-panel button{font-size:12px;min-width:70px}}
@media(min-width:1100px){.v3-album .stamp-grid>.stamp{height:250px}}
@media(orientation:portrait){.v3-opening-image{object-position:49% center}.v3-opening-copy{bottom:24%}}
@media(max-height:480px) and (orientation:landscape){.v3-opening-letter{padding:15px 20px 50px}.v3-opening-envelope{width:min(65vw,620px);max-height:70vh}.v3-opening-overline{margin-bottom:10px;font-size:10px}.v3-opening-copy{bottom:20%;gap:5px}.v3-opening-brush{font-size:22vh;line-height:1}.v3-opening-line{font-size:11px}.v3-opening-hint{bottom:14px;font-size:11px}.v3-guide-panel{bottom:8px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.v3-stamp-slot,.v3-opening-letter,.v3-opening-vision{transition:none}.v3-album.is-posting .v3-attached-stamp{animation:none}.v3-drag-ghost{transform:none}.v3-guide-ghost{animation-name:v3-guide-still}.v3-opening.is-unsealing .v3-opening-letter{transform:none}}
@keyframes v3-guide-still{0%,10%,90%,100%{opacity:0;transform:rotate(0)}20%,80%{opacity:.8;transform:rotate(0)}}
