:root{--bg-top:#cdeffd;--bg-bottom:#fff4e6;--card:#fff;--ink:#4a3f35;--ink-soft:#8a7f73;--pink:#ffb3c6;--mint:#b4f8c8;--sky:#a0e7e5;--butter:#ffe066;--lilac:#cdb4db;--radius:28px;--shadow:0 10px 0 #4a3f3514, 0 18px 40px #4a3f3514;color:var(--ink);font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 55%);background-attachment:fixed;min-height:100vh;margin:0}h1,h2,.stat-value,.countdown-value,button{font-family:Fredoka,Nunito,sans-serif}.page{min-height:100vh;padding:0 16px 40px;position:relative;overflow-x:hidden}main{z-index:1;flex-direction:column;gap:24px;max-width:860px;margin:0 auto;display:flex;position:relative}.sky{pointer-events:none;z-index:0;position:absolute;inset:0}.cloud{opacity:.9;background:#fff;border-radius:999px;animation:40s linear infinite alternate drift;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.cloud:before{width:50%;height:160%;bottom:20%;left:15%}.cloud:after{width:40%;height:130%;bottom:25%;right:15%}.c1{width:160px;height:48px;top:60px;left:6%}.c2{width:220px;height:60px;animation-duration:55s;top:180px;right:4%}.c3{opacity:.7;width:120px;height:38px;animation-duration:35s;top:420px;left:2%}@keyframes drift{0%{transform:translate(0)}to{transform:translate(60px)}}.star{color:var(--butter);text-shadow:0 2px #0000000d;font-size:26px;animation:2.8s ease-in-out infinite twinkle;position:absolute}.s1{top:40px;right:22%}.s2{color:var(--pink);animation-delay:.7s;top:140px;left:22%}.s3{color:var(--lilac);font-size:20px;animation-delay:1.4s;top:320px;right:10%}.s4{color:var(--sky);animation-delay:2s;top:520px;left:8%}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.6;transform:scale(1.35)rotate(20deg)}}.hero{z-index:1;text-align:center;padding:64px 0 8px;position:relative}.bunting{gap:6px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.bunting span{border-left:18px solid #0000;border-right:18px solid #0000;border-top:32px solid var(--pink);filter:drop-shadow(0 3px #0000000f);width:0;height:0}.bunting span:nth-child(5n+2){border-top-color:var(--sky)}.bunting span:nth-child(5n+3){border-top-color:var(--butter)}.bunting span:nth-child(5n+4){border-top-color:var(--mint)}.bunting span:nth-child(5n+5){border-top-color:var(--lilac)}.hero-emoji{font-size:72px;animation:2.4s ease-in-out infinite bounce;display:inline-block}@keyframes bounce{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-14px)rotate(6deg)}}h1{color:#ff7aa2;text-shadow:3px 3px #fff,6px 6px #ff7aa233;margin:8px 0 4px;font-size:clamp(2rem,6vw,3.4rem);font-weight:700;line-height:1.1}.subtitle{color:var(--ink-soft);max-width:520px;margin:8px auto 0;font-size:1.15rem;font-weight:600}.stats{grid-template-columns:2fr 1fr;gap:16px;display:grid}.stat{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:4px solid var(--sky);flex-direction:column;gap:4px;padding:20px 24px;display:flex}.stat.leader{border-color:var(--butter);background:#fffbea}.stat-label{color:var(--ink-soft);font-size:.95rem;font-weight:700}.stat-value{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700}.stat-sub{color:#ff7aa2;font-weight:700}.closing{text-align:center}.closing-label{color:var(--ink-soft);margin:0 0 10px;font-weight:700}.closed-msg{background:var(--mint);border-radius:999px;margin:0;padding:12px 24px;font-family:Fredoka,sans-serif;font-size:1.4rem;font-weight:600;display:inline-block}.countdown{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.countdown-box{background:var(--card);min-width:84px;box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:center;padding:10px 12px;display:flex}.countdown-box:first-child{border-bottom:6px solid var(--pink)}.countdown-box:nth-child(2){border-bottom:6px solid var(--sky)}.countdown-box:nth-child(3){border-bottom:6px solid var(--mint)}.countdown-box:nth-child(4){border-bottom:6px solid var(--lilac)}.countdown-value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.countdown-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}.chart-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:4px dashed var(--pink);padding:20px 20px 12px}.chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.chart-head h2{margin:0;font-size:1.4rem}.toggle{background:var(--lilac);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:8px 16px;font-size:.95rem;font-weight:600;transition:transform .15s;box-shadow:0 4px #4a3f351f}.toggle:hover{transform:translateY(-2px)rotate(-2deg)}.toggle:active{box-shadow:none;transform:translateY(2px)}.chart-tooltip{background:#fff;border:2px solid #f3ebe0;border-radius:16px;padding:10px 14px;box-shadow:0 8px 24px #4a3f352e}.chart-tooltip-title{align-items:center;gap:8px;font-weight:700;display:flex}.chart-tooltip-value{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700}.chart-tooltip-sub{color:var(--ink-soft);font-size:.85rem;font-weight:600}.swatch{vertical-align:middle;border-radius:4px;width:12px;height:12px;display:inline-block}.totals-table{border-collapse:collapse;width:100%;font-size:1.05rem}.totals-table th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;padding:8px;font-size:.85rem}.totals-table td{border-top:2px dotted #f0e6d8;padding:10px 8px;font-weight:600}.totals-table .num{text-align:right;font-variant-numeric:tabular-nums}.how{background:var(--mint);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:20px 24px}.how h2{margin:0 0 6px}.how p{margin:4px 0;font-size:1.05rem;font-weight:600}.how-rule{color:#3f7a55;font-size:.95rem!important}.error,.loading,.empty{text-align:center;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:20px;font-weight:700}.error{background:#ffe3ea}footer{text-align:center;color:var(--ink-soft);z-index:1;margin-top:40px;font-weight:600;position:relative}@media (width<=600px){.stats{grid-template-columns:1fr}.countdown-box{min-width:68px}.countdown-value{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
