.blessing-garden{border-top:1px solid #a5ae896b;margin-top:3.5rem;padding-top:2rem}.blessing-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.blessing-eyebrow{color:var(--olive);letter-spacing:.18em;margin-bottom:.7rem;font:.7rem Georgia,serif}.blessing-heading h2{font-size:clamp(2rem,4vw,2.6rem);line-height:1.4}.blessing-count{color:var(--olive);align-items:center;gap:.35rem;padding-bottom:.35rem;font-size:.85rem;display:inline-flex}.blessing-count svg{width:1rem;height:1rem}.blessing-count strong{font-family:Georgia,serif;font-size:1.15rem}.blessing-intro{color:var(--ink-muted);margin-top:.6rem;font-size:.9rem}.blessing-bed{background:linear-gradient(#f1f2e57a,#dce5ccad);border:1px solid #acb89488;border-radius:.35rem;min-height:245px;margin-top:1.5rem;padding:1.25rem}.blessing-bed-hint{color:var(--olive);text-align:center;letter-spacing:.05em;margin-bottom:1.4rem;font-size:.75rem}.blessing-flowers{grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:1.2rem .4rem;margin:0;padding:0;list-style:none;display:grid}.blessing-flowers li{min-width:0}.blessing-flower{cursor:pointer;width:100%;min-height:122px;color:var(--foreground);background:0 0;border:0;border-radius:.5rem;flex-direction:column;justify-content:end;align-items:center;gap:.55rem;padding:.5rem .1rem;display:flex;position:relative}.blessing-flower:hover{background:#fffdf568}.blessing-flower:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.blessing-flower .blessing-bloom{color:var(--flower-color);width:var(--flower-height);height:var(--flower-height);stroke-width:1.2px;max-width:100%;transform:rotate(var(--flower-lean));transition:transform .22s}.blessing-flower:hover .blessing-bloom{transform:rotate(0)translateY(-4px)}.blessing-flower-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;overflow:hidden}.blessing-new-label{color:var(--coral);font-size:.65rem;position:absolute;top:-.8rem}.blessing-empty{text-align:center;min-height:200px;color:var(--olive);flex-direction:column;justify-content:center;align-items:center;gap:.55rem;display:flex}.blessing-empty>svg{stroke-width:1.25px;width:2.5rem;height:2.5rem;margin-bottom:.3rem}.blessing-empty>p{font-family:var(--font-display);font-size:1.5rem}.blessing-empty>span{color:var(--ink-muted);font-size:.8rem}.blessing-pagination{color:var(--olive);justify-content:center;align-items:center;gap:.8rem;margin-top:1.5rem;font-size:.75rem;display:flex}.blessing-pagination button,.blessing-read-error button{min-height:44px}.blessing-read-error{text-align:center;color:var(--coral);margin-top:.7rem;font-size:.8rem}.blessing-form{grid-template-columns:.8fr 1.2fr;gap:0 2rem;margin-top:1.5rem;display:grid}.blessing-form label,.blessing-colors legend{font-size:.875rem}.blessing-form input[data-slot=input],.blessing-form textarea{font:inherit;background:#fffdf6b0;border:1px solid #a8af8c9c;border-radius:.25rem;margin-top:.5rem;font-size:1rem}.blessing-form input[data-slot=input]{min-height:44px;padding:.4rem .7rem}.blessing-form textarea{resize:vertical;field-sizing:fixed;min-height:116px;max-height:300px;padding:.65rem .8rem}.blessing-form input::placeholder,.blessing-form textarea::placeholder{color:#7b7e70}.blessing-colors{border:0;min-width:0;margin:1.1rem 0 0;padding:0}.blessing-colors>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.45rem;display:grid}.blessing-colors label{cursor:pointer;display:block;position:relative}.blessing-colors input{opacity:0;width:1px;height:1px;position:absolute}.blessing-colors label>span{border:1px solid #0000;border-radius:.3rem;flex-direction:column;align-items:center;gap:.3rem;min-height:65px;padding:.4rem .1rem;display:flex}.blessing-colors label>span>svg:first-child{width:1.4rem;height:1.4rem;color:var(--flower-color)}.blessing-colors label>span>span{font-size:.7rem}.blessing-colors input:checked+span{border-color:var(--flower-color);background:#fffdf6ad}.blessing-colors input:focus-visible+span{outline:2px solid var(--cobalt);outline-offset:3px}.blessing-colors input:disabled+span{opacity:.55;cursor:wait}.blessing-color-check{width:.65rem;height:.65rem;color:var(--flower-color);position:absolute;top:3px;right:3px}.blessing-label-row{justify-content:space-between;gap:.5rem;display:flex}.blessing-label-row>span{color:var(--ink-muted);font-size:.75rem}.blessing-label-row>span[data-over=true]{color:var(--coral)}.blessing-submit-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.blessing-submit-row p{color:var(--ink-muted);font-size:.7rem;line-height:1.7}button.blessing-plant-button{background:var(--olive);height:auto;min-height:44px;color:var(--paper);border-radius:.3rem;padding:.65rem 1rem}button.blessing-plant-button:hover{background:#354831}.blessing-feedback{grid-column:1/-1;font-size:.85rem}.blessing-feedback:has(p){padding-top:1rem}.blessing-form-error{color:var(--coral)}.blessing-success{color:var(--olive);align-items:center;gap:.5rem;display:flex}.blessing-success svg{width:1rem;height:1rem}.blessing-letter[data-slot=dialog-content]{background:var(--paper);max-width:min(28rem,100vw - 2rem);color:var(--foreground);border:1px solid #a8af8c;border-radius:.4rem;gap:.75rem;max-height:calc(100dvh - 2rem);padding:2rem 1.65rem;overflow-y:auto}.blessing-letter-flower{width:2.7rem;height:2.7rem;color:var(--flower-color);stroke-width:1.2px;margin-inline:auto}.blessing-letter-title[data-slot=dialog-title]{font-family:var(--font-display);text-align:center;font-size:1.9rem;line-height:1.4}.blessing-letter-description[data-slot=dialog-description]{color:var(--ink-muted);text-align:center;overflow-wrap:anywhere;font-size:.8rem}.blessing-letter-message{white-space:pre-wrap;overflow-wrap:anywhere;border-block:1px solid #a8af8c66;margin:.65rem 0;padding-block:1rem;font-size:1.1rem;line-height:2}.blessing-letter-close{min-width:44px;min-height:44px;position:absolute;top:.4rem;right:.4rem}.blessing-letter-return{justify-self:center}@media (prefers-reduced-motion:no-preference){.blessing-flower[data-new=true] .blessing-bloom{transform-origin:50% 100%;animation:.85s cubic-bezier(.2,.8,.3,1.15) both blessing-grow}.blessing-spinner{animation:1.2s linear infinite blessing-spin}}@keyframes blessing-grow{0%{opacity:0;transform:scale(.12)rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(var(--flower-lean))}}@keyframes blessing-spin{to{transform:rotate(360deg)}}@media (max-width:58rem){.blessing-flowers{grid-template-columns:repeat(6,minmax(0,1fr))}.blessing-form{gap:0 1.2rem}}@media (max-width:40rem){.blessing-garden{margin-top:2.5rem;padding-top:1.75rem}.blessing-heading{gap:.5rem}.blessing-intro{font-size:.85rem}.blessing-bed{padding:1.1rem .6rem}.blessing-flowers{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem .2rem}.blessing-bed-hint{font-size:.7rem}.blessing-form{grid-template-columns:minmax(0,1fr);gap:1.25rem}.blessing-colors>div{gap:.6rem;max-width:22rem}.blessing-submit-row{flex-wrap:wrap}.blessing-wide-break{display:none}.blessing-plant-button{flex:1}.blessing-feedback:has(p){padding-top:0}.blessing-pagination{gap:.2rem}}@media (prefers-reduced-motion:reduce){.blessing-flower .blessing-bloom{transition:none}}@media print{.blessing-form,.blessing-pagination,.blessing-new-label,.blessing-read-error,.blessing-bed-hint{display:none}}
