:root{color-scheme:dark;--bg:#10231f;--panel:#19332c;--line:#365247;--ink:#e9f0d9;--dim:#a6bba9;--lime:#c7dd84;--paper:#ece8cf;--paper-ink:#374438}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.65}button{font:inherit;cursor:pointer;color:var(--ink);background:#294539;border:1px solid #5b7560;border-radius:7px;min-height:46px;padding:8px 14px;touch-action:manipulation}button:hover{background:#365744}button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}header{max-width:1450px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{border:1px solid #6d8860;color:var(--lime);padding:10px 8px;font-family:monospace;font-size:18px;font-weight:700;border-radius:4px}h1{font-size:20px;margin:0;letter-spacing:.07em}.brand p{margin:2px 0 0;color:var(--dim);font-size:14px}.brand p span{margin-left:12px;font-size:12px}.saved{font-size:13px;color:var(--dim);white-space:nowrap}main{max-width:1450px;margin:auto;padding:0 32px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.forest{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.forest-top{padding:17px 22px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--lime)}h2{font-size:18px;margin:0;font-weight:650}.forest-top h2{font-size:22px;margin-top:2px}.time{display:flex;flex-direction:column;text-align:right;color:var(--dim);font-size:14px}.time span:first-child{color:var(--ink)}.world-wrap{position:relative;background:#578b48;aspect-ratio:4/3;overflow:hidden}#world{display:block;width:100%;height:100%;image-rendering:pixelated}#pet-target{position:absolute;width:48px;height:48px;min-height:48px;padding:0;border:0;background:transparent;border-radius:50%;transform:translate(-50%,-50%)}#pet-target:hover{background:#e9f0d926;box-shadow:0 0 0 2px #e9f0d95c}#pet-target:focus-visible{outline:3px solid var(--lime)}.map-caption{position:absolute;top:14px;right:12px;padding:4px 8px;background:#132f366e;color:#f5f3da;font-size:12px;pointer-events:none}.bubble{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#f2ecd1;color:#334035;box-shadow:4px 4px 0 #12322d70;padding:12px 18px;border:2px solid #5a6143;border-radius:9px;max-width:90%;width:max-content;font-weight:650;pointer-events:none}.resources{display:flex;padding:14px 20px;gap:22px;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:14px}.resources>div{display:flex;align-items:center;gap:8px}.resources strong{font-size:17px;color:var(--lime)}.resources>div:last-child{margin-left:auto}.resources>div:last-child strong{font-size:14px;color:var(--ink)}.resource-icon{display:inline-block;width:12px;height:12px}.fruit-icon{background:#efb759;box-shadow:3px -3px 0 -1px #abc568}.wood-icon{background:#b38351;border:2px solid #ddb77c}.field-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px}.field-controls p{font-size:14px;color:var(--dim);margin:0}.field-controls button{font-size:14px;min-height:44px;flex-shrink:0}aside{display:flex;flex-direction:column;gap:18px}.companion{background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:12px}.section-label{font-size:12px;letter-spacing:.1em;color:var(--dim)}.companion-heading{display:flex;align-items:center;gap:12px;margin-top:12px}#portrait{width:58px;height:58px;background:#253e31;border-radius:8px;image-rendering:pixelated}.companion-heading h2{font-size:19px}.companion-heading p{margin:3px 0 0;font-size:14px;color:var(--lime)}.number{margin-left:auto;font-family:monospace;color:#728875;font-size:20px}.companion-copy{font-size:14px;color:var(--dim);min-height:46px;margin:16px 0}.actions{display:flex;gap:8px}.actions button{flex:1;font-size:14px;padding-inline:8px}.primary{background:var(--lime);border-color:var(--lime);color:#203326;font-weight:700}.primary:hover{background:#d8eaa6}.notebook{background:var(--paper);color:var(--paper-ink);border-radius:3px 12px 12px 3px;padding:22px 20px 20px 25px;border-left:6px solid #a09266;box-shadow:3px 4px 0 #071b1766}.notebook-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #b9baa3}.notebook .section-label{color:#6b735a}.notebook h2{font-size:22px;margin-top:3px}.notebook-heading>span{font-size:13px;color:#6b735a}.notes{max-height:360px;overflow:auto;padding-right:4px}.entry{padding:14px 0;border-bottom:1px solid #cbcbb6}.entry:last-child{border-bottom:0;padding-bottom:0}.entry-label{font-size:12px;color:#72765e;margin-bottom:6px}.entry p{font-size:15px;line-height:1.8;margin:0}.entry:first-child p{font-weight:650}.diary{padding:0 5px}.diary-heading{display:flex;align-items:center;justify-content:space-between}.diary h2{font-size:16px}.diary-heading span{font-size:12px;color:var(--dim)}#events{list-style:none;padding:0;margin:12px 0 0;max-height:225px;overflow:auto}#events li{border-top:1px solid var(--line);padding:10px 0;display:flex;gap:10px;font-size:14px;color:#c3d0bf}#events time{font-size:12px;color:#859d89;white-space:nowrap;padding-top:2px}footer{max-width:1450px;margin:20px auto 30px;padding:0 32px;color:var(--dim);font-size:13px}footer p{margin:3px 0}details{margin-top:15px}summary{cursor:pointer;width:max-content;min-height:40px}details button{font-size:14px;margin:8px 5px 5px 0}#reset{color:#e9c1a1;border-color:#866954}#reset-confirm{color:#efc09d}@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 370px}}@media(max-width:1000px){main{gap:16px;padding:0 20px;grid-template-columns:minmax(0,1fr) 300px}header{padding:20px}.resources{gap:14px;padding:12px}.resources>div:last-child{margin-left:0}.field-controls{padding:12px}.field-controls p{font-size:13px}.companion{padding:16px}.notebook{padding:18px}.companion-heading{gap:8px}.companion-heading h2{font-size:17px}}@media(max-width:760px){header{padding:15px 16px}.brand{gap:10px}.brand-mark{font-size:15px;padding:8px 6px}h1{font-size:16px;letter-spacing:0}.brand p{font-size:12px}.saved{font-size:12px}main{display:block;padding:0 12px}.forest-top{padding:12px 16px}.forest-top h2{font-size:20px}.resources{gap:12px;font-size:13px}.resources>div{gap:6px}.resources>div:last-child{width:100%;justify-content:space-between}.field-controls p{font-size:12px}.map-caption{font-size:12px;top:8px;right:8px}.bubble{font-size:14px;bottom:12px;padding:9px 12px}aside{margin-top:16px;gap:16px}.companion-heading h2{font-size:20px}.companion-copy{min-height:0;margin:12px 0}.actions button{font-size:16px}.notes{max-height:320px}.notebook{padding:20px}.diary{padding:0 8px}footer{padding:0 20px;font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}[hidden]{display:none!important}


.fruit-kinds{display:flex;gap:10px 18px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--line);font-size:14px}.fruit-kinds>span{display:flex;align-items:center;gap:6px}.fruit-kinds strong{color:var(--lime);min-width:1ch}.fruit-kinds i{display:inline-block;width:12px;height:12px;border-radius:3px}.berry-meno{background:repeating-linear-gradient(0deg,#d987aa 0 3px,#f5c4d3 3px 4px)}.berry-lapi{background:#426cc4;box-shadow:inset 3px 3px #94b5f5}.berry-koha{background:#dfa343;box-shadow:inset 3px 3px #ffe09a}@media(max-width:760px){.fruit-kinds{padding:10px 12px;gap:8px 14px}}
.time-settings{border:1px solid var(--line);border-radius:10px;padding:14px 18px;background:#172e28}.time-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-setting-row label{font-size:14px;cursor:pointer}.time-setting-row input{appearance:none;width:48px;height:28px;border:1px solid #70806b;border-radius:20px;background:#344638;position:relative;cursor:pointer;flex-shrink:0}.time-setting-row input:before{content:"";position:absolute;width:20px;height:20px;top:3px;left:4px;border-radius:50%;background:#bec8b2}.time-setting-row input:checked{background:#9bb75a}.time-setting-row input:checked:before{left:23px;background:#f0f5db}.time-setting-row input:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.time-settings p{font-size:13px;color:var(--dim);margin:6px 0 0}#return-report{border-top:1px solid var(--line);padding-top:10px;color:var(--lime)}.branch-icon{height:5px;background:#c5a26c;transform:rotate(-25deg);box-shadow:3px -3px 0 -1px #a88651}
:root{--focus:#c7dd84}.companion-heading>div{min-width:0}.companion-heading h2,.companion-tabs button,.bubble{overflow-wrap:anywhere}
.journey-cancel{display:block;min-height:44px;max-width:100%;margin-top:8px}.journey-cancel-note{display:block;margin-top:4px;color:var(--dim);overflow-wrap:anywhere}
.farm-confirm{position:absolute;z-index:12;left:8px;right:8px;bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;background:#17362ff2;border:1px solid #c7dd84;border-radius:8px;box-shadow:0 3px 12px #0005}.farm-confirm p{flex:1 0 100%;margin:0;color:var(--ink);font-size:14px}.farm-confirm button{flex:1;min-height:44px;font-size:14px;padding:8px}
.zone-orders{padding-block:14px;border-bottom:1px solid var(--line)}.zone-orders details{margin-top:12px}.zone-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-block:10px}.zone-row span{flex:1 0 100%;font-size:14px}.zone-row button{flex:1;min-width:0}#bed-dialog{width:min(420px,calc(100% - 24px))}#bed-owner{display:block;width:100%;min-height:46px;margin-block:8px}
#world{touch-action:none;cursor:grab}#world:active{cursor:grabbing}#world:focus-visible{outline:3px solid var(--lime);outline-offset:-4px}.map-controls{justify-content:flex-start;flex-wrap:wrap}.map-controls button:last-child{margin-left:auto}.home-wish{padding:0 18px 16px}.home-wish p{font-size:14px;color:var(--dim);margin:8px 0 0}.camp-resources{display:flex;gap:18px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);font-size:14px;color:var(--dim)}.camp-resources strong{color:var(--lime);font-size:17px;margin-left:5px}.companion-tabs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.companion-tabs button{font-size:14px;padding:6px 10px;min-height:44px}.companion-tabs button[aria-pressed=true]{border-color:var(--lime);color:var(--lime)}#pet-species{font-size:12px;color:var(--dim)}.encounter{border:1px solid #9bad63;background:#2a412d;border-radius:12px;padding:18px}.encounter h2{font-size:18px;margin:7px 0}.encounter p{font-size:14px}.encounter-small{color:var(--dim);font-size:12px!important;margin-bottom:0}dialog{color:var(--ink);background:var(--panel);border:1px solid #6f8a62;border-radius:14px;padding:26px;width:min(440px,calc(100% - 32px));box-shadow:0 15px 70px #0008}dialog::backdrop{background:#091c17bd}dialog h2{font-size:22px;margin:10px 0 16px}dialog p{font-size:16px}.dialog-reply{color:var(--lime);padding:10px 14px;background:#10271f;border-radius:7px}dialog label{display:block;font-size:14px;margin-top:20px}dialog input{width:100%;font:inherit;font-size:20px;min-height:52px;background:#10251e;color:var(--ink);border:1px solid #779269;border-radius:7px;padding:10px 12px;margin-top:8px}dialog input:focus{outline:2px solid var(--lime)}#name-error{color:#f2bda0;font-size:14px;min-height:22px;margin:8px 0 16px}dialog .actions{flex-wrap:wrap}@media(max-width:760px){.map-controls{gap:8px}.map-controls button{font-size:13px;padding-inline:10px}.home-wish{padding-inline:14px}.camp-resources{padding:12px 14px}.home-wish>button{width:100%}}
.wish-label{display:block;margin:16px 0 8px;font-size:14px}#wish{width:100%;min-height:44px;padding:10px;border:1px solid #65816d;border-radius:8px;background:#19392e;color:#f0eed7;font:inherit}.companion-tabs{flex-wrap:wrap}#more-companions:empty{display:none}
#open-companion,#close-companion,.companion-reply{display:none}
@media(max-width:760px){
  #world{scroll-margin-top:8px}
  #open-companion{display:block;position:fixed;z-index:25;right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));background:var(--lime);color:#203326;font-weight:700;box-shadow:0 3px 18px #0006}
  #companion-panel{position:fixed;z-index:30;left:0;right:0;bottom:0;margin:0;border-radius:16px 16px 0 0;border-bottom:0;padding:12px max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));max-height:48vh;max-height:48dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 -6px 28px #071b1780}
  #companion-panel[data-mobile-open=false]{display:none}
  #close-companion{display:block;position:absolute;right:12px;top:8px;font-size:14px;min-height:44px;padding:6px 12px}
  #companion-panel>.section-label,#companion-panel #thought,#companion-panel #pet-number{display:none}
  #companion-panel .companion-tabs{margin:0;padding-right:64px;gap:6px}
  #companion-panel #more-companions{margin-top:6px}
  #companion-panel .companion-heading{margin-top:6px;gap:9px}
  #companion-panel #portrait{width:40px;height:40px}
  #companion-panel h2{font-size:17px;overflow-wrap:anywhere}
  #companion-panel .companion-heading p{margin:0}
  #companion-panel .wish-label{margin:6px 0 3px}
  #companion-panel #wish{font-size:16px;min-height:44px;padding:7px 10px}
  #companion-panel #mood{min-height:0;margin:4px 0;font-size:14px}
  #companion-panel .companion-reply:not([hidden]){display:block;margin:8px 0;padding:9px 12px;border-radius:8px;background:#f2ecd1;color:#334035;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
  #companion-panel .actions{margin-top:6px}
  body:has(#companion-panel[data-mobile-open=true]) #bubble{display:block}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}
.rod-work{padding:12px 20px;border-bottom:1px solid var(--line)}.rod-work p{font-size:14px;color:var(--dim);margin:5px 0 0}.rod-work button:disabled{opacity:.65;cursor:default}@media(max-width:760px){.rod-work{padding:10px 14px}.rod-work button{width:100%}}

.bubble{white-space:pre-line;z-index:4;line-height:1.45;max-width:90%;font-size:16px}.bubble.actor-bubble{bottom:auto;transform:translate(-50%,-100%);width:max-content;max-width:48%;padding:8px 12px}.bubble.actor-bubble::after{content:"";position:absolute;left:50%;bottom:-9px;width:12px;height:12px;background:#f2ecd1;border-right:2px solid #5a6143;border-bottom:2px solid #5a6143;transform:translateX(-50%) rotate(45deg)}.touch-help{color:var(--dim);font-size:14px;margin-bottom:0}@media(max-width:760px){#companion-panel{max-height:32vh;max-height:32dvh}#companion-panel .companion-reply{display:none!important}#companion-panel .touch-help{display:none}.bubble.actor-bubble{font-size:14px;max-width:56%;padding:7px 10px}}

#world{touch-action:none}.zoom-controls{position:absolute;left:10px;top:10px;z-index:5;display:flex;align-items:center;gap:6px;background:#10231fdd;padding:4px;border-radius:8px}.zoom-controls button{min-width:44px;min-height:44px;padding:4px;font-size:20px}.zoom-controls span{font-size:14px;min-width:42px;text-align:center}.zoom-controls button:disabled{opacity:.4}.bubble.actor-bubble::after{left:var(--tail-x,50%)}.bubble.actor-bubble.bubble-below{transform:translate(-50%,0)}.bubble.actor-bubble.bubble-below::after{bottom:auto;top:-9px;transform:translateX(-50%) rotate(225deg)}@media(max-width:760px){.map-caption{max-width:45%;text-align:right}.zoom-controls{top:8px;left:8px;gap:3px}}

.expansion-work{padding:16px 20px;border-top:1px solid #496348}.expansion-work h3{font-size:15px;margin:0 0 10px}.expansion-work p,.expedition-controls p{font-size:12px;color:#bbc8ae;line-height:1.7;margin:8px 0}.expansion-work button{margin:4px 5px 4px 0;min-height:44px}.expedition-controls{border-top:1px solid #496348;padding-top:10px}.expedition-controls label{display:block;font-size:13px;margin-bottom:8px}.expedition-controls select{min-height:44px;margin-right:6px}.expedition-controls button{min-height:44px} [hidden]{display:none!important}

.cooking-work{padding:16px 20px;border-top:1px solid #496348}.cooking-work h3{font-size:15px;margin:0 0 10px}.cooking-work p{font-size:12px;line-height:1.7;color:#bbc8ae}.cooking-work select,.cooking-work button{min-height:44px;margin:5px 5px 5px 0}.cooking-work summary{padding:12px 0;cursor:pointer}.food-row{display:grid;grid-template-columns:minmax(110px,1fr) 45px 70px;align-items:center;gap:8px;margin:7px 0;font-size:13px}.food-row input{width:70px;min-height:44px;padding:6px 8px;background:#213e32;color:#eef0d5;border:1px solid #657f57;border-radius:6px}.food-head{color:#bac8a8;font-size:11px}.cook-actions{display:flex;flex-wrap:wrap}

.sign-work{padding:16px 20px;border-top:1px solid #496348}.sign-work h3{font-size:15px}.sign-work p{font-size:12px;color:#bbc8ae;line-height:1.7}.sign-work button,.sign-work select{min-height:44px;margin:4px}.food-row{grid-template-columns:minmax(110px,1fr) 50px}

/* The forest is the home screen. Menus open only when requested. */
header{padding:14px 24px}#game-layout{display:block;max-width:1550px;margin:auto;padding:0 20px}.forest{width:100%}.world-wrap{width:min(100%,calc((100dvh - 220px)*1.3333));margin:auto;max-height:none}.quick-life{display:flex;gap:16px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}.quick-life strong{color:var(--ink)}.menu-dock{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:12px 20px;position:sticky;bottom:0;background:#10231ff5;z-index:35}.menu-dock button{min-width:100px;min-height:48px}.menu-dock button[aria-expanded=true]{background:var(--lime);color:#203326}.menu-dock span{font-size:11px}.menu-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:calc(100dvh - 110px);padding:16px;position:sticky;top:12px}.menu-heading{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-16px;z-index:2;background:var(--panel);padding:8px 0 12px}.menu-page>h3{margin:18px 0 8px;font-size:16px}.menu-page p{font-size:14px;color:var(--dim)}.menu-page label{display:block;font-size:14px;margin:10px 0 5px}.menu-page select{font:inherit;background:#19392e;color:var(--ink);border:1px solid #65816d;border-radius:7px;min-height:44px;padding:8px;max-width:100%}.menu-page button:disabled{opacity:.45;cursor:default}.recipe,.built-card,.report-card{border-bottom:1px solid var(--line);padding:12px 0}.recipe h3,.built-card h3{font-size:16px;margin:0}.recipe p{margin:5px 0}.recipe>div,.recipe .rod-work{padding:0;border:0}.recipe-needs{font-size:12px!important}#monster-roster{display:grid;gap:8px;margin:12px 0}#monster-roster button{text-align:left;width:100%}.stat-row{display:grid;grid-template-columns:100px 1fr 80px 35px;align-items:center;gap:7px;padding:6px 0;font-size:13px}.stat-row progress{width:80px;height:7px;accent-color:var(--lime)}.stat-row small{color:var(--dim)}.growth-help{font-size:12px!important;color:var(--dim)}#companion-panel{position:static!important;padding:0!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;background:transparent!important;display:block!important}#companion-panel .companion-tabs,#companion-panel #close-companion,#open-companion{display:none!important}#companion-panel #thought{display:block}#companion-panel .touch-help{display:block}#growth-stats{border-top:1px solid var(--line);margin-top:12px}#page-resources .resources,#page-resources .fruit-kinds,#page-resources .camp-resources{padding:10px 0}.notebook{box-shadow:none}.notes{max-height:none}#events{max-height:none}.sign-work{padding:12px 0}footer{font-size:12px}footer>p:first-child{display:none}footer details{max-width:900px}.menu-page .encounter{margin:12px 0}.menu-page .food-row{display:grid;grid-template-columns:1fr 50px}.menu-page .home-wish{padding:0}.menu-page .expedition-controls{margin-top:10px}
@media(min-width:900px){#game-layout.menu-open{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px}.world-wrap{width:min(100%,calc((100dvh - 220px)*1.3333))}.menu-panel{min-width:0}}
@media(max-width:899px){body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}header{padding:10px 12px}#game-layout{padding:0 8px}.world-wrap{width:100%}.menu-dock{position:fixed;left:0;right:0;bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.menu-dock button{min-width:0;min-height:42px;font-size:13px;padding:6px 2px}.menu-panel{position:static;z-index:auto;inset:auto;margin-top:12px;max-height:50dvh;border-radius:12px;padding:12px 16px;box-shadow:none;overscroll-behavior:contain}.menu-panel.monster-compact{max-height:50dvh}.menu-heading{top:-12px}.quick-life{font-size:12px;padding:8px 12px;gap:5px 12px}.stat-row{grid-template-columns:95px 1fr 65px 32px}.stat-row progress{width:65px}.forest-top{padding:9px 12px}.forest-top h2{font-size:18px}.map-controls{padding:8px 12px}.menu-page #portrait{width:40px;height:40px}.menu-page .companion-heading{margin-top:8px}.menu-page .companion-copy{min-height:0;margin:8px 0}.menu-page #thought{display:none!important}.menu-page .wish-label{margin-top:8px}.menu-page .touch-help{display:none!important}.brand p{font-size:11px}.menu-page .notebook{padding:16px}}

.menu-feedback{padding:10px 12px;background:#e9e2c7;color:#334035;border-radius:8px;font-size:14px;line-height:1.6}.menu-page .menu-feedback{color:#334035}
@media(max-width:899px){.menu-dock button{font-size:12px;line-height:1.3;white-space:nowrap;letter-spacing:-.03em;padding:6px 1px}.menu-dock span{display:block;line-height:12px}.menu-dock span:empty{display:none}}

.menu-page .party-row{display:grid;grid-template-columns:24px minmax(80px,1fr) 135px;gap:7px;align-items:center;font-size:13px}.party-row input{width:20px;height:20px}.party-row select{font-size:12px;padding:6px;min-width:0}.dungeon-card{border-top:1px solid var(--line);padding:12px 0}.dungeon-card h3{font-size:16px;margin:0}.dungeon-card button{margin:4px 6px 4px 0}

.party-row .party-leader{grid-column:2 / -1;justify-self:start;min-height:44px;padding:7px 12px;font-size:12px}.party-row .party-leader[aria-pressed="true"]{color:var(--lime);border-color:currentColor}

/* Independent pages: the field is an observation screen, menus use the full viewport. */
[hidden]{display:none!important}
#game-layout.menu-open{display:block;max-width:940px}
.menu-panel,.menu-panel.monster-compact{position:static;inset:auto;max-height:none;overflow:visible;margin:0 auto;padding:20px 24px;border-radius:12px;box-shadow:none}
.menu-heading{position:sticky;top:0;gap:12px;padding:12px 0;background:var(--panel);border-bottom:1px solid var(--line)}
.menu-heading h2{margin:0;font-size:22px}.menu-heading button{font-size:14px;white-space:nowrap}
body.page-open{padding-bottom:24px}
.menu-dock{position:static;max-width:1100px;margin:0 auto;padding:12px 20px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:transparent;gap:8px}
.menu-dock button{min-width:0;min-height:52px}.menu-page .notebook{margin-top:18px}.menu-page footer{padding:16px 0;margin:0}.menu-page .time-settings{padding:12px 0}
.field-notices{padding:0 18px 10px}.field-notices p{font-size:13px;color:var(--dim);margin:6px 0;overflow-wrap:anywhere}.field-notices #return-report{color:var(--lime)}#field-alerts{display:flex;gap:8px;flex-wrap:wrap}#field-alerts button{font-size:13px;min-height:44px;color:var(--lime)}
.world-wrap{width:min(100%,calc((100dvh - 330px)*1.3333));min-width:280px}.quick-life{padding:8px 18px}
@media(max-width:899px){body{padding-bottom:env(safe-area-inset-bottom)}#game-layout{padding:0 8px}.menu-panel,.menu-panel.monster-compact{padding:8px 14px;max-height:none;border-radius:10px}.menu-heading{top:0;padding:10px 0}.menu-heading h2{font-size:20px}.menu-heading button{font-size:13px;padding:8px 10px}.world-wrap{width:100%;min-width:0}.menu-dock{position:static;inset:auto;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 8px 18px;gap:6px}.menu-dock button{min-height:50px;font-size:12px}.field-notices{padding:0 12px 6px}.field-notices p{font-size:12px}.quick-life{padding:8px 12px}.menu-page .notes,.menu-page #events{overflow:visible;max-height:none}}

/* Species plates and the original journal share the book entrance. */
.book-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.book-choices button{text-align:left;padding:24px;font-size:20px;background:#e6d3a9;color:#49351e;border-color:#a88955}.book-choices span{display:block;font-size:13px;margin-top:8px}#species-index{display:grid;gap:10px;margin:20px 0}#species-index button{text-align:left;font-size:18px;padding:16px 20px}#book-reader{max-width:680px;margin:auto}.reader-heading{position:sticky;top:69px;display:flex;align-items:center;justify-content:space-between;z-index:3;background:var(--panel);padding:8px 0}.reader-heading button{min-height:46px}#reader-title{text-align:center;margin:14px 0;font-size:24px}.reader-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:12px}.reader-tabs button[aria-pressed=true]{background:#e6d3a9;color:#49351e;border-color:#c9a66a}#reader-surface{touch-action:none;border-radius:10px;background:#e8d4af;color:#49351e;overflow:hidden;outline-offset:3px}#reader-art{height:clamp(300px,calc(100dvh - 300px),740px);display:flex;justify-content:center;align-items:center}#species-art{width:100%;height:100%;object-fit:contain;display:block;user-select:none}#species-no-image{font-family:monospace;font-size:32px;text-align:center;padding:32px}#species-no-image span{display:block;font-family:system-ui;font-size:14px;margin-top:16px}#reader-info{padding:24px;min-height:clamp(300px,calc(100dvh - 300px),740px)}#reader-info p{color:#49351e;font-size:16px;line-height:1.9}#species-facts dt{font-weight:bold;margin-top:16px}#species-facts dd{margin:4px 0 0;line-height:1.8}#species-residents{border-top:1px solid #bda578;padding-top:16px;overflow-wrap:anywhere}.reader-hint{text-align:center;font-size:12px!important}.reader-navigation{display:flex;justify-content:space-between;gap:12px;margin:16px 0}.notebook .entry p{color:var(--paper-ink)}#book-diary>button,#book-index>button{margin-top:16px}
@media(max-width:600px){.book-choices{grid-template-columns:1fr;gap:12px;margin:20px 0}.book-choices button{padding:20px}.reader-heading{top:65px}#reader-title{font-size:20px;margin:10px 0}.reader-tabs button{font-size:14px}#reader-info{padding:18px}#reader-info p{font-size:15px}.reader-navigation button{font-size:14px;padding-inline:10px}}

#species-description{white-space:pre-line}#reader-info{height:clamp(300px,calc(100dvh - 300px),740px);min-height:0;overflow-y:auto;overscroll-behavior:contain}#species-facts{font-size:14px}#species-facts dt{color:#624224}#species-facts dd{overflow-wrap:anywhere}.reader-hint{line-height:1.7}

/* Viewport book: illustration verso, text recto. The binding edges stay straight. */
body.reader-open{overflow:hidden;padding:0;background:var(--bg)}body.reader-open>header,body.reader-open .menu-heading,body.reader-open #menu-feedback{display:none!important}
body.reader-open #game-layout,body.reader-open .menu-panel{margin:0;padding:0;border:0;background:var(--bg)}
#book-reader{position:fixed;inset:0;max-width:900px;width:100%;height:100vh;height:100dvh;margin:auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:grid;grid-template-rows:54px minmax(0,1fr) 24px;background:var(--bg);z-index:60;overflow:hidden}
.reader-heading{position:static;top:auto;padding:4px 12px;gap:8px;background:var(--bg);font-size:12px}.reader-heading button{background:transparent;border-color:transparent;min-height:44px;padding:6px 10px;font-size:14px}.reader-heading #reader-count{margin:auto;color:#b4c3ac;font-size:12px;white-space:nowrap}.reader-heading button:last-child{margin-left:auto}
.reader-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;min-height:0;overflow:hidden;background:var(--bg);position:relative}
.book-arrow{padding:0;border:0;border-radius:0;background:transparent!important;color:#afbea580;font-size:48px;line-height:1;min-width:44px;min-height:44px;align-self:center;height:96px;z-index:2}.book-arrow:hover,.book-arrow:focus-visible{color:#d7e3c0}
#reader-surface{min-width:0;min-height:0;border-radius:0;background:transparent;overflow:visible;touch-action:none;transition:transform .18s ease;will-change:transform;position:relative;outline-offset:-3px}#reader-surface.dragging{transition:none}
#reader-art{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;background:transparent;overflow:hidden}
.art-paper{height:min(100%,calc((100vw - 88px)*1.5));width:min(100%,calc((100dvh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*2/3));aspect-ratio:2/3;position:relative;clip-path:polygon(0.7% 0.5%,12% 0.2%,22% 0.7%,34% 0.1%,45% 0.6%,58% 0.2%,71% 0.7%,84% 0.2%,100% 0,100% 100%,84% 99.7%,73% 99.4%,60% 99.9%,48% 99.4%,35% 99.8%,23% 99.3%,12% 99.8%,0.5% 99.5%,0.1% 91%,0.7% 81%,0.2% 73%,0.8% 62%,0.1% 53%,0.6% 41%,0.2% 32%,0.8% 22%,0.1% 12%);background:transparent}
.art-paper::after{content:"";position:absolute;inset:0 0 0 auto;width:3%;background:linear-gradient(90deg,transparent,#59391f55);pointer-events:none}
#species-art{width:100%;height:100%;object-fit:contain;border-radius:0;display:block;user-select:none;pointer-events:none}
#species-no-image{height:100%;display:flex;flex-direction:column;justify-content:center;background:#e8d4af;font-size:24px;color:#49351e;padding:20px}
#reader-info{height:100%;min-height:0;overflow:hidden;padding:26px 24px;display:grid;grid-template-rows:56px minmax(0,1fr);gap:12px;background:radial-gradient(ellipse at 14% 20%,#bd8e4830,transparent 35%),radial-gradient(ellipse at 80% 80%,#b58b5422,transparent 38%),linear-gradient(110deg,#dfc599,#f0ddb7 48%,#e6cca0);color:#49351e;clip-path:polygon(0 0,14% 0.3%,26% 0.7%,38% 0.1%,51% 0.6%,64% 0.2%,76% 0.8%,89% 0.2%,99.4% 0.5%,99.8% 11%,99.2% 21%,99.7% 32%,99.1% 43%,99.8% 54%,99.3% 66%,99.9% 76%,99.3% 87%,99.6% 99.5%,86% 99.8%,74% 99.3%,62% 99.9%,49% 99.4%,35% 99.8%,23% 99.5%,12% 99.9%,0 100%);position:relative}
#reader-info::before{content:"";position:absolute;inset:0 auto 0 0;width:12px;background:linear-gradient(90deg,#59391f55,transparent);pointer-events:none}
#reader-title{font-size:21px;line-height:1.3;text-align:left;display:flex;align-items:center;margin:0;color:#49351e;overflow-wrap:anywhere}
#reader-text,#reader-measure{font-size:16px;line-height:1.8;color:#49351e;text-align:left;display:flow-root;overflow-wrap:anywhere;min-width:0;min-height:0;overflow:hidden}
.book-paragraph{margin:0 0 14px;padding:0}.book-paragraph h3{font-size:16px;line-height:1.5;margin:0 0 6px;font-weight:700;color:#664221}.book-paragraph p,#reader-info .book-paragraph p{font-size:16px;line-height:1.8;margin:0;color:#49351e;white-space:pre-wrap}
#reader-measure{position:fixed;left:-10000px;top:0;visibility:hidden;pointer-events:none;height:auto;overflow:visible;contain:layout style}
#reader-page-count{font-size:11px;align-self:center;text-align:center;color:#b4c3ac;line-height:1;letter-spacing:.12em}
@media(min-width:900px){.art-paper{height:min(100%,1080px);width:min(100%,calc((100dvh - 78px)*2/3))}}
@media(max-width:380px){#reader-info{padding:20px 16px}#reader-title{font-size:19px}.reader-heading{padding-inline:5px}}
@media(prefers-reduced-motion:reduce){#reader-surface{transition:none}}

/* One physical page for every plate and every text leaf, at a fixed 2:3 ratio. */
#reader-surface{display:flex;align-items:center;justify-content:center}
#reader-paper{position:relative;flex:none;aspect-ratio:2/3}
#reader-art,#reader-info{position:absolute;inset:0;width:100%;height:100%;margin:0}
.art-paper{width:100%;height:100%;aspect-ratio:2/3;clip-path:var(--art-edge);background:transparent}
#reader-info{clip-path:var(--text-edge);padding:16px 14px;grid-template-rows:32px minmax(0,1fr);gap:8px;background:#edd0a0 var(--paper-texture) center/100% 100% no-repeat;overflow:hidden}
#reader-info.continued{grid-template-rows:minmax(0,1fr);gap:0}
#reader-title{font-size:20px;line-height:1.25;height:32px;letter-spacing:.02em}
#reader-text,#reader-measure{font-size:16px;line-height:1.55}
.book-paragraph{margin:0 0 6px}
.book-paragraph h3{font-size:15px;line-height:1.35;margin:0 0 3px;color:#5b351c}
.book-paragraph p,#reader-info .book-paragraph p{font-size:16px;line-height:1.55;color:#49301d}
.art-paper::after{inset:0 0 0 auto;width:16px;background:linear-gradient(90deg,transparent,#71411f26 40%,#64391980 100%);border-right:1px solid #57301999;box-shadow:inset -3px 0 0 #dcb07940}
#reader-info::before{inset:0 auto 0 0;width:16px;background:linear-gradient(90deg,#64391980,#71411f26 60%,transparent);border-left:1px solid #57301999;box-shadow:inset 3px 0 0 #dcb07940}
@media(max-width:380px){#reader-info{padding:14px 12px}#reader-title{font-size:19px}}
.satiety-panel{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid #4b6550;border-radius:10px;background:#1a352e}.satiety-panel progress{width:100%;height:14px;accent-color:#b8cb81}#hunger-notice{color:#f0b49a;border-left:3px solid #c68165;padding:8px 12px}#page-life h3{margin-top:24px}#page-life p{line-height:1.7}#page-life select{margin:8px 10px 12px 0}#farm-list,#base-list{display:grid;gap:12px}#base-list button{margin:4px 8px 0 0}#name-base{width:100%;margin:6px 0 12px}#name-base-label{display:block}
/* Compact, touch-first bases and contextual help. */
.section-heading,.base-heading,.base-meta,.inline-operation,.settings-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-heading{justify-content:space-between}.section-heading h3,#page-life .section-heading h3{margin:8px 0}.help-link{width:36px;min-height:36px;padding:4px;border-radius:50%;flex:none;font-weight:bold}.farm-order{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #486050}.farm-order small{display:block;line-height:1.6;color:#c3cdb9}.inline-operation select{width:76px;min-height:44px}.inline-operation button{flex:1;min-height:44px}.farm-order p:empty{display:none}#base-list{gap:10px}#base-list button{margin:0}.base-card{padding:12px;border:1px solid #486050;border-radius:12px;background:#1a352e;min-width:0}.base-heading{flex-wrap:nowrap}.base-name{flex:1;min-width:0;text-align:left;background:none;border:0;padding:4px 0;font-size:16px;font-weight:700;overflow-wrap:anywhere}.base-pencil{flex:none;min-width:40px;min-height:40px;padding:6px}.base-meta{justify-content:space-between;margin:2px 0 8px;font-size:12px;color:#c3cdb9}.base-welcome{padding:5px 8px;font-size:12px;min-height:32px}.base-welcome[aria-pressed=true]{color:#cce6a6;background:#304c35}.base-faces{display:flex;gap:6px;flex-wrap:wrap;min-height:48px}.base-face{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 3px;min-width:48px;min-height:48px;background:#254238;border:1px solid #526d51;border-radius:10px}.base-face canvas{display:block;width:48px;height:48px;max-width:none;image-rendering:pixelated}.base-face small{font-size:10px;line-height:1.3;padding-bottom:4px;white-space:nowrap}.base-card p{font-size:13px;margin:6px 0}.base-card small{display:block;font-size:12px;margin-top:6px}.base-member{margin-top:12px;padding:12px;border:1px solid #92a66f;border-radius:12px}.base-member select{display:block;width:100%;min-height:44px}.base-member p{font-size:13px}.base-member p:empty{display:none}.base-member h3{font-size:15px;overflow-wrap:anywhere}.text-link{background:none;text-align:left;text-decoration:underline;text-underline-offset:4px}.settings-tabs{margin:0 0 14px}.settings-tabs button{flex:1;min-height:44px}.settings-tabs [aria-pressed=true]{background:#435b3f;color:#f2e6c4}#help-topics details{border-bottom:1px solid #486050;padding:0 0 8px;margin:8px 0}#help-topics summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:15px}#help-topics p{font-size:14px;line-height:1.8;margin:8px 0}#help-return{margin-bottom:12px}#base-name-input{width:100%;margin:10px 0;min-height:44px}#base-name-error,#base-member-reason,#farm-reason{color:#ecc29e}#base-rename-dialog{max-width:min(92vw,420px)}

/* Permanent game header. Artwork bounds exclude the JPEG's white outer margin. */
header.game-header{max-width:1550px;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;padding:8px 20px;align-items:center}
.game-header .brand{display:block;min-width:0;margin:0;line-height:0;letter-spacing:0}
.brand-logo{display:block;width:100%;max-width:380px;height:auto;aspect-ratio:1513/362}
.header-status{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;line-height:1.5;font-size:12px;color:var(--dim)}
.header-status .saved{font-size:12px}
.map-caption.placement-help{max-width:calc(100% - 16px);text-align:left;background:#10231fe6;font-size:11px;line-height:1.5}
@media(max-width:899px){header.game-header{padding:6px 10px;gap:8px}.brand-logo{max-width:320px}.header-status,.header-status .saved{font-size:11px}}
