:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20382B;background:#F7F4EA;font-size:16px;line-height:1.55;--sage:#789580;--dark:#20382B}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 0,#e5ebdf 0,transparent 44%),#F7F4EA}header,main{max-width:1160px;margin:auto;padding:24px 38px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #20382b16}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand strong{font-size:21px;letter-spacing:-.5px}.brand small{display:block;font-size:9px;letter-spacing:3px}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:18px 0 28px}h1{font-size:clamp(36px,5vw,61px);line-height:1.06;font-weight:600;letter-spacing:-2px;margin:15px 0}h2{font-size:24px;line-height:1.25;letter-spacing:-.5px;margin:0 0 13px}.intro{color:#526B5C;max-width:450px;margin:14px 0 0}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:2px;margin:0 0 10px}.day-note{max-width:285px;text-align:right;padding-bottom:8px;font-size:14px}.summary{display:flex;gap:20px;justify-content:flex-end;margin-top:18px}.summary span{max-width:115px;font-size:11px}.summary b{display:block;font-size:30px;font-weight:600;line-height:1.2}nav{display:flex;gap:5px;border-bottom:1px solid #c3cebd;margin-bottom:24px;padding:0 0 10px;max-width:500px}button,input,select{font:inherit}button{border:1px solid #20382B;background:#20382B;color:#F7F4EA;border-radius:12px;min-height:46px;padding:10px 18px;cursor:pointer;font-weight:600;font-size:14px}.secondary,.quiet,nav button{background:transparent;color:#20382B}.quiet{border-color:transparent;font-size:12px;padding:8px}.quiet:hover{background:#20382b09}nav button{border-color:transparent;flex:1;padding:10px 6px}nav button[aria-current]{background:#dde5dc;border-color:#aabdab}button:hover{filter:brightness(.96)}button:disabled{opacity:.6;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #20382B;outline-offset:4px}.panel{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.panel[hidden],[hidden]{display:none!important}.world-hero{background:#e3eee5;border:1px solid #c6d5c5;border-radius:28px;overflow:hidden;align-self:start}.world-topline{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0;position:relative;z-index:1;gap:10px}.tag{display:inline-block;font-size:11px;background:#F7F4EA;color:#20382B;padding:6px 11px;border:1px solid #b7c8b6;border-radius:20px;font-weight:600;white-space:nowrap}.world-art{margin-top:-15px}.world-art svg{display:block;width:100%;height:auto}.world-caption{padding:8px 25px 24px;display:flex;gap:18px;justify-content:space-between;align-items:center}.world-caption h2{font-size:24px;overflow-wrap:anywhere;margin:5px 0 8px}.world-caption p:not(.eyebrow){font-size:12px;color:#425C4C;margin:0;max-width:300px}.world-stat{font-size:10px;max-width:88px;border-left:1px solid #aabdac;padding-left:14px;flex-shrink:0}.focus-card{background:#FFFCF5;border:1px solid #c6cec2;border-radius:26px;padding:25px}.focus-intent .eyebrow{margin-bottom:16px}label{display:block;font-weight:600;font-size:12px}input[type=number],input[type=text],input:not([type]),select{width:100%;border:1px solid #a2b7a2;border-radius:10px;background:#fffdf8;padding:10px 12px;color:#20382B;min-height:46px;margin:6px 0 13px;font-size:14px}select{text-overflow:ellipsis}input:disabled,select:disabled{background:#ecf0e7;opacity:.85}.optional{font-weight:400}.timer-block{text-align:center;padding-top:6px}.timer-block p{font-size:12px;margin:5px 0;color:#526B5C}#clock{font-size:clamp(65px,7vw,89px);font-variant-numeric:tabular-nums;line-height:1.22;letter-spacing:-4px;font-weight:400}.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.timer-block .actions{margin-top:17px}.quick{display:flex;justify-content:center;gap:7px;margin-top:13px}.quick button{min-height:38px;background:#e9eee2;color:#20382B;border-color:transparent;font-size:11px;padding:6px 13px;border-radius:8px}.quick button[aria-pressed=true]{border-color:#789580;background:#dce7db}.settings{border-top:1px solid #d8dfd0;margin-top:20px;padding-top:12px}.settings summary{font-size:11px;color:#425C4C;cursor:pointer}.settings form{padding-top:15px}.fields{display:flex;gap:12px}.fields label{flex:1;min-width:0}.check{display:flex;align-items:center;gap:9px;margin:14px 0}input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:#20382B;flex-shrink:0}.hint,.notice{font-size:12px;color:#526B5C;line-height:1.65}.notice{grid-column:1/-1;border-left:2px solid #789580;padding:0 15px;margin-top:0}.islands-section,.postcard-teaser{grid-column:1/-1}.islands-section{padding:20px 0 5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h2{margin-bottom:0}.section-heading button{font-size:12px}.island-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.island-tile{background:#fffcf5;color:#20382B;border:1px solid #c6cec2;padding:0;text-align:left;border-radius:19px;overflow:hidden;transition:transform .18s}.island-tile:hover{transform:translateY(-3px)}.island-tile[aria-pressed=true]{border:2px solid #20382B}.island-tile svg{width:100%;display:block}.island-tile .tile-title{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere;padding:0 14px 4px}.island-tile .tile-meta{font-size:10px;color:#526B5C;font-weight:400;display:block;padding:0 14px 15px}.postcard-teaser{display:flex;align-items:center;gap:25px;justify-content:space-between;background:#20382B;color:#F7F4EA;padding:30px;border-radius:23px;position:relative;overflow:hidden}.postcard-teaser:after{content:"";width:150px;height:150px;border:1px solid #78958066;border-radius:50%;position:absolute;right:-45px;top:-65px;pointer-events:none}.postcard-teaser .eyebrow{color:#CBD9BF}.postcard-teaser h2{font-size:27px}.postcard-teaser p:not(.eyebrow){font-size:12px;margin-bottom:0;color:#d6dfd0;max-width:420px}.postcard-teaser button{background:#F7F4EA;color:#20382B;flex-shrink:0}.card{border:1px solid #c6cec2;border-radius:22px;padding:26px;background:#fffcf5}#goals,#history{grid-template-columns:1fr}.goal-entry{display:flex;gap:10px;align-items:baseline}.goal-entry input{flex:1;min-width:0}ul{padding:0;list-style:none}li.goal{display:flex;gap:10px;align-items:center;border-top:1px solid #dce5dc;padding:15px 0;flex-wrap:wrap}.goal label{flex:1;display:flex;align-items:center;gap:10px;min-width:110px;overflow-wrap:anywhere;font-size:14px}.goal .goal-body{flex:1;min-width:150px}.goal .next-hint{font-size:11px;margin:5px 0 0 30px;color:#526B5C;overflow-wrap:anywhere}.goal button{font-size:11px;padding:7px 11px}.done{text-decoration:line-through;color:#526B5C}.session{border-top:1px solid #dce5dc;padding:18px 0;font-size:13px}.session-head{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.session strong{font-weight:600}.session p{margin:6px 0;font-size:12px;color:#526B5C;overflow-wrap:anywhere}.session .outcome-tag{font-size:10px;background:#e7edde;border-radius:6px;display:inline-block;padding:3px 9px;color:#20382B}.day-summary{background:#e9eee4;padding:10px 15px;border-radius:10px;margin:8px 0;font-size:12px}.backups{margin-top:28px;border-top:1px solid #c3cebd;padding-top:20px}.backups>summary{font-size:12px;cursor:pointer}.backups .card{margin-top:16px}.backups p{font-size:13px}.backups .actions{justify-content:flex-start}footer{text-align:center;font-size:10px;margin:28px 0;color:#526B5C}#message{position:sticky;bottom:12px;background:#20382B;color:#fff;border-radius:12px;padding:12px;font-size:13px;z-index:2}#message:empty{display:none}dialog{max-width:540px;max-height:90dvh;overflow-y:auto;width:calc(100% - 28px);border:1px solid #789580;border-radius:24px;padding:28px;color:#20382B;background:#F7F4EA}dialog::backdrop{background:#20382b99;backdrop-filter:blur(5px)}dialog ol{padding-left:22px;font-size:13px}dialog li{margin:13px 0}dialog h2{font-size:29px}.tutorial-art svg{display:block;width:100%;max-height:250px;margin:8px auto 18px}.growth-steps{display:flex;gap:8px;justify-content:center}.growth-steps button{border-radius:50%;width:40px;min-height:40px;padding:0;background:#e0e8db;color:#20382B;border-color:#a6bba7}.growth-steps button[aria-pressed=true]{background:#20382B;color:#F7F4EA}#growth-description{font-size:14px;min-height:45px}.outcome{display:flex;align-items:center;gap:12px;padding:13px;background:#e8eee1;border:1px solid #c6d0be;border-radius:12px;margin:9px 0}.outcome span{display:block}.outcome small{display:block;font-size:11px;font-weight:400;color:#526B5C}.outcome:has(input:checked){border-color:#20382B;background:#dce7d7}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:12px;font-weight:600}.active-intention{padding:10px 14px;background:#e8eee1;border-radius:10px;font-size:13px;overflow-wrap:anywhere}.postcard-image{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;background:#e1e8d9;margin:16px 0}.optional{color:#526B5C;font-size:11px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;padding:10px;z-index:9}@media(max-width:850px){header,main{padding:20px 24px}.heading{align-items:start}.day-note{max-width:200px}.summary{gap:15px}.island-list{grid-template-columns:repeat(3,minmax(0,1fr))}.world-caption{flex-wrap:wrap}.world-stat{max-width:100%;border:0;padding:0}.focus-card{padding:21px}.world-caption{padding:10px 20px 22px}}@media(max-width:650px){header,main{padding:18px}.heading{display:block;margin:20px 0 24px}h1{font-size:43px;letter-spacing:-1.7px}.intro{font-size:13px;max-width:310px}.day-note{max-width:none;text-align:left;margin-top:23px;padding:0}.day-note>span{display:none}.summary{justify-content:flex-start;gap:35px;margin:0}.summary b{display:inline;font-size:26px;margin-right:5px}.summary span{max-width:140px;font-size:10px}.heading .eyebrow{font-size:8px;letter-spacing:1.5px}.panel{grid-template-columns:1fr;gap:17px}.world-art{margin-top:-17px}.world-caption{flex-wrap:nowrap}.world-caption h2{font-size:23px}.world-stat{max-width:70px;border-left:1px solid #aabdac;padding-left:10px}.world-topline{padding-top:12px}.world-topline .quiet{font-size:10px}.focus-card{padding:23px}.focus-intent .eyebrow{font-size:10px}.timer-block{padding-top:12px}#clock{font-size:82px}.island-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-heading h2{font-size:21px}.section-heading button{font-size:10px;padding:8px 12px}.postcard-teaser{padding:25px;flex-wrap:wrap;gap:20px}.postcard-teaser h2{font-size:26px}.postcard-teaser .eyebrow{font-size:8px}.postcard-teaser button{width:100%}.card{padding:22px}.goal-entry{flex-wrap:wrap}.goal-entry input{flex-basis:100%}.goal .goal-body{flex-basis:100%}.goal button{min-height:40px}.session-head{display:block}.session-head span{display:block;font-size:11px;margin-top:4px}dialog{padding:23px}dialog button{margin:4px 0}.actions{gap:8px}main{padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}}
.fw-stats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.fw-scene{margin:20px 0}.fw-scene svg{width:100%;max-height:280px}.fw-content{margin-top:20px}.fw-content>button{margin:6px}.fw-plot{display:inline-block;vertical-align:top;background:#f7f4ea;border:1px solid #789580;border-radius:16px;padding:16px;margin:8px;max-width:100%}.fw-plot progress{display:block;width:100%;accent-color:#20382b;margin:12px 0}nav{flex-wrap:wrap}.fw-heading h2{font-size:clamp(1.7rem,4vw,2.6rem)}
.valley-map{border:4px solid #20382b;border-radius:16px;overflow:hidden;max-width:760px;margin:12px auto;box-shadow:0 10px 24px #20382b18;touch-action:manipulation;line-height:0}.valley-map svg{width:100%;height:auto;image-rendering:pixelated}.valley-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.valley-controls button{min-height:48px}.valley-bag{background:#e5eadb;padding:12px;border-radius:12px;font-size:.85rem}.valley-recipes{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}#valley-status{min-height:3em;border-left:4px solid #789580;padding:10px 14px;background:#f7f4ea}.fishing-game{padding:16px;border:1px solid #789580;border-radius:16px}.fishing-game button{margin:8px}.fishing-bar{height:30px;position:relative;background:#dbc8a5;border-radius:8px;overflow:hidden;margin:14px 0}.fishing-target{position:absolute;left:35%;width:35%;height:100%;background:#789580}.fishing-marker{position:absolute;width:5px;height:100%;background:#20382b;left:0;animation:cast-marker 2s linear infinite}@keyframes cast-marker{from{left:0}to{left:100%}}.valley .hint{margin-top:0}@media(max-width:500px){.valley-controls button{font-size:.85rem;padding:10px 12px}.valley-map{border-width:2px}.fw-content.valley{padding:16px}}
.in-focus-world main>.heading{display:none}.in-focus-world .fw-heading>p{display:none}.in-focus-world .fw-heading h2{font-size:1.8rem;margin:8px 0}.in-focus-world .fw-stats{margin:10px 0}.in-focus-world nav{margin-top:8px}.valley-map:focus-visible{outline:3px solid #20382b;outline-offset:4px}@media(max-width:650px){.in-focus-world header{padding-top:10px;padding-bottom:10px}.in-focus-world .fw-heading>button{margin-bottom:8px}.valley-map svg{min-height:230px}.valley-bag{font-size:.8rem}}
.in-focus-world .fw-heading h1{font-size:1.8rem;line-height:1.2;margin:8px 0;letter-spacing:-.5px}
/* Art direction: warm illustrated textures, depth and restrained ambient life. */
.valley-map{background:#91ad77;border:1px solid #b2c29a;border-radius:20px;box-shadow:0 18px 40px #20382b20,0 0 0 5px #e4e9d5;isolation:isolate}.valley-map svg{image-rendering:auto}#world-camera{transition:transform 170ms linear;will-change:transform}#valley-player{transition:transform 165ms linear;will-change:transform}#valley-fox{transition:transform 230ms ease-out;will-change:transform}.sprite-back{display:none}[data-facing=up] .sprite-face{display:none}[data-facing=up] .sprite-back{display:block}[data-facing=left] .sprite-body{transform:skewY(-3deg)}[data-facing=right] .sprite-body{transform:skewY(3deg)}.walking .sprite-body{animation:valley-step 170ms ease-in-out infinite}.walking .leg-left{animation:valley-leg 170ms ease-in-out infinite}.walking .leg-right{animation:valley-leg 170ms ease-in-out infinite reverse}.walking .fox-body{animation:valley-step 170ms ease-in-out infinite}.fox-tail{transform-origin:8px 21px;animation:fox-tail 2.8s ease-in-out infinite}.tree-crown{transform-origin:17px 21px;animation:leaf-breeze 5s ease-in-out infinite}.garden-leaves{animation:leaf-breeze 4s ease-in-out infinite}.lake-ripple{animation:lake-shimmer 4s ease-in-out infinite}.chimney-smoke{animation:chimney-float 5s ease-in-out infinite}.quest-bubble{animation:quest-bob 3s ease-in-out infinite}.valley-controls button[data-direction]{touch-action:none;user-select:none;-webkit-user-select:none;font-weight:600;box-shadow:0 3px 0 #c1ceb9}.valley-controls button[data-direction]:active{transform:translateY(2px);box-shadow:0 1px 0 #c1ceb9}.valley-bag{background:linear-gradient(120deg,#f2efdf,#e5ebd8);border:1px solid #d3dec5}#valley-status{border-radius:4px 14px 14px 4px;box-shadow:0 3px 14px #20382b08}
@keyframes valley-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.3px)}}@keyframes valley-leg{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes fox-tail{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(8deg)}}@keyframes leaf-breeze{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(1deg)}}@keyframes lake-shimmer{0%,100%{opacity:.2;transform:translateX(0)}50%{opacity:.6;transform:translateX(3px)}}@keyframes chimney-float{0%{transform:translateY(1px);opacity:0}30%{opacity:.3}100%{transform:translate(4px,-12px);opacity:0}}@keyframes quest-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){#world-camera,#valley-player,#valley-fox{transition:none;will-change:auto}.tree-crown,.fox-tail,.garden-leaves,.lake-ripple,.chimney-smoke,.quest-bubble,.walking .sprite-body,.walking .fox-body,.walking .leg-left,.walking .leg-right{animation:none!important}}
[data-facing=left] .sprite-face{transform:translateX(-2px)}[data-facing=right] .sprite-face{transform:translateX(2px)}.valley-controls{padding:10px 0;gap:10px}.valley-controls button[data-interact]{background:#20382b;color:#f7f4ea;min-width:180px}
.valley-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.valley-toolbar strong{font-size:.75rem;letter-spacing:.13em;color:#42644d}.valley-toolbar button{font-size:.8rem;padding:8px 12px}.valley-immersive .valley{position:fixed;z-index:50;inset:0;overflow:auto;background:radial-gradient(ellipse at top,#e8edda,#f7f4ea 70%);padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.valley-immersive .valley>p.hint{display:none}.valley-immersive .valley-map{max-width:min(100%,calc((100dvh - 300px)*1.4285));margin:10px auto 14px}.valley-immersive .valley-controls,.valley-immersive #valley-status,.valley-immersive .valley-bag,.valley-immersive .valley-recipes,.valley-immersive .valley>.notice{max-width:760px;margin-left:auto;margin-right:auto}.valley-immersive #valley-status{font-size:.9rem;min-height:0;margin-top:6px;margin-bottom:6px}.valley-immersive .valley-bag{font-size:.75rem}.valley-immersive .valley>.notice{font-size:.8rem}@media(max-width:650px){.valley-immersive .valley-map{max-width:100%}.valley-immersive .valley-map svg{min-height:0}.valley-immersive .valley-toolbar{margin-top:0}}
.valley-suspended .tree-crown,.valley-suspended .lake-ripple,.valley-suspended .fox-tail,.valley-suspended .garden-leaves,.valley-suspended .chimney-smoke,.valley-suspended .quest-bubble{animation-play-state:paused}.valley-controls button{-webkit-touch-callout:none}
.walking .leg-right{animation-delay:-85ms}
/* The playable screen is a game viewport; management lives in Mi refugio. */
.game-screen{position:relative;padding:0}.game-screen .valley-toolbar{gap:8px;flex-wrap:wrap}.game-screen .valley-toolbar h1{font-size:1.35rem;letter-spacing:-.5px;line-height:1.2;margin:0 auto 0 0}.game-screen .valley-toolbar button{font-size:.72rem;padding:8px 10px}.game-screen>p.hint{font-size:.75rem;margin:8px 0}.game-screen .valley-map{position:relative;max-width:960px;margin:12px auto;overflow:hidden}.game-hud{position:absolute;top:12px;left:12px;padding:7px 12px;border:1px solid #f7f4ea80;background:#20382be0;color:#f7f4ea;border-radius:12px;font-size:.75rem;pointer-events:none;box-shadow:0 3px 12px #20382b20}.valley-joystick{position:absolute;left:18px;bottom:18px;width:104px;height:104px;border-radius:50%;border:2px solid #f7f4ea99;background:radial-gradient(circle,#20382b40,#20382b75);box-shadow:inset 0 0 0 12px #f7f4ea16,0 3px 18px #20382b25;touch-action:none;user-select:none;cursor:grab;display:grid;place-items:center;z-index:3}.joystick-knob{display:block;width:43px;height:43px;border-radius:50%;background:linear-gradient(145deg,#f7f4ea,#b6c9ac);box-shadow:0 4px 9px #20382b50;border:2px solid #fff8;pointer-events:none}.game-action{position:absolute;right:16px;bottom:26px;max-width:calc(100% - 145px);font-size:.75rem;padding:14px 15px;border:2px solid #f7f4ea80;border-radius:20px;box-shadow:0 4px 16px #20382b35;z-index:3}.game-screen>.valley-bag{display:none}.game-screen>.valley-controls{padding:0;gap:6px}.game-screen>.valley-controls button{min-height:34px;font-size:.7rem;padding:6px 10px}.game-screen>.valley-controls button[data-interact]{display:none}.game-screen .game-quest{font-size:.78rem;border-radius:12px;padding:12px 14px}.achievement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.achievement{border:1px solid #c6d2bd;background:#f7f4ea;padding:18px;border-radius:16px}.achievement h3{font-size:1rem}.achievement.unlocked{background:linear-gradient(120deg,#e7eddb,#f7f4ea);border-color:#789580}.achievement p{font-size:.85rem}#refuge .fw-heading .fw-scene{display:none}.valley-immersive .game-screen{padding:14px}.valley-immersive .game-screen>.valley-controls{margin:0 auto 8px}@media(max-width:650px){.game-screen .valley-map{border-radius:18px}.game-screen .valley-toolbar h1{width:100%;font-size:1.2rem}.valley-joystick{width:88px;height:88px;left:12px;bottom:14px}.joystick-knob{width:38px;height:38px}.game-action{right:10px;bottom:21px;max-width:calc(100% - 115px)}.game-hud{top:8px;left:8px;font-size:.68rem}.achievement-list{grid-template-columns:1fr}}
.game-hud{line-height:1.3}.valley-immersive header,.valley-immersive main>nav,.valley-immersive main>.backups,.valley-immersive main>footer{visibility:hidden}.valley-immersive .game-screen{display:flex;flex-direction:column;min-height:100dvh}.valley-immersive .game-screen .valley-toolbar{flex-shrink:0}.valley-immersive .game-screen .valley-map{width:100%}.valley-immersive .game-screen .game-quest{line-height:1.5}
