.env{border-radius:3px;width:2.5rem;height:1.75rem;display:block;position:relative}.env-sealed,.env-ready{background:var(--surface-raised);border:1px solid var(--line-strong);box-shadow:0 2px 5px color-mix(in srgb, var(--shadow) 14%, transparent)}.env-sealed:before,.env-ready:before{content:"";background:linear-gradient(to bottom right, transparent 48%, var(--line-strong) 50%, transparent 52%) left / 50% 100% no-repeat, linear-gradient(to bottom left, transparent 48%, var(--line-strong) 50%, transparent 52%) right / 50% 100% no-repeat;height:1rem;position:absolute;inset:0 0 auto}.env-sealed:after,.env-ready:after{content:"";background:var(--sc-wax);border-radius:50%;width:.8rem;height:.8rem;margin-left:-.4rem;position:absolute;top:.5rem;left:50%}.env-ready:after{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 3.5px var(--reveal)}.env-open{background:var(--surface-raised);border:1px solid var(--reveal)}.env-open:before{content:"";background:repeating-linear-gradient(to bottom, var(--line-strong) 0 1px, transparent 1px 5px);height:.8rem;position:absolute;inset:.45rem .45rem auto}.env-none{border:1.5px dashed var(--line-strong)}.env-far{border:1px solid var(--line);opacity:.55}.env-far-sealed{opacity:.6}.letter-grid{border-bottom:1px solid var(--line);flex-direction:column;margin-top:1.5rem;display:flex}.letter-grid-head,.letter-row{grid-template-columns:2.25rem minmax(0,1fr) 3.5rem 3.5rem;align-items:center;gap:.75rem;padding-inline:1.25rem;display:grid}.letter-grid-head{font:var(--sc-type-eyebrow);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);padding-bottom:.5rem}.letter-grid-head span:nth-child(n+3){justify-self:center}.letter-row{border:none;border-top:1px solid var(--line);width:100%;min-height:3.9rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;padding-block:.6rem}.letter-row:hover{background:var(--surface-raised)}.letter-row:focus-visible{outline:2px solid var(--reveal);outline-offset:-2px}.letter-row .num{font-family:var(--font-heading);color:var(--text-muted);font-size:1.25rem}.letter-row .title{flex-direction:column;gap:.15rem;min-width:0;display:flex}.letter-row .title strong{font:400 1.0625rem/1.25 var(--font-heading)}.letter-row .title small{font:var(--sc-type-support);color:var(--text-muted)}.letter-row .cell{justify-self:center}.letter-row.is-here .num{color:var(--text)}.letter-row.is-here .title small,.letter-row.state-theirs .title small{color:var(--seal-text)}.letter-row.state-ready{background:var(--reveal-soft)}.letter-row.state-ready .title small{color:var(--bronze)}.letter-row.state-ahead .title strong,.letter-row.state-waiting .title strong{color:var(--text-muted)}.letter-open{background:var(--surface-raised);border-top:1px solid var(--line);box-shadow:inset 3px 0 0 var(--text);padding-bottom:1.25rem}.letter-open>.letter-row{background:0 0;border-top:none}.letter-panel{background:var(--surface-page);border:1px solid var(--line);border-radius:1.25rem;gap:1rem;margin:0 1.25rem;padding:1.5rem;display:grid}.letter-panel.is-ready{background:var(--reveal-soft);border-color:var(--reveal);text-align:center;justify-items:center}.letter-panel p{margin:0}.letter-panel .muted{color:var(--text-muted)}.letter-more{justify-self:center;margin-top:.75rem}.sealed-card{background:var(--surface-raised);border:1px solid var(--line);text-align:center;border-radius:1rem;gap:.5rem;margin-top:.75rem;padding:2.1rem 1.25rem 1.25rem;display:grid;position:relative}.sealed-card .wax{margin-left:-1.25rem;position:absolute;top:-1.25rem;left:50%}.sealed-card strong{font:400 1.2rem/1.35 var(--font-heading)}.wax{background:var(--sc-wax);width:2.5rem;height:2.5rem;color:var(--on-seal);font:400 1.1rem/1 var(--font-heading);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--sc-black) 16%, transparent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.wax.is-mine{background:var(--seal-soft);color:var(--seal-text);box-shadow:inset 0 0 0 2px var(--sc-wax)}.opened-letters{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:.75rem;display:grid}.opened-letter{background:var(--surface-raised);border:1px solid var(--line);border-radius:1rem;gap:.6rem;padding:1.1rem 1.25rem;display:grid}.opened-letter.is-partner{background:var(--seal-soft);border-color:#0000}.opened-letter .from{font:var(--sc-type-support);color:var(--text-muted)}.opened-letter p{font:400 1.2rem/1.5 var(--font-heading)}.letter-compose{gap:.75rem;display:grid}.letter-compose textarea{min-height:9rem;font:400 1.25rem/1.55 var(--font-heading)}.letter-compose .who-sees{font:var(--sc-type-support);color:var(--text-muted);align-items:flex-start;gap:.5rem;display:flex}.letter-compose .who-sees svg{flex:none;margin-top:.15rem}.seal-stamp{z-index:50;background:color-mix(in srgb, var(--surface-page) 94%, transparent);pointer-events:none;align-content:center;place-items:center;gap:1.25rem;animation:1.3s both stamp-fade;display:grid;position:fixed;inset:0}.seal-stamp .wax{width:7rem;height:7rem;font-size:3rem;animation:.9s cubic-bezier(.2,.9,.3,1.2) both stamp-press}.seal-stamp span:last-child{font:var(--sc-type-section)}@keyframes stamp-press{0%{opacity:0;transform:scale(1.7)}55%{opacity:1;transform:scale(.94)}to{transform:scale(1)}}@keyframes stamp-fade{0%,80%{opacity:1}to{opacity:0}}.letter-place{background:var(--surface-sunken);border-radius:999px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.4rem .4rem .4rem 1.1rem;display:flex}.letter-place-form{background:var(--surface-raised);border:1px solid var(--line);border-radius:1.25rem;margin-top:1rem;padding:1.25rem}.desk{position:relative}.desk-greeting h1{margin-bottom:.35rem}.desk-greeting p{color:var(--text-muted);font:var(--sc-type-reading);margin:0}.desk-letters{grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));gap:1.5rem;margin:2rem 0 2.5rem;display:grid}.desk-letter{background:var(--surface-raised);box-shadow:0 1px 0 color-mix(in srgb, var(--shadow) 4%, transparent), 0 14px 28px color-mix(in srgb, var(--shadow) 12%, transparent), 0 2px 6px color-mix(in srgb, var(--shadow) 8%, transparent);border-radius:.6rem;align-content:start;gap:.75rem;padding:5.6rem 1.4rem 1.4rem;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.desk-letter:nth-child(odd){transform:rotate(-.8deg)}.desk-letter:nth-child(2n){transform:rotate(.6deg)}.desk-letter:hover,.desk-letter:focus-within{transform:translateY(-4px)}.desk-letter .flap{width:100%;height:4.6rem;color:var(--line-strong);position:absolute;inset:0 0 auto}.desk-letter .wax{width:3.2rem;height:3.2rem;margin-left:-1.6rem;font-size:1.35rem;position:absolute;top:3.1rem;left:50%}.desk-letter.is-ready .wax{box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--sc-black) 14%, transparent), 0 0 0 3px var(--surface-raised), 0 0 0 5px var(--reveal)}.desk-letter .postmark{border:1.5px dashed var(--line-strong);width:3.4rem;height:3.4rem;color:var(--bronze);letter-spacing:.1em;text-align:center;border-radius:50%;place-items:center;font-size:.55rem;line-height:1.05;display:grid;position:absolute;top:.8rem;right:.9rem;transform:rotate(12deg)}.desk-letter .postmark b{font:400 1.15rem/1 var(--font-heading);letter-spacing:0;display:block}.desk-letter h2{font:var(--sc-type-item);margin:0}.desk-letter .line{font:var(--sc-type-body);align-items:center;gap:.6rem;margin:0;display:flex}.desk-letter .from{font:var(--sc-type-eyebrow);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.desk-letter.is-invite{box-shadow:none;border:1.5px dashed var(--line-strong);background:0 0;padding-top:1.4rem}.desk-letter>:last-child{justify-self:start}.button.reveal{background:var(--reveal);color:var(--sc-ink-warm);border-color:#0000}.desk-calm{background:var(--calm-soft);border-radius:1.25rem;margin:2rem 0 2.5rem;padding:1.4rem}.desk-calm p{color:var(--text-muted);margin:.25rem 0 0}.desk-grain{pointer-events:none;opacity:.45;z-index:-1;width:100%;height:100%;position:fixed;inset:0}.mini-seals{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.mini-seal{border:1px solid var(--line-strong);border-radius:50%;width:.7rem;height:.7rem}.mini-seal.state-theirs,.mini-seal.state-ready{background:var(--sc-wax);border-color:var(--sc-wax)}.mini-seal.state-ready{box-shadow:0 0 0 1.5px var(--surface-page), 0 0 0 3px var(--reveal)}.mini-seal.state-mine{background:var(--seal-soft);border:1.5px solid var(--sc-wax)}.mini-seal.state-open{background:var(--reveal-soft);border-color:var(--reveal)}.welcome-back{background:var(--calm-soft);border-radius:1.75rem;gap:1.5rem;max-width:40rem;margin:1rem auto 3rem;padding:2.5rem 2rem;display:grid}.welcome-back .intro{font:italic 400 1.15rem/1.5 var(--font-heading);color:var(--text-muted);margin:0}.welcome-back h2{font:300 clamp(2rem, 4.5vw, 2.6rem)/1.12 var(--font-heading);margin:0}.welcome-back .breathe{width:3.8rem;height:3.8rem;font-size:1.5rem;animation:5s ease-in-out infinite breathe}.welcome-back .breathe.is-calm{background:var(--surface-raised);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line-strong)}@keyframes breathe{0%,to{outline:0 solid color-mix(in srgb, var(--sc-wax) 18%, transparent)}50%{outline:1.2rem solid color-mix(in srgb, var(--sc-wax) 0%, transparent)}}.welcome-back .actions,.welcome-back .footer{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.welcome-back .footer{justify-content:space-between}.welcome-dots{gap:.5rem;display:flex}.welcome-dots span{background:var(--line-strong);border-radius:50%;width:.45rem;height:.45rem}.welcome-dots span.on{background:var(--text)}@media (width<=40rem){.letter-grid-head,.letter-row{grid-template-columns:1.75rem minmax(0,1fr) 3rem 3rem;gap:.5rem;padding-inline:1rem}.letter-panel{margin:0 .75rem;padding:1.15rem}.welcome-back{padding:2rem 1.35rem}}@media (prefers-reduced-motion:reduce){.seal-stamp,.seal-stamp .wax,.welcome-back .breathe{animation:none}.seal-stamp{display:none}.desk-letter,.desk-letter:hover{transition:none}}.desk-lines{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.desk-lines .mini-seal{flex:none}
