.gift{--g-motion:.32s;background:var(--g-paper);min-height:100dvh;color:var(--g-ink);font-family:var(--g-font-body);flex-direction:column;align-items:center;display:flex}.gift :focus-visible{outline:3px solid var(--g-primary);outline-offset:3px}.gift-main{flex-direction:column;flex:1;gap:1.25rem;width:100%;max-width:30rem;padding:2rem 1rem 1.5rem;display:flex}.gift-center{text-align:center}.gift-eyebrow{font:600 .75rem/1.4 var(--g-font-type);letter-spacing:.08em;text-transform:uppercase;color:var(--g-ink-soft);margin:0}.gift-title{font:600 1.75rem/1.25 var(--g-font-heading);overflow-wrap:anywhere;margin:.5rem 0 0}.gift-note{color:var(--g-ink-soft);margin:0;font-size:1rem;line-height:1.6}.gift-micro{color:var(--g-ink-soft);margin:0;font-size:.8125rem;line-height:1.5}.gift-envelope-wrap{perspective:1000px;padding:.5rem 0}.gift-envelope{cursor:pointer;width:100%;color:var(--g-on-primary);background:var(--g-primary);border-radius:var(--g-radius);box-shadow:0 12px 28px -14px color-mix(in srgb, var(--g-ink) 55%, transparent);font:inherit;text-align:center;border:0;justify-items:center;gap:.75rem;padding:3rem 1.5rem 1.75rem;display:grid;position:relative;overflow:hidden}.gift-envelope:before{content:"";background:color-mix(in srgb, var(--g-primary) 70%, black);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;height:3rem;transition:transform var(--g-motion) ease-in;position:absolute;inset:0 0 auto}.gift-envelope:disabled{cursor:default}.gift-envelope .gift-to{font:italic 1.75rem/1.3 var(--g-font-heading);overflow-wrap:anywhere}.gift-envelope .gift-envelope-label{font:1rem/1.5 var(--g-font-heading)}.gift-logo{object-fit:contain;max-width:7rem;max-height:3.5rem}.gift-envelope .gift-logo{background:var(--g-paper);border-radius:calc(var(--g-radius) / 2);padding:.375rem .625rem}.gift-seal{width:4rem;height:4rem;color:var(--g-ink);font:600 1.5rem/1 var(--g-font-heading);place-items:center;display:grid;position:relative}.gift-seal:before,.gift-seal:after{content:"";background:var(--g-gold);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--g-gold) 70%, black);border-radius:50%;position:absolute;inset:0}.gift-seal:before{clip-path:polygon(0 0,55% 0,43% 46%,56% 65%,45% 100%,0 100%)}.gift-seal:after{clip-path:polygon(55% 0,100% 0,100% 100%,45% 100%,56% 65%,43% 46%)}.gift-seal span{position:relative}.gift-envelope.opening:before{transform:rotateX(180deg)}.gift-envelope.opening .gift-seal:before{animation:gift-seal-left var(--g-motion) ease-in both}.gift-envelope.opening .gift-seal:after{animation:gift-seal-right var(--g-motion) ease-in both}.gift-envelope.opening .gift-seal span{opacity:0}@keyframes gift-seal-left{to{opacity:0;transform:translate(-18px,26px)rotate(-24deg)}}@keyframes gift-seal-right{to{opacity:0;transform:translate(18px,30px)rotate(20deg)}}.gift-countdown{font-family:var(--g-font-type);justify-content:center;gap:.5rem;margin:.75rem 0 0;display:flex}.gift-countdown div{background:color-mix(in srgb, var(--g-paper) 70%, white);border:1px solid color-mix(in srgb, var(--g-ink) 15%, transparent);border-radius:var(--g-radius);min-width:3.5rem;padding:.5rem .25rem}.gift-countdown strong{font-variant-numeric:tabular-nums;font-size:1.5rem;line-height:1.2;display:block}.gift-countdown span{color:var(--g-ink-soft);font-size:.6875rem}.gift-letter{background:color-mix(in srgb, var(--g-paper) 55%, white);border:1px solid color-mix(in srgb, var(--g-ink) 14%, transparent);border-radius:var(--g-radius);padding:1.5rem}.gift-letter-copy{font:1.125rem/1.7 var(--g-font-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.gift-signature{text-align:right;font:italic 1.0625rem/1.4 var(--g-font-heading);margin:1rem 0 0}.gift-reveal{animation:.42s ease-out both gift-rise}@keyframes gift-rise{0%{opacity:0;transform:translateY(12px)}}.gift-player{border-radius:var(--g-radius);background:color-mix(in srgb, var(--g-ink) 92%, black);width:100%}.gift-audio{width:100%}.gift-slides{border-radius:var(--g-radius);background:color-mix(in srgb, var(--g-ink) 8%, var(--g-paper));touch-action:pan-y;position:relative;overflow:hidden}.gift-slides img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:75dvh;display:block}.gift-slide-nav{background:color-mix(in srgb, var(--g-paper) 85%, transparent);width:2.75rem;height:2.75rem;color:var(--g-ink);cursor:pointer;border:0;border-radius:50%;font-size:1.25rem;position:absolute;top:50%;transform:translateY(-50%)}.gift-slide-nav.prev{left:.5rem}.gift-slide-nav.next{right:.5rem}.gift-dots{justify-content:center;gap:.25rem;margin-top:.5rem;display:flex}.gift-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:1.75rem;height:1.75rem;padding:0;display:grid}.gift-dots button:before{content:"";background:color-mix(in srgb, var(--g-ink) 25%, transparent);border-radius:50%;width:.5rem;height:.5rem}.gift-dots button[aria-current=true]:before{background:var(--g-primary);border-radius:999px;width:1.25rem}.gift-btn{border-radius:var(--g-radius);border:1px solid var(--g-primary);background:var(--g-primary);min-height:2.75rem;color:var(--g-on-primary);font:600 1rem/1.2 var(--g-font-heading);cursor:pointer;padding:.625rem 1.25rem}.gift-btn.ghost{color:var(--g-ink);border-color:color-mix(in srgb, var(--g-ink) 25%, transparent);background:0 0}.gift-btn:disabled{opacity:.55;cursor:default}.gift-link{color:var(--g-ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;min-height:2.75rem;padding:.5rem;font-size:.8125rem;text-decoration:underline}.gift-footer{border-top:1px solid color-mix(in srgb, var(--g-ink) 10%, transparent);flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:30rem;padding:1rem 1rem 2rem;display:flex}.gift-footer .gift-logo{max-height:2.5rem}.gift-skeleton{border-radius:var(--g-radius);background:color-mix(in srgb, var(--g-ink) 7%, var(--g-paper));height:18rem;animation:1.4s ease-in-out infinite gift-pulse}@keyframes gift-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.gift{--g-motion:0s}.gift-reveal,.gift-skeleton{animation:none}}.gift-card{background:color-mix(in srgb, var(--g-paper) 55%, white);border:1px solid color-mix(in srgb, var(--g-ink) 14%, transparent);border-radius:var(--g-radius);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.gift-card h2{font:600 1.25rem/1.3 var(--g-font-heading);margin:0}.gift-card ul{margin:0;padding-left:1.25rem;line-height:1.6}.gift-card[aria-current=true]{border-color:var(--g-primary);box-shadow:0 0 0 2px var(--g-primary)}.gift-chip-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gift-chips{flex-wrap:wrap;gap:.5rem;display:flex}.gift-chip{border:1px solid color-mix(in srgb, var(--g-ink) 25%, transparent);min-height:2.75rem;color:var(--g-ink);font:500 .9375rem/1.2 var(--g-font-body);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem .875rem}.gift-chip[aria-checked=true],.gift-chip[aria-pressed=true]{background:var(--g-primary);color:var(--g-on-primary);border-color:var(--g-primary)}.gift-field{flex-direction:column;gap:.375rem;font-size:.9375rem;display:flex}.gift-field>span{justify-content:space-between;gap:.5rem;display:flex}.gift-field input[type=text],.gift-field input[type=datetime-local],.gift-field textarea{font:1rem/1.5 var(--g-font-body);border-radius:var(--g-radius);border:1px solid color-mix(in srgb, var(--g-ink) 25%, transparent);color:var(--g-ink);background:#fff;min-height:2.75rem;padding:.625rem .75rem}.gift-field textarea{resize:vertical;min-height:7rem}.gift-field input[type=range]{width:100%;accent-color:var(--g-primary);min-height:2rem}.gift-check{align-items:flex-start;gap:.625rem;font-size:.9375rem;line-height:1.5;display:flex}.gift-check input{width:1.25rem;height:1.25rem;accent-color:var(--g-primary);flex:none;margin-top:.125rem}.gift-error{color:#b42318;margin:0;font-size:.9375rem}.gift-stale{z-index:50;padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));color:#fbf8f4;text-align:center;background:#3d3a36;margin:0;font:.875rem/1.45 system-ui,sans-serif;position:fixed;top:0;left:0;right:0}.gift-banner{border-radius:var(--g-radius);background:var(--g-accent);color:var(--g-ink);padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}.gift-progress{background:color-mix(in srgb, var(--g-ink) 12%, transparent);border-radius:999px;height:.5rem;overflow:hidden}.gift-progress>span{background:var(--g-primary);height:100%;transition:width .2s;display:block}.gift-task{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gift-task .gift-done{color:var(--g-primary);font-weight:600}.gift-photo-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;display:grid}.gift-photo-tile{border-radius:calc(var(--g-radius) / 1.5);background:color-mix(in srgb, var(--g-ink) 8%, var(--g-paper));position:relative;overflow:hidden}.gift-photo-tile img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.gift-photo-tile .gift-tile-actions{flex-wrap:wrap;gap:.125rem;padding:.25rem;display:flex}.gift-photo-tile .gift-tile-actions button{background:color-mix(in srgb, var(--g-paper) 80%, white);min-width:2.25rem;min-height:2.25rem;color:var(--g-ink);cursor:pointer;border:0;border-radius:.375rem;flex:1;font-size:.8125rem}.gift-recorder{justify-items:center;gap:.75rem;padding:1rem 0;display:grid}.gift-record-btn{border:4px solid var(--g-primary);background:color-mix(in srgb, var(--g-primary) 15%, white);width:4.5rem;height:4.5rem;color:var(--g-primary);font:600 .875rem/1 var(--g-font-heading);cursor:pointer;border-radius:50%}.gift-record-btn[aria-pressed=true]{color:#fff;background:#b42318;border-color:#b42318}.gift-clock{font:600 1.5rem/1 var(--g-font-type);font-variant-numeric:tabular-nums}.gift-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gift-editor{z-index:60;color:#f5f5f5;background:#111;outline:none;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.gift-editor-head{padding:.5rem .75rem;padding-top:max(.5rem, env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gift-editor-head .gift-btn.ghost{color:#f5f5f5;border-color:#555}.gift-editor-stage{touch-action:none;cursor:grab;min-height:0;position:relative;overflow:hidden}.gift-editor-canvas{width:auto;max-width:calc(100% - 1rem);height:auto;max-height:calc(100% - 1rem);margin:auto;display:block;position:absolute;inset:0;box-shadow:0 0 0 1px #444}.gift-editor-tools{padding:.75rem 1rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));background:#1b1b1b;flex-direction:column;gap:.625rem;max-height:45dvh;display:flex;overflow-y:auto}.gift-editor .gift-chip,.gift-editor .gift-btn.ghost{color:#f5f5f5;border-color:#555}
