/* Game-like UI: pixel type, chunky wood frames and solid shadows. */
.blessing-banner{position:fixed;z-index:19;top:62px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),530px);display:flex;align-items:center;height:38px;border:3px solid #714321;background:#ffe0a3;box-shadow:3px 3px #51391f;font:12px Zpix,monospace;color:#704327;overflow:hidden}.banner-label{flex-shrink:0;padding:0 8px;color:#ac463b;border-right:2px solid #c58e46}.banner-window{flex:1;min-width:0;overflow:hidden}.banner-track{display:flex;width:max-content;animation:blessingDrift var(--banner-duration,25s) linear infinite;will-change:transform}.banner-group{display:flex;flex:none;align-items:center}.banner-group>span{display:block;white-space:pre;padding:0 28px 0 12px;font:12px/28px Zpix,monospace}.blessing-banner button{flex:none;align-self:stretch;width:34px;padding:0;border:0;border-left:2px solid #c58e46;background:#efbd71;color:#724223;cursor:pointer}.blessing-banner.is-paused .banner-track,.blessing-banner:hover .banner-track,.blessing-banner:focus-within .banner-track{animation-play-state:paused}html:has(.blessing-banner:not([hidden])){scroll-padding-top:116px}@keyframes blessingDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.banner-track{animation:none!important;transform:none}.banner-window{overflow-x:auto}.blessing-banner{height:auto;min-height:38px}.banner-group>span{white-space:normal;min-width:240px;padding-block:4px}}
@font-face{font-family:Zpix;src:url('./assets/stardew/zpix.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--pixel-font:Zpix,'Microsoft YaHei',monospace;--edge:#62351c;--rim:#b56a30;--light:#ffcf79;--parchment:#ffd993}
body{font-family:var(--pixel-font);font-synthesis:none;color:#633b21;background-color:#344d36;background-image:url('./assets/stardew/valley.png');-webkit-font-smoothing:none}
body button,body input,body select,body textarea,body p,body h1,body h2,body h3,body b,body span,body small,body output,body time,body dt,body dd,body a,body legend{font-family:var(--pixel-font)!important;font-weight:400!important}
.phone-shell{box-shadow:8px 0 #243523,-8px 0 #243523;width:min(100%,560px)}
.hero-copy,.mission-card,.crew-phone,.menu-board,.map-console,.rsvp-phone{border:6px solid var(--edge);border-image:none;background:var(--parchment);box-shadow:inset 0 0 0 4px var(--light),inset 0 0 0 8px #c38642,6px 6px 0 #48371f;outline:3px solid #d89949;outline-offset:-9px;border-radius:0;filter:none;padding:23px}
.hero-copy::before,.mission-card::before,.crew-phone::before,.menu-board::before,.rsvp-phone::before{content:'';position:absolute;top:5px;left:5px;width:5px;height:5px;background:#73441f;box-shadow:0 2px #ffcf79;pointer-events:none}
.hero-copy{top:39%;left:7%;right:7%;padding:24px 18px}.hero h1{font-size:36px;line-height:1.5;letter-spacing:0;color:#753d22;text-shadow:2px 2px #ffefae;margin:10px 0}.hero h1 span{font-size:24px;color:#c94346;text-shadow:2px 2px #842c2c}
.hero-brand{top:9%;width:72%}.hero-brand p{font-size:12px;letter-spacing:0;line-height:2;margin-top:14px}.mission-code{font-size:12px;letter-spacing:0;color:#92512d}.hero-subtitle{font-size:12px;letter-spacing:0;margin-bottom:12px}.mission-ticket{grid-template-columns:36px 1fr;gap:5px;border-top:2px dashed #c18b48}.mission-ticket span,.mission-ticket b{font-size:12px;line-height:1.7;letter-spacing:0}.hero-hud{font-size:12px;letter-spacing:0}.hero-hud b{border:3px solid #693d23;box-shadow:inset 2px 2px #ffe1a0,3px 3px #2a4735}.hero-hearts{color:#e64f48;text-shadow:2px 2px #772f25;font-size:24px;letter-spacing:2px;bottom:150px}.start-note{font-size:12px;letter-spacing:0}
.section-title{gap:14px;margin-bottom:24px}.section-title h2,.arrival .section-title h2{font-size:24px;letter-spacing:0;color:#644022;text-shadow:2px 2px #f8e9a9;line-height:1.5}.section-title p,.section-title.light p,.arrival .section-title p{font-size:12px;letter-spacing:0;line-height:1.5;color:#526538}.section-title>span{width:42px;height:42px;border:3px solid #70421f;background:#e8a852;box-shadow:inset 3px 3px #ffd78c,inset -3px -3px #b87433,3px 3px #576139;color:#6b391e;font-size:24px}
.story-section{padding:48px 26px;border-top:4px solid #827344}.underwater,.rsvp-section{background-color:#b5c975;background-image:repeating-linear-gradient(0deg,transparent 0 30px,#9fb65e44 30px 32px),repeating-linear-gradient(90deg,transparent 0 30px,#9fb65e33 30px 32px)}.crew-section,.arrival{background:#e0ba76}.schedule-section{background:#a8b966}
.mission-card h3{font-size:24px;margin:18px 0 10px}.mission-card>p{font-size:12px;line-height:2.2}.card-top,.card-top b,.mission-card dt{font-size:12px;line-height:1.5;letter-spacing:0}.mission-card dd,.venue-one-line{font-size:12px!important;line-height:1.8}.mission-card dl div{grid-template-columns:48px 1fr;border-color:#c18b48}.card-top{border-color:#c18b48}.mission-card::after{display:none}
.dive-button,.accept-button,.submit-button,.map-console a,.rsvp-success button,.crew-controls button{border:3px solid #643a20;background:#eaaa54;color:#63381c;box-shadow:inset 3px 3px #ffdf91,inset -3px -3px #b97936,3px 4px #573c23;border-radius:0;font-size:12px;letter-spacing:0;min-height:44px;transition:none}.dive-button{padding:13px 20px}.accept-button:hover,.submit-button:hover,.dive-button:hover,.map-console a:hover{background:#ffcb71}.accept-button:active,.submit-button:active,.crew-controls button:active{box-shadow:inset 3px 3px #b97936;translate:2px 2px}.mission-card.is-accepted .accept-button{background:#a2bb65;color:#3b5425;box-shadow:inset 3px 3px #c6df91,inset -3px -3px #77964d,3px 4px #573c23}
.exploration-frame,.restaurant-screen{border:6px solid #754221;outline:2px solid #d9994b;outline-offset:-4px;box-shadow:4px 4px #573c23}.scene-caption,.scene-caption small,.fish-unlock{font-size:12px;line-height:2;color:#42532c}.pixel-fish{font-family:var(--pixel-font);font-size:36px;color:#cf4941;text-shadow:3px 3px #7c3526}.sonar-button{border:3px solid #6e4423;box-shadow:inset 2px 2px #ffe0a0,2px 2px #583b21;font-size:12px}
.phone-top{font-size:12px;padding:0 0 14px}.crew-slides{min-height:200px}.crew-slide{gap:16px;padding:20px 0}.crew-slide img{width:96px;height:96px;border:3px solid #915328;background:#dfaf63;box-shadow:inset 3px 3px #f5cf82}.crew-slide p{font-size:12px;line-height:2}.crew-slide p b{font-size:24px;line-height:1.5;margin-bottom:10px}.crew-slide p small{font-size:12px;letter-spacing:0}.crew-controls output{font-size:12px;line-height:1.5}.crew-controls{grid-template-columns:44px 1fr 44px}.board-title,.menu-total,.menu-board article span,.restaurant-status{font-size:12px;line-height:1.7;letter-spacing:0}.menu-board time{font-size:24px}.menu-board article{grid-template-columns:72px 1fr;gap:8px}.menu-board article strong{display:none}.menu-board article b{font-size:24px;line-height:1.4}.menu-total b{font-size:24px}.countdown-card{font-size:12px;line-height:1.5}.countdown-card b{font-size:36px}.countdown-card small{font-size:12px}
.map-console{padding-top:182px}.map-grid{border-bottom:4px solid #754221}.coordinate,.map-console>p:not(.coordinate){font-size:12px;line-height:2;letter-spacing:0}.map-console h3{font-size:24px;line-height:1.5}.app-bar{font-size:12px;line-height:1.5;padding:0 0 12px}.app-bar small{font-size:12px}.app-bar span{display:none}.rsvp-phone form{padding:16px 0 0}.demo-notice{font-size:12px;line-height:1.8;color:#806039}.rsvp-phone label>span,.rsvp-phone legend{font-size:12px;line-height:1.8}.rsvp-phone input,.rsvp-phone select,.rsvp-phone textarea{font-size:16px;border:3px solid #a16934;box-shadow:inset 3px 3px #dbb471;background:#ffedb7;color:#694124}.choice-row span{border:3px solid #a16934;font-size:12px;background:#ebc080}.choice-row input:checked+span{background:#abc46d;border-color:#647d35;color:#3c5429!important;box-shadow:inset 2px 2px #d5e69a}.date-fields{grid-template-columns:1fr}.date-fields input{font-size:16px;padding:9px}.rsvp-phone label>small,.clear-demo{font-size:12px}.rsvp-success h3{font-size:24px}.rsvp-success p{font-size:12px}.quick-nav{border:4px solid #633b21;background:#eebc72;box-shadow:inset 3px 3px #ffdf98,inset -3px -3px #b87a35,3px 3px #384127;backdrop-filter:none}.quick-nav a{font-size:12px;padding:12px 0}.quick-nav a+a{border-left:3px solid #b88142}.music-dock>button{border:4px solid #633b21;background:#eebc72;box-shadow:inset 2px 2px #ffdf98,3px 3px #384127;font-size:24px;width:48px;height:48px}.game-hud{border:4px solid #704221;box-shadow:inset 2px 2px #fff0b1,3px 3px #423824;background:#f2c57f;backdrop-filter:none}.game-hud *{font-size:12px!important}.oxygen i{border:2px solid #78512b;height:12px;background:#d6a868}.oxygen b{background:#c84741}.ending-copy h2{font-size:24px;line-height:2}.ending-copy b{font-size:24px}.ending-copy p,.ending-copy span,footer p{font-size:12px;line-height:2;letter-spacing:0}.reveal{transition:opacity .25s steps(3),transform .25s steps(3)}
@media(max-width:430px){.story-section{padding:40px 18px}.hero-copy{left:6%;right:6%;top:37%;padding:18px 14px}.hero-brand{top:10%;width:76%}.hero h1{font-size:36px}.hero-brand p{font-size:12px}.hero-hud{font-size:12px}.hero-hud>span:last-child{display:none}.mission-ticket{grid-template-columns:36px 1fr}.mission-ticket b{font-size:12px}.hero-hearts{font-size:24px;letter-spacing:0}.section-title{gap:10px}.section-title h2,.arrival .section-title h2{font-size:24px}.section-title p{font-size:12px}.mission-card,.crew-phone,.menu-board,.map-console,.rsvp-phone{padding:20px 16px}.mission-card h3{font-size:24px}.crew-slide{gap:12px}.crew-slide img{width:72px;height:72px}.crew-slide p b{font-size:24px}.crew-slides{min-height:240px}.map-console{padding-top:176px}.rsvp-phone form{padding:16px 0 0}.ending{padding:0}.app-bar{font-size:12px;display:flex;gap:8px;flex-wrap:wrap}.app-bar small{margin-left:auto}.hero-subtitle{font-size:12px}.start-note{font-size:12px}.mission-code{font-size:12px}}
/* Flow layout keeps the invitation usable with narrow screens and browser zoom. */
.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:auto;min-height:100svh;max-height:none;padding:86px 0 100px}.hero-brand{position:relative;top:auto;left:auto;transform:none;width:72%;margin:0 auto 28px;order:0}.hero-copy{position:relative;top:auto;left:auto;right:auto;width:86%;margin:0 auto;order:1}.hero-hearts{position:relative;bottom:auto;left:auto;right:auto;margin:24px 0 16px;order:2}.dive-button{position:relative;bottom:auto;left:auto;transform:none;margin:0 auto;order:3;max-width:90%}.start-note{position:relative;bottom:auto;left:auto;right:auto;margin:14px 16px 0;order:4;line-height:1.8;text-align:center}.hero-brand p{letter-spacing:0}.hero-hud{gap:8px}.hero-brand img{width:100%}.hero .mission-ticket{overflow-wrap:anywhere}.game-hud{gap:8px}.depth,.caught{white-space:nowrap}.oxygen{gap:4px}.oxygen i{width:64px}.story-section{scroll-margin-top:16px}
@media(max-width:430px){.hero{padding-top:76px}.hero-brand{width:80%;margin-bottom:24px}.hero-copy{width:88%}.hero h1{font-size:24px}.hero-brand p{font-size:12px;word-spacing:-3px}.hero-hearts{font-size:24px}.hero .mission-code{font-size:12px}.section-title h2,.arrival .section-title h2{font-size:24px}.game-hud{padding:7px}.game-hud .depth small{display:none}.oxygen i{width:58px}}

.app-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-bar b{min-width:0}.app-bar small{margin-left:auto}.hero{background-repeat:no-repeat}body{background-repeat:no-repeat}
