:root{--amarillo: #ffd23f;--amarillo-osc: #f0a500;--acento: #f08a3c;--tinta: #3d2b1f;--papel: #fffaf0}[data-tipo=amor]{--acento: #e4572e}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:1rem;padding:2rem 1rem;font-family:Quicksand,system-ui,sans-serif;color:var(--tinta);background:linear-gradient(180deg,#8ecfff,#cdeeff 35%,#ffeab3 75%,#ffd98a);overflow-x:hidden}.sky{position:fixed;inset:0;z-index:-1;overflow:hidden}.sun{position:absolute;top:6vh;right:8vw;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff3b0 35%,var(--amarillo) 70%);box-shadow:0 0 60px 20px #ffd23f8c;animation:latir 6s ease-in-out infinite}@keyframes latir{50%{transform:scale(1.08);box-shadow:0 0 90px 30px #ffd23fa6}}.clouds i{position:absolute;height:40px;border-radius:40px;background:#ffffffd9;box-shadow:40px 10px 0 -6px #ffffffd9,-35px 8px 0 -8px #ffffffd9;animation:nube linear infinite}.clouds i:nth-child(1){width:120px;top:12vh;animation-duration:55s}.clouds i:nth-child(2){width:90px;top:26vh;animation-duration:75s;animation-delay:-20s}.clouds i:nth-child(3){width:150px;top:5vh;animation-duration:95s;animation-delay:-50s}@keyframes nube{0%{transform:translate(-30vw)}to{transform:translate(120vw)}}.hills span{position:absolute;bottom:-12vh;left:-10%;width:120%;height:34vh;border-radius:50% 50% 0 0;background:#7cc47c}.hills span:last-child{bottom:-18vh;background:#5aa85a;height:30vh;left:-20%}.confetti{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.confetti b{position:absolute;top:-8vh;font-size:1.4rem;opacity:.9;animation:caer linear infinite}@keyframes caer{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(540deg)}}main{width:min(560px,100%);z-index:1}.card{background:color-mix(in srgb,var(--papel) 92%,transparent);backdrop-filter:blur(6px);border:2px solid rgba(240,165,0,.25);border-radius:28px;padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 24px 60px -20px #3d2b1f59;text-align:center;animation:entrar .8s cubic-bezier(.2,.9,.3,1.3) both}@keyframes entrar{0%{opacity:0;transform:translateY(24px) scale(.96)}}.kicker{margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--acento)}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;margin:0 0 .5rem;line-height:1.05}h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.4rem,5vw,1.9rem)}em{font-style:italic;color:var(--amarillo-osc)}.lead{margin:0 0 1.5rem;opacity:.75}form{display:grid;gap:1rem;text-align:left}label>span{display:block;font-size:.8rem;font-weight:700;margin-bottom:.35rem;opacity:.7}input[type=text],input:not([type]),#link{width:100%;padding:.85rem 1rem;font:inherit;color:inherit;border:2px solid rgba(61,43,31,.15);border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}input:focus-visible{outline:none;border-color:var(--amarillo);box-shadow:0 0 0 4px #ffd23f4d}fieldset.tipos{border:0;padding:0;margin:0;display:grid;gap:.6rem}legend{font-size:.8rem;font-weight:700;opacity:.7;margin-bottom:.35rem}.tipo{display:block;cursor:pointer}.tipo input{position:absolute;opacity:0}.tipo span{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border:2px solid rgba(61,43,31,.15);border-radius:14px;background:#fff;font-weight:600;transition:all .2s}.tipo input:checked+span{border-color:var(--amarillo-osc);background:#fff6d6;transform:translateY(-2px);box-shadow:0 6px 0 -2px #f0a50059}.tipo input:focus-visible+span{box-shadow:0 0 0 4px #ffd23f59}.btn{display:inline-block;text-align:center;text-decoration:none;cursor:pointer;padding:.9rem 1.4rem;font:inherit;font-weight:700;color:var(--tinta);background:linear-gradient(180deg,var(--amarillo),var(--amarillo-osc));border:0;border-radius:999px;box-shadow:0 8px 0 -2px #c8820080;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 11px 0 -2px #c8820080}.btn:active{transform:translateY(2px);box-shadow:0 4px 0 -2px #c8820080}.btn.mini{padding:.6rem 1rem;font-size:.85rem}.btn.ghost{background:transparent;border:2px solid var(--amarillo-osc);box-shadow:none}#resultado{margin-top:1.5rem;border-top:2px dashed rgba(240,165,0,.35);padding-top:1.2rem}.ok{font-weight:700;color:var(--acento);margin:0 0 .7rem}.linkbox{display:flex;gap:.5rem;align-items:stretch}.linkbox .btn.mini{flex:0 0 auto}#link{font-size:1rem;min-width:0;text-overflow:ellipsis}.acciones{display:flex;gap:.6rem;justify-content:center;margin-top:.9rem;flex-wrap:wrap}.ramo{display:flex;align-items:flex-end;justify-content:center;margin:.5rem 0;padding-top:12%}.f{width:21%;height:auto;margin:0 -2%;max-width:96px;transform-origin:bottom center;transform:rotate(var(--giro)) scale(var(--s));animation:brotar .9s cubic-bezier(.2,.9,.3,1.4) var(--d) both,mecer 4s ease-in-out calc(1s + var(--d)) infinite}@keyframes brotar{0%{transform:rotate(var(--giro)) scale(var(--s)) scaleY(.1);opacity:0}}@keyframes mecer{0%,to{transform:rotate(var(--giro)) scale(var(--s))}50%{transform:rotate(calc(var(--giro) + 3deg)) scale(var(--s))}}.para span,.firma span{color:var(--acento);font-weight:700}.feliz{margin-top:1rem}.firma{font-size:1.05rem;margin:.2rem 0 1.5rem;opacity:.85}footer{position:relative;z-index:1;font-size:.78rem;opacity:.5;display:flex;align-items:center;justify-content:center;gap:.4rem .9rem;flex-wrap:wrap;text-align:center;transition:opacity .2s}footer:hover{opacity:.85}footer a{display:inline-flex;align-items:center;gap:.35rem;color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
