:root{--sky-top:#120c2e;--sky-bottom:#3b1748;--aurora-1:#ff4f8b;--aurora-2:#7b5cff;--aurora-3:#ffb347;--card:#ffffff14;--card-border:#ffffff29;--fg:#fbf3fa;--muted:#cdb9d6;--accent:#ff6f9c;--accent-fg:#2a0b1f;--border:#ffffff24;--danger:#ff9b8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(160deg, var(--sky-top), var(--sky-bottom));min-height:100vh;color:var(--fg);margin:0;overflow-x:hidden}.backdrop{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.aurora{filter:blur(80px);opacity:.45;mix-blend-mode:screen;border-radius:50%;width:70vmax;height:70vmax;position:absolute}.aurora-1{background:radial-gradient(circle, var(--aurora-1), transparent 65%);animation:26s ease-in-out infinite alternate drift-1;top:-25vmax;left:-20vmax}.aurora-2{background:radial-gradient(circle, var(--aurora-2), transparent 65%);animation:32s ease-in-out infinite alternate drift-2;bottom:-30vmax;right:-25vmax}.aurora-3{background:radial-gradient(circle, var(--aurora-3), transparent 60%);opacity:.25;width:45vmax;height:45vmax;animation:22s ease-in-out infinite alternate drift-3;top:30%;left:35%}@keyframes drift-1{to{transform:translate(18vw,22vh)scale(1.15)}}@keyframes drift-2{to{transform:translate(-22vw,-18vh)scale(1.2)}}@keyframes drift-3{to{transform:translate(-25vw,10vh)scale(.85)}}.falling-petal{width:var(--size);height:calc(var(--size) * 1.4);background:linear-gradient(135deg, hsl(var(--hue) 100% 82%), hsl(var(--hue) 85% 62%));opacity:.75;animation:fall var(--duration) linear var(--delay) infinite;border-radius:80% 0;position:absolute;top:-40px}@keyframes fall{0%{transform:translateY(-5vh)rotate(0)}50%{transform:translate(var(--drift), 50vh) rotate(260deg)}to{transform:translate(calc(var(--drift) * -.4), 110vh) rotate(540deg);opacity:.2}}.flower{aspect-ratio:1;filter:drop-shadow(0 12px 40px #ff5f8f73);width:min(240px,60vw);margin:8px auto 4px}.flower svg{width:100%;height:100%;overflow:visible}.flower .bloom{animation:6s ease-in-out infinite breathe}.flower .ring,.flower .halo{transform-box:fill-box;transform-origin:50%}.flower .ring-outer{animation:40s linear infinite spin}.flower .ring-middle{animation:28s linear infinite reverse spin}.flower .ring-inner{animation:18s linear infinite spin}.flower .ring path{stroke:#ffffff59;stroke-width:.6px}.flower .halo{animation:6s ease-in-out infinite glow}.flower .bloom,.flower .heart{transform-box:fill-box;transform-origin:50%}.flower .heart{animation:60s linear infinite reverse spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(.96)}50%{transform:scale(1.04)}}@keyframes glow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}main{z-index:1;background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-radius:20px;max-width:640px;margin:32px auto;padding:24px 20px 28px;position:relative;box-shadow:0 30px 80px #08041873}@media (width<=680px){main{margin:16px}}h1{text-align:center;letter-spacing:.04em;background:linear-gradient(90deg,#ffc2d6,#ffd9a8,#c9b8ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0 0;font-size:34px}.status{color:var(--muted);text-align:center;font-size:13px}form{flex-wrap:wrap;gap:8px;margin:20px 0 12px;display:flex}input:not([type]),input[type=text]{border:1px solid var(--border);color:inherit;background:#ffffff0f;border-radius:10px;flex:240px;padding:10px 12px}input[type=file]{color:var(--muted);font-size:13px}button{background:var(--accent);color:var(--accent-fg);cursor:pointer;border:0;border-radius:10px;padding:10px 16px;font-weight:600;transition:transform .15s,box-shadow .15s}button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 24px #ff6f9c66}button:disabled{opacity:.45;cursor:default}button.link{color:var(--accent);background:0 0;padding:0;font-weight:400;text-decoration:underline}ul{margin:0;padding:0;list-style:none}li{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;padding:10px 2px;display:flex}li span{flex:1}time{color:var(--muted);font-size:12px}.error{color:var(--danger)}@media (prefers-reduced-motion:reduce){.aurora,.falling-petal,.flower *{animation:none!important}}
