/* fusion-pixel-12px-proportional-sc-latin-400-normal */
@font-face {
  font-family: 'Fusion Pixel 12px Proportional SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(fonts/fusion-pixel-12px-proportional-sc-latin-400-normal.woff2) format('woff2'), url(fonts/fusion-pixel-12px-proportional-sc-latin-400-normal.woff) format('woff');
}
:root {
  --ink:#4a2a24; --paper:#f8dc9a; --paper-light:#fff1c3; --wood:#a95632;
  --wood-dark:#5b2f24; --green:#63a643; --grass:#82bb50; --purple:#251341;
  --pixel-font:"Fusion Pixel 12px Proportional SC","PingFang SC",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:#1b322b} body{margin:0;color:var(--ink);font-family:var(--pixel-font);font-smooth:never;-webkit-font-smoothing:none} button,input,select,textarea{font:inherit} button,a{-webkit-tap-highlight-color:transparent}.game-page{width:min(100%,560px);margin:auto;overflow:hidden;background:#7eb64d;box-shadow:0 0 60px #0a1713;image-rendering:pixelated}.screen-panel{min-height:100svh}.title-screen{position:relative;display:grid;place-content:center;text-align:center;overflow:hidden;background:#16427a url('assets/pixel-hero.webp') center/cover no-repeat;color:#ffe36d}.title-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,76,.18),transparent 50%,rgba(10,31,29,.2));pointer-events:none}.title-logo{position:relative;z-index:2;display:grid;justify-items:center;gap:0;font-size:clamp(54px,17vw,94px);line-height:.7;letter-spacing:2px;text-shadow:4px 0 #5d351c,-4px 0 #5d351c,0 4px #5d351c,0 -4px #5d351c,7px 8px #233b22;transform:rotate(-1deg)}.title-logo b{font-size:.42em;color:#ec9460;line-height:1}.new-save{position:relative;z-index:2;color:#fff4be;font-size:14px;letter-spacing:4px;text-shadow:2px 2px #233b22;margin:30px 0}.scroll-cue{position:absolute;z-index:2;bottom:30px;left:0;right:0;color:#fff4be;font-size:13px;text-shadow:2px 2px #183426;animation:bounce 1.3s steps(2) infinite}.scroll-cue span{display:block}.music-button{position:absolute;z-index:5;right:14px;top:16px;width:45px;height:45px;border:4px solid #693929;background:#f3c66f;color:#7d372f;box-shadow:inset 0 0 0 3px #fff0ad,4px 4px #41251e;font-size:23px}.music-note{position:absolute;z-index:6;right:16px;top:72px;padding:10px 12px;border:4px solid #5d3327;background:#f8dfa1;color:#563228;box-shadow:inset 0 0 0 2px #fff0b9,4px 4px rgba(0,0,0,.25);font-size:12px;line-height:1.6}.music-note small{color:#986443}.pixel-petals i{position:absolute;z-index:1;top:-5%;width:7px;height:7px;background:#f4a6b7;box-shadow:7px 4px #ef7599;animation:fall 8s linear infinite}.pixel-petals i:nth-child(1){left:5%;animation-delay:-2s}.pixel-petals i:nth-child(2){left:13%;animation-delay:-5s}.pixel-petals i:nth-child(3){left:22%;animation-delay:-7s}.pixel-petals i:nth-child(4){left:31%;animation-delay:-1s}.pixel-petals i:nth-child(5){left:39%;animation-delay:-4s}.pixel-petals i:nth-child(6){left:47%;animation-delay:-6s}.pixel-petals i:nth-child(7){left:54%;animation-delay:-3s}.pixel-petals i:nth-child(8){left:61%;animation-delay:-8s}.pixel-petals i:nth-child(9){left:68%;animation-delay:-1.5s}.pixel-petals i:nth-child(10){left:74%;animation-delay:-4.5s}.pixel-petals i:nth-child(11){left:81%;animation-delay:-7.5s}.pixel-petals i:nth-child(12){left:89%;animation-delay:-2.5s}.pixel-petals i:nth-child(13){left:95%;animation-delay:-5.5s}.pixel-petals i:nth-child(14){left:34%;animation-delay:-9s}.pixel-petals i:nth-child(15){left:65%;animation-delay:-10s}@keyframes fall{to{transform:translate(50px,110vh) rotate(180deg)}}@keyframes bounce{50%{transform:translateY(6px)}}
.game-grass{position:relative;padding:24px 14px 42px;background-color:#79b54d;background-image:linear-gradient(90deg,rgba(71,142,49,.22) 1px,transparent 1px),linear-gradient(rgba(71,142,49,.22) 1px,transparent 1px);background-size:16px 16px}.game-grass::before,.game-grass::after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,#276b37 0 8px,#4a8c43 8px 16px)}.game-grass::before{top:0}.game-grass::after{bottom:0}.scene-frame{border:7px solid #6c3827;box-shadow:inset 0 0 0 4px #c78345,5px 5px rgba(38,74,41,.42);background:#c78345;overflow:hidden}.scene-frame img{display:block;width:100%;height:auto;image-rendering:pixelated}.scene-frame.large img{max-height:660px;object-fit:cover}.parchment,.menu-window{background:var(--paper);border:5px solid #6b3728;box-shadow:inset 0 0 0 3px #d6924d,5px 5px rgba(41,71,36,.35)}.invite-card{position:relative;margin:16px 2px 0;padding:26px 18px 20px;text-align:center}.heart-line{margin:0;color:#a53f50;font-size:22px}.invite-card h1{font-size:29px;margin:10px 0 4px;color:#793132}.invite-card h1 span{color:#cc6775}.subline{font-size:13px;color:#8b5941;margin:0 0 16px}.invite-facts{margin:0 auto;max-width:390px;text-align:left}.invite-facts>div{display:grid;grid-template-columns:26px 1fr;align-items:center;margin:8px 0}.invite-facts dt{color:#9b3f3d;font-size:18px}.invite-facts dd{margin:0;font-size:14px}.invite-facts b{display:inline-block;width:52px;color:#68352b}.invite-sign{padding-top:12px;border-top:2px dashed #c28759;color:#a05c47}.calendar-section{padding-top:36px}.season-title,.pixel-heading{text-align:center;color:#fff4c3;text-shadow:2px 2px #4f5c31;font-size:22px;margin:4px 0 18px}.wood-nameplate{margin:0 auto 18px;padding:15px 12px 12px;max-width:430px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;border:6px solid #6e3b27;background:#d58349;color:#7a3827;box-shadow:inset 0 0 0 4px #efbd72,5px 5px #4b6f3b;font-size:36px;text-align:center;text-shadow:2px 2px #f3cb83}.wood-nameplate span:nth-child(2){font-size:22px;color:#b54d43}.schedule-window{padding:10px;margin:auto}.menu-row{display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:center;padding:11px 6px;border-bottom:3px solid #9a5c3d}.menu-row:last-child{border-bottom:0}.menu-row>div{display:grid;grid-template-columns:58px 1fr;align-items:baseline}.menu-row strong{font-size:18px;color:#bf4a3d}.menu-row b{font-size:16px}.menu-row p{grid-column:1/3;margin:3px 0 0;font-size:12px;color:#8a5f45}.pixel-icon{width:58px;height:48px;display:grid;place-items:center;background:#e9a745;border:4px solid #6c3c2c;box-shadow:inset 0 0 0 3px #f9d27c,3px 3px #7d513b;font-size:25px}.pixel-icon.blue{background:#78b8ce}.pixel-icon.red{background:#cf775c}.tiny-houses{display:flex;justify-content:space-around;margin:17px 8px 0;font-size:42px;filter:drop-shadow(3px 3px #3e713c)}
.quest-section{padding-top:30px}.quest-window{position:relative;padding:51px 20px 25px;background:var(--purple);border:7px solid #211135;box-shadow:inset 0 0 0 4px #6f4c89,5px 5px #436534;color:#f6e5c0;min-height:470px}.quest-tabs{position:absolute;top:0;left:0;right:0;height:42px;display:flex;gap:7px;padding:6px 8px;background:#d18c45}.quest-tabs i{flex:1;background:#92bce0;border:3px solid #5d3529;text-align:center;padding:2px;color:#4b253d}.new-quest{position:absolute;right:-4px;top:42px;padding:4px 7px;background:#d72e58;color:#fff;font-size:11px;transform:rotate(2deg)}.quest-window h2{text-align:center;font-size:20px;letter-spacing:2px;margin:13px 0 18px}.quest-window p{font-size:14px;line-height:1.8;color:#e2cfb4}.quest-window ul{list-style:none;padding:0;margin:18px 0;line-height:2}.quest-window li b{color:#ffdb3e;font-size:20px;margin-right:8px}.quest-reward{border:3px solid #513b75;padding:10px;text-align:center;color:#f5db95;background:#20123a}.couple-sprite{display:block;max-width:120px;max-height:110px;margin:15px auto -5px;object-fit:contain;image-rendering:pixelated}.portrait-strip{margin-top:10px;padding:7px;display:grid;grid-template-columns:repeat(10,1fr);gap:3px;border:4px solid #5f3528;background:#d88c43}.portrait-strip i{aspect-ratio:1;display:grid;place-items:center;border:2px solid #63382b;background:#f0c670;color:#a74945;font-style:normal;font-size:15px}.venue-section{padding-top:34px}.pixel-heading{background:#d98a45;margin:0 -14px 12px;padding:10px}.dialogue-box{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:center;margin:13px 2px;padding:12px;background:#f6e6b0;border:4px solid #65372b;box-shadow:inset 0 0 0 2px #d19a5e}.dialogue-box .avatar{width:55px;height:55px;display:grid;place-items:center;background:#a24f4b;color:#ffe5a2;border:3px solid #643127}.dialogue-box p{margin:0;line-height:1.6;font-size:13px}.venue-window{display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:center;padding:12px;margin-top:16px}.venue-window strong{font-size:18px;color:#a7463b}.venue-window p{margin:4px 0;font-size:13px}.venue-window small{color:#8c6b4c}.pixel-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:16px}.pixel-countdown div{padding:9px 2px;text-align:center;border:4px solid #673729;background:#efbd6d;box-shadow:inset 0 0 0 2px #ffe3a2}.pixel-countdown strong,.pixel-countdown span{display:block}.pixel-countdown strong{font-size:24px;color:#8d3e34}.pixel-countdown span{font-size:11px}.rsvp-section{padding-top:38px;background-color:#e8a49b;background-image:linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:16px 16px}.junimo-row{display:flex;justify-content:space-around;margin-bottom:10px}.junimo-row i{font-style:normal;font-size:36px;color:var(--junimo);text-shadow:2px 2px #4b5438}.rsvp-card{padding:24px 18px;margin:0 2px}.rsvp-intro{text-align:center;font-size:14px;line-height:1.8}.rsvp-card form{display:grid;gap:15px;margin-top:22px}.rsvp-card label,.rsvp-card legend{display:grid;gap:6px;font-size:13px;color:#6b392e}.rsvp-card fieldset{border:0;padding:0;margin:0}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{width:100%;padding:11px;border:4px solid #6d3a2d;background:#fff4c9;color:#4b2d24;outline:0;box-shadow:inset 0 0 0 2px #d8a961}.rsvp-card input:focus,.rsvp-card select:focus,.rsvp-card textarea:focus{border-color:#b94d49}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice-row button,.game-button{padding:11px 6px;border:4px solid #673429;background:#e3a45c;color:#65372d;box-shadow:inset 0 0 0 2px #f4cf81,3px 3px #744536}.choice-row button.selected,.game-button{background:#b23b57;color:#fff7c8}.game-button{width:100%;font-size:15px}.game-button:active{transform:translate(3px,3px);box-shadow:inset 0 0 0 2px #f4cf81}.game-button:disabled{opacity:.65}.error-text{color:#a22c34;text-align:center}.success-message{text-align:center;padding:28px 0}.success-message span{font-size:40px;color:#e5a83a}.success-message h3{font-size:24px;margin:8px}.item-row{margin-top:12px;padding:10px 4px;text-align:center;border:4px solid #673429;background:#f1c977;font-size:22px;letter-spacing:5px}footer{display:grid;gap:5px;text-align:center;padding:34px 10px 48px;color:#fff1c4;text-shadow:2px 2px #6c4b53}footer b{font-size:20px}footer span{font-size:12px;letter-spacing:2px}.game-toolbar{position:fixed;z-index:20;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 20px),530px);height:43px;display:grid;grid-template-columns:48px 1fr 64px;align-items:center;border:4px solid #563125;background:#e9b357;box-shadow:inset 0 0 0 2px #ffdb87,4px 4px rgba(20,34,22,.5)}.game-toolbar a,.game-toolbar span{text-align:center;color:#5d3328;text-decoration:none}.game-toolbar a{height:100%;display:grid;place-items:center;border-right:3px solid #7c4b32}.game-toolbar a:last-child{border-right:0;border-left:3px solid #7c4b32}.game-toolbar b{color:#b93e4f}.error-text{font-size:12px}
@media(max-width:390px){.wood-nameplate{font-size:30px}.menu-row{grid-template-columns:58px 1fr}.pixel-icon{width:52px}.invite-card{padding-left:13px;padding-right:13px}.portrait-strip{grid-template-columns:repeat(5,1fr)}.title-logo{font-size:54px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Rendered from the user-selected Stardew Valley Regular typeface. The title
   is an image so the downloadable font file itself is not redistributed. */
.title-logo{width:min(91vw,500px);padding:0 12px;text-shadow:none;filter:drop-shadow(6px 8px 0 #233b22)}
.title-logo .logo-lettering{display:block;width:100%;height:auto;object-fit:contain;image-rendering:auto;transform:rotate(-1deg)}
.field-hint{display:block;color:#9a6248;font-size:11px;line-height:1.5}

@media(max-width:390px){.title-logo{padding-left:10px;padding-right:10px}}

/* Preserve the Regular letterforms; map their colors to the game's logo palette. */
.title-color-filter{position:absolute;pointer-events:none}
.title-screen{background-image:url('assets/pixel-hero.webp')}
.title-logo{transform:none;filter:none;max-width:100%;justify-self:center}
.title-logo .logo-lettering{filter:url('#stardew-gold');image-rendering:pixelated;transform:none}
.new-save{margin:22px 0 24px}
.enter-button{position:relative;z-index:2;justify-self:center;width:auto;max-width:calc(100% - 48px);padding:13px 20px}
.music-hint{position:relative;z-index:2;font-size:13px;color:#fff1bf;text-shadow:2px 2px #233b22;margin:12px 0 0}
.scroll-cue{bottom:76px;color:#fff4be;text-decoration:none;font-size:14px}
.music-button{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(14px,calc((100vw - 530px)/2));z-index:30;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;font-size:22px}
.music-button span{font-size:12px;line-height:1}
.music-button.is-playing{background:#f6d878;color:#803331}
.music-note{position:fixed;z-index:31;right:max(16px,calc((100vw - 530px)/2));top:82px;max-width:calc(100vw - 32px);font-size:14px}
.music-credit{color:#644333;text-shadow:none;font-size:12px;margin-top:14px;text-underline-offset:3px}
.invite-card{margin-top:8px}
.subline,.invite-facts dd,.quest-window p,.quest-window li,.rsvp-intro,.dialogue-box p,.venue-window p{font-size:16px}
.menu-row p,.rsvp-card label,.rsvp-card legend{font-size:14px;line-height:1.6}
.rsvp-card input,.rsvp-card select,.rsvp-card textarea{font-size:16px;min-height:48px}
.choice-row button{min-height:48px;font-size:16px}
.field-hint,.venue-window small{font-size:13px;line-height:1.6}
.invite-facts dd{line-height:1.7}.invite-facts b{width:48px}
.countdown-label{text-align:center;margin:22px 0 10px;color:#fff4c3;font-size:16px;text-shadow:2px 2px #4f5c31}
.rsvp-summary{font-size:14px}
button:focus-visible,a:focus-visible{outline:3px solid #fff7c8;outline-offset:4px}
.game-toolbar{height:48px;grid-template-columns:48px 1fr 70px}
footer{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
@media(max-width:360px){.invite-card h1{font-size:26px}.invite-facts dd{font-size:14px}.heart-line{font-size:20px}.wood-nameplate{font-size:26px}.menu-row{gap:8px}.menu-row>div{grid-template-columns:54px 1fr}.menu-row b{font-size:15px}.rsvp-card{padding:22px 12px}}
@media(max-height:650px){.title-logo{width:min(80vw,390px)}.title-screen{min-height:660px}.new-save{margin:16px 0}.scroll-cue{bottom:68px}}

[hidden]{display:none!important}
