
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Pacifico&family=Patrick+Hand&display=swap');
:root{--cream:#fffaf2;--ink:#684732;--pink:#ef8e9a;--blue:#73add0}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;background-image:radial-gradient(ellipse at 0 83%,#e5f1f7 0,transparent 35%),radial-gradient(ellipse at 100% 93%,#fbe5e8 0,transparent 35%)}button,input{font:inherit}button{cursor:pointer}main{max-width:1080px;margin:auto;padding:34px 28px 24px;text-align:center;min-height:100vh}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:#a18a76;display:flex;align-items:center;justify-content:center;gap:12px}.eyebrow:before,.eyebrow:after{content:'';width:32px;height:1px;background:#dac8b7}.hero{position:relative}.intro{font-family:'Pacifico',cursive;font-size:34px;margin:23px 0 0;font-weight:400}h1{font-size:clamp(52px,8vw,86px);line-height:1.15;letter-spacing:2px;color:#ee9295;margin:0;font-weight:700;text-shadow:2px 3px 0 #f9e3d6}.subtitle{font-family:'Patrick Hand',cursive;font-size:31px;margin:0}.illustration{width:330px;max-width:75%;height:195px;margin:9px auto -4px;display:block}.heart{position:absolute;color:#eaa3a5;font-size:28px;transform:rotate(-16deg);top:64px;left:17%}.heart.right{left:auto;right:16%;top:120px;color:#89b8d0;transform:rotate(15deg)}.votes{display:flex;gap:26px;max-width:680px;margin:0 auto}.team{position:relative;flex:1;border:1px solid #cee3ed;background:linear-gradient(135deg,#edf7fae8,#e3f0f5a8);border-radius:30px;padding:18px 16px 13px;overflow:hidden}.team.girl{border-color:#f3d6dd;background:linear-gradient(135deg,#fff0f1e8,#f9e2e8a8)}.team h2{font-family:'Patrick Hand',cursive;font-size:32px;margin:0;color:#4c91b7;line-height:1.1}.girl h2{color:#d77290}.team p{margin:4px 0 7px;font-size:11px;letter-spacing:1.2px;color:#8e8276}.count{display:inline-flex;align-items:center;justify-content:center;font-family:'Patrick Hand',cursive;font-size:63px;font-weight:bold;line-height:1;width:92px;height:76px;background:#fffaf7;border:2px solid #8cbed8;border-radius:48% 48% 43% 43%;box-shadow:inset 0 0 0 5px #edf4f6}.girl .count{border-color:#eba1b5;box-shadow:inset 0 0 0 5px #fcecee}.tiny-heart{position:absolute;right:21px;top:22px;color:#a2cbdc}.girl .tiny-heart{color:#edb2c2}.entry{max-width:450px;margin:24px auto 0}.entry h2{font-family:'Patrick Hand',cursive;font-size:25px;margin:0 0 3px}.hint{font-size:12px;color:#988574;margin:0 0 15px;line-height:1.6}label{display:block;text-align:left;font-size:11px;font-weight:600;margin-bottom:7px}input{width:100%;height:48px;border:1px solid #ddcebd;border-radius:12px;background:#ffffffb3;padding:0 16px;color:var(--ink);outline:none}input:focus{border-color:#bb8c60;box-shadow:0 0 0 3px #edd8bc80}input::placeholder{color:#b8a89a}.primary{width:100%;border:0;border-radius:12px;background:#79543d;color:#fffaf2;height:48px;margin-top:10px;font-weight:600;font-size:13px;box-shadow:0 4px 0 #5f402d;transition:transform .15s,background .15s}.primary:hover{background:#68452f;transform:translateY(-1px)}.primary span{margin-left:14px}.privacy{font-size:10px;color:#a18c7c;margin:13px 0 0}.arrival{margin:28px auto 0;font-family:'Patrick Hand',cursive;font-size:19px;color:#987051}.arrival strong{display:block;font-family:'DM Sans',sans-serif;letter-spacing:3px;font-size:10px;margin-top:7px;color:#9b7758}.footer{font-size:10px;color:#b2a08f;margin-top:22px}.selection{max-width:600px;margin:65px auto}.selection h1{font-size:43px;letter-spacing:0;font-family:'Patrick Hand',cursive}.choices{display:flex;gap:18px;margin:28px 0}.choice{flex:1;padding:35px 12px;border:2px solid #c9e1ec;border-radius:24px;background:#eaf5f9;color:#4c91b7;font-family:'Patrick Hand',cursive;font-size:29px}.choice:last-child{border-color:#f0cbd5;background:#fdebf0;color:#d77290}.choice:hover{transform:translateY(-3px)}.back{background:none;border:0;color:#8e7563;text-decoration:underline;padding:15px}.message{font-family:'Patrick Hand',cursive;font-size:27px;line-height:1.5}[hidden]{display:none!important}button:focus-visible{outline:3px solid #af8059;outline-offset:4px}@media(min-width:1000px){main{padding-top:30px}.illustration{height:205px;width:350px}.entry{margin-top:25px}}@media(max-width:540px){main{padding:25px 20px 20px}.eyebrow{font-size:8px;letter-spacing:2px}.intro{font-size:28px;margin-top:26px}h1{font-size:51px;letter-spacing:0}.subtitle{font-size:27px}.illustration{height:180px;width:300px;max-width:90%}.heart{left:3%;font-size:22px}.heart.right{right:2%}.votes{gap:14px}.team{border-radius:23px;padding:17px 8px 13px}.team h2{font-size:28px}.team p{font-size:9px}.tiny-heart{right:10px;top:10px;font-size:12px}.count{font-size:57px;width:81px;height:72px}.entry{margin-top:25px}.arrival{margin-top:29px}.choices{gap:12px}.choice{font-size:26px;padding:30px 10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.bun-button{display:inline-block;position:relative;width:145px;height:120px;border:0;background:none;padding:0;color:#73add0;transition:transform .15s}.girl .bun-button{color:#ef9bb0}.bun-button:hover{transform:rotate(-3deg) scale(1.04)}.bun-art{width:100%;height:100%;display:block;overflow:visible}.bun-button .count{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding-top:23px;border:0;border-radius:0;background:none;box-shadow:none!important;color:var(--ink);font-size:57px}.tap-hint{display:block;font-size:10px;color:#988574;margin:1px 0 0}.celebration{padding:0;border:0;background:transparent;overflow:visible;text-align:center;color:var(--ink)}.celebration::backdrop{background:#fffaf260;backdrop-filter:blur(2px)}.celebration-button{display:block;border:0;background:none;padding:20px;color:#73add0}.celebration-button.girl{color:#ef9bb0}.celebration-bun{position:relative;width:min(330px,75vw);height:280px;filter:drop-shadow(0 12px 25px #68473220)}.celebration-bun svg{opacity:.82}.celebration-bun strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:40px;font-family:'Patrick Hand',cursive;font-size:110px;color:var(--ink)}.celebration-label{font-family:'Patrick Hand',cursive;font-size:28px;display:block}.celebration-hint{display:block;font-size:12px;margin-top:10px;color:var(--ink)}.board{width:min(880px,calc(100% - 24px));max-height:90dvh;border:1px solid #e4d3c1;border-radius:24px;padding:28px;background:#fffaf2;color:var(--ink)}.board::backdrop{background:#47342470}.board-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:30px;color:var(--ink);width:44px;height:44px}.board h2{font-family:'Pacifico',cursive;font-weight:400;font-size:36px;margin:4px 0 12px}.board-columns{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.board-column{min-width:0;padding:0 12px}.board-column+ .board-column{border-left:1px solid #ddcabb}.board-column h3{font-family:'Patrick Hand',cursive;font-size:30px;color:#4c91b7;margin:0 0 15px}.board-column.girl h3{color:#d77290}.stickers{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 10px}.sticker{width:100px;margin:0;transform:rotate(-5deg)}.sticker:nth-child(even){transform:rotate(6deg)}.sticker svg{height:78px;color:#73add0}.girl .sticker svg{color:#ef9bb0}.sticker figcaption{font-family:'Patrick Hand',cursive;font-size:18px;overflow-wrap:anywhere;margin-top:0}.empty-board{font-size:12px;color:#988574;line-height:1.6}.board-summary{font-size:12px;color:#988574}@media(max-width:540px){.bun-button{width:118px;height:100px}.bun-button .count{font-size:49px}.board{padding:25px 12px}.board-column{padding:0 6px}.stickers{gap:14px 6px}.sticker{width:80px}.sticker svg{height:65px}.board h2{font-size:29px}}

/* Soft, illustrated announcement poster. */
body{background-color:#fffcf5;background-image:radial-gradient(ellipse at 5% 90%,#dfeef7 0,transparent 23%),radial-gradient(ellipse at 97% 95%,#fce3e9 0,transparent 24%),radial-gradient(ellipse at 50% 30%,#fff7e9 0,transparent 60%)}
main{max-width:850px;padding:25px 30px 30px}.eyebrow{display:none}.hero{padding-top:28px;isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;top:0;left:8%;width:84%;height:330px;background:#fffaf0;border:3px solid #edd5b0;border-radius:43% 43% 35% 35% / 35% 35% 38% 38%;box-shadow:0 0 0 7px #fffcf5,0 0 0 10px #f1dfc3}.hero:after{content:'';position:absolute;z-index:-1;top:10px;left:10%;width:80%;height:310px;border:2px dashed #eedec5;border-radius:43% 43% 35% 35% / 35% 35% 38% 38%}.intro{font-size:47px;margin:10px 0 2px;line-height:1.5}.hero h1{font-size:clamp(55px,10vw,100px);line-height:1.12;font-weight:900;letter-spacing:-3px;color:#ef9696;transform:rotate(-2deg);text-shadow:2px 3px 0 #f4bab0}.subtitle{font-family:'Pacifico',cursive;font-size:38px;margin-top:3px;transform:rotate(-2deg)}.heart{top:86px;left:13%;font-size:36px}.heart.right{top:84px;right:12%;color:#efa19c;font-size:36px}.illustration{width:620px;max-width:100%;height:auto;margin:15px auto 0;filter:drop-shadow(0 4px 0 #f1e3cb60)}.votes{gap:38px;max-width:710px;margin:-5px auto 0}.team,.team.girl{overflow:visible;border:0;background:none;padding:30px 12px 10px;isolation:isolate}.team:before{content:'';position:absolute;z-index:-1;inset:7px -3px 110px;background:radial-gradient(ellipse at 50% 50%,#dceefa 20%,#eaf4f9 80%);border-radius:44% 51% 43% 40%;transform:rotate(-7deg);box-shadow:-13px 13px 0 -5px #e7f2f8,12px -9px 0 -4px #e5f1f8}.team.girl:before{background:radial-gradient(ellipse at 50% 50%,#fbdde5 20%,#fff0f0 80%);transform:rotate(7deg);box-shadow:-13px -9px 0 -5px #fce8ec,12px 13px 0 -4px #fce8ec}.team h2{font-family:'Patrick Hand',cursive;font-size:48px;font-weight:700;transform:rotate(-9deg);color:#438fb7}.team.girl h2{transform:rotate(9deg);color:#df7996}.team p{font-family:'Patrick Hand',cursive;font-size:29px;letter-spacing:0;color:#684732;margin:4px 0 6px;transform:rotate(-6deg)}.team.girl p{transform:rotate(6deg)}.tiny-heart{top:11px;right:29px;font-size:24px;color:#82b8d5}.girl .tiny-heart{color:#ef9bb0}.bun-button{width:210px;height:170px;margin-top:3px}.bun-button .count{font-size:91px;padding-top:28px}.tap-hint{font-family:'Patrick Hand',cursive;font-size:14px;margin-top:3px;color:#987c65}.entry{margin:28px auto 0;padding:20px 24px 18px;background:#fffdf6b8;border:1px solid #eddfcb;border-radius:22px}.entry h2{font-size:29px}.entry .hint{font-size:12px}.arrival{position:relative;isolation:isolate;margin:30px auto 0;padding:30px 18px 35px;max-width:520px;font-size:29px;transform:rotate(-2deg);color:#8d5d37}.arrival:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,#efd1a7,#fff2d9 30%,#f8e7cc 70%,#e9c89e);clip-path:polygon(0 7%,8% 12%,8% 0,92% 0,92% 12%,100% 7%,96% 49%,100% 88%,91% 85%,91% 100%,9% 100%,9% 85%,0 88%,4% 49%)}.arrival:after{content:'';position:absolute;z-index:-2;left:9%;right:9%;top:-16px;bottom:-18px;border:3px solid #c79867;border-radius:50% / 17%;background:repeating-linear-gradient(0deg,#edc596 0 12px,#f7dab5 13px 16px,#ecc391 17px 28px)}.arrival strong{font-family:'Patrick Hand',cursive;font-size:22px;letter-spacing:3px;color:#99633e;margin-top:4px}.footer{margin-top:43px}.selection{margin:65px auto}.selection .intro{font-size:34px}.selection h1{font-size:43px}.board .hint{margin-top:12px}
@media(min-width:1000px){main{padding-top:30px}.entry{margin-top:28px}}
@media(max-width:540px){main{padding:18px 20px 25px}.hero{padding-top:24px}.hero:before{left:0;width:100%;height:225px;box-shadow:0 0 0 4px #fffcf5,0 0 0 6px #f1dfc3}.hero:after{left:3%;width:94%;height:211px;top:7px}.hero .intro{font-size:33px;margin:4px 0 3px}.hero h1{font-size:clamp(40px,12.4vw,65px);letter-spacing:-2px}.subtitle{font-size:25px;margin-top:8px}.heart{top:57px;left:4%;font-size:24px}.heart.right{top:59px;right:4%;font-size:24px}.illustration{width:100%;max-width:100%;height:auto;margin:22px auto 0}.votes{gap:17px;margin-top:0}.team,.team.girl{padding:22px 0 8px}.team:before{inset:7px -2px 91px;box-shadow:-5px 8px 0 -2px #e7f2f8,5px -4px 0 -2px #e5f1f8}.team.girl:before{box-shadow:-5px -4px 0 -2px #fce8ec,5px 8px 0 -2px #fce8ec}.team h2{font-size:clamp(28px,8.2vw,43px)}.team p{font-size:25px;margin-top:4px}.tiny-heart{font-size:17px;top:4px;right:15px}.bun-button{width:clamp(115px,36vw,180px);height:120px;margin-top:0}.bun-button .count{font-size:68px;padding-top:20px}.tap-hint{font-size:11px}.entry{margin-top:22px;padding:18px}.entry h2{font-size:26px}.arrival{font-size:23px;margin-top:32px;padding:22px 8px 25px}.arrival strong{font-size:18px;letter-spacing:2px}.footer{margin-top:38px}}

/* Supplied artwork keeps its natural proportions at every screen size. */
body{background:#fff}
main{max-width:850px;padding:0 30px 24px}
.hero.announcement-art{position:relative;padding:0;margin:0 -30px;isolation:auto}
.hero:before,.hero:after,.arrival:before,.arrival:after,.team:before{content:none}
.announcement-art img{position:static;display:block;width:100%;height:auto}
.arrival.announcement-art{position:relative;max-width:none;margin:28px -30px 0;padding:0;transform:none}
.votes{gap:24px;max-width:710px;margin:22px auto 0}
.team,.team.girl{min-width:0;padding:0;border:0;border-radius:0;background:none}
.team h2,.team.girl h2{font-size:clamp(28px,5vw,42px);transform:none}
.team p,.team.girl p{font-size:18px;margin:3px 0 8px;transform:none}
.bun-button{display:block;width:100%;height:auto;aspect-ratio:1;margin:0;container-type:inline-size}
.count-background{display:block;width:100%;height:100%;object-fit:contain}
.bun-button .count{inset:49% 12% 8% 28%;width:auto;height:auto;padding:0;font-size:clamp(40px,9vw,84px);font-size:26cqi;line-height:1;color:#684732;font-variant-numeric:tabular-nums}
.girl .bun-button .count{inset:49% 24% 8% 16%}
.bun-button:hover{transform:translateY(-2px)}
.tap-hint{margin-top:8px;font-size:13px}
.entry{margin:26px auto 0}
.footer{margin-top:16px}
@media(max-width:540px){
  main{padding:0 16px 20px}
  .hero.announcement-art{margin:0 -16px}
  .arrival.announcement-art{margin:24px -16px 0}
  .votes{gap:12px;margin-top:18px}
  .team,.team.girl{padding:0}
  .team h2,.team.girl h2{font-size:28px}
  .team p,.team.girl p{font-size:16px;margin-bottom:6px}
  .tap-hint{font-size:11px;line-height:1.4;margin-top:6px}
  .entry{margin-top:22px;padding:18px}
}

.selection{max-width:760px;margin:32px auto}
.selection .intro{font-size:28px}.selection h1{font-size:38px;margin:8px 0}
.emoji-teams{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.emoji-team{min-width:0;border:1px solid #c9e1ec;border-radius:20px;padding:16px;background:#f1f8fc}
.emoji-team.girl{border-color:#f0cbd5;background:#fff3f6}
.emoji-team h2{font-family:'Patrick Hand',cursive;font-size:30px;color:#4c91b7;margin:0 0 12px}
.emoji-team.girl h2{color:#d77290}
.emoji-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.emoji-choice{min-width:0;padding:5px;border:2px solid transparent;border-radius:14px;background:#ffffffb3;color:var(--ink);transition:transform .15s,border-color .15s}
.emoji-choice img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:9px}
.emoji-choice span{display:block;font-size:11px;padding:4px 0}
.emoji-choice:hover{transform:translateY(-2px)}
.emoji-choice[aria-pressed="true"]{border-color:#438fb7;background:#fff;box-shadow:0 0 0 2px #438fb733}
.girl .emoji-choice[aria-pressed="true"]{border-color:#d77290;box-shadow:0 0 0 2px #d7729033}
.choice-summary{font-size:14px;line-height:1.5;margin:22px 0 6px}
#confirmGuess{display:block;max-width:360px;margin:12px auto}
.primary:disabled{opacity:.5;cursor:default;transform:none}
.sticker img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:540px){.emoji-teams{gap:10px}.emoji-team{padding:10px 6px}.emoji-grid{gap:6px}.emoji-choice{padding:2px}.emoji-choice span{font-size:10px}.selection h1{font-size:32px}.selection{margin-top:24px}}
.language-switch{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 0}.language-switch button{border:1px solid #dfcdbb;border-radius:20px;background:#fffaf2;padding:8px 13px;color:var(--ink);font-size:13px}.language-switch button[aria-pressed="true"]{background:#79543d;color:white;border-color:#79543d}html[lang="zh-CN"] body{font-family:"PingFang SC","Microsoft YaHei",sans-serif}#nameForm .primary span[data-i18n]{margin-left:0}

.board{text-align:center}
.board-totals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px auto;max-width:680px}
.board-total{padding:20px 12px;background:#e3f3fd;border-radius:26px}
.board-total.girl{background:#fde7ef}
.board-total h3{font-family:'Patrick Hand',cursive;font-size:30px;color:#4c9ac5;margin:0 0 8px}
.board-total.girl h3{color:#e98ca8}
.board-total strong{display:block;font-size:48px;line-height:1.2;color:var(--ink)}
.board-distribution{border:1px solid #edd6c1;border-radius:22px;padding:18px;margin-bottom:28px;background:white}
.distribution-track{display:flex;height:18px;overflow:hidden;border-radius:20px;background:#f0e9e1}
.boy-share{background:#73add0}.girl-share{background:#e98ca8}
.board-distribution p{margin:14px 0 0;color:#947963;font-size:14px;line-height:1.5}
@media(max-width:540px){.board-totals{gap:10px}.board-total{padding:16px 8px;border-radius:20px}.board-total h3{font-size:25px}.board-total strong{font-size:40px}.board-distribution{padding:14px}.board-distribution p{font-size:12px}}
.shared-tap-hint{text-align:center;font-family:'Patrick Hand',cursive;font-size:14px;color:#987c65;margin:10px 0 0}@media(max-width:540px){.shared-tap-hint{font-size:12px}}
.admin-heart{display:inline-grid;place-items:center;width:28px;height:28px;margin:8px 0 0;color:#c3b5a8;text-decoration:none;font-size:17px;opacity:.6}.admin-heart:hover{color:#a17868;opacity:1}.admin-heart:focus-visible{outline:2px solid #af8059;outline-offset:3px;opacity:1}
.admin-link-row{text-align:left;margin-top:8px}


.symbols{position:absolute}.celebration-bun{display:block}
