:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f7f0e3;--ink:#3a2f26;--ink-soft:#6b5c4e;--rule:#d9cdb8;--problem:#9c2f27;--serif:Georgia, "Times New Roman", serif;--mono:ui-monospace, Consolas, Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#1f1a16;--ink:#e9dfd0;--ink-soft:#b5a897;--rule:#453a30;--problem:#f0998f}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--paper);scrollbar-color:var(--rule) var(--paper)}body{min-height:100dvh;color:var(--ink);font:1.0625rem/1.55 var(--serif);caret-color:var(--ink);flex-direction:column;margin:0;display:flex}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}#app{flex-direction:column;flex:1;align-items:center;gap:1.25rem;width:100%;max-width:34rem;margin-inline:auto;padding:clamp(2rem,7vh,4.5rem) 1rem 2.5rem;display:flex}.title{text-align:center;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(1.625rem,6vw,2.125rem);font-style:italic;font-weight:400;line-height:1.2}.lede{color:var(--ink-soft);text-align:center;margin:0}.frame{width:100%}.intro{flex-direction:column;align-items:center;gap:.5rem;display:flex}.composing .frame{z-index:1;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:center;padding-top:.5rem;display:flex;position:sticky;top:0}.preview{width:min(13rem,58vw)}@media (min-width:52rem){#app.composing{grid-template-columns:24rem minmax(0,1fr);align-items:start;column-gap:3.5rem;max-width:62rem;display:grid}.composing .intro{grid-column:1/-1}.composing .frame{border-bottom:0;top:1.5rem}.preview{width:100%}}.keep-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.extra summary{min-height:2.75rem;color:var(--ink-soft);cursor:pointer;align-items:center;gap:.5rem;font-style:italic;display:flex}.extra summary:before{content:"+";font-style:normal}.extra[open] summary:before{content:"−"}.extra[open]{flex-direction:column;gap:.5rem;display:flex}.bouquet{display:block}.letter{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.arrive{animation:arrive .9s var(--ease-out) both}@keyframes arrive{0%{opacity:0;transform:translateY(.5rem)}}.note{white-space:pre-wrap;overflow-wrap:anywhere;width:100%;max-width:65ch;margin:0;font-size:1.1875rem}.signature{color:var(--ink-soft);overflow-wrap:anywhere;align-self:flex-end;margin:-.5rem 0 0;font-style:italic}.button{border:1px solid var(--ink);min-height:2.75rem;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:2px;padding:.5rem 1.25rem;text-decoration:none;transition:background-color .15s ease-out,color .15s ease-out;display:inline-block}.button:hover{background:var(--ink);color:var(--paper)}.button:disabled{opacity:.45;cursor:not-allowed;color:var(--ink);background:0 0}.quiet-link,.site-footer a{color:var(--ink-soft);text-underline-offset:.2em}.quiet-link:hover,.site-footer a:hover{color:var(--ink)}.reveal{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.code{border-block:1px solid var(--rule);width:100%;font-family:var(--mono);text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:.75rem 1rem}.problem{color:var(--problem);text-align:center;margin:0}.composer{flex-direction:column;gap:1.5rem;width:100%;display:flex}.group{border:0;flex-direction:column;gap:.625rem;margin:0;padding:0;display:flex}.field{flex-direction:column;gap:.25rem;display:flex}.field-label{color:var(--ink-soft);padding:0;font-style:italic}.names{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;display:grid}input[type=text],textarea{border:0;border-bottom:1px solid var(--ink-soft);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;resize:vertical;background:0 0;border-radius:0;padding:.5rem .125rem}input[type=text]:focus,textarea:focus{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink);outline:none}.choices,.chips,.share-actions{flex-wrap:wrap;gap:.5rem;display:flex}.choice,.chip,.palette{border:1px solid var(--rule);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:2px;padding:.25rem .75rem}.choice:hover:not(:disabled),.chip:hover,.palette:hover{border-color:var(--ink)}.choice:disabled{color:var(--ink-soft);cursor:not-allowed;opacity:.6}.chip{border-color:var(--ink-soft)}.palette{align-items:center;gap:.5rem;display:inline-flex}.palette:has(:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.palette:has(:focus-visible){outline:2px solid var(--ink);outline-offset:3px}.palette-input{opacity:0;pointer-events:none;position:absolute}.swatches{gap:2px;display:inline-flex}.swatch{border-radius:50%;width:.625rem;height:.625rem}.hint{color:var(--ink-soft);margin:0;font-size:.9375rem}.field+.hint{text-align:right;margin-top:-1.125rem}.extra .field+.hint{text-align:left;margin-top:0}.problem:empty,.hint:empty,.share-status:empty{display:none}.button-send{background:var(--ink);color:var(--paper)}.button-send:hover{color:var(--ink);background:0 0}.button-send:disabled{background:var(--ink);color:var(--paper)}.link-box{text-align:center;font-size:1.0625rem}.share-actions{justify-content:center}.qr-area{flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.qr{width:min(15rem,70vw);height:auto;display:block}.link-button{min-height:2.75rem;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .5rem;text-decoration:underline}.text-bouquet{width:100%;font:.5625rem/1.1 var(--mono);-webkit-user-select:all;user-select:all;margin:0;overflow-x:auto}.site-footer{text-align:center;color:var(--ink-soft);padding:1rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){.arrive{animation:none}.button{transition:none}}
