@import "https://fonts.bunny.net/css?family=fraunces:600,700|sora:400,500,600&display=swap";:root{--so-void:#07040c;--so-velvet:#120816;--so-surface:#1a0f22;--so-raised:#24152e;--so-line:#ffd68c29;--so-ice:#f8eef6;--so-mist:#c4adc8;--so-magenta:#ff4d9a;--so-violet:#b56bff;--so-gold:#f0c14b;--so-gold-soft:#f0c14b2e;--so-magenta-soft:#ff4d9a29;--so-danger:#ff8a9b;--so-radius:1.35rem;--so-display:"Fraunces", "Palatino Linotype", Palatino, serif;--so-ui:"Sora", ui-sans-serif, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100dvh;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.so{background:radial-gradient(ellipse 70% 38% at 80% -6%, #b56bff38, transparent 55%), radial-gradient(ellipse 60% 32% at 8% 0%, #ff4d9a24, transparent 50%), radial-gradient(ellipse 50% 28% at 50% 108%, #f0c14b14, transparent 55%), var(--so-void);color:var(--so-ice);font-family:var(--so-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.so:before{content:"";pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");position:fixed;inset:0}.so-skip{position:absolute;top:0;left:-9999px}.so-skip:focus{z-index:50;background:var(--so-surface);color:var(--so-ice);border-radius:.5rem;padding:.5rem .75rem;top:1rem;left:1rem}.so-shell{z-index:1;width:min(100%,28.5rem);padding:max(1rem, env(safe-area-inset-top)) max(1.15rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) max(1.15rem, env(safe-area-inset-left));margin:0 auto;position:relative}.so-top{align-items:center;min-height:2.75rem;margin-bottom:1.15rem;display:flex}.so-hub{color:var(--so-mist);letter-spacing:.28em;font-size:.72rem;font-weight:600;text-decoration:none}.so-hub:hover{color:var(--so-gold)}.so-panel{background:linear-gradient(180deg, #ffd68c0d, transparent 28%), var(--so-surface);border:1px solid var(--so-line);border-radius:var(--so-radius);padding:1.4rem 1.2rem 1.45rem;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000059}.so-brand{flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:1.35rem;display:flex}.so-mark{background:var(--so-gold-soft);width:2.6rem;height:2.6rem;color:var(--so-gold);border-radius:.8rem;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #f0c14b47}.so-logo{object-fit:contain;max-width:8.5rem;max-height:2.5rem;display:block}.so-title{font-family:var(--so-display);letter-spacing:.12em;margin:0;font-size:2rem;font-weight:700;line-height:1}.so-lead{color:var(--so-mist);margin:0;font-size:.98rem;line-height:1.45}.so-form,.so-drawing,.so-result{flex-direction:column;display:flex}.so-form{gap:.85rem}.so-form[hidden],.so-drawing[hidden],.so-result[hidden],.so-btn[hidden],.so-count-row[hidden]{display:none}.so-modes{border:1px solid var(--so-line);background:var(--so-raised);border-radius:1.15rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.24rem;margin-bottom:1.25rem;padding:.28rem;display:grid}.so-mode{min-width:0;min-height:2.75rem;color:var(--so-mist);letter-spacing:.06em;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:.9rem;justify-content:center;align-items:center;padding:.4rem .12rem;font-family:inherit;font-size:.58rem;font-weight:600;display:inline-flex}.so-mode[aria-pressed=true]{background:var(--so-gold-soft);color:var(--so-ice);box-shadow:inset 0 0 0 1px #f0c14b47}.so-label{letter-spacing:.2em;color:var(--so-mist);font-size:.7rem;font-weight:600}.so-input,.so-textarea{border:1px solid var(--so-line);background:var(--so-raised);width:100%;color:var(--so-ice);border-radius:.9rem;padding:.85rem .95rem;font-family:inherit;font-size:1rem;line-height:1.45}.so-textarea{resize:vertical;min-height:11.5rem}.so-input::placeholder,.so-textarea::placeholder{color:color-mix(in srgb, var(--so-mist) 72%, transparent)}.so-count{color:var(--so-gold);letter-spacing:.18em;margin:-.2rem 0 0;font-size:.72rem;font-weight:600}.so-note{color:var(--so-mist);margin:0;font-size:.8rem;line-height:1.4}.so-privacy{color:color-mix(in srgb, var(--so-mist) 85%, transparent);margin:1.1rem 0 0;font-size:.78rem;line-height:1.4}.so-count-row{flex-direction:column;gap:.45rem;display:flex}.so-input-count{text-align:center;font-variant-numeric:tabular-nums;width:5.5rem;min-height:3.15rem}.so-error{min-height:1.2rem;color:var(--so-danger);margin:0;font-size:.8rem;font-weight:600}.so-btn{letter-spacing:.18em;cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:3.15rem;padding:.85rem 1rem;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.so-btn:disabled{cursor:wait;opacity:.7}.so-btn-primary{background:linear-gradient(135deg, var(--so-magenta), var(--so-violet));color:#fff8fb;box-shadow:0 10px 24px #ff4d9a38}.so-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.so-btn-ghost{border-color:color-mix(in srgb, var(--so-gold) 40%, var(--so-line));color:var(--so-ice);background:0 0}.so-btn-ghost:hover:not(:disabled){background:var(--so-gold-soft)}.so-hub:focus-visible,.so-input:focus,.so-textarea:focus,.so-mode:focus-visible,.so-btn:focus-visible{outline:2px solid var(--so-gold);outline-offset:3px}.so-drawing{text-align:center;justify-content:center;align-items:center;gap:.7rem;min-height:14rem}.so-drawing-kicker{color:var(--so-mist);letter-spacing:.22em;margin:0;font-size:.7rem;font-weight:600}.so-drawing-name{min-height:3.2rem;font-family:var(--so-display);color:var(--so-ice);text-shadow:0 0 24px #b56bff59;margin:0;padding:.35rem .8rem;font-size:clamp(1.5rem,6vw,2.15rem);font-weight:700;line-height:1.2;animation:.55s ease-in-out infinite alternate so-pulse}.so-result{gap:.85rem;padding-top:.2rem;position:relative}.so-result-title{text-align:center;color:var(--so-gold);letter-spacing:.24em;margin:0;font-size:.72rem;font-weight:600}.so-result-body{background:radial-gradient(ellipse 80% 70% at 50% 0%, var(--so-magenta-soft), transparent 70%), var(--so-raised);border:1px solid #f0c14b38;border-radius:1.1rem;flex-direction:column;align-items:center;gap:.35rem;min-height:5.5rem;padding:1.1rem .8rem 1.2rem;display:flex}.so-medal{margin:0;font-size:2rem;line-height:1}.so-winner-name{font-family:var(--so-display);text-align:center;margin:0;font-size:clamp(1.7rem,6vw,2.3rem);font-weight:700;line-height:1.15}.so-winner-list{width:min(100%,18rem);color:var(--so-ice);margin:0;padding:0 .4rem 0 1.6rem;font-size:1.05rem;line-height:1.7}.so-winner-list li::marker{color:var(--so-gold);font-weight:600}.so-result.is-teams .so-result-body{background:0 0;border:0;align-items:stretch;min-height:0;padding:0}.so-result.is-teams .so-confetti{display:none}.so-teams{flex-direction:column;gap:.7rem;width:100%;display:flex}.so-team{background:var(--so-raised);border:1px solid var(--so-line);border-radius:.95rem;padding:.9rem 1rem}.so-team[data-accent="0"]{border-color:#f0c14b61}.so-team[data-accent="1"]{border-color:#ff4d9a57}.so-team[data-accent="2"]{border-color:#b56bff61}.so-team-title{color:var(--so-gold);letter-spacing:.2em;margin:0 0 .45rem;font-size:.68rem;font-weight:600}.so-team[data-accent="1"] .so-team-title{color:var(--so-magenta)}.so-team[data-accent="2"] .so-team-title{color:var(--so-violet)}.so-team-list{color:var(--so-ice);margin:0;padding:0;font-size:1rem;line-height:1.55;list-style:none}.so-result.is-revealed .so-team{animation:.45s ease-out both so-card-in}.so-result.is-revealed .so-team:nth-child(2){animation-delay:60ms}.so-result.is-revealed .so-team:nth-child(3){animation-delay:.12s}.so-result.is-revealed .so-team:nth-child(4){animation-delay:.18s}.so-result.is-revealed .so-team:nth-child(5){animation-delay:.24s}.so-result.is-revealed .so-team:nth-child(n+6){animation-delay:.3s}.so-result.is-order .so-result-body{align-items:stretch;min-height:0;padding:.85rem .85rem 1rem}.so-result.is-order .so-confetti{display:none}.so-order-list{width:100%;max-height:min(22rem,55dvh);color:var(--so-ice);-webkit-overflow-scrolling:touch;margin:0;padding:0 .35rem 0 1.7rem;font-size:1.02rem;line-height:1.7;overflow:auto}.so-order-list li::marker{color:var(--so-gold);font-weight:600}.so-actions{flex-direction:column;gap:.65rem;display:flex}.so-copy-status{min-height:1.2rem;color:var(--so-gold);letter-spacing:.1em;text-align:center;margin:0;font-size:.78rem;font-weight:600}.so-copy-status.is-error{color:var(--so-danger)}.so-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.so-confetti span{opacity:0;border-radius:1px;width:7px;height:11px;position:absolute;top:-8px}.so-result.is-revealed .so-confetti span{animation:1.15s ease-out forwards so-fall}.so-confetti span:first-child{background:var(--so-gold);animation-delay:20ms;left:12%}.so-confetti span:nth-child(2){background:var(--so-magenta);animation-delay:.12s;left:28%}.so-confetti span:nth-child(3){background:var(--so-violet);animation-delay:50ms;left:44%}.so-confetti span:nth-child(4){background:var(--so-gold);animation-delay:.18s;left:58%}.so-confetti span:nth-child(5){background:var(--so-magenta);animation-delay:80ms;left:72%}.so-confetti span:nth-child(6){background:var(--so-violet);animation-delay:.2s;left:86%}@keyframes so-pulse{0%{filter:brightness();transform:translateY(0)}to{filter:brightness(1.12);transform:translateY(-1px)}}@keyframes so-fall{0%{opacity:0;transform:translateY(0)rotate(0)}18%{opacity:1}to{opacity:0;transform:translateY(7.5rem)rotate(220deg)}}@keyframes so-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=480px){.so-mode{letter-spacing:.1em;padding:.4rem .28rem;font-size:.68rem}.so-actions{flex-flow:wrap}.so-actions .so-btn{flex:8rem}}@media (prefers-reduced-motion:reduce){.so-btn,.so-hub,.so-mode,.so-drawing-name,.so-confetti span,.so-team{transition:none;animation:none}.so-result.is-revealed .so-confetti span{display:none}}
