:root{--paper:#f6f3e9;--ink:#303e32;--green:#3e5842;--muted:#727568;--rust:#b85540;--line:#dcded0;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Kalam',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.75' filter='url(%23n)'/%3E%3C/svg%3E")}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--rust);outline-offset:6px}button:disabled{cursor:wait}button[hidden]{display:none}a{color:inherit}h1,h2,h3,p{margin:0}em{font-weight:400}.wrap{width:min(1180px,calc(100% - 104px));margin-inline:auto}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:var(--green);color:white;z-index:100}.skip:focus{top:12px}.masthead{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:30px;display:flex;align-items:center;gap:9px;text-decoration:none}.wordmark img{margin-right:1px}.wordmark>span{font-family:var(--sans);font-size:10px;letter-spacing:1px;margin:8px 0 0 6px;color:var(--muted)}.header-note{font-size:9px;letter-spacing:1.8px;display:flex;align-items:center;gap:26px}.tiny-heart{font-size:25px;color:var(--rust)}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding-top:68px;padding-bottom:75px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;line-height:1.7}.hero .eyebrow{display:flex;gap:9px;align-items:center;margin-bottom:23px}.green-dot{width:6px;height:6px;border-radius:100%;background:#6f8865;flex-shrink:0}.hero h1{font-family:var(--serif);font-size:clamp(58px,5.9vw,80px);font-weight:400;line-height:1.04;letter-spacing:-2.9px}.hero h1 em{color:var(--rust)}.bloom{position:relative;white-space:nowrap;font-style:italic}.bloom svg{position:absolute;left:-3%;width:108%;height:16px;bottom:-4px;stroke:#c28a56;stroke-width:1.7;fill:none;opacity:.85}.hero-description{margin-top:29px;line-height:1.9;font-size:14px;color:#666d60}.answer-area{margin-top:28px;min-height:111px}.answer-buttons{display:flex;align-items:center;gap:16px;min-height:54px}.button{border:1px solid transparent;border-radius:6px;min-height:54px;padding:16px 25px;font-size:13px;font-weight:500;display:inline-flex;justify-content:center;gap:26px;align-items:center;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.primary{background:var(--green);color:var(--paper);box-shadow:0 3px 0 #253e2b}.primary:hover{background:#2d4833;box-shadow:0 5px 0 #253e2b}.primary:active{transform:translateY(2px);box-shadow:none}.no-button{border-color:#cbcfc1;background:transparent;min-width:106px;color:#6e7366;position:relative;transition:transform .25s,background .2s}.no-button:hover{background:#ecece0}.no-message{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.6;min-height:16px}.real-no{font-size:10px;color:var(--muted);background:none;border:none;text-decoration:underline;text-underline-offset:3px;padding:8px 0 0}.handwriting{font-family:var(--hand);font-weight:400}.hero-art{min-height:558px;position:relative;display:flex;align-items:center;justify-content:center;padding-top:18px}.invitation-ticket{width:354px;position:relative;background:#eeecd9;transform:rotate(6deg);box-shadow:7px 12px 25px #38422810,0 1px 2px #38422815;text-align:center;border:1px solid #dbddc7}.ticket-top{display:flex;justify-content:space-between;padding:16px 21px;border-bottom:1px solid #d2d6bd;font-size:8px;letter-spacing:1.7px}.ticket-kicker{font-size:8px;letter-spacing:1.9px;margin-top:24px}.invitation-ticket h2{font-family:var(--serif);font-weight:400;font-size:49px;line-height:1.05;letter-spacing:-1px;margin-top:10px}.invitation-ticket h2 i{color:var(--rust)}.flower-art{width:245px;height:245px;display:block;margin:-17px auto -10px}.flower-head{transform-origin:174px 163px;animation:sway 7s ease-in-out infinite}.ticket-caption{font-size:11px;line-height:1.7;margin-bottom:26px;color:#68735a}.ticket-perforation{border-top:1px dashed #acb59b;position:relative;margin-inline:13px}.ticket-perforation:before,.ticket-perforation:after{content:"";position:absolute;top:-10px;width:19px;height:19px;background:var(--paper);border-radius:100%}.ticket-perforation:before{left:-23px}.ticket-perforation:after{right:-23px}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:21px 25px}.ticket-bottom small{display:block;font-size:7px;letter-spacing:1.5px;margin-bottom:5px}.ticket-bottom strong{font-family:var(--serif);font-size:23px;font-weight:400}.admit{text-align:center;line-height:1.2;font-size:8px;letter-spacing:1px;border-left:1px solid #c5cbb2;padding-left:22px}.admit b{font-size:18px;font-weight:500;letter-spacing:2px}.art-note{position:absolute;left:4px;top:5px;font-size:16px;line-height:1.4;transform:rotate(-8deg);color:#787b66;z-index:2}.note-arrow{position:absolute;left:125px;top:14px;width:64px;height:55px;stroke:#8d947b;stroke-width:1.2;z-index:2}.forecast-sticker{position:absolute;display:flex;align-items:center;justify-content:center;gap:7px;right:-7px;top:330px;width:150px;height:77px;border-radius:50%;background:#f0d89b;color:#75602d;transform:rotate(-13deg);box-shadow:2px 5px 10px #3641280c;border:1px solid #ddc584;outline:1px solid #ddc584;outline-offset:-6px}.forecast-sticker svg{width:36px;height:28px}.forecast-sticker span{font-size:7px;letter-spacing:1.4px}.forecast-sticker b{font-family:var(--hand);font-size:20px;font-weight:400;letter-spacing:-.5px}.art-footer{position:absolute;bottom:-14px;left:60px;transform:rotate(-3deg);font-size:14px;color:#818472}
.marquee{overflow:hidden;border-block:1px solid #cdd4c0;background:#e9eddf;height:52px;display:flex;align-items:center}.marquee>div{min-width:100%;display:flex;justify-content:space-around;gap:42px;align-items:center;white-space:nowrap;padding:0 32px}.marquee span{font-size:10px;letter-spacing:2px}.marquee span:nth-child(even){font-size:25px;color:#889672}.date-section{padding-block:76px 64px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:33px}.section-heading .eyebrow{color:#7a816d;margin-bottom:12px}.section-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.3px;font-size:40px;line-height:1.2}.section-heading h2 em{color:var(--rust)}.section-heading>p{font-size:12px;line-height:1.9;color:#777d6f;padding-bottom:3px}.date-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.date-option{border:1px solid #d9ddce;background:transparent;padding:0;text-align:left;color:var(--ink);border-radius:5px;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.date-option:hover{transform:translateY(-4px);border-color:#6d8266;box-shadow:0 8px 20px #3a4f3a08}.date-option[aria-pressed=true]{border-color:#526c46;box-shadow:0 0 0 2px #526c46}.option-art{height:174px;background:#e8eddd;position:relative;display:flex;align-items:center;justify-content:center;color:#69805c}.cafe .option-art{background:#f1e5d9;color:#a86e52}.option-art svg{width:210px;height:135px;transform:translateY(8px)}.option-number{position:absolute;top:20px;left:23px;font-size:8px;letter-spacing:1.5px}.option-art .handwriting{position:absolute;right:20px;bottom:18px;max-width:130px;text-align:center;font-size:14px;line-height:1.3;transform:rotate(-8deg)}.option-copy{padding:23px 26px 25px}.option-copy>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.option-copy h3{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.3px}.select-circle{width:22px;height:22px;border:1px solid #b7bfa9;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.date-option[aria-pressed=true] .select-circle{background:var(--green);border-color:var(--green)}.date-option[aria-pressed=true] .select-circle:after{content:'✓';font-size:12px;color:white}.option-copy p{font-size:12px;line-height:1.9;color:#727768;margin-block:12px 20px;max-width:400px}.option-tag{font-size:8px;letter-spacing:1.2px;color:#747c67;line-height:1.7;display:block}.plan-status{text-align:center;font-size:11px;color:#7f846f;margin-top:24px;line-height:1.6}.little-note{padding:60px 0 65px;border-top:1px solid var(--line);display:flex;justify-content:center;gap:55px}.note-symbol{font-family:Georgia,serif;font-size:94px;color:#b86a4f;transform:rotate(15deg);align-self:start;padding-top:16px;line-height:1}.little-note .eyebrow{color:#79806d;margin-bottom:17px}.little-note h2{font-family:var(--serif);font-size:43px;font-weight:400;letter-spacing:-1px;line-height:1.18}.little-note h2 em{color:var(--rust)}.little-note p:not(.eyebrow){font-size:13px;line-height:1.9;color:#707765;margin-block:19px 25px}.little-note .button{min-height:50px;font-size:12px}.signature{display:block;margin:22px 0 0 130px;transform:rotate(-5deg);font-size:19px;color:#7d806c}footer{border-top:1px solid var(--line);padding-block:25px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#808675}footer>span:first-child{font-size:8px;letter-spacing:1.2px}footer>span:last-child{font-size:10px;display:flex;align-items:center;gap:9px}
dialog{border:1px solid #d9ddce;border-radius:10px;max-width:calc(100% - 32px);width:500px;background:var(--paper);color:var(--ink);padding:35px 40px 28px;text-align:center;box-shadow:0 25px 100px #1a271c40;max-height:calc(100svh - 32px);overflow:auto}dialog::backdrop{background:#24382999;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .3s ease-out}.close-dialog{position:absolute;right:12px;top:9px;border:none;background:transparent;width:40px;height:40px;font-size:25px;color:#7c8271}.dialog-flower{color:var(--rust);font-size:40px;margin-bottom:14px}.dialog-options{border:0;padding:0;margin:20px 0;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-options legend{font-size:11px;margin-bottom:12px;text-align:center;width:100%;color:#737b65}.dialog-options label{display:flex;align-items:center;gap:6px;border:1px solid #d4dac8;border-radius:5px;padding:13px 8px;font-size:11px;cursor:pointer}.dialog-options label:has(input:checked){background:#e4ead9;border-color:#7c8f69}.dialog-options input{accent-color:var(--green);margin:0}.dialog-options label span{margin-left:auto}.dialog-options input:focus-visible{outline:2px solid var(--rust);outline-offset:3px}dialog .eyebrow{font-size:8px;letter-spacing:1.4px}dialog h2{font-family:var(--serif);font-weight:400;font-size:57px;line-height:1.03;letter-spacing:-1.5px;margin-top:16px}dialog h2 em{color:var(--rust)}.dialog-intro{font-size:12px;line-height:1.8;color:#747c69;margin-top:17px}.reply-card{background:#eeefdf;border-radius:5px;text-align:left;padding:18px;margin-bottom:20px}.reply-card>span{font-size:7px;letter-spacing:1.5px;color:#80866e}.reply-card p{font-family:var(--serif);font-size:21px;line-height:1.35;margin-top:10px;user-select:all}.copy-status{font-size:10px;line-height:1.6;margin-top:15px;color:#737b66;min-height:32px}.dialog-fine{font-size:9px;color:#858b76;margin-top:13px}.close-no{margin-top:24px}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}#confetti i{position:absolute;left:var(--x);top:-25px;width:9px;height:16px;background:var(--c);border-radius:60% 0 60% 0;animation:fall var(--t) var(--delay) ease-in forwards}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(600deg)}}
@media(min-width:1450px){.hero{gap:75px;padding-block:85px}.hero h1{font-size:85px}.hero-art{min-height:580px}.hero-description{font-size:15px}.art-footer{bottom:-5px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:22px;padding-top:58px}.hero h1{font-size:66px}.invitation-ticket{width:305px}.hero-art{min-height:540px}.forecast-sticker{right:-12px;top:315px;width:137px}.art-note{left:0;top:0}.art-footer{left:30px;bottom:0}.ticket-top{font-size:7px}.section-heading h2{font-size:35px}.option-art .handwriting{right:12px;max-width:100px;font-size:12px}.option-art svg{transform:translate(-20px,8px)}.marquee-extra{display:none}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.masthead{height:84px}.header-note{font-size:7px;letter-spacing:1px;gap:15px}.wordmark>span{display:none}.hero{grid-template-columns:1fr;gap:15px;padding:45px 0 51px}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;font-size:8px;letter-spacing:1.5px;margin-bottom:20px}.hero h1{font-size:clamp(57px,10vw,74px);letter-spacing:-2px}.hero-description{font-size:13px;margin-top:26px}.answer-buttons{justify-content:center}.answer-area{margin-top:25px;min-height:110px}.hero-art{width:min(450px,100%);margin:auto;min-height:535px;padding-top:20px}.invitation-ticket{width:310px}.art-note{left:10px;top:0;font-size:14px}.note-arrow{left:120px;top:6px}.forecast-sticker{right:0;top:330px}.art-footer{left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;bottom:-1px;font-size:13px}.marquee>div{gap:24px;padding-inline:20px}.marquee span{font-size:8px;letter-spacing:1.2px}.section-heading{display:block}.section-heading h2{font-size:35px}.section-heading>p{margin-top:16px;font-size:12px}.date-section{padding-top:49px;padding-bottom:45px}.date-options{gap:17px}.option-art{height:155px}.option-art svg{width:180px;transform:translateY(3px)}.option-art .handwriting{display:none}.option-number{left:16px;top:14px;font-size:7px}.option-copy{padding:19px 17px}.option-copy h3{font-size:23px}.option-copy p{font-size:11px}.option-tag{font-size:7px;letter-spacing:.7px}.little-note{gap:25px;padding-block:45px}.note-symbol{font-size:65px}.little-note h2{font-size:37px}.little-note .eyebrow{font-size:8px}.signature{margin-left:70px}footer{flex-direction:column;gap:5px;padding-block:20px}footer>span:first-child{font-size:7px}}
@media(max-width:480px){.header-note{max-width:145px;text-align:right;line-height:1.6}.header-note .tiny-heart{display:none}.wordmark{font-size:28px}.hero h1{font-size:58px}.hero-art{min-height:523px}.invitation-ticket{width:280px}.ticket-kicker{font-size:7px}.invitation-ticket h2{font-size:46px}.flower-art{width:230px;height:230px}.ticket-bottom strong{font-size:21px}.art-note{left:0;font-size:12px}.note-arrow{left:104px;width:47px;top:8px}.forecast-sticker{width:120px;height:65px;right:-7px;top:319px}.forecast-sticker svg{width:27px}.forecast-sticker span{font-size:6px}.forecast-sticker b{font-size:17px}.art-footer{bottom:6px;font-size:11px}.marquee>div{gap:18px}.marquee span{font-size:7px;letter-spacing:.9px}.marquee span:nth-child(even){font-size:19px}.date-options{grid-template-columns:1fr;gap:22px}.option-art{height:155px}.option-art svg{transform:translate(-20px,8px)}.option-art .handwriting{display:block;font-size:13px;right:21px;max-width:120px}.option-copy{padding:22px}.option-copy h3{font-size:28px}.option-copy p{font-size:12px}.option-tag{font-size:8px}.section-heading h2{font-size:32px;letter-spacing:-.8px}.little-note{gap:0;text-align:center}.note-symbol{display:none}.little-note h2{font-size:35px}.little-note .eyebrow{font-size:8px}.signature{margin-left:66px;font-size:17px}.little-note p:not(.eyebrow){font-size:12px}dialog{padding:30px 23px 23px}dialog h2{font-size:51px}.dialog-options label{font-size:10px;padding:12px 7px}.dialog-options{gap:7px}.reply-card p{font-size:20px}.hero-description{font-size:12px}.button{padding-inline:22px}}
/* Allow grid and flex children to shrink with the actual viewport, including
   narrow windows and browser zoom. Keep text resizing predictable on phones. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,main{min-width:0;width:100%}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero-copy,.hero-art,.date-option,.option-copy,.little-note>div{min-width:0}
.date-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.button{max-width:100%}
.answer-buttons{flex-wrap:wrap}
.dialog-options{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.dialog-options label,.reply-card{min-width:0;overflow-wrap:anywhere}

@media(max-width:800px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-art{max-width:100%}
}
@media(max-width:480px){
  .wrap{width:calc(100% - clamp(28px,10vw,44px))}
  .hero{padding-top:34px}
  .hero h1{font-size:clamp(30px,14.5vw,58px);letter-spacing:-.035em}
  .hero .eyebrow{font-size:8px;letter-spacing:1px;line-height:1.7}
  .hero-description{font-size:13px;line-height:1.8}
  .desktop-break{display:none}
  .answer-buttons{gap:12px}
  .hero-art{padding:38px 0 48px;min-height:0}
  .invitation-ticket{width:min(280px,calc(100% - 42px));max-width:100%}
  .flower-art{max-width:100%;height:auto;aspect-ratio:1}
  .forecast-sticker{right:0;top:60%}
  .art-footer{width:100%;white-space:normal;text-align:center;bottom:3px}
  .date-options{grid-template-columns:minmax(0,1fr)}
  .little-note h2{font-size:clamp(25px,8.8vw,35px)}
  .signature{margin-left:0}
  dialog{width:calc(100% - 24px);max-width:420px;padding:30px 20px 23px}
  dialog h2{font-size:clamp(28px,12vw,51px)}
}
@media(max-width:360px){
  .masthead{gap:12px}
  .header-note{font-size:6px;letter-spacing:.7px;max-width:110px}
  .hero .eyebrow{font-size:7px;letter-spacing:.65px}
  .invitation-ticket{transform:rotate(3deg)}
  .ticket-top{padding:12px 10px;gap:10px;letter-spacing:.8px;flex-wrap:wrap}
  .ticket-kicker{font-size:6px;letter-spacing:1px}
  .invitation-ticket h2{font-size:clamp(29px,11vw,40px)}
  .ticket-bottom{padding:16px 12px;gap:12px;flex-wrap:wrap;justify-content:center;text-align:center}
  .ticket-bottom strong{font-size:19px}
  .admit{padding-left:12px}
  .ticket-caption{font-size:10px;padding-inline:10px}
  .note-arrow{display:none}
  .forecast-sticker{width:104px;height:59px;right:0;top:57%}
  .forecast-sticker b{font-size:15px}
  .option-copy{padding:19px 16px}
  .option-copy h3{font-size:25px}
  .dialog-options{grid-template-columns:minmax(0,1fr)}
  .dialog-options label{font-size:12px;min-height:44px}
  .section-heading h2{font-size:clamp(25px,8.2vw,30px)}
}
@media(max-width:280px){
  .header-note{display:none}
  .hero-description br{display:none}
  .button{padding-inline:16px;gap:12px;font-size:12px}
  .invitation-ticket{transform:none;width:100%}
  .hero-art{padding-top:48px}
  .forecast-sticker{display:none}
  .option-art .handwriting{display:none}
  .option-art svg{max-width:100%;transform:none}
  .option-copy h3{font-size:23px}
  .option-copy p{font-size:12px}
}
.spring-companion{display:flex;align-items:center;gap:9px;max-width:420px;min-width:0;margin:0 0 23px;padding:8px 17px 8px 5px;background:#eceede;border:1px solid #dde2ce;border-radius:12px;text-align:left;transition:background .4s,border-color .4s}
.chibi-stage{width:132px;height:132px;flex:0 0 132px;min-width:0}
.chibi-svg{display:block;width:100%;height:100%;overflow:visible}
.companion-copy{flex:1;min-width:0;padding-block:9px}
.companion-kicker{display:block;font-size:7px;letter-spacing:1px;line-height:1.7;color:#7b826c}
.companion-copy strong{display:block;font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.4px;line-height:1.1;margin-block:7px;min-height:50px;display:flex;align-items:center}
.companion-copy p{font-size:11px;line-height:1.6;color:#78806c;min-height:35px}
.chibi-body{transform-origin:100px 180px;animation:chibi-breathe 3.2s ease-in-out infinite}
.chibi-head{transform-origin:100px 132px;animation:chibi-tilt 4.8s ease-in-out infinite;transition:transform .4s}
.chibi-eye{transform-box:fill-box;transform-origin:center;animation:chibi-blink 4.6s linear infinite}
.chibi-sprout{transform-origin:99px 33px;animation:chibi-sprout 3.2s ease-in-out infinite}
.chibi-arm{transform-origin:122px 136px;transition:transform .4s}
.chibi-flower{transform-origin:139px 153px;transition:transform .5s}
.chibi-shadow{transform-origin:101px 184px;animation:chibi-shadow 3.2s ease-in-out infinite}
.chibi-puddle,.chibi-tears,.chibi-cloud,.chibi-hearts{opacity:0;transition:opacity .35s}
.chibi-puddle{transform-origin:102px 184px}
.chibi-happy-eyes,.chibi-squeezed-eyes{display:none}
.dialog-chibi{width:130px;height:130px;margin:-15px auto 5px}
.dialog-chibi .chibi-stage{width:100%;height:100%}
[data-mood="unsure"] .chibi-head{animation:none;transform:rotate(-8deg)}
[data-mood="unsure"] .chibi-flower{transform:rotate(12deg)}
[data-mood="sad"],[data-mood="rainy"],[data-mood="puddle"]{background:#e9edef;border-color:#d9e1e3}
[data-mood="sad"] .chibi-head,[data-mood="rainy"] .chibi-head,[data-mood="puddle"] .chibi-head{animation:none;transform:translateY(4px) rotate(5deg)}
[data-mood="sad"] .chibi-flower,[data-mood="rainy"] .chibi-flower,[data-mood="puddle"] .chibi-flower{transform:rotate(32deg)}
[data-mood="sad"] .chibi-sprout,[data-mood="rainy"] .chibi-sprout,[data-mood="puddle"] .chibi-sprout{animation:none;transform:rotate(-25deg)}
[data-mood="sad"] .chibi-tears,[data-mood="rainy"] .chibi-tears,[data-mood="puddle"] .chibi-tears{opacity:1}
[data-mood="sad"] .tear-two{display:none}
.tear{animation:chibi-tear 1.7s ease-in infinite;transform-origin:center}
.tear-two{animation-delay:.8s}
[data-mood="rainy"] .chibi-cloud,[data-mood="puddle"] .chibi-cloud{opacity:1}
.chibi-cloud{animation:chibi-cloud 4s ease-in-out infinite}
.chibi-rain path{animation:chibi-drizzle 1.1s linear infinite}
.chibi-rain path:nth-child(2){animation-delay:.35s}
.chibi-rain path:nth-child(3){animation-delay:.7s}
[data-mood="puddle"] .chibi-puddle{opacity:.65;animation:chibi-ripple 2s ease-in-out infinite}
[data-mood="puddle"] .chibi-body{animation:chibi-sniffle .6s ease-in-out infinite}
[data-mood="puddle"] .chibi-open-eyes{display:none}
[data-mood="puddle"] .chibi-squeezed-eyes{display:block}
[data-mood="puddle"] .tear{animation-duration:.9s}
[data-mood="happy"] .chibi-open-eyes{display:none}
[data-mood="happy"] .chibi-happy-eyes{display:block}
[data-mood="happy"] .chibi-mouth{fill:#d67d72}
[data-mood="happy"] .chibi-body{animation:chibi-dance .8s ease-in-out infinite}
[data-mood="happy"] .chibi-head{animation:chibi-tilt 1.6s ease-in-out infinite}
[data-mood="happy"] .chibi-arm{animation:chibi-wave .8s ease-in-out infinite}
[data-mood="happy"] .chibi-hearts{opacity:1}
.chibi-heart{animation:chibi-heart 2s ease-out infinite;transform-origin:center;transform-box:fill-box}
.heart-two{animation-delay:.7s}.heart-three{animation-delay:1.3s}
[data-mood="calm"] .chibi-head{animation:none}
[data-mood="calm"] .chibi-body{animation:chibi-breathe 4.5s ease-in-out infinite}
@keyframes chibi-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes chibi-tilt{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes chibi-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}
@keyframes chibi-sprout{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes chibi-shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.9);opacity:.7}}
@keyframes chibi-tear{0%,10%{opacity:0;transform:translateY(-1px) scale(.6)}25%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(22px) scale(1)}}
@keyframes chibi-cloud{0%,100%{transform:translateX(-2px)}50%{transform:translateX(2px)}}
@keyframes chibi-drizzle{0%{opacity:0;transform:translateY(-4px)}25%{opacity:1}100%{opacity:0;transform:translate(-4px,15px)}}
@keyframes chibi-ripple{0%,100%{transform:scaleX(.92)}50%{transform:scaleX(1.05)}}
@keyframes chibi-sniffle{0%,100%{transform:translateX(-.8px)}50%{transform:translateX(.8px) translateY(1px)}}
@keyframes chibi-dance{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(4deg)}}
@keyframes chibi-wave{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(-24deg)}}
@keyframes chibi-heart{0%{opacity:0;transform:translateY(8px) scale(.6)}25%{opacity:1}100%{opacity:0;transform:translateY(-17px) scale(1.05)}}
@media(max-width:800px){.spring-companion{margin-inline:auto}}
@media(max-width:480px){
  .spring-companion{padding:7px 14px 7px 3px;gap:7px;margin-bottom:21px}
  .chibi-stage{width:116px;height:126px;flex-basis:116px}
  .companion-copy strong{font-size:22px;min-height:49px}
  .companion-copy p{font-size:10px;min-height:32px}
  .companion-kicker{font-size:6px;letter-spacing:.8px}
  .dialog-chibi{width:115px;height:115px;margin-top:-15px}
}
@media(max-width:360px){
  .chibi-stage{width:98px;flex-basis:98px}
  .companion-copy strong{font-size:20px}
  .companion-kicker{letter-spacing:.5px}
}
@media(max-width:280px){
  .spring-companion{flex-direction:column;padding:5px 12px 15px;text-align:center;gap:0}
  .chibi-stage{flex-basis:auto;height:105px;width:105px}
  .companion-copy{padding:0}
  .companion-copy strong{min-height:0;justify-content:center}
  .companion-copy p{min-height:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}#confetti{display:none}}
