@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700;800&display=swap');
:root{color-scheme:light;--ink:#244b46;--cream:#fff8e7;--gold:#f4ce78;--muted:#57746a;--line:rgba(38,77,66,.2);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:#98c8ca}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #c27933;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}.hidden{display:none!important}#game{width:100%;height:100svh;min-height:640px;position:relative;overflow:hidden;isolation:isolate}.world-bg{position:absolute;inset:-2%;z-index:-3;background:#93c7cf;overflow:hidden;transition:filter 2s;animation:skyBreathe 24s ease-in-out infinite alternate}.world-bg img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:1;transform:scale(1.01);transition:opacity .28s ease}.world-bg img.switching{opacity:.18}.sky-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(235,243,225,.88),rgba(228,241,224,.57) 28%,rgba(202,228,220,.03) 58%),linear-gradient(0deg,rgba(236,244,224,.7),transparent 23%)}#canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;touch-action:none}.topbar{height:108px;display:flex;justify-content:space-between;align-items:center;padding:0 4.5%;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:2.7px;margin-top:6px;font-weight:500}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;font-size:23px;font-weight:400;transform:rotate(-12deg)}.top-actions{display:flex;align-items:center;gap:14px}.save-indicator{font-size:14px;border:1px solid rgba(255,255,255,.5);background:rgba(253,251,230,.54);padding:10px 17px;border-radius:24px;backdrop-filter:blur(8px)}.icon-button{position:relative;border:1px solid rgba(38,77,66,.25);background:rgba(255,251,228,.6);width:40px;height:40px;border-radius:50%;font-size:20px}.slash{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;opacity:.65}.menu-copy{position:absolute;left:7.2%;top:22%;z-index:2}.eyebrow{font-size:12px;letter-spacing:3px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:22px;height:1px;background:var(--ink)}h1{font-family:"Noto Serif SC",Songti SC,serif;font-weight:600;font-size:clamp(52px,5.3vw,82px);line-height:1.27;letter-spacing:3px;margin:25px 0 24px}h1>span{color:#b47738}.intro{font-size:15px;line-height:1.9;letter-spacing:1px;color:#44635a;margin-bottom:28px}.primary{display:flex;align-items:center;justify-content:center;gap:26px;background:var(--ink);border:1px solid var(--ink);color:var(--cream);border-radius:7px;padding:17px 27px;box-shadow:0 7px 0 -3px rgba(42,74,65,.15);font-size:17px;font-weight:500;transition:transform .2s,background .2s}.primary:hover{background:#34685d;transform:translateY(-2px)}.start-button{width:244px;justify-content:space-between}.button-arrow{font-size:25px;font-weight:300}.start-meta{font-size:12px;color:#577568;margin-top:15px;letter-spacing:.5px}.start-meta i{font-style:normal;margin:0 8px}.text-button{background:none;border:0;padding:0;font-size:13px;margin-top:29px}.text-button span{margin:0 12px;color:#7d7258}.scene-note{position:absolute;left:68%;top:34%;display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:2px;text-shadow:0 1px 8px #ffffe2}.scene-note small{display:block;margin-top:9px;font-size:11px;letter-spacing:1px}.little-line{width:28px;height:1px;background:#476960}.postcard{position:absolute;right:6.6%;bottom:22%;width:238px;transform:rotate(5deg);padding:18px 20px 16px;background:rgba(255,252,232,.87);box-shadow:0 10px 26px #2e67551c;border-radius:3px;border:1px solid #fffdf1}.postcard-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:3px;border-bottom:1px solid var(--line);padding-bottom:10px}.postcard-top>span{font-size:23px;line-height:10px}.postcard p{font:14px/1.85 "Noto Serif SC",serif;letter-spacing:1px;margin:18px 0}.postcard-bottom{display:flex;justify-content:space-between;font-size:10px;color:#789082}.menu-footer{position:absolute;bottom:7%;left:7.2%;right:6.6%;display:flex;align-items:center;border-top:1px solid var(--line);padding-top:24px;gap:45px}.play-tip{display:flex;align-items:center;gap:15px}.play-tip b{font-family:Georgia,serif;font-size:27px;font-style:italic;font-weight:400;opacity:.48}.play-tip>span{font-size:14px;letter-spacing:1px}.play-tip small{display:block;color:#627d70;font-size:11px;margin-top:8px;letter-spacing:.4px}.daily-button{margin-left:auto;background:none;border:0;text-align:left;border-left:1px solid var(--line);padding-left:32px}.daily-button>span{font-size:14px}.daily-button small{display:block;font-size:11px;color:#627d70;margin-top:8px}.credit{position:absolute;bottom:18px;width:100%;text-align:center;font-size:10px;letter-spacing:3px;color:#6d897c}.playing .sky-wash{background:linear-gradient(0deg,rgba(226,241,222,.3),transparent 20%),linear-gradient(180deg,rgba(235,244,229,.6),transparent 30%)}.playing .world-bg{animation:none}.playing .topbar{height:92px}.playing{min-height:0!important}.hud{pointer-events:none;position:absolute;inset:96px 4.5% 35px}.hud-stats{display:flex;align-items:center;gap:32px}.score-display>span{font-size:12px;letter-spacing:2px}.score-display strong{font:48px/1.1 Georgia,serif;display:block;margin-top:7px}.hearts>span{font-size:22px;letter-spacing:6px;color:#bd724f;text-shadow:0 1px #ffecd2}.hearts small{display:block;font-size:12px;margin-top:7px}.route-info{position:absolute;right:0;top:0;display:flex;flex-direction:column;align-items:end;gap:10px}.route-info>span{font-size:13px;letter-spacing:2px}.route-info>strong{font:33px Georgia,serif}.route-track{position:absolute;bottom:16px;left:25%;right:25%;height:4px;background:#355e4c26;border-radius:2px}.route-track>div{height:100%;width:0;background:#365e4c;border-radius:2px}.route-track>i{position:absolute;top:-3px;width:9px;height:9px;border-radius:50%;background:#fff8e4;border:1px solid #476951}.route-track>span{position:absolute;top:16px;font-size:11px;letter-spacing:2px}.route-track>span:last-child{right:0}.flight-tip{position:absolute;bottom:72px;left:0;right:0;text-align:center;font-size:15px;letter-spacing:2px;transition:opacity 1s;text-shadow:0 1px 8px #fff}.flight-tip span{display:block;font-size:11px;margin-top:10px;letter-spacing:1px}.touch-lift{pointer-events:auto;position:absolute;bottom:30px;right:0;width:85px;height:85px;border:1px solid #fff9dfaa;background:#fff8e455;border-radius:50%;font-size:28px;backdrop-filter:blur(5px);touch-action:none;user-select:none}.touch-lift span{display:block;font-size:11px;margin-top:3px}.touch-lift:active{background:#fff8e4b0}.toast{pointer-events:none;position:absolute;top:25%;left:50%;transform:translate(-50%,-10px);background:#284f47e8;color:#fff5d9;border:1px solid #fff5d944;border-radius:30px;padding:13px 25px;font-size:15px;opacity:0;transition:opacity .2s,transform .2s;z-index:10;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #fff8e2;padding:34px;border-radius:16px;width:min(650px,calc(100vw - 32px));background:#f9f6e8;color:var(--ink);box-shadow:0 30px 100px #203f4944;max-height:90svh;overflow:auto}dialog::backdrop{background:#1a424859;backdrop-filter:blur(7px)}dialog .eyebrow{justify-content:center;font-size:11px}dialog h2{text-align:center;font-family:"Noto Serif SC",serif;font-size:30px;font-weight:600;margin:16px 0}dialog .sub{text-align:center;font-size:14px;line-height:1.8;color:#698070;margin:0 0 23px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{padding:23px 12px;background:#fffdf4;border:1px solid #d6ddc9;border-radius:9px;text-align:center;transition:transform .2s,border .2s}.choice:hover{transform:translateY(-4px);border-color:#668674}.choice-symbol{font-size:32px;display:block;color:#b98c45;margin-bottom:16px}.choice strong{font-size:16px;display:block;font-weight:600}.choice small{font-size:12px;line-height:1.7;display:block;color:#718575;margin-top:9px}.modal-buttons{display:flex;justify-content:center;gap:12px;margin-top:27px}.secondary{border:1px solid #c1cdb9;border-radius:7px;background:transparent;padding:14px 22px;font-size:14px}.result-values{display:flex;justify-content:center;gap:40px;margin:30px 0}.result-values strong{font:42px Georgia,serif;display:block;text-align:center}.result-values span{display:block;font-size:12px;text-align:center;margin-top:7px;color:#7b8772}.record{text-align:center;font-size:13px;color:#a17435}.companion-preview{width:140px;height:115px;max-width:100%;display:block;margin:-6px auto 6px;object-fit:contain}.companion-card{padding:13px 8px}.companion-card.selected{border:2px solid #456954;background:#eef0df}.companion-card .price{margin-top:14px;color:#a27438;font-size:13px}.storage-note{text-align:center;font-size:11px;color:#929a86;margin:20px 0 0}.stage-stamp{text-align:center;color:#ac8753;font-size:35px}.playing[data-stage="1"] .world-bg{filter:hue-rotate(-12deg) saturate(.9)}.playing[data-stage="2"] .world-bg{filter:sepia(.18) saturate(1.15)}@keyframes skyBreathe{from{transform:scale(1)}to{transform:scale(1.045) translateX(-.3%)}}@media(min-width:1500px){.menu-copy{top:23%}.menu-footer{bottom:8%}}@media(max-height:760px) and (min-width:761px){#game{min-height:620px}.topbar{height:85px}.menu-copy{top:19%}h1{font-size:60px;margin:17px 0}.intro{margin-bottom:18px}.text-button{margin-top:19px}.menu-footer{bottom:7%;padding-top:18px}.postcard{bottom:25%}}@media(max-width:1000px){.menu-footer{gap:20px}.play-tip{gap:9px}.play-tip small{font-size:10px}.daily-button{padding-left:18px}.scene-note{left:67%;top:30%}.postcard{width:208px;right:5%;bottom:25%}}@media(max-width:760px){#game{min-height:720px}.topbar{height:86px;padding:0 6%}.brand{font-size:17px;gap:9px}.brand small{font-size:8px;letter-spacing:1.7px}.brand-mark{width:34px;height:34px;font-size:20px}.top-actions{gap:8px}.save-indicator{font-size:12px;padding:9px 11px}.icon-button{width:35px;height:35px}.world-bg{background-position:65% center}.sky-wash{background:linear-gradient(90deg,#e4eedce6,#e0ecd999 44%,transparent 80%),linear-gradient(0deg,#e2eddfe6,transparent 45%)}.menu-copy{left:8%;top:17%}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:clamp(42px,12.7vw,56px);margin:24px 0 18px}.intro{font-size:13px;line-height:1.9;margin-bottom:24px}.start-button{width:218px;padding:14px 22px;font-size:16px}.start-meta{font-size:11px}.text-button{margin-top:24px}.scene-note{display:none}.postcard{display:none}.menu-footer{left:8%;right:8%;bottom:8%;padding-top:18px;gap:18px;flex-wrap:wrap}.play-tip{flex:1}.play-tip b{font-size:22px}.play-tip>span{font-size:12px}.play-tip small{font-size:10px;line-height:1.7;max-width:110px}.play-tip:nth-child(3){display:none}.daily-button{margin-left:0;width:100%;padding:12px 0 0;border-left:0;display:flex;align-items:center;gap:18px}.daily-button small{margin:0}.credit{bottom:20px;font-size:9px}.hud{inset:99px 6% 30px}.hud-stats{gap:20px}.score-display strong{font-size:37px}.hearts>span{font-size:17px;letter-spacing:2px}.hearts small{font-size:10px}.route-info>span{font-size:11px;letter-spacing:0}.route-info>strong{font-size:28px}.route-track{left:5%;right:29%}.touch-lift{width:74px;height:74px;bottom:8px}.flight-tip{bottom:84px;font-size:13px}.flight-tip span{font-size:10px}.toast{font-size:12px;padding:12px 17px;max-width:90%;white-space:normal;text-align:center}dialog{padding:25px 18px}dialog h2{font-size:26px}.choices{gap:8px}.choice{padding:20px 8px}.choice strong{font-size:14px}.choice small{font-size:11px}.choice-symbol{font-size:28px}.companion-card{padding:8px 3px}.companion-preview{height:80px}.modal-buttons{gap:8px}.modal-buttons .primary,.modal-buttons .secondary{padding:14px 18px;font-size:14px}.result-values{gap:25px}.result-values strong{font-size:36px}}@media(prefers-reduced-motion:reduce){.world-bg{animation:none}*{scroll-behavior:auto!important}}
/* Island choices and flight feedback */
#stake{display:inline-block;border-radius:12px;background:#fff0bd;color:#8a6130;font:600 14px Georgia;padding:3px 9px;letter-spacing:0;margin-left:5px}#recovery{display:block;font-size:12px;line-height:1.6;margin-top:5px;color:#466756}.hud-stats{align-items:flex-start}.hearts{padding-top:6px}.wind-charge{position:absolute;bottom:68px;left:25%;right:25%;text-align:center}.wind-charge>span{font-size:12px;letter-spacing:1px}.wind-charge>div{height:5px;background:#38655225;border-radius:6px;margin-top:10px;overflow:hidden}.wind-charge i{display:block;height:100%;width:0;transition:width .2s;background:#c39444;border-radius:6px}.flight-tip{bottom:125px}.weather-event{position:absolute;left:50%;top:20px;transform:translateX(-50%);padding:10px 17px;border:1px solid #fff6cf88;background:#fff8dfb8;border-radius:22px;font-size:14px;white-space:nowrap;backdrop-filter:blur(8px)}.dash-button{pointer-events:auto;position:absolute;bottom:42px;right:106px;width:66px;height:66px;background:#fff1c766;border:1px solid #fff1bb;border-radius:50%;touch-action:manipulation;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;user-select:none}.dash-button b{font-size:22px;font-weight:400;line-height:1}.dash-button span{font-size:12px}.dash-button small{font-size:9px;letter-spacing:1px}.dash-button.ready{background:#f9e5a3cc;box-shadow:0 0 20px #fff4c44d}.dash-button:disabled{cursor:default;opacity:.7}.dock-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dock-card{display:flex;flex-direction:column;text-align:left;padding:22px;border-radius:12px;border:1px solid #bed0bb;background:#edf2e3;transition:transform .2s}.dock-card:hover{transform:translateY(-3px)}.dock-card.risk{background:#fbebd0;border-color:#d9b987}.dock-label{font-size:16px;font-weight:600}.dock-card>strong{font:46px/1.2 Georgia,serif;margin:18px 0 6px}.dock-card strong small{display:block;font:13px/1.6 Arial,sans-serif;margin-top:7px;color:#697659}.dock-card p{font-size:14px;line-height:1.8;margin:10px 0 20px;flex:1}.dock-action{font-size:14px;border-top:1px solid #94ad7f55;padding-top:14px}.journey-summary{display:flex;justify-content:center;gap:16px;color:#6b7b67;font-size:13px;border-top:1px solid #c8d0b955;border-bottom:1px solid #c8d0b955;padding:13px 0;margin-bottom:20px}.playing[data-weather="stars"] .sky-wash{background:linear-gradient(180deg,#fff7cd33,transparent 60%)}.playing[data-weather="gust"] .world-bg{filter:saturate(.82) hue-rotate(8deg)}.playing[data-weather="tailwind"] .sky-wash{background:linear-gradient(110deg,#ffeeb622,transparent 70%)}.toast{z-index:20}dialog>.toast{top:20px;max-width:95%;white-space:normal;text-align:center;width:max-content;font-size:13px}.choices .choice small{font-size:14px}dialog .storage-note{font-size:12px}
@media(max-width:760px){.score-display>span{font-size:11px}#recovery{font-size:10px;max-width:165px}.hud-stats{gap:12px}.hearts small{max-width:145px;line-height:1.6}.route-info{top:92px}.route-info>strong{font-size:23px}.weather-event{top:98px;left:0;transform:none;font-size:12px;padding:8px 12px;max-width:65%;white-space:normal}.wind-charge{left:0;right:auto;width:52%;bottom:68px;text-align:left}.wind-charge>span{font-size:10px;letter-spacing:0}.route-track{left:0;right:0;bottom:0}.dash-button{right:83px;bottom:17px;width:60px;height:60px}.dash-button small{display:none}.touch-lift{bottom:12px}.flight-tip{font-size:12px;bottom:118px;letter-spacing:0}.flight-tip span{max-width:290px;margin:8px auto 0;line-height:1.7}.dock-card{padding:15px 12px}.dock-label{font-size:14px}.dock-card>strong{font-size:36px}.dock-card p{font-size:13px}.dock-action{font-size:12px}.dock-card strong small{font-size:12px}.dock-choices{gap:10px}.journey-summary{gap:12px;font-size:11px}.choices .choice small{font-size:12px}.result-values{margin:20px 0}.modal-buttons{flex-wrap:wrap}.start-meta{max-width:280px;font-size:11px;line-height:1.7}}
@media(max-height:550px) and (orientation:landscape){.playing .topbar{height:58px}.hud{inset:62px 4.5% 20px}.score-display strong{font-size:28px}.route-info>strong{font-size:24px}.wind-charge{bottom:40px}.route-track{bottom:0}.flight-tip{bottom:90px}.weather-event{top:0}dialog{max-height:94svh}}
/* A field journal for the companions met along the way. */
.journal-launch{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;vertical-align:middle;margin:20px 0 0 18px;background:#fff9e4b8;border:1px solid #859b7166;border-radius:8px;padding:11px 16px;font-size:14px;color:#34594b}.journal-launch small{font-size:11px;color:#6c7f64}.journal-launch:hover{background:#fffbea}.menu-copy>.text-button{margin-top:20px;vertical-align:middle}.journal-dialog{width:min(940px,calc(100vw - 28px));padding:28px 32px;background:#faf7e9}.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.journal-heading h2{margin:10px 0 0;text-align:left;font-size:28px}.journal-heading .eyebrow{justify-content:flex-start;font-size:10px;letter-spacing:2px}.journal-heading>.secondary{flex-shrink:0;padding:10px 17px}.journal-wallet{display:flex;gap:20px;flex-wrap:wrap;padding:15px 0;font-size:14px;color:#7b704e}.journal-wallet span{padding-right:18px;border-right:1px solid #d9d8bd}.journal-wallet span:last-child{border-right:0}.journal-nav{display:flex;gap:6px;border-bottom:1px solid #d9ddc8;padding-bottom:12px}.journal-nav button{border:0;background:transparent;padding:10px 17px;border-radius:7px;font-size:14px;flex:1}.journal-nav button[aria-pressed="true"]{background:#34594b;color:#fff9df}.journal-note{font-size:14px;line-height:1.9;color:#6e8069;margin:18px 0}.pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pet-card{background:#fffdf4;border:1px solid #dbe0cc;border-radius:12px;padding:16px;display:flex;flex-direction:column}.pet-card.equipped{border-color:#73947b;box-shadow:inset 0 0 0 1px #73947b}.journal-art{display:block;width:100%;height:145px;object-fit:contain;margin:0 auto}.pet-card.undiscovered .journal-art{filter:grayscale(.8);opacity:.55}.pet-kicker{font-size:12px;color:#ab8354;line-height:1.6;display:block;margin-top:10px}.pet-card h3,.egg-card h3,.fox-profile h3,.evolution-card h3{font-family:'Noto Serif SC',serif;font-size:21px;font-weight:600;margin:10px 0}.pet-card p,.evolution-card p{font-size:14px;line-height:1.8;margin:0 0 12px;color:#70816a}.pet-skill{margin-top:14px!important;flex:1}.pet-hint{font-size:13px;line-height:1.8;color:#849176;margin:10px 0}.pet-actions{display:flex;flex-direction:column;gap:8px}.pet-actions button{font-size:13px;padding:11px 7px}.pet-card .text-button{margin-top:16px;text-align:left;font-size:12px}.xp-caption{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#7c8167;margin-top:14px}.xp-track{height:6px;background:#e2e6d4;border-radius:6px;margin-top:8px;overflow:hidden}.xp-track i{display:block;height:100%;background:#91ad7c;border-radius:6px;transition:width .4s}.egg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.egg-card{display:flex;align-items:center;gap:16px;border:1px solid #dbe0cc;background:#fffdf4;border-radius:12px;padding:17px}.egg-card .journal-art{width:115px;height:140px;flex-shrink:0}.egg-card>div{flex:1;min-width:0}.egg-card h3{font-size:18px}.egg-card .primary{font-size:13px;padding:12px 16px;margin-top:18px}.journal-empty{padding:34px 25px;text-align:center;border:1px dashed #c5cfb6;border-radius:12px;background:#f3f3e4;color:#6e8069;font-size:15px;line-height:2}.gift-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gift-envelope{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #d7dcc5;border-radius:10px;background:#fffdf4;text-align:left}.gift-envelope .journal-art{width:74px;height:70px}.gift-envelope>span{flex:1}.gift-envelope strong{font-size:15px;font-weight:500}.gift-envelope small{font-size:12px;display:block;margin-top:7px;color:#879178}.gift-envelope>b{font-size:13px;font-weight:400}.journal-section-title{font-family:'Noto Serif SC',serif;font-size:18px;font-weight:500;margin:27px 0 14px}.letter-list{display:flex;flex-wrap:wrap;gap:10px}.letter-list button{padding:12px 15px;font-size:14px}.fox-profile{display:flex;align-items:center;gap:28px;padding:22px 0}.fox-profile>.journal-art{width:38%;height:215px;flex-shrink:0}.fox-profile>div{flex:1}.fox-profile .text-button{display:block;margin-top:15px}.evolution-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.evolution-card{padding:20px;border:1px solid #d6dcca;border-radius:12px;background:#fffdf3}.evolution-card>.journal-art{height:170px}.evolution-card>.primary,.evolution-card>.secondary{width:100%;margin-top:16px;font-size:14px;padding:13px}.evolution-needs{list-style:none;padding:0;margin:14px 0;font-size:13px;line-height:2.2}.evolution-needs li{display:flex;justify-content:space-between;color:#9b8b73;gap:10px}.evolution-needs li.met{color:#4e7d60}.evolution-needs b{font-weight:400}.reveal-art{width:min(380px,85%);height:230px;margin:10px auto 16px}.letter-art{width:130px;height:100px}.story-letter{font-family:'Noto Serif SC',serif;font-size:18px;line-height:2.2;max-width:590px;margin:22px auto;color:#4d6855;padding:15px 25px;border-left:2px solid #c7d0b1}.parcel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0}.parcel-choice{border:1px solid #d4dcc5;border-radius:12px;background:#fffdf4;padding:15px 12px;transition:transform .2s,box-shadow .2s}.parcel-choice:hover{transform:translateY(-6px);box-shadow:0 10px 25px #47644615}.parcel-choice strong{display:block;font-size:16px;font-weight:500;margin:14px 0 10px}.parcel-choice small{display:block;font-size:12px;line-height:1.8;color:#7b8b71}.parcel-choice .journal-art{height:170px}.growth-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 15px;font-size:13px;color:#67865f;margin-bottom:16px}.collection-chip{position:absolute;top:125px;left:0;font-size:12px;color:#4f705b;max-width:65%;line-height:1.7;text-shadow:0 1px 7px #fff}.hatch-in{animation:hatchHello .65s ease-out both}@keyframes hatchHello{from{opacity:0;transform:translateY(18px) scale(.75)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.journal-launch{font-size:12px;padding:9px 10px;margin-left:9px;margin-top:17px}.journal-launch small{font-size:10px}.menu-copy>.text-button{font-size:12px;margin-top:17px}.menu-copy>.text-button span{margin:0 6px}.journal-dialog{padding:23px 17px}.journal-heading h2{font-size:23px}.journal-heading .eyebrow{font-size:8px;letter-spacing:1px;max-width:220px}.journal-heading>.secondary{padding:9px 12px;font-size:12px}.journal-wallet{gap:10px;font-size:12px}.journal-wallet span{padding-right:10px}.journal-nav{gap:3px}.journal-nav button{padding:10px 4px;font-size:12px}.pet-grid{grid-template-columns:1fr}.pet-card{display:block;padding:18px}.pet-card>.journal-art{float:right;width:110px;height:125px;margin:0 0 10px 12px}.pet-card h3{font-size:20px}.pet-card .pet-skill{clear:both;padding-top:10px}.pet-card .xp-caption{clear:both}.pet-actions{flex-direction:row}.pet-actions>button{flex:1}.egg-grid,.gift-list{grid-template-columns:1fr}.egg-card{gap:12px;padding:13px}.egg-card .journal-art{width:100px;height:125px}.fox-profile{gap:10px;padding:17px 0;align-items:flex-start}.fox-profile>.journal-art{width:100px;height:150px}.fox-profile h3{font-size:20px}.fox-profile .journal-note{font-size:12px}.evolution-grid{grid-template-columns:1fr}.evolution-card{padding:18px}.evolution-card>.journal-art{height:160px;float:right;width:120px}.evolution-needs{clear:both;padding-top:8px}.evolution-card p{font-size:13px}.parcel-grid{gap:8px}.parcel-choice{padding:10px 5px}.parcel-choice .journal-art{height:105px}.parcel-choice strong{font-size:13px;line-height:1.7;margin:10px 0 6px}.parcel-choice small{font-size:11px}.reveal-art{height:190px}.collection-chip{top:157px;font-size:10px}.story-letter{font-size:16px;padding:10px 15px}.journal-note{font-size:13px}.growth-summary{font-size:12px}.gift-envelope strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hatch-in{animation:none}.parcel-choice:hover{transform:none}}
/* The journey now begins on the world route. */
.map-home .menu-copy{top:19%;left:7%;width:38%;max-width:530px}.map-home h1{font-size:clamp(42px,4.2vw,64px);margin:22px 0;line-height:1.35}.selected-world>span{font-size:12px;letter-spacing:1px;color:#66826c}.selected-world h2{font-family:'Noto Serif SC',serif;font-size:25px;margin:13px 0 9px;font-weight:500}.selected-world p{font-size:14px;line-height:1.8;color:#587260;max-width:350px;margin:0 0 23px}.map-home .start-button{width:260px;font-size:15px}.home-tools{display:flex;gap:10px;align-items:center;margin-top:4px}.home-tools .text-button{font-size:12px;white-space:nowrap}.home-tools .text-button span{margin:0 6px}.home-tools .journal-launch{margin-left:5px}.map-home #help{margin-top:17px;font-size:12px;color:#5e7a65}.world-route{position:absolute;top:17%;right:6%;width:34%;max-width:430px;background:#fff9e8e8;border:1px solid #fffbec;border-radius:14px;box-shadow:0 20px 60px #2d56452b;padding:25px 22px;backdrop-filter:blur(6px)}.route-heading>span{font-family:'Noto Serif SC',serif;font-size:22px}.route-heading>small{display:block;font-size:12px;color:#7e8b72;margin-top:8px;letter-spacing:1px}.map-stop{position:relative;display:flex;align-items:center;gap:14px;width:100%;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;padding:13px 11px;margin-top:10px;min-height:69px;transition:background .2s}.map-stop:hover:not(:disabled){background:#e9eedf}.map-stop.selected{background:#dde9d5;border-color:#8ca780}.map-stop:disabled{opacity:.5;cursor:default}.map-number{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border:1px solid #94a384;border-radius:50%;font:14px Georgia,serif;background:#fff9e5;position:relative}.map-stop:not(:last-child) .map-number:after{content:'';position:absolute;width:1px;height:31px;top:32px;background:#bbc9ad}.map-stop.cleared .map-number{background:#507a60;color:#fff9e5}.map-stop>span:nth-child(2){flex:1}.map-stop strong{font-size:16px;font-weight:500;display:block}.map-stop small{display:block;font-size:11px;line-height:1.7;color:#7e8c72;margin-top:5px}.map-stop>b{font-size:11px;font-weight:400;color:#708466;flex-shrink:0}.world-route .daily-button{width:100%;border-left:0;border-top:1px solid #c3cfb355;padding:17px 10px 0;margin:20px 0 0}.world-route .daily-button>span{font-size:13px}.mission-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mission-card{border:1px solid #d0dac4;background:#fffdf1;border-radius:10px;padding:20px 13px;display:flex;flex-direction:column;align-items:center;text-align:center}.mission-card.selected{background:#e7efd9;border-color:#6d936f;box-shadow:inset 0 0 0 1px #6d936f}.mission-card>span{font-size:28px;color:#a8894d;margin-bottom:13px}.mission-card strong{font-size:16px;font-weight:500}.mission-card small{font-size:13px;line-height:1.9;color:#6d8067;margin:12px 0;flex:1}.mission-card b{font-size:13px;color:#a37b40;font-weight:500}.mission-card em{font-size:11px;font-style:normal;color:#91a080;margin-top:13px}.route-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.route-choice{background:#f5f7e8;border:1px solid #ccdabd;border-radius:10px;padding:17px;text-align:left}.route-choice.storm{background:#eee8f1;border-color:#cfc1d8}.route-choice.selected,.choice.selected{outline:2px solid #709071;outline-offset:-2px;background:#e5efd9}.route-choice.storm.selected{outline-color:#9271a9;background:#e7dfee}.route-choice>span{float:right;font-size:32px;color:#a58c5e}.route-choice strong{display:block;font-size:16px;margin-bottom:10px;font-weight:500}.route-choice small{font-size:13px;line-height:1.9;color:#6c7c66}.plan-label{font-size:14px;color:#728368;margin:17px 0 12px}.plan-note{font-size:12px;text-align:center;line-height:1.8;color:#8b826a;margin:18px 0 0}.mission-result{text-align:center;font-size:13px;color:#6d805e;line-height:1.8;margin-bottom:13px}.map-unlocked{background:#e6edd6;border:1px solid #9eb28a;border-radius:8px;padding:12px;text-align:center;margin-bottom:16px;color:#48724c;font-size:15px}.mission-chip{position:absolute;top:157px;left:0;font-size:12px;color:#48654d;max-width:65%;line-height:1.7;background:#fff8e9a6;border:1px solid #fff6dfaa;border-radius:8px;padding:8px 12px}.danger-warning{position:absolute;right:0;top:150px;font-size:13px;color:#8b5a43;background:#fff0cbe0;padding:9px 13px;border:1px solid #e2bc81;border-radius:20px}.help-steps{padding-left:24px;font-size:15px;line-height:2.1;color:#657b62}.help-steps li{padding:8px 0}.help-steps b{color:#3b634c;margin-right:8px}.playing[data-world='moon'] .sky-wash,.playing[data-world='storm'] .sky-wash,.playing[data-world='night'] .sky-wash{background:linear-gradient(180deg,#eef1dcd9,transparent 37%,transparent 75%,#dde8dca0)}.playing[data-world='moon'] .collection-chip,.playing[data-world='storm'] .collection-chip,.playing[data-world='night'] .collection-chip{color:#fffbe3;text-shadow:0 1px 6px #233d45}.playing[data-world='night'] .flight-tip,.playing[data-world='storm'] .flight-tip{color:#fffbe3;text-shadow:0 1px 6px #233d45}
@media(max-width:1100px){.map-home .menu-copy{left:6%;width:44%;top:16%}.map-home h1{font-size:48px}.world-route{right:4%;width:38%;top:16%;padding:20px 17px}.home-tools{gap:5px}.home-tools .journal-launch{font-size:12px;padding:9px 11px}.map-stop{padding:11px 8px}.map-stop small{font-size:10px}.map-home .credit{font-size:9px}}
@media(max-width:760px){#game:not(.playing){min-height:930px}.map-home .menu-copy{left:6%;right:6%;width:auto;top:104px;max-width:none}.map-home .eyebrow{font-size:10px}.map-home h1{font-size:31px;line-height:1.25;margin:13px 0;letter-spacing:2px}.map-home h1 br{display:none}.selected-world{margin-top:15px}.selected-world>span{font-size:11px}.selected-world h2{font-size:22px;margin:10px 0 6px}.selected-world p{font-size:12px;line-height:1.7;margin-bottom:15px;max-width:280px}.map-home .start-button{width:100%;padding:13px 19px}.map-home .start-meta{font-size:10px;margin-top:9px}.home-tools{gap:10px}.home-tools .journal-launch{margin-top:11px;font-size:12px;padding:9px 10px}.home-tools .text-button{margin-top:11px;font-size:11px}.map-home #help{font-size:11px;margin-top:12px}.world-route{top:480px;left:6%;right:6%;width:auto;max-width:none;padding:16px}.route-heading>span{font-size:18px}.route-heading>small{font-size:10px;display:inline;margin-left:12px;letter-spacing:0}.map-stop{padding:9px 7px;min-height:56px;margin-top:5px;gap:12px}.map-stop strong{font-size:14px}.map-stop small{font-size:10px;line-height:1.5;margin-top:3px}.map-number{width:28px;height:28px;font-size:12px}.map-stop:not(:last-child) .map-number:after{top:28px;height:29px}.world-route .daily-button{margin-top:12px;padding-top:12px}.world-route .daily-button small{font-size:10px}.map-home .credit{font-size:9px;letter-spacing:1px}.mission-card{padding:15px 8px}.mission-card strong{font-size:13px;line-height:1.6}.mission-card small{font-size:12px}.mission-card b{font-size:12px}.mission-card em{font-size:10px}.mission-choices{gap:8px}.route-choice{padding:14px 12px}.route-choice strong{font-size:14px}.route-choice small{font-size:12px}.route-choice>span{font-size:24px}.mission-chip{top:185px;font-size:10px;max-width:85%;padding:7px 10px}.danger-warning{top:230px;font-size:11px;padding:7px 10px}.help-steps{font-size:14px}.help-steps li{padding:5px 0}}
@media(max-height:550px) and (orientation:landscape){.mission-chip{top:110px}.danger-warning{top:110px}.collection-chip{top:86px}}
.map-mechanic{position:absolute;left:0;top:198px;max-width:66%;padding:7px 11px;border-left:2px solid #e7bd68;background:#fff8df9e;border-radius:0 8px 8px 0;color:#41644f;font-size:12px;line-height:1.55;letter-spacing:.2px;text-shadow:0 1px 5px #fff;backdrop-filter:blur(5px)}.playing[data-world='moon'] .map-mechanic,.playing[data-world='storm'] .map-mechanic,.playing[data-world='night'] .map-mechanic{color:#fffbe3;background:#223e4699;border-left-color:#f4d88b;text-shadow:0 1px 5px #183038}@media(max-width:760px){.map-mechanic{top:190px;max-width:72%;font-size:10px;padding:6px 9px}}@media(max-height:550px) and (orientation:landscape){.map-mechanic{top:143px}}
@media(min-width:761px){#game:not(.playing){min-height:800px}}

.boss-result:not(:empty){margin:14px 0;padding:14px;border-radius:14px;background:#eee5ff;color:#675080;font-weight:700;line-height:1.7}

.encounter-banner{position:absolute;z-index:12;right:22px;top:40%;width:min(300px,44%);padding:15px;background:#fffaf0ed;border:1px solid #c6d7c3;border-radius:18px;box-shadow:0 8px 28px #29473b22;color:#254d49}.encounter-banner p{font-size:12px;line-height:1.6;margin:7px 0}.encounter-banner>div{display:flex;gap:6px}.encounter-banner button{font-size:12px;padding:9px 12px;min-height:40px}.encounter-banner.hidden{display:none}@media(max-width:600px){.encounter-banner{left:12px;right:12px;top:auto;bottom:118px;width:auto;padding:12px 14px}.encounter-banner strong{font-size:14px}.encounter-banner p{margin:4px 0 8px;line-height:1.45}.encounter-banner button{padding:8px 12px;min-height:42px}.encounter-banner>div{flex-wrap:nowrap}}

#game.landing{min-height:640px;height:100svh}.landing #bank{display:none}.landing-home .menu-copy{left:7.2%;top:22%;width:auto;max-width:none}.landing-home h1{font-size:clamp(52px,5.3vw,82px);line-height:1.27}.route-back{position:absolute;top:95px;left:6%;z-index:3;margin-top:0}.landing-home .scene-note{left:68%;top:34%}@media(max-width:760px){#game.landing{min-height:580px}.landing-home .menu-copy{left:7%;right:7%;top:19%;}.landing-home h1{font-size:49px;margin:19px 0}.landing-home .intro{font-size:13px;line-height:1.9;max-width:300px}.landing-home .start-button{width:220px}.landing-home .scene-note{display:none}.landing-home .start-meta{font-size:11px}.route-back{top:83px;font-size:11px}.map-home .menu-copy{top:115px}.world-route{top:510px}#game:not(.playing):not(.landing){min-height:980px}}

button{transition:transform .12s ease,filter .12s ease,opacity .12s ease}button.pressed:not(:disabled){transform:scale(.96)!important;filter:brightness(.94)}button[aria-busy="true"]{cursor:wait;opacity:.78}.map-stop.locked{opacity:.62;cursor:pointer}.map-stop.locked:hover{background:#f2eddf}.map-stop.locked b{font-size:13px}.map-stop.locked:active{background:#eee5d3}

/* Flight notices share normal flow so wrapped text never covers another notice. */
.flight-notices{position:absolute;top:125px;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:65%;pointer-events:none}
.flight-notices .mission-chip,.flight-notices .collection-chip,.flight-notices .map-mechanic,.flight-notices .danger-warning{position:static;max-width:100%;font-size:14px;line-height:1.5;margin:0}
.flight-notices .collection-chip{order:3;font-size:12px}
.flight-notices .danger-warning{order:-1}
.flight-notices .map-mechanic:empty{display:none}
#recovery,.flight-notices .mission-chip,.flight-notices .collection-chip,.flight-notices .map-mechanic{display:none}
.next-step{padding:12px 16px;background:#e8efdd;border-left:3px solid #769461;text-align:left;font-size:14px;line-height:1.8;color:#365846}
.playing{touch-action:none;overscroll-behavior:none}
button:focus-visible,a:focus-visible{outline:3px solid #987023;outline-offset:4px}
.debug-map-list{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0}.debug-map{border:1px solid #ccd6c0;background:#fffdf4;border-radius:9px;padding:10px 5px;min-width:0}.debug-map b{display:block;font:16px Georgia,serif;color:#a77d42;margin-bottom:6px}.debug-map span{display:block;font-size:12px;line-height:1.4}.debug-map.selected{background:#dfead6;border-color:#6d936f;box-shadow:inset 0 0 0 1px #6d936f}.debug-selection{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#edf1e4;border-radius:10px;margin-bottom:12px}.debug-selection>span{font-size:27px;color:#9a7540}.debug-selection strong,.debug-selection small{display:block}.debug-selection small{font-size:12px;color:#6d8067;margin-top:5px}.debug-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.debug-action{border:1px solid #c7d3bb;background:#fffdf5;border-radius:10px;padding:16px 12px;text-align:left;min-height:100px}.debug-action:hover:not(:disabled){background:#e8efdd;border-color:#789372}.debug-action strong,.debug-action small{display:block}.debug-action strong{font-size:15px}.debug-action small{font-size:12px;line-height:1.6;color:#74836d;margin-top:9px}.debug-action:disabled{opacity:.45;cursor:not-allowed}
.playtest-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 9px;font-size:14px}.playtest-heading>small{color:#74836d;font-size:11px;font-weight:400}.playtest-heading button{border:0;background:transparent;color:#8b6a42;font-size:12px;padding:7px}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.balance-card{display:flex;flex-direction:column;gap:5px;padding:11px 12px;background:#edf1e4;border:1px solid #d1dac6;border-radius:9px}.balance-card strong{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.balance-card em{font-style:normal;font-size:10px;font-weight:500;color:#547157;background:#dce9d3;border-radius:12px;padding:3px 7px}.balance-card em.hard{color:#874e3c;background:#f3ddd0}.balance-card em.easy{color:#5b6885;background:#dce6f2}.balance-card span{font-size:11px;line-height:1.5;color:#687b65}.balance-card.boss{background:#eee8f3;border-color:#d7cde0}.playtest-history{display:flex;flex-direction:column;gap:7px}.playtest-history>p{margin:0;padding:16px;border:1px dashed #c5cfb6;border-radius:9px;text-align:center;color:#71806a;font-size:12px}.playtest-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:10px;align-items:center;padding:10px 12px;background:#fffdf5;border:1px solid #d7ddcd;border-radius:9px}.playtest-row strong,.playtest-row small{display:block}.playtest-row strong{font-size:13px}.playtest-row small,.playtest-row>span{font-size:11px;line-height:1.5;color:#71806a}
@media(max-width:760px){
 .flight-notices{top:128px;max-width:92%;gap:5px}
 .flight-notices .mission-chip,.flight-notices .collection-chip,.flight-notices .map-mechanic,.flight-notices .danger-warning{font-size:11px;padding:5px 8px;line-height:1.35;background:#fff8e9c2;border:1px solid #fff6dfcc;border-radius:7px}
 .flight-notices .danger-warning{max-width:100%}
 #game:has(.encounter-banner:not(.hidden)) .flight-notices{display:none}
 .hud{bottom:max(30px,env(safe-area-inset-bottom))}
 .touch-lift,.dash-button{min-width:64px;min-height:64px}
 .dash-button{right:88px}
 .encounter-banner button{min-height:44px}
 #game:not(.playing):not(.landing){height:auto;min-height:100svh;padding-bottom:55px}
 .map-home{position:relative;inset:auto;display:flex;flex-direction:column;gap:24px;padding:52px 6% 30px}
 .map-home.hidden{display:none}
 .map-home .menu-copy,.map-home .world-route{position:static;width:auto;max-width:none;margin:0}
 .map-home .route-back{top:0;left:6%;min-height:44px;font-size:14px}
 .map-home .selected-world p{font-size:14px;max-width:none}
 .map-home .home-tools{flex-wrap:wrap}
 .map-home #help,.map-home #choose-mission,.home-tools .text-button{font-size:14px;min-height:44px}
 .map-home .start-meta,.map-stop small,.world-route .daily-button small{font-size:12px}
 .route-heading>small{display:block;margin:8px 0 0;font-size:12px}
 .mission-choices{grid-template-columns:1fr}
 .debug-map-list{grid-template-columns:repeat(3,1fr)}
 .debug-actions{grid-template-columns:1fr}
 .debug-action{min-height:0}
 .playtest-row{grid-template-columns:1fr;gap:4px}
 .balance-grid{grid-template-columns:1fr}
}
@media(max-height:550px) and (orientation:landscape){
 .flight-notices{top:66px;max-width:45%;gap:3px}
 .flight-notices .collection-chip{display:none}
 .flight-notices .mission-chip,.flight-notices .map-mechanic,.flight-notices .danger-warning{font-size:12px;padding:3px 7px}
 .flight-tip{left:46%;right:0;bottom:100px;font-size:12px}
 .flight-tip span{font-size:12px}
 .encounter-banner{top:22%;width:40%;right:4.5%}
}
