@font-face{font-family:Island;src:url('/assets/site-font.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff9ed;color:#493824;font-family:Island,'Noto Serif TC','Songti TC',serif;font-size:18px;line-height:1.75}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #be8d40;outline-offset:5px}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.35}h1{font-size:clamp(30px,4.1vw,60px)}h2{font-size:clamp(28px,3.2vw,46px)}h3{font-size:27px}button{color:inherit} .site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;gap:30px;border-bottom:1px solid #ddcfb5;background:#fff9edf5;position:relative;z-index:20}.brand{font-size:36px;font-weight:600;line-height:1.2;white-space:nowrap;display:flex;align-items:center;gap:7px;color:#633d20;letter-spacing:2px}.brand-leaf{width:13px;height:23px;display:inline-block;background:#748757;border-radius:80% 0 80% 0;transform:rotate(30deg)}.site-header nav{display:flex;gap:48px;align-items:center}.site-header nav a{position:relative}.site-header nav a:after{content:'';height:1px;position:absolute;left:0;right:100%;bottom:-5px;background:#718054;transition:right .2s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid #60754f;background:#60754f;color:#fffbed;min-height:54px;border-radius:30px;padding:11px 30px;font-size:21px;line-height:1.5;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#4e6240;transform:translateY(-1px)}.button.small{font-size:18px;min-height:44px;padding:8px 25px}.hero-image{width:100%;height:auto;aspect-ratio:2032/774;object-fit:cover}.hero-copy{text-align:center;padding:25px 20px 38px;position:relative}.hero-copy h1{margin-bottom:12px;letter-spacing:.05em}.hero-copy p{margin:10px 0 20px;font-size:21px;letter-spacing:.04em}.hero-cta{min-width:230px}.leaf-divider{display:flex;justify-content:center;align-items:center;width:220px;margin:0 auto;gap:12px;height:13px}.leaf-divider:before,.leaf-divider:after{content:'';height:1px;background:#ccb98d;flex:1}.leaf-divider span{width:18px;height:10px;border-radius:90% 0 90% 0;background:#82925d;transform:rotate(-18deg)}.platform-links{display:flex;justify-content:center;gap:12px;margin-top:20px}.platform-link{display:flex;align-items:center;justify-content:center;gap:16px;min-width:190px;padding:10px 24px;border:1px solid #aa9471;background:transparent;border-radius:6px;line-height:1.3;color:#62472e;opacity:1}.platform-link svg{width:28px;height:28px}.platform-link span{display:flex;flex-direction:column;gap:3px}.platform-link b{font-weight:500;font-size:20px}.platform-link small{font-size:14px;color:#8a7c65}.section{max-width:1240px;margin:0 auto;padding:80px 36px}.life{text-align:center;border-top:1px solid #e2d7be}.section-intro{color:#776347;margin-top:-8px}.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:26px}.life-art{height:260px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.life-art img{max-height:100%;max-width:95%;object-fit:contain;transition:transform .4s}.life-grid article:hover img{transform:translateY(-5px)}.garden-art img{max-height:220px}.life-grid h3{font-size:26px;margin-bottom:12px}.life-grid p{font-size:17px;line-height:1.9;color:#78654f}.companions{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;border-top:1px solid #e2d7be}.companion-art{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#e8edce6e,transparent 68%)}.companion-art img{height:420px;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 10px #6e502614);animation:breathe 5s ease-in-out infinite}.companion-copy h2{margin-bottom:24px}.character-description{min-height:100px}.character-description h3{color:#61754d;margin-bottom:6px;font-size:32px}.character-description p{color:#776347}.companion-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.companion-tab{padding:8px 7px;background:none;border:1px solid #d9c8a6;border-radius:12px;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .2s,border .2s}.companion-tab img{height:82px;width:100%;object-fit:contain}.companion-tab[aria-pressed=true]{border:2px solid #718457;padding:7px 6px;background:#edf0dc}.text-link{display:inline-flex;align-items:center;gap:14px;color:#60754f;font-size:18px;border:0;padding:0;background:none}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.news{border-top:1px solid #e2d7be}.news h2{text-align:center;margin-bottom:35px}.news-row{border-top:1px solid #d6c8aa;border-bottom:1px solid #d6c8aa;display:flex;gap:32px;align-items:center;padding:28px 0}.news-row>img{width:220px;height:140px;object-fit:cover;border-radius:3px}.news-row>div{flex:1}.news-row time,dialog time{font-size:14px;letter-spacing:2px;color:#947b56}.news-row h3{margin:8px 0}.news-row p{font-size:17px;color:#776347;margin:0}.news-row>.text-link{flex-shrink:0}.last-invite{background:#edf0df;text-align:center;padding:65px 24px 70px;border-top:1px solid #dce0c7;border-bottom:1px solid #dce0c7}.last-invite h2{margin-bottom:14px}.last-invite p{color:#71805b;margin-bottom:26px}.site-footer{max-width:1240px;margin:auto;padding:45px 36px 25px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.site-footer .brand{font-size:30px}.site-footer p{font-size:15px;color:#8c7b60;margin:12px 0 0}.site-footer nav{display:flex;gap:30px;font-size:16px}.site-footer>small{width:100%;text-align:center;font-size:13px;letter-spacing:1px;color:#9b8c75;border-top:1px solid #e3d8c2;padding-top:20px}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:10px}.registration-page{display:grid;grid-template-columns:1fr 1fr;min-height:740px}.registration-art{background:#e7debc;overflow:hidden}.registration-art img{width:100%;height:100%;object-fit:cover;object-position:center;max-height:1000px}.registration-content{padding:58px clamp(28px,5.1vw,86px);align-self:center}.registration-content h1{font-size:clamp(32px,3.7vw,54px);margin-bottom:15px;letter-spacing:.04em}.registration-intro{font-size:21px;color:#796345}.registration-content .leaf-divider{margin:30px 0 35px;width:100%}form label,form legend{font-size:18px}form>label{display:block;margin-bottom:8px}input[type=email]{width:100%;border:1px solid #b9a78a;background:#fffdf7;border-radius:7px;height:58px;padding:12px 16px;font-family:inherit;font-size:18px;color:#493824;box-shadow:none}input::placeholder{color:#a7977c}input[aria-invalid=true]{border-color:#a64435}.field-error{font-size:15px;line-height:1.6;color:#a04432;margin:5px 0 15px;min-height:0}.field-error:empty{margin:0}fieldset{border:0;padding:0;margin:24px 0}legend{margin-bottom:10px;padding:0}legend span{font-size:15px;color:#8b795f}.platform-choices{display:flex;gap:10px}.platform-choices button{flex:1;background:transparent;border:1px solid #b49f7c;border-radius:7px;padding:11px 8px;display:flex;gap:9px;align-items:center;justify-content:center;font-size:17px;min-height:53px;white-space:nowrap}.platform-choices svg{width:23px;height:23px}.platform-choices [aria-pressed=true]{background:#e7ecd6;border-color:#61754e;box-shadow:inset 0 0 0 1px #61754e}.consent{display:flex!important;align-items:flex-start;gap:12px;line-height:1.7;margin:25px 0 18px;font-size:16px}.consent input{appearance:auto;accent-color:#60754f;width:21px;height:21px;flex-shrink:0;margin:4px 0 0}.consent a{text-decoration:underline;text-underline-offset:3px;color:#60754f}.submit-button{width:100%;border-radius:10px;min-height:59px;margin-top:9px}.submit-button:disabled{background:#8b967a;border-color:#8b967a;transform:none}.form-note{font-size:14px;color:#94836a;margin-top:14px}.honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.back-link{display:flex;gap:9px;align-items:center}.registration-page~.site-footer{padding-top:24px}.registration-page~.site-footer>div>p{display:none}#registration-success>img{height:170px;object-fit:contain;margin:0 auto 22px}#registration-success{text-align:center}.registered-email{overflow-wrap:anywhere;color:#71805b;font-size:16px}#registration-success .button{margin:14px 0}#cancel-controls{border-top:1px solid #ddcfb5;margin-top:24px;padding-top:15px}.quiet-link{display:inline-block;border:0;background:none;text-decoration:underline;font-size:14px;color:#8b795f;margin:6px 9px;padding:0}.privacy-page{max-width:830px;min-height:60vh}.privacy-page h1{font-size:44px}.privacy-page h2{font-size:25px;margin-top:38px}.privacy-page p{color:#726046;line-height:2}.privacy-page .updated{font-size:14px;color:#94836a}dialog{border:1px solid #d2bd93;background:#fff9ed;color:#493824;border-radius:16px;width:min(620px,calc(100% - 32px));padding:45px;font:inherit;box-shadow:0 20px 100px #352b2340}dialog::backdrop{background:#2c392b75;backdrop-filter:blur(3px)}dialog h2{font-size:32px;margin:16px 0 20px}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:30px;line-height:1;padding:7px;color:#796345}.copy-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#493824;color:#fff9ed;padding:9px 20px;border-radius:8px;z-index:80;font-size:15px}[hidden]{display:none!important}@keyframes breathe{50%{transform:translateY(-5px)}}@media(min-width:1600px){.hero-image{max-height:680px;object-fit:cover;object-position:center}.hero-copy{padding-top:40px}}@media(max-width:1000px){.site-header nav{gap:24px}.site-header{padding:0 28px}.life-art{height:220px}.life-grid{gap:18px}.life-grid p br{display:none}.companions{gap:32px}.companion-art img{height:350px}.companion-art{min-height:350px}.news-row{gap:22px}.news-row>img{width:180px;height:125px}.news-row h3{font-size:24px}.registration-page{grid-template-columns:.85fr 1fr}.registration-content{padding:45px 30px}.registration-intro{font-size:18px}.platform-choices{gap:6px}.platform-choices button{gap:5px;font-size:15px}.platform-choices svg{width:20px}.section{padding:64px 30px}}@media(max-width:700px){.site-header{height:72px;padding:0 20px;gap:16px}.brand{font-size:29px}.site-header>.button.small{font-size:15px;min-height:39px;padding:7px 16px;gap:5px;margin-left:auto}.site-header>.button.small svg{width:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:30px;height:38px;border:0;background:none;padding:4px;order:3}.menu-toggle span{height:2px;width:22px;background:#60462d}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff9ed;border-bottom:1px solid #ddcfb5;padding:25px;flex-direction:column;gap:20px;box-shadow:0 10px 15px #4938240c}.site-header nav.open{display:flex}.hero-image{aspect-ratio:1.4;object-position:64% center;object-fit:cover}.hero-copy{padding:28px 18px 32px}.hero-copy h1{font-size:29px;letter-spacing:0;white-space:nowrap}.hero-copy p{font-size:17px;max-width:310px;margin:12px auto 20px;line-height:1.85}.button{font-size:19px;min-height:50px;padding:10px 24px}.platform-links{gap:8px}.platform-link{min-width:0;flex:1;max-width:145px;padding:11px 5px;gap:7px}.platform-link svg{width:22px;height:22px}.platform-link b{font-size:15px}.platform-link small{font-size:12px}.section{padding:48px 22px}.section-intro{font-size:16px;max-width:300px;margin-left:auto;margin-right:auto}.life-grid{grid-template-columns:1fr;gap:35px}.life-art{height:240px;margin-bottom:10px}.life-grid p{max-width:310px;margin:auto}.garden-art img{height:215px}.life-grid h3{font-size:25px}.companions{grid-template-columns:1fr;gap:18px}.companion-art{min-height:260px;order:2}.companion-art img{height:270px}.companion-copy h2{text-align:center;font-size:30px}.companion-copy h2 br{display:none}.companion-copy{text-align:center}.character-description{min-height:88px}.companion-tabs{max-width:420px;margin:22px auto}.companion-tab img{height:77px}.companion-tab{font-size:15px}.news-row{flex-wrap:wrap;gap:16px;padding:22px 0}.news-row>img{width:115px;height:105px}.news-row>div{min-width:160px}.news-row h3{font-size:21px}.news-row p{font-size:15px}.news-row>.text-link{margin-left:auto;font-size:16px}.last-invite{padding:46px 22px}.last-invite h2{font-size:28px}.last-invite p{font-size:16px}.site-footer{padding:32px 22px 20px;flex-direction:column;text-align:center;gap:25px}.site-footer .brand{justify-content:center}.site-footer nav{gap:24px;font-size:15px}.site-footer>small{margin-top:6px}.registration-page{grid-template-columns:1fr}.registration-art{height:250px}.registration-art img{height:100%;object-position:center 60%}.registration-content{padding:35px 24px 45px;max-width:560px;width:100%;margin:auto}.registration-content h1{font-size:36px}.registration-content h1 br{display:none}.registration-intro{font-size:18px}.registration-content .leaf-divider{margin:22px 0 28px}.back-link{font-size:16px}.site-header.simple .brand{font-size:29px}.privacy-page h1{font-size:34px}dialog{padding:38px 25px}dialog h2{font-size:28px}.platform-choices button{font-size:17px}.platform-choices svg{width:22px}.consent{font-size:15px}}@media(max-width:370px){.hero-copy h1{font-size:26px}.site-header{padding:0 15px;gap:10px}.brand{font-size:26px}.platform-link{gap:4px}.platform-link svg{width:19px}.platform-link b{font-size:14px}.registration-content{padding-left:18px;padding-right:18px}.registration-content h1{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Preserve the complete game title and every companion on small screens. */
@media(max-width:700px){.hero-image{aspect-ratio:2032/774;object-fit:contain;object-position:center}}

@media(max-width:700px){#registration-form-view h1 br{display:initial}}

/* Website character illustrations are static full-body artwork, not actor sprites. */
.companion-art img{animation:none;transform:none}

/* Original hand-painted pre-registration campaign posters. */
.prereg-rewards{text-align:center;border-top:1px solid #e2d7be;padding-top:48px}.reward-poster-link{display:block;line-height:0}.reward-poster-link picture{display:block}.reward-poster-link img{width:100%;height:auto;object-fit:contain}.prereg-rewards>.button{margin-top:28px}.registration-reward-art{background:#fff9ed;display:flex;align-items:flex-start;justify-content:center;padding:28px 0 28px 28px;overflow:visible}.registration-reward-art .reward-poster-link{width:100%;max-width:740px}.registration-reward-art img{height:auto;width:100%;max-height:none;object-fit:contain}.registration-page:has(.registration-reward-art){grid-template-columns:1.1fr 1fr;align-items:start}.registration-page:has(.registration-reward-art) .registration-content{align-self:start}@media(max-width:700px){.prereg-rewards{padding:24px 12px 34px}.registration-page:has(.registration-reward-art){grid-template-columns:1fr}.registration-reward-art{height:auto;padding:14px 14px 0}.registration-reward-art img{height:auto;object-fit:contain}.registration-reward-art .reward-poster-link{max-width:560px}}

/* Keep the campaign action on the poster's lower edge. */
.reward-poster-stage{position:relative}.reward-poster-cta{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:2;box-shadow:0 4px 16px #49382426;border:2px solid #fff9ed}.reward-poster-cta:hover{transform:translate(-50%,50%);background:#4e6240}.prereg-rewards{padding-bottom:70px}@media(max-width:700px){.reward-poster-cta{min-height:48px;font-size:18px;padding:9px 24px}.prereg-rewards{padding-bottom:58px}}
