:root{--postcard-overlay:color-mix(in oklab, var(--foreground) 50%, transparent);--postcard-shadow:0 24px 60px color-mix(in oklab, var(--foreground) 28%, transparent)}.contact-confirmation{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:320px;padding:48px 0 24px;animation:.3s notebook-arrive;display:flex;position:relative}.contact-panel .contact-confirmation h3{font-size:1.5rem;line-height:1.4}.contact-panel .contact-confirmation p{line-height:1.5}.contact-reset{border-radius:999px;min-width:44px;min-height:44px;position:absolute;top:0;right:0}.contact-mail{width:72px;height:64px;box-shadow:var(--paper-shadow);border-radius:8px;transition:transform .18s}.contact-mail:hover{transform:translateY(-3px)rotate(-3deg)}.contact-mail svg{width:32px;height:32px}.postcard-overlay{z-index:70;background:var(--postcard-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;inset:0}.postcard-dialog{z-index:71;outline:none;flex-direction:column;align-items:center;gap:18px;width:min(600px,92vw);max-height:94dvh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.postcard-close{background:var(--background);min-width:44px;min-height:44px;color:var(--foreground);border-radius:999px;align-self:flex-end}.postcard-stage{aspect-ratio:3/2;perspective:1200px;width:min(100%,141dvh - 186px)}.postcard-card{width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;background:0 0;border:0;border-radius:16px;padding:0;transition:transform .65s cubic-bezier(.2,.7,.2,1);display:block;position:relative}.postcard-card[data-flipped=true]{transform:rotateY(180deg)}.postcard-face{object-fit:contain;border:1px solid var(--border);width:100%;height:100%;box-shadow:var(--postcard-shadow);backface-visibility:hidden;border-radius:16px;position:absolute;inset:0}.postcard-back{transform:rotateY(180deg)}.postcard-flip{border-radius:999px;min-height:44px}@keyframes notebook-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.contact-confirmation{animation:none}.postcard-card,.contact-mail{transition:none}}
