*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Noto Serif Gujarati',serif;background:linear-gradient(#fff6e0,#ffe2b8);color:#4a2a10;min-height:100vh}
main{max-width:560px;margin:0 auto;padding:24px 16px}h1{text-align:center;color:#8a3b00;margin:.2em 0}
.sub{text-align:center;margin-bottom:20px}.card{background:#fffdf7;border:2px solid #e0b060;border-radius:16px;padding:20px;box-shadow:0 4px 14px #0002}
label{display:block;margin:14px 0 4px;font-weight:bold}input[type=text],textarea,select{width:100%;padding:10px;border:1px solid #c9a15a;border-radius:8px;font:inherit}
.wishes label{display:inline-block;font-weight:normal;margin:4px 12px 4px 0}
button,.btn{display:inline-block;background:#c2410c;color:#fff;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:bold;cursor:pointer;text-decoration:none;margin:6px 6px 0 0}
button.alt{background:#fff;color:#c2410c;border:2px solid #c2410c}button:disabled{opacity:.6}.big{display:block;text-align:center;font-size:1.2em;padding:16px;margin-top:24px}
#msg{color:#b00020;min-height:1.2em}.ok{color:#116611}.link{word-break:break-all;background:#fff3d6;padding:10px;border-radius:8px}
hr{border:0;border-top:1px dashed #c9a15a;margin:16px 0}
[hidden]{display:none!important}

.greet{padding:0;overflow:hidden;background:#fff8e6;border:3px solid #d4a017;border-radius:22px;box-shadow:0 0 0 6px #fff6e0,0 0 0 8px #e0b060,0 14px 40px #8a3b0044;text-align:center}
.greet .hero{position:relative;height:100px;overflow:hidden;background:radial-gradient(circle at 50% 120%,#f4a01c 0,#b8420f 38%,#4a1408 75%,#2a0b06)}
.greet .rays{position:absolute;left:50%;top:115%;width:260%;aspect-ratio:1;margin:-130% 0 0 -130%;background:repeating-conic-gradient(#ffd27a40 0 6deg,#0000 6deg 16deg);-webkit-mask:radial-gradient(circle,#000,#0000 60%);mask:radial-gradient(circle,#000,#0000 60%);animation:spin 60s linear infinite}
.greet .hero::before,.greet .hero::after{content:'';position:absolute;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#d4a017 0 14px,#fff3b0 14px 18px,#d4a017 18px 32px);z-index:3}.greet .hero::before{top:0}.greet .hero::after{bottom:0}
.greet .heroTxt{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:3;padding:0 12px}
.greet .hello{font-weight:bold;color:#ffd27a;font-size:1.6em;line-height:1.15;text-shadow:0 2px 8px #000,0 0 22px #f4a01c}
.greet .hello.en{font-size:.95em;color:#fbf3de;letter-spacing:.04em;margin-top:0}
.greet .petals{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.greet .petals i{position:absolute;top:-8%;width:12px;height:16px;border-radius:70% 0 70% 0;background:linear-gradient(#ffb52e,#f4731c);opacity:.85;animation:fall linear infinite}
.greet .gbody{padding:8px 16px 10px;background:radial-gradient(circle at 50% 0,#fffdf7,#fff1d2)}
.greet .lamps{font-size:1.1em;letter-spacing:.2em;animation:glw 2.4s ease-in-out infinite alternate}
.greet .ttl{margin:.1em 0 0;color:#8a3b00;font-size:1.25em}.greet .sm{color:#c2410c;font-weight:bold;font-size:1.2em}
.greet .orn{color:#d4a017;letter-spacing:.5em;font-size:.8em;margin:2px 0}.greet .sep{margin:8px 0}
.greet .msg{white-space:pre-wrap;line-height:1.5;font-size:1em;margin:.2em 0;padding:6px 12px;border-top:1px solid #e0b060;border-bottom:1px solid #e0b060}
.greet .wl{margin-top:4px;color:#8a3b00;font-style:italic}.greet .chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:5px 0}
.greet .chips span{background:#fff;border:1px solid #d4a017;color:#8a3b00;border-radius:20px;padding:5px 14px;font-size:.95em;box-shadow:0 2px 6px #d4a01733}
.greet .sig{margin:6px 0 0;font-style:italic;line-height:1.4}.greet .sig .nm{font-style:normal;font-weight:bold;font-size:1.35em;color:#8a3b00}
@keyframes glw{from{opacity:.75}to{opacity:1;text-shadow:0 0 12px #ffb52e}}
@keyframes fall{from{transform:translateY(0) rotate(0)}to{transform:translateY(480px) rotate(300deg)}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.greet .lamps,.greet .hero img,.greet .petals i{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.greet .rays{animation:none}}
