.reveal{z-index:40;cursor:pointer;animation:.8s 8.2s forwards reveal-out;position:fixed;inset:0;overflow:hidden}@keyframes reveal-out{to{opacity:0}}.reveal-dawn{background:linear-gradient(#f3a35f 0%,#fbd38d 45%,#fde9bf 100%);animation:1.2s 3.8s forwards dawn-out;position:absolute;inset:0}@keyframes dawn-out{to{opacity:0}}.reveal-night{background:linear-gradient(#070b22 0%,#121a45 55%,#283466 100%);animation:.8s both night-in,1.6s 2.6s forwards night-out;position:absolute;inset:0}@keyframes night-in{0%{opacity:0}}@keyframes night-out{to{opacity:0}}.reveal-star{background:#fff;border-radius:50%;animation:1.4s ease-in-out infinite alternate twinkle,.6s both star-in;position:absolute;box-shadow:0 0 6px #fffc}@keyframes twinkle{0%{opacity:.25}to{opacity:1}}@keyframes star-in{0%{scale:0}}.reveal-sun{background:radial-gradient(circle,#fff6c9 0%,#ffd15a 45%,#f5a623 70%);border-radius:50%;width:12rem;height:12rem;animation:2.6s cubic-bezier(.25,.7,.3,1) 2.2s both sun-rise,1s 4.4s forwards sun-out;position:absolute;bottom:-14rem;left:50%;translate:-50%;box-shadow:0 0 60px 20px #ffd15a8c,0 0 160px 60px #f5a62359}@keyframes sun-rise{0%{transform:translateY(0)}to{transform:translateY(-62vh)}}@keyframes sun-out{to{opacity:0}}.reveal-title{text-align:center;width:min(90vw,40rem);color:var(--ink);text-shadow:0 2px #fff,0 0 30px #ffffffe6;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.4rem,10vw,4.6rem);font-weight:700;line-height:1.08;animation:1.1s cubic-bezier(.2,.9,.3,1.25) 4.8s both title-in;position:absolute;top:38%;left:50%;translate:-50% -50%}@keyframes title-in{0%{opacity:0;scale:.6}}.reveal-petals{pointer-events:none;position:absolute;inset:0}.reveal-petal{width:.7rem;height:1.6rem;scale:var(--petal-scale);border-radius:50%/62% 62% 38% 38%;animation-name:petal-fall;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:-3rem}@keyframes petal-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:.9;transform:translate(var(--drift), 110vh) rotate(var(--spin))}}.field-page.revealing .sunflower-spot{transform-origin:50% 100%;animation:1.6s cubic-bezier(.25,.8,.3,1.1) both sprout;animation-delay:calc(3.6s + min(var(--reveal-i,0), 40) * 55ms)}.field-page.revealing .field-header,.field-page.revealing .music-bar,.field-page.revealing .admin-preview{animation:.8s 8.4s both header-in}@keyframes header-in{0%{opacity:0}}:root{--petal-back:#e9a10b;--petal-front:#f8c32a;--seed:#5a3a1e;--stem-color:#4f8a2c;--sky-top:#fbe7c4;--sky-bottom:#fff8e6;--grass:#7fb24a;--ink:#3b2a12}.field-page{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 45%, #eef6dc 100%);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex;position:relative;overflow-x:clip}.field-header{text-align:center;max-width:40rem;margin:0 auto;padding:2.5rem 1rem 1rem}.field-title{letter-spacing:-.01em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,8vw,3.4rem);font-weight:700;line-height:1.1}.field-subtitle{color:#6b5532;margin:.6rem 0 0}.field-progress{color:#8a5a00;margin:.3rem 0 0;font-size:.9rem;font-weight:600}.field-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.2rem;display:flex}.field-cta,.field-shuffle{font:inherit;cursor:pointer;border-radius:999px;padding:.65rem 1.2rem;font-weight:600;text-decoration:none}.field-cta{background:var(--seed);color:#fff;border:none;box-shadow:0 2px 8px #5a3a1e40}.field-shuffle{color:var(--ink);background:#ffffffb3;border:1px solid #5a3a1e4d}.field-status{text-align:center;color:#6b5532;max-width:40rem;margin:1.5rem auto;padding:0 1rem}.countdown-page{min-height:100dvh;color:var(--ink);background:#fffaf0;place-items:center;display:grid}.countdown{text-align:center;max-width:40rem;margin:0 auto;padding:2.5rem 1rem 1rem}.countdown-clock{justify-content:center;gap:.5rem;margin:1.75rem 0 1rem;display:flex}.countdown-unit{background:#fff;border-radius:1rem;flex-direction:column;align-items:center;min-width:4.4rem;padding:.7rem .4rem .5rem;display:flex;box-shadow:0 2px 10px #5a3a1e1f}.countdown-value{font-variant-numeric:tabular-nums;font-family:Fraunces,Georgia,serif;font-size:clamp(1.8rem,9vw,2.6rem);font-weight:700;line-height:1}.countdown-label{letter-spacing:.04em;text-transform:uppercase;color:#8a5a00;margin-top:.3rem;font-size:.75rem;font-weight:600}.countdown-when{margin:0;font-weight:600}.countdown-actions{margin-top:1.75rem}.admin-preview{background:var(--seed);color:#fff;text-align:center;margin:0;padding:.5rem 1rem;font-size:.85rem}.admin-preview .preview-reveal{color:var(--petal-front);margin-left:.4rem;font-weight:700}.field{flex:1;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));align-content:end;align-items:end;gap:.25rem .1rem;width:100%;max-width:64rem;margin:1.5rem auto 0;padding:0 .75rem;list-style:none;display:grid}.sunflower-spot{transform:translateY(var(--lift));justify-content:center;display:flex}.sunflower-spot.fresh{transform-origin:50% 100%;animation:2.6s cubic-bezier(.25,.8,.3,1.1) both sprout}@keyframes sprout{0%{opacity:0;scale:.15 0}25%{opacity:1}}.sunflower-spot.is-new .sunflower-head:before{content:"";background:radial-gradient(circle,#ffd65abf 35%,#ffd65a00 70%);border-radius:50%;animation:1.6s ease-in-out 2.6s infinite alternate both new-glow;position:absolute;inset:-18%}@keyframes new-glow{0%{opacity:.35;scale:.92}to{opacity:1;scale:1.12}}.new-tag{background:var(--seed);color:#fff;white-space:nowrap;border-radius:999px;margin-bottom:.15rem;padding:.05rem .45rem;font-size:.68rem;font-weight:700;animation:.4s ease-out 2.2s both tag-in;box-shadow:0 1px 4px #5a3a1e4d}@keyframes tag-in{0%{opacity:0;translate:0 4px}}.sunflower{perspective:260px;font:inherit;color:inherit;cursor:pointer;transform-origin:50% 100%;transform:rotate(var(--tilt));animation:sway var(--sway-duration) ease-in-out var(--sway-delay) infinite alternate;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;padding:.25rem 0;display:flex}@keyframes sway{0%{transform:rotate(calc(var(--tilt) - 3deg))}to{transform:rotate(calc(var(--tilt) + 3deg))}}.sunflower-head{width:calc(5rem * var(--scale));aspect-ratio:1;rotate:var(--axis-x,0) var(--axis-y,1) 0 var(--turn,0deg);transition:transform .25s,rotate .9s cubic-bezier(.3,.8,.3,1);display:block;position:relative}.sunflower:hover .sunflower-head,.sunflower:focus-visible .sunflower-head{transform:scale(1.12)}.sunflower:focus-visible{outline:none}.sunflower:focus-visible .sunflower-face{outline-offset:2px;outline:3px solid #fff}.sunflower-petals{filter:drop-shadow(0 2px 2px #5a3a1e33);width:100%;height:100%;position:absolute;inset:0}.sunflower-face{border:3px solid var(--seed);background:var(--seed);border-radius:50%;position:absolute;inset:22%;overflow:hidden}.sunflower-face img{object-fit:cover;width:100%;height:100%}.text-face{background:radial-gradient(circle, #ffffff1f 1px, transparent 1.5px) 0 0 / 6px 6px, radial-gradient(circle at 35% 30%, #7a5230, var(--seed) 70%);place-items:center;display:grid}.text-mark{font-size:calc(1.1rem * var(--scale,1));filter:drop-shadow(0 1px 2px #0006);line-height:1}.bloom-face.text-face .text-mark{font-size:1.7rem}.sunflower-play{color:#fff;text-shadow:0 1px 3px #000000b3;place-items:center;font-size:.85rem;display:grid;position:absolute;inset:0}.sunflower-stem{width:4px;height:var(--stem-length);background:linear-gradient(90deg, #3f7322, var(--stem-color));border-radius:2px;margin-top:-4px;display:block;position:relative}.sunflower-stem:before,.sunflower-stem:after{content:"";background:var(--stem-color);border-radius:0 100%;width:14px;height:7px;position:absolute;top:45%}.sunflower-stem:before{right:3px;transform:rotate(-25deg)scaleX(-1)}.sunflower-stem:after{top:62%;left:3px;transform:rotate(-25deg)}.sunflower-spot.viewed .sunflower-head{filter:saturate(.45)brightness(1.08);opacity:.8}.sunflower-spot.viewed .sunflower-name{color:#7d6a48;font-weight:500}.viewed-mark{color:#3f7322;font-weight:700}.sunflower-name{white-space:nowrap;text-overflow:ellipsis;color:#4b3a1c;max-width:5.2rem;margin-top:.2rem;font-size:.72rem;font-weight:600;overflow:hidden}.field-ground{height:calc(2.1rem + 6rem + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--grass) 2.1rem);pointer-events:none;flex:none;margin-top:-1.2rem}.sun-glow{z-index:5;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffec968c 0%,#ffd15a40 35%,#0000 70%);border-radius:50%;width:9rem;height:9rem;margin:-4.5rem 0 0 -4.5rem;transition:opacity .6s;position:fixed;top:0;left:0}.sun-glow.visible{opacity:1}.pollinators{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.flyer{margin:-.9rem 0 0 -1.1rem;transition-property:transform;transition-timing-function:cubic-bezier(.45,.05,.4,.95);position:absolute;top:0;left:0}.flyer-body{animation:.9s ease-in-out infinite alternate bob}.flyer-body.flip{scale:-1 1}.flyer.resting .flyer-body{animation:none}@keyframes bob{0%{translate:0 -3px}to{translate:0 3px}}.bee-svg{filter:drop-shadow(0 2px 2px #3b2a1240);width:2.1rem;display:block}.bee .wings{transform-origin:20px 12px;animation:70ms linear infinite alternate buzz}.bee.resting .wings{animation-duration:.6s}@keyframes buzz{to{scale:1 .55}}.butterfly-svg{filter:drop-shadow(0 2px 2px #3b2a1233);width:2.4rem;display:block}.butterfly .wing{transform-origin:20px 18px;animation:.28s ease-in-out infinite alternate flap}.butterfly.resting .wing{animation-duration:1.6s}@keyframes flap{to{scale:.25 1}}html{scrollbar-gutter:stable}html:has(.bloom[open]){overflow:hidden}.bloom{overscroll-behavior:contain;scrollbar-width:none;background:0 0;border:none;width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 1rem);padding:3.8rem 0 .5rem;overflow:hidden auto}.bloom::-webkit-scrollbar{display:none}.bloom::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#281c0aa6}.bloom-stage{touch-action:pan-y;position:relative}.bloom-card{color:var(--ink);background:#fffaf0;border-radius:1.25rem;padding:4.25rem 1rem 1.25rem;animation:.45s cubic-bezier(.2,.9,.3,1.2) both card-in;position:relative;box-shadow:0 10px 40px #0000004d}@keyframes card-in{0%{opacity:0;transform:scale(.6)}}.bloom-flower{aspect-ratio:1;pointer-events:none;width:7.5rem;position:absolute;top:-3.6rem;left:50%;translate:-50%}.bloom-petals{filter:drop-shadow(0 3px 4px #5a3a1e4d);width:100%;height:100%;position:absolute;inset:0}.bloom-petals ellipse{transform-box:fill-box;transform-origin:50% 100%;animation:.55s cubic-bezier(.2,.9,.3,1.3) both petal-open;animation-delay:calc(var(--i) * 22ms)}@keyframes petal-open{0%{rotate:-40deg;scale:0}}.bloom-face{border:3px solid var(--seed);background:var(--seed);border-radius:50%;animation:.4s ease-out both card-in;position:absolute;inset:22%;overflow:hidden}.bloom-face img{object-fit:cover;width:100%;height:100%}.bloom-media{background:#2d2010;border-radius:.9rem;animation:.4s ease-out .25s both media-in;overflow:hidden}.bloom-media img,.bloom-media video{object-fit:contain;width:100%;max-height:min(45dvh,100dvh - 24rem);margin:0 auto}@keyframes media-in{0%{opacity:0;transform:translateY(8px)}}.bloom-message{margin:1rem .25rem 0;animation:.4s ease-out .4s both media-in}.bloom-message p{overflow-wrap:anywhere;white-space:pre-line;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.15rem;line-height:1.45}.bloom-card.text-only .bloom-message{text-align:center;margin-top:.25rem}.bloom-card.text-only .bloom-message p{font-size:1.45rem;line-height:1.4}.bloom-card.long-message .bloom-message p{text-align:left;font-size:1.1rem;line-height:1.5}.bloom-message footer{color:#8a5a00;margin-top:.5rem;font-weight:600}.bloom-close{z-index:1;width:2.2rem;height:2.2rem;color:var(--ink);cursor:pointer;background:#fffaf0e6;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:.4rem;right:.4rem}.bloom-nav-row{justify-content:center;gap:1.5rem;margin-top:.75rem;display:flex}.bloom-nav{width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;background:#fffaf0e0;border:none;border-radius:50%;place-items:center;padding:0 0 .15rem;font-size:1.8rem;line-height:1;display:grid;box-shadow:0 2px 8px #00000040}.bloom-nav:hover{background:#fff}.music-bar{bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;color:#fff;background:#3b2a12eb;border-radius:999px;align-items:center;gap:.5rem;width:min(22rem,100vw - 2rem);padding:.4rem .5rem;display:flex;position:fixed;left:50%;translate:-50%;box-shadow:0 4px 16px #00000040}.music-button{background:var(--petal-front);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:.95rem}.music-title{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;align-items:center;gap:.35rem;padding:.35rem .4rem;font-size:.9rem;display:flex}.music-title:hover,.music-title[aria-expanded=true]{background:#ffffff1a}.music-title-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.music-title-arrow{opacity:.75;flex:none;font-size:.75rem}.music-list{overscroll-behavior:contain;transform-origin:50% 100%;background:#3b2a12f5;border-radius:1rem;max-height:min(50dvh,20rem);padding:.5rem;animation:.2s ease-out both list-in;position:absolute;bottom:calc(100% + .5rem);left:0;right:0;overflow-y:auto;box-shadow:0 6px 24px #0000004d}@keyframes list-in{0%{opacity:0;transform:translateY(6px)scale(.97)}}.music-list-title{letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:.2rem .5rem .4rem;font-size:.75rem;font-weight:600}.music-list ul{margin:0;padding:0;list-style:none}.music-song{width:100%;font:inherit;color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.6rem;align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:.92rem;display:flex}.music-song:hover,.music-song:focus-visible{background:#ffffff1a;outline:none}.music-song.current{color:var(--petal-front);font-weight:600}.music-song-mark{text-align:center;opacity:.8;flex:none;width:1.4rem;font-size:.8rem}.music-song-name{overflow-wrap:anywhere;min-width:0}@media (prefers-reduced-motion:reduce){.sunflower,.bloom-card,.bloom-petals ellipse,.bloom-face,.bloom-media,.bloom-message,.flyer-body,.bee .wings,.butterfly .wing,.music-list,.sunflower-spot.fresh,.sunflower-spot.is-new .sunflower-head:before,.new-tag{animation:none}}*,:before,:after{box-sizing:border-box}body{color:#222;background:#fff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:#8a5a00}img,video{max-width:100%;display:block}.page{max-width:40rem;margin:0 auto;padding:3.25rem 1rem 2rem}.lang-switch{z-index:20;background:#fffc;border:1px solid #5a3a1e40;border-radius:999px;padding:.15rem;display:flex;position:absolute;top:.6rem;right:.6rem}.lang-switch button{font:inherit;color:#6b5532;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.lang-switch button.active{color:#fff;background:#5a3a1e}.muted{color:#666}.small{font-size:.9rem}.auth{max-width:24rem}.tabs{border-bottom:1px solid #ddd;gap:.25rem;margin:1.5rem 0 1rem;display:flex}.tab{font:inherit;color:#666;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:.6rem}.tab.active{color:#222;border-bottom-color:#e8a600;font-weight:600}.google-button{width:100%;font:inherit;color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:.5rem;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.7rem 1rem;font-weight:500;display:flex}.google-button:hover{background:#f8f8f8}.google-button:disabled{opacity:.6;cursor:default}.google-button svg{width:1.25rem;height:1.25rem}.google-hint{text-align:center;margin:.4rem 0 0}.google-error{margin:1rem 0}.in-app-note{margin-top:1.5rem}.divider{color:#888;align-items:center;gap:.75rem;margin:1.25rem 0 0;font-size:.9rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid #ddd;flex:1}.form{flex-direction:column;gap:1rem;display:flex}.form label{flex-direction:column;gap:.3rem;font-weight:500;display:flex}.form input,.form textarea{font:inherit;border:1px solid #ccc;border-radius:.5rem;padding:.65rem .75rem;font-size:1rem}.form input:focus,.form textarea:focus{outline-offset:1px;outline:2px solid #e8a600}.hint{color:#666;font-size:.85rem;font-weight:400}.error{color:#a12a1f;background:#fdecea;border-radius:.5rem;margin:0;padding:.6rem .75rem}button.primary{color:#fff;font:inherit;cursor:pointer;background:#e8a600;border:none;border-radius:.5rem;padding:.75rem;font-weight:600}button.primary:disabled,button.secondary:disabled,button.danger:disabled{opacity:.6;cursor:default}button.secondary,button.danger{font:inherit;cursor:pointer;background:#fff;border-radius:.5rem;padding:.5rem .9rem}button.secondary{color:#222;border:1px solid #ccc}button.danger{color:#a12a1f;border:1px solid #e3b3ae}button.link{font:inherit;color:#8a5a00;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.hint.warn{color:#a12a1f}.notice{color:#6b4b00;background:#fff6db;border-radius:.5rem;margin:0;padding:.6rem .75rem}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{margin:0}.page-header p{margin:.25rem 0 0}.card{background:#fff;border:1px solid #eee;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #0000000f}.card h2{margin:0;font-size:1.2rem}.form.card{margin:1.5rem 0}.name-form{gap:.75rem}.add-row{margin:1.5rem 0}.add-row p{margin:0 0 .5rem}.add-row .primary{width:100%}.idea{color:#6b4b00;background:#fff6db;border-radius:.5rem;margin:-.4rem 0 0;padding:.5rem .75rem;font-size:.9rem}.idea-label{font-weight:600}.idea-text{font-style:italic}.idea-next{font-size:1rem;text-decoration:none}.remove-media{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.preview:empty{display:none}.preview img,.preview video{border-radius:.5rem;max-height:16rem}.post-list{flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:0;list-style:none;display:flex}.post-item{gap:.9rem;display:flex}.thumb{background:#f3f3f3;border-radius:.5rem;flex:none;width:5.5rem;height:5.5rem;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.text-thumb{background:#5a3a1e;place-items:center;min-height:5.5rem;font-size:1.8rem;display:grid}.play-mark{color:#fff;text-shadow:0 1px 4px #0009;place-items:center;font-size:1.4rem;display:grid;position:absolute;inset:0}.post-body{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.post-message{overflow-wrap:anywhere;margin:0}.badge{border-radius:999px;align-self:flex-start;padding:.1rem .55rem;font-size:.8rem;font-weight:600}.badge-pending{color:#6b4b00;background:#fff6db}.badge-approved{color:#1f6b2a;background:#e3f5e1}.badge-disabled{color:#555;background:#eee}.admin{max-width:48rem}.review-list{flex-direction:column;gap:1rem;margin:1rem 0;padding:0;list-style:none;display:flex}.review-item{grid-template-columns:minmax(0,14rem) 1fr;gap:1rem;display:grid}.review-media{background:#2d2010;border-radius:.5rem;overflow:hidden}.review-media img,.review-media video{object-fit:contain;width:100%;max-height:18rem}.review-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.review-item .muted.small{margin:0}.review-item .actions{justify-content:flex-start;margin-top:auto}.review-item .actions .primary{padding:.5rem 1.1rem}@media (width<=34rem){.review-item{grid-template-columns:1fr}}
