@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{color-scheme:dark;--cream:#e9eedb;--muted:#91aaa3;--gold:#d9bb79}*{box-sizing:border-box}body{margin:0;background:#051316;color:var(--cream);font-family:'DM Sans',sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #e3cd90;outline-offset:6px}#game{height:100svh;min-height:430px;position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;top:0;left:0;width:100%;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#05131695,transparent);z-index:3}.wordmark{color:var(--cream);font-size:16px;letter-spacing:4px;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:12px}.sigil{font-size:32px;color:#cfe7c6;font-weight:400}.chapter{font-size:9px;letter-spacing:2.3px;color:#a5bcb1}.chapter span{margin:0 15px;color:#526b64}.utilities{display:flex;align-items:center;gap:22px}.utilities button{background:none;border:0;font-size:9px;letter-spacing:1.7px;color:#b8cbc1;padding:10px 0}#pause{font-size:21px}.panel{position:absolute;left:8%;top:25%;max-width:530px;z-index:2}.eyebrow{font-size:9px;letter-spacing:2.4px;color:#b9cdbb;line-height:1.7}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#d9bb79;margin:0 8px 2px 0;box-shadow:0 0 12px #dfbc78}h1{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:clamp(58px,6.5vw,102px);line-height:.99;letter-spacing:-2.4px;margin:27px 0 24px}h1 em{font-weight:400;color:#c5d5aa}p{color:#aec1b8;font-size:13px;line-height:1.95;margin:0 0 30px}.primary{display:flex;align-items:center;justify-content:space-between;gap:65px;min-height:54px;background:#dce9ca;border:1px solid #e0edcb;color:#203831;padding:0 23px;font-size:12px;letter-spacing:.2px;transition:background .2s,transform .2s}.primary:hover{background:#f1f5d9;transform:translateY(-2px)}.primary span{font-size:23px}.instructions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:27px;font-size:10px;color:#90aaa0}.instructions>span{display:flex;align-items:center;gap:3px}kbd{font:8px 'DM Sans',sans-serif;min-width:17px;padding:4px;border:1px solid #77948742;color:#b8c8bc;text-align:center}kbd:last-of-type{margin-right:5px}.mouse-hint{width:100%;opacity:.7}.world-label{position:absolute;left:69%;top:70%;font-size:9px;letter-spacing:3px;color:#d7c58e;text-align:center;pointer-events:none}.world-label small{display:block;font-size:7px;letter-spacing:2px;color:#97ac9b;margin-top:9px}.tiny-line{height:40px;width:1px;display:block;margin:0 auto 16px;background:linear-gradient(transparent,#d7c58e99)}footer{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;gap:20px;padding:25px 42px;font-size:8px;letter-spacing:1.8px;color:#8da298;pointer-events:none}.footer-middle{font-size:8px;color:#7a948c}.footer-middle i{font-style:normal;margin:0 12px}.edition{color:#b4ba9e}#hud{position:absolute;top:112px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.health{display:flex;gap:5px;margin-top:12px}.health i{width:21px;height:3px;background:#cae7b9;box-shadow:0 0 9px #cae7b966}.health i.empty{background:#456054;box-shadow:none}.objective{text-align:center}.stars{color:#e5ce91;margin-top:9px;font-size:21px}.stars span{font-size:11px;letter-spacing:2px;margin-left:8px}.cargo{text-align:right}.cargo b{font-family:Georgia,serif;font-size:32px;font-weight:400;color:#e2cf8f}.cargo div{margin-top:3px}.cargo div span{font-size:12px;color:#8eaa99}#playControls{position:absolute;bottom:75px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}#hint{color:#acbdad;font-size:11px;max-width:250px;line-height:1.7}#pulse{pointer-events:auto;border:1px solid #a9c9aa60;background:#092521bb;backdrop-filter:blur(10px);width:80px;height:80px;border-radius:50%;font-size:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}#pulse span{font-size:8px;letter-spacing:2px}#pulse small{font-size:7px;color:#8da997}#pulse:disabled{opacity:.45;cursor:default}#notice{position:absolute;top:190px;left:20%;right:20%;text-align:center;color:#eddb9e;font-size:12px;letter-spacing:1px;pointer-events:none;transition:opacity .5s}.text-button{display:block;margin-top:20px;background:none;border:0;color:#a6c0b2;font-size:11px;padding:5px 0}.hidden{display:none!important}body.playing .world-label{display:none}body:not(.playing) #pause{visibility:hidden}#overlay{background:radial-gradient(ellipse at left,#041619e8,transparent 75%);padding:20px 40px 25px 0}
@media(max-width:760px){header{padding:20px}.wordmark{font-size:12px;letter-spacing:3px}.chapter{display:none}.utilities{gap:18px}.panel{left:7%;top:25%;right:7%}h1{font-size:68px}.panel p{font-size:12px}.world-label{left:65%;top:68%;font-size:7px}.world-label small{display:none}footer{padding:20px;font-size:7px}.footer-middle,.edition{display:none}#hud{left:20px;right:20px;top:90px}.objective .eyebrow{max-width:155px;font-size:7px;display:block}.stat .eyebrow{font-size:7px}.stars span{font-size:8px;margin-left:3px}.stars{font-size:16px}.health i{width:12px}#playControls{left:20px;right:20px;bottom:50px}#hint{font-size:10px;max-width:190px}.instructions{max-width:280px}#notice{top:160px;left:10%;right:10%;font-size:11px}body:not(.playing) canvas{filter:brightness(.75)}}
@media(max-height:650px){.panel{top:20%}h1{font-size:60px;margin:16px 0}p{margin-bottom:20px}.instructions{margin-top:17px}.world-label{top:65%}header{padding-top:16px}#hud{top:80px}#notice{top:146px}}
@media(prefers-reduced-motion:reduce){.primary{transition:none}#notice{transition:none}}
footer a{pointer-events:auto;color:inherit;text-decoration:none;padding:8px 0}footer a:hover{color:var(--cream)}

/* The waking wilds: progress stays quiet; abilities stay within thumb reach. */
.best{font-size:11px;letter-spacing:1.3px;color:#c9cfa7;margin:0 0 20px;line-height:1.6}
.abilities{display:flex;align-items:center;gap:12px;pointer-events:auto}
#dash{border:1px solid #8ac7c360;background:#092521dd;backdrop-filter:blur(10px);width:72px;height:72px;border-radius:50%;font-size:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
#dash span{font-size:10px;letter-spacing:1.3px}#dash small{font-size:10px;color:#a1c0b1}
#dash:disabled{opacity:.45;cursor:default}#dash:hover:enabled,#pulse:hover:enabled{background:#174139}
#pulse span,#pulse small{font-size:10px}#pulse{background:#092521dd}
#gardenProgress{position:absolute;top:200px;left:42px;width:170px;display:none;pointer-events:none}
body.playing #gardenProgress{display:grid;gap:16px}
.garden-star{display:grid;grid-template-columns:1fr auto;gap:7px 6px;font-size:10px;color:#c4d3c5}
.garden-star>b{font-weight:400;color:var(--star-color)}
.garden-star>i{grid-column:1 / -1;height:2px;background:linear-gradient(to right,var(--star-color) var(--charge),#78928030 var(--charge))}
.garden-star>small{grid-column:1 / -1;font-size:10px;color:#8daaa2}.garden-star.awakened>small{color:var(--star-color)}
#runInfo{display:none;position:absolute;left:42px;top:164px;gap:15px;font-size:12px;color:#a5bcb1;pointer-events:none;font-variant-numeric:tabular-nums}
body.playing #runInfo{display:flex}#haven{color:#c7eccb;font-size:10px;letter-spacing:1px}
#summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 26px}#summary div{display:flex;flex-direction:column;gap:7px}#summary b{font-family:Georgia,serif;font-weight:400;font-size:25px;color:#e4d6aa}#summary span{font-size:9px;letter-spacing:1px;color:#9cb5a8}#summary .new-best{grid-column:1 / -1;width:100%;font-size:11px;color:#ddcf92;margin:0;letter-spacing:2px}
#overlay{max-width:600px;max-height:calc(100svh - 130px);overflow-y:auto;background:#041619e8;padding:25px 30px;border:1px solid #77958730;backdrop-filter:blur(12px)}
#overlay h1{font-size:clamp(46px,5vw,76px)}.panel p{font-size:15px;line-height:1.8}.instructions{font-size:12px}.instructions kbd{font-size:10px;min-width:20px}
#hint{font-size:13px;max-width:340px}#notice{font-size:13px;text-shadow:0 2px 12px #041418}
#hud .eyebrow{font-size:10px;letter-spacing:1.6px}.stars span{font-size:12px}.primary{font-size:14px}
@media(max-width:760px){
  #gardenProgress{top:175px;left:20px;width:112px}body.playing #gardenProgress{gap:11px}
  .garden-star{font-size:9px;gap:5px}.garden-star>small{font-size:9px;line-height:1.3}
  #runInfo{top:143px;left:20px;font-size:11px;gap:12px}#haven{font-size:9px}
  #hint{max-width:calc(100% - 165px);font-size:11px}
  #dash,#pulse{width:64px;height:64px}.abilities{gap:8px}#dash span,#dash small,#pulse span,#pulse small{font-size:9px}
  .panel{top:20%;}.panel p{font-size:14px}.best{font-size:10px;max-width:280px;margin-bottom:17px}
  #overlay{left:5%;right:5%;padding:20px 22px}#overlay h1{font-size:56px}#summary{gap:18px}#summary b{font-size:22px}
  #notice{top:390px;left:12%;right:12%;font-size:12px}#hud .eyebrow{font-size:8px;letter-spacing:.8px}
  #playControls{bottom:max(55px,env(safe-area-inset-bottom))}footer{padding-bottom:max(15px,env(safe-area-inset-bottom))}
}
@media(max-height:740px){#notice{top:auto;bottom:154px}.panel{top:20%}h1{font-size:64px}.instructions{margin-top:16px}p{margin-bottom:20px}}
@media(max-height:520px){
  #game{min-height:0;height:100dvh}header{padding:10px 24px}#hud{top:65px;left:24px;right:24px}#runInfo{top:116px;left:24px}
  body.playing #gardenProgress{display:none}.panel{top:65px;left:7%;}.panel h1{font-size:44px;margin:12px 0}.panel p{font-size:12px;line-height:1.55;margin-bottom:12px}.best{margin-bottom:9px;font-size:9px}.primary{min-height:40px}.instructions{margin-top:10px;font-size:10px}
  #overlay{top:70px;left:7%;right:auto;width:430px;padding:14px 22px}#overlay h1{font-size:38px}#summary{gap:18px;margin-bottom:12px}#summary b{font-size:18px}#summary span{font-size:8px}#summary .new-best{width:auto;align-self:center;font-size:9px}.text-button{margin-top:8px}
  #playControls{bottom:42px;left:24px;right:24px}#notice{bottom:128px;font-size:11px}footer{padding:10px 24px}#dash,#pulse{width:58px;height:58px}
}
.touch-hint{display:none!important}
@media(pointer:coarse){.instructions>span:not(.touch-hint){display:none}.instructions .touch-hint{display:block!important;font-size:12px;line-height:1.8;max-width:290px}}
@media(max-width:760px) and (max-height:740px){.panel{top:17%}.panel h1{font-size:56px;margin:18px 0}.panel p{line-height:1.7}.best{margin-bottom:15px}#overlay{top:100px;max-height:calc(100svh - 140px)}#overlay h1{font-size:46px;margin:16px 0}#summary{gap:16px 10px}#summary b{font-size:20px}}

.origin-note{display:block;margin-top:12px;font-size:12px;line-height:1.65;color:#9bb7ab;max-width:390px}
@media(max-width:760px) and (max-height:740px){#intro{top:14%}#intro h1{font-size:50px;margin:14px 0}#intro .best{margin-bottom:12px}.origin-note{margin-top:9px;font-size:11px}}
@media(max-height:520px){#intro .best{display:none}#intro h1{font-size:40px;margin:12px 0}#intro .origin-note{margin-top:6px;font-size:11px;line-height:1.4;max-width:420px}#intro .instructions{margin-top:6px}#intro p{margin-bottom:10px}}

.release-access{display:flex;align-items:center;gap:18px}
#releaseNotesButton{pointer-events:auto;border:1px solid #8ba68b60;background:#092521d9;color:#d8e5cd;min-height:44px;padding:9px 12px;font-size:11px;letter-spacing:.3px;white-space:nowrap}
#releaseNotesButton:hover{background:#184038;border-color:#c4d7aa}
#releaseNotes{width:min(680px,calc(100% - 32px));max-height:calc(100svh - 48px);padding:0;border:1px solid #8ba68b65;background:#071d20;color:var(--cream);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0008}
#releaseNotes::backdrop{background:#010d13b8;backdrop-filter:blur(5px)}
.release-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;z-index:1;padding:24px 28px 16px;background:#071d20;border-bottom:1px solid #71948330}
#releaseNotes h2{font-family:'Italiana',Georgia,serif;font-size:42px;line-height:1.1;font-weight:400;letter-spacing:-.6px;margin:8px 0 0}
#closeReleaseNotes{align-self:start;min-height:44px;padding:10px 12px;border:1px solid #8ba68b65;background:#0d302b;font-size:13px;white-space:nowrap}
#closeReleaseNotes span{font-size:19px;margin-left:8px}#closeReleaseNotes:hover{background:#184038}
#releaseNotesIntro{font-size:14px;line-height:1.7;margin:18px 28px 10px;color:#c3d4c7}
#releaseNotes .release-timezone{margin:0 28px 24px;font-size:12px;line-height:1.5;color:#9eb8a9}
#releaseHistory{margin:0 28px 28px}.release-entry{padding:22px 0;border-top:1px solid #71948340}.release-entry:first-child{padding-top:18px}
.release-entry h3{margin:0 0 9px;color:#e1d6a5;font-size:18px;line-height:1.45;font-weight:500}
.release-entry time{font-size:12px;color:#a9c5b5;line-height:1.6}.release-entry .release-comparison{font-size:12px;color:#9fb9ab;margin:8px 0 13px;line-height:1.6}
.release-entry ul{padding-left:20px;margin:0}.release-entry li{font-size:14px;line-height:1.75;color:#c0d2c6;margin:0 0 10px}.release-entry li:last-child{margin-bottom:0}
@media(max-width:760px){.release-access{gap:0}#releaseNotesButton{font-size:10px;padding:8px 10px}#playControls{bottom:max(68px,env(safe-area-inset-bottom))}.release-heading{padding:18px 20px 14px}#releaseNotes h2{font-size:34px}#releaseNotes .eyebrow{font-size:8px;letter-spacing:1.2px}#releaseNotesIntro{margin:16px 20px 10px}#releaseNotes .release-timezone{margin:0 20px 20px}#releaseHistory{margin:0 20px 20px}}
@media(max-height:520px){#releaseNotes{max-height:calc(100svh - 24px)}#playControls{bottom:64px}.release-heading{padding-top:14px;padding-bottom:10px}#releaseNotes h2{font-size:32px}footer .edition{display:none}footer .footer-middle{display:none}}

/* Optional company and a deliberate choice of pace. */
#modeChoice{display:flex;gap:6px;width:238px;margin:0 0 7px}
#modeChoice button{flex:1;min-height:40px;padding:8px 14px;border:1px solid #84a79755;background:#0a2423e0;color:#a6c3b3;font-size:12px;letter-spacing:.5px}
#modeChoice button.selected{border-color:#d2dda4;background:#203e32;color:#e7eacb}#modeChoice button:hover{background:#234c40}
#modeDescription{font-size:11px;line-height:1.6;margin:0 0 16px;color:#a9c4b5}
#intro .best{margin-bottom:12px}#intro .instructions{margin-top:18px}
#echoStatus{display:none;position:absolute;top:372px;left:42px;padding:9px 0;border-top:1px solid #7ba9b333;color:#bddbe3;font-size:10px;letter-spacing:.6px;pointer-events:none}
body.playing #echoStatus{display:block}
#summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#summary .full-bloom{grid-column:1 / -1;margin:0;color:#badce8;font-size:12px;letter-spacing:2px}
@media(max-width:760px){#echoStatus{left:20px;top:345px;font-size:9px;letter-spacing:0}#modeDescription{font-size:10px;margin-bottom:12px}#modeChoice button{min-height:36px;font-size:11px}#intro .instructions{margin-top:14px}.panel h1{font-size:60px}#summary{gap:16px}}
@media(max-width:760px) and (max-height:740px){#intro{top:12%}#intro h1{font-size:46px;margin:12px 0}#intro p{font-size:13px;line-height:1.65}#intro .origin-note{font-size:10px;line-height:1.5}#intro .best{font-size:9px;margin-bottom:9px}#intro .instructions{font-size:10px;margin-top:10px}#modeDescription{margin-bottom:10px}}
@media(max-height:520px){#intro{top:60px;max-width:700px;right:7%}#intro h1{font-size:36px;margin:10px 0}#intro>p{max-width:390px}#intro .origin-note{font-size:10px;margin-top:5px}#intro .instructions{margin-top:7px}#modeChoice,#modeDescription{position:absolute;left:430px;width:190px}#modeChoice{top:130px}#modeDescription{top:178px}body.playing #echoStatus{top:115px;left:auto;right:24px;border:0;padding:0}#summary{gap:10px 22px}#summary b{font-size:18px}}
@media(max-width:720px) and (max-height:520px){#intro>p{max-width:330px}#intro h1{font-size:32px}#modeChoice,#modeDescription{left:350px;width:170px}#modeChoice{top:120px}#modeDescription{top:166px}#intro .touch-hint{font-size:10px;line-height:1.5}}
footer{z-index:3}
@media(min-width:761px) and (min-height:521px){#intro{top:20%}#intro h1{font-size:clamp(56px,5vw,82px)}}
@media(max-width:760px) and (min-height:741px){#intro{top:15%}#intro h1{font-size:50px;margin:20px 0}}
@media(max-height:520px){
  #overlay.has-summary{top:64px;width:min(720px,86vw);max-width:720px;max-height:calc(100svh - 116px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:26px;align-items:start}
  #overlay.has-summary #endLabel{grid-column:1;grid-row:1;font-size:8px;letter-spacing:1px}
  #overlay.has-summary #endTitle{grid-column:1;grid-row:2;font-size:34px;margin:12px 0}
  #overlay.has-summary #endText{grid-column:1;grid-row:3;font-size:11px;margin-bottom:0}
  #overlay.has-summary #summary{grid-column:2;grid-row:1 / 4;margin:0 0 12px;gap:10px 18px}
  #overlay.has-summary #summary .new-best{font-size:9px}
  #overlay.has-summary #summary .full-bloom{font-size:10px}
  #overlay.has-summary #resume{grid-column:2;grid-row:4;align-self:end}
}
@media(max-width:540px) and (max-height:520px){#intro{top:66px;bottom:76px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}#intro h1{font-size:32px}#intro>p{max-width:100%;font-size:12px}#modeChoice,#modeDescription{position:static;width:220px}#modeChoice{margin-top:12px}#intro .instructions{padding-bottom:12px}#overlay.has-summary{display:block;width:86vw;max-height:calc(100svh - 140px)}#overlay.has-summary #summary{margin:16px 0}#overlay.has-summary #resume{width:100%}}
#changeExpedition{color:#bed3c6}
@media(max-width:760px) and (min-height:521px){#overlay{top:100px;max-height:calc(100svh - 170px)}#overlay.has-summary #endTitle{font-size:42px}}
@media(max-height:520px) and (min-width:541px){#overlay.has-summary #changeExpedition{grid-column:2;grid-row:5;margin-top:8px}}

/* The restored garden is somewhere to spend time, not just a finish line. */
#current{color:#c9e8bb;font-size:10px;letter-spacing:.7px}
#stroll{color:#e1d8ac;min-height:38px;margin-top:12px}
#leaveGarden{position:absolute;top:163px;right:42px;z-index:3;padding:10px 12px;min-height:44px;border:1px solid #9fc6a85c;background:#0a2824e6;color:#dbe5c9;font-size:12px}
body.wandering #gardenProgress,body.wandering #hud .stat,body.wandering #echoStatus,body.wandering #haven{display:none!important}
body.wandering #hud{justify-content:center}body.wandering #objective{color:#cfe5c8}
@media(max-width:760px){#current{font-size:9px}#leaveGarden{top:140px;right:20px;font-size:11px;padding:8px 10px}#runInfo{gap:9px}}
@media(max-height:520px) and (min-width:541px){#overlay.has-summary #stroll{grid-column:2;grid-row:5;margin-top:5px;min-height:30px}#overlay.has-summary #changeExpedition{grid-row:6;margin-top:3px}#leaveGarden{top:108px;right:24px}}

/* A pocket almanac for a garden that rewards lingering. */
.utilities{gap:16px}.utilities #memoriesButton{font-size:24px;letter-spacing:0;min-width:32px;min-height:44px;padding:0;color:#d8c5da}
#gardenMemories{width:min(660px,calc(100% - 32px));max-height:calc(100svh - 48px);padding:0;border:1px solid #b69cb46b;background:#101e24;color:var(--cream);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0008}
#gardenMemories::backdrop{background:#010d13b8;backdrop-filter:blur(5px)}
#gardenMemories .release-heading{background:#101e24}#gardenMemories h2{font-family:'Italiana',Georgia,serif;font-size:38px;line-height:1.1;font-weight:400;letter-spacing:-.6px;margin:8px 0 0}
#closeMemories{align-self:start;min-height:44px;padding:10px 12px;border:1px solid #b69cb460;background:#22332f;font-size:13px;white-space:nowrap}#closeMemories span{font-size:19px;margin-left:8px}#closeMemories:hover{background:#374737}
#memoriesIntro{margin:18px 28px 14px;font-size:14px;line-height:1.75;color:#bdcfc6}#memoriesCount{margin:0 28px 20px;font-size:11px;letter-spacing:1px;color:#d7c4da}
#memoriesGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 28px 28px}.memory-card{display:flex;gap:14px;padding:20px 16px;min-width:0;border:1px solid #77948740;background:#0b1a20}.memory-card.remembered{border-color:#c7b09280;background:#29333060}
.memory-symbol{font-size:30px;color:#6b8c83;line-height:1.2}.remembered .memory-symbol{color:#e5d8a6}.memory-card small{font-size:8px;letter-spacing:1px;color:#8daa9e}.remembered small{color:#e3d5a4}.memory-card h3{margin:7px 0;font-size:16px;font-weight:500;color:#d8e1cc}.memory-card p{margin:0;font-size:12px;line-height:1.6;color:#a4bbb0}
#summary .grove-result{grid-column:1 / -1;margin:0;font-size:10px;letter-spacing:1px;color:#d8bbd3}
@media(max-width:760px){.utilities{gap:10px}.utilities #memoriesButton{min-width:28px;font-size:22px}#gardenMemories .release-heading{padding:18px 20px 14px}#gardenMemories h2{font-size:30px}#gardenMemories .eyebrow{font-size:8px;letter-spacing:1px}#memoriesIntro{margin:16px 20px 12px;font-size:13px}#memoriesCount{margin:0 20px 18px}#memoriesGrid{grid-template-columns:1fr;margin:0 20px 20px;gap:10px}.memory-card{padding:15px 14px}#echoStatus{font-size:9px}}
@media(max-height:520px){#gardenMemories{max-height:calc(100svh - 24px)}#gardenMemories h2{font-size:30px}#memoriesGrid{grid-template-columns:1fr 1fr}.memory-card{padding:14px}#summary .grove-result{font-size:8px}}
@media(max-width:540px) and (max-height:520px){#memoriesGrid{grid-template-columns:1fr}}
@media(max-height:520px) and (min-width:541px){#overlay.has-summary #summary{gap:6px 18px;margin-bottom:8px}#overlay.has-summary #stroll{min-height:28px;margin-top:3px}#overlay.has-summary #changeExpedition{margin-top:1px}}

/* Quiet warnings become bright only when timing matters. */
#threatStatus{position:absolute;top:180px;left:50%;transform:translateX(-50%);pointer-events:none;color:#e7aeb5;background:#1d1722c9;border:1px solid #d497a24a;padding:7px 12px;font-size:10px;letter-spacing:1px;white-space:nowrap}
#threatStatus.precise{color:#ffe6aa;border-color:#ffe6aa88;background:#292418dc}
body:not(.playing) #threatStatus{display:none}
@media(min-width:761px){#memoriesGrid .memory-card:last-child:nth-child(odd){grid-column:1 / -1}}
@media(max-width:760px){#threatStatus{top:155px;font-size:8px;letter-spacing:.5px;padding:4px 8px}#haven{font-variant-numeric:tabular-nums}}
@media(max-height:520px){#threatStatus{top:138px;font-size:9px;padding:4px 8px}#memoriesGrid .memory-card:last-child:nth-child(odd){grid-column:1 / -1}}

/* A garden has a name, a palette, and a way home. */
#gardenIdentity{font-size:11px;letter-spacing:.3px;color:#d7c5df;line-height:1.6;margin:-12px 0 8px}
#gardenPassport{margin:22px 28px 0;padding:20px;border:1px solid #b69cb455;background:#172a2a}
#passportKind{font-size:9px;letter-spacing:1px;color:#a8c4b5;line-height:1.5;margin:0 0 8px}#passportName{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:32px;line-height:1.15;margin:0 0 14px;color:#e2dbc1}
.passport-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:#b9cabb}.passport-meta code{font-family:monospace;font-size:13px;letter-spacing:1px;padding:6px 8px;background:#091b20;color:#dbcfdf;border:1px solid #a1b5ac40}
#passportHelp{margin:16px 0;font-size:12px;line-height:1.7;color:#b8cdc2}.garden-actions{display:flex;flex-wrap:wrap;gap:7px}.garden-actions button,#gardenCodeForm button,#copyGarden{min-height:44px;padding:9px 12px;background:#243d32;border:1px solid #8eaa7f80;color:#e0e6c9;font-size:12px}.garden-actions button:hover:enabled,#gardenCodeForm button:hover:enabled,#copyGarden:hover{background:#385641}.garden-actions button:disabled,#gardenCodeForm button:disabled,#gardenCodeInput:disabled{opacity:.45;cursor:default}
#gardenCodeForm{margin-top:18px}#gardenCodeForm label,.link-label{display:block;margin-bottom:7px;font-size:11px;color:#c2cbbb}#gardenCodeForm>div{display:flex;gap:7px}#gardenCodeInput,#gardenLink{font:13px monospace;min-height:44px;background:#0a1b21;border:1px solid #b3b6a660;padding:9px 10px;color:#e3ddc8;min-width:0;border-radius:0}#gardenCodeInput{width:100%;text-transform:uppercase}#gardenCodeInput:focus-visible,#gardenLink:focus-visible{outline:2px solid #dfce93;outline-offset:3px}#codeError,#copyStatus{font-size:12px;color:#e1c4c8;line-height:1.6;margin:8px 0}#copyGarden{margin-top:4px}#copyStatus{color:#c9ddba}.link-label{margin-top:12px}#gardenLink{width:100%;font-size:11px}
@media(max-width:760px){#gardenIdentity{font-size:10px;margin:0 0 7px}#gardenPassport{margin:18px 20px 0;padding:16px}#passportName{font-size:28px}.garden-actions button{flex:1;font-size:11px;padding:8px}.passport-meta{gap:7px;font-size:11px}#intro .best{font-size:9px}}
@media(max-width:760px) and (max-height:740px){#intro h1{font-size:43px;margin:10px 0}#intro>p{margin-bottom:14px}#intro .instructions{font-size:10px;margin-top:9px}#intro .touch-hint{font-size:11px;line-height:1.6}}
@media(max-height:520px){#gardenIdentity{position:absolute;left:430px;top:76px;width:190px;margin:0;font-size:10px}#gardenPassport{padding:16px}.garden-actions{flex-wrap:nowrap}}
@media(max-width:720px) and (max-height:520px){#gardenIdentity{left:350px;top:66px;width:170px}}
@media(max-width:540px) and (max-height:520px){#gardenIdentity{position:static;width:auto;margin:10px 0}.garden-actions{flex-wrap:wrap}}

/* The diary distinguishes later interpretation from decisions recorded during a revision. */
#designNotesIntro{font-size:14px;line-height:1.75;margin:12px 28px 18px;color:#b9cec2}
.release-design{margin-top:20px;padding:16px 18px;border-left:2px solid #cdbd7b;background:#16302b66}
.release-design.retrospective{border-left-color:#bba7d3;background:#242b3b55}
.release-design.documented-request{border-left-color:#8cbfb9;background:#14323955}
.release-design h4{margin:0 0 9px;font-size:15px;font-weight:500;line-height:1.5;color:#e1d6a5}
.release-design.retrospective h4{color:#d8c5ed}.release-design.documented-request h4{color:#b8deda}
.release-design .design-context{font-size:14px;line-height:1.75;margin:0 0 10px;color:#c0d2c6}
.release-design .design-recorded{font-size:12px;line-height:1.6;margin:0 0 14px;color:#a9c5b5}
@media(max-width:760px){#designNotesIntro{margin:12px 20px 18px}.release-design{padding:14px 12px}}

/* A quiet bearing to an existing goal, available even when the map is hidden. */
#guidance{width:340px;max-width:calc(100% - 180px)}#guidance #hint{display:block;max-width:none;margin-top:9px}
#wayfinder{padding:12px 14px;background:#071e22e8;border:1px solid #829f8055;pointer-events:none}
#wayfinder label{display:block;margin-bottom:7px;font-size:11px;line-height:1.5;letter-spacing:1px;color:#d0dab7}.guide-key-hint{font-size:10px;letter-spacing:0;color:#96b4a5}
#guideSelect{width:100%;min-height:44px;min-width:0;border:1px solid #78988580;background:#112d2a;color:#e2e7ce;border-radius:0;padding:8px;font:14px 'DM Sans',sans-serif;cursor:pointer;pointer-events:auto}
#guideSelect:focus-visible{outline:2px solid #e3cd90;outline-offset:3px}.guide-bearing{display:flex;align-items:center;gap:10px;margin-top:9px;min-height:30px;pointer-events:none}
#guideArrow{display:block;font-size:20px;line-height:1;flex-shrink:0}#guideStatus{font-size:12px;line-height:1.6;color:#c4d4c3}
.garden-star.guided{border-left:2px solid var(--star-color);padding-left:9px;background:linear-gradient(90deg,#cbe7bf12,transparent)}
@media(max-width:760px){#guidance{max-width:calc(100% - 148px);width:220px}#wayfinder{padding:9px 10px}#wayfinder label{font-size:10px;letter-spacing:.6px}.guide-key-hint{display:none}#guideSelect{font-size:14px;padding:6px}#guideStatus{font-size:12px}.guide-bearing{gap:7px}#guidance #hint{font-size:11px;line-height:1.6}#playControls{align-items:flex-end}}
@media(max-height:520px){#guidance{width:320px;max-width:calc(100% - 150px)}#wayfinder{padding:7px 10px}#wayfinder label{margin-bottom:4px}#guideSelect{min-height:44px}.guide-bearing{margin-top:5px;min-height:20px}#guidance #hint{margin-top:5px;line-height:1.5}#playControls{align-items:flex-end}}
@media(max-width:760px) and (max-height:740px){#notice{left:calc(100% - 154px);right:20px;top:auto;bottom:170px;text-align:left;font-size:12px;line-height:1.6;letter-spacing:0}}
@media(max-height:520px){#notice{left:min(360px,calc(100% - 154px));right:24px;top:150px;bottom:auto;text-align:left;font-size:11px;line-height:1.6;letter-spacing:0}}

/* Pocket Gardens keep chosen worlds close, with explicit return and forget actions. */
#keepGarden{min-height:44px;margin-top:18px;padding:10px 14px;border:1px solid #d2c48b80;background:#344935;color:#eee6c1;font-size:14px}
#keepGarden:hover:enabled{background:#486045}#keepGarden:disabled{background:#22372d;color:#adc3a9;cursor:default}
#keptStatus{font-size:14px;line-height:1.65;margin:10px 0 0;color:#d2dfb5}
#pocketGardens{margin:24px 28px;padding-top:22px;border-top:1px solid #8eaa8350}.pocket-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
#keptGardensTitle{font-family:'Italiana',Georgia,serif;font-size:30px;font-weight:400;margin:0;color:#e4d8b4}#keptGardensTitle:focus{outline:2px solid #ddce93;outline-offset:5px}#keptCount{font-size:11px;letter-spacing:.7px;color:#c1cba9}
#keptStorageNote,#keptHelp,#keptEmpty{font-size:14px;line-height:1.7;margin:0 0 12px;color:#bccfc1}#keptHelp{color:#a9bdb4}#keptEmpty{padding:18px;border:1px dashed #9bb28750;color:#c6d1b8}
#keptGardenList{display:grid;gap:12px;margin-top:18px}.kept-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px;background:#19312e;border:1px solid #819d6f55}.kept-card.current-pocket{border-color:#d2c48b80}
.kept-card small{display:block;font-size:11px;letter-spacing:.5px;line-height:1.6;color:#c4cbb0}.kept-card h4{font-family:'Italiana',Georgia,serif;font-size:26px;font-weight:400;line-height:1.2;margin:8px 0;color:#e2dfc5}.kept-card p{font-size:14px;line-height:1.6;margin:0 0 10px;color:#bbcec2}.kept-card code{font-size:13px;color:#dcc6e8;letter-spacing:1px}
.kept-actions{display:flex;flex-direction:column;gap:8px;align-self:center}.kept-actions button{min-width:84px;min-height:44px;padding:8px 12px;background:#2a493b;border:1px solid #9bb68a80;font-size:14px;color:#e1e8cc}.kept-actions button:last-child{background:transparent;border-color:#8aa79855;color:#b9cdc1}.kept-actions button:hover:enabled{background:#385844}.kept-actions button:disabled{opacity:.45;cursor:default}
@media(max-width:760px){#pocketGardens{margin:22px 20px}.kept-card{grid-template-columns:1fr;padding:16px}.kept-actions{flex-direction:row}.kept-actions button{flex:1}.kept-card h4{font-size:27px}}

/* The finished expedition is an optional, frozen reading moment. */
#expeditionStory{margin-top:20px;border-top:1px solid #adc9b52b;padding-top:12px;text-align:left}
#expeditionStory summary{cursor:pointer;color:#d8dbb5;font-size:13px;min-height:44px;display:list-item;align-content:center;list-style-position:inside}
#expeditionStory summary span{float:right;color:#9dccbb}#expeditionStory summary:focus-visible{outline:2px solid #d8dbb5;outline-offset:4px;border-radius:3px}
#expeditionStory[open]>summary{position:sticky;top:0;background:#071c1e;z-index:1}#overlay{overscroll-behavior:contain}
@media(min-width:761px) and (min-height:521px){#overlay{top:20svh;max-height:calc(80svh - 76px)}}
#storyBody{font-size:13px;color:#b9c9bd;line-height:1.7}#storyBody p{font-size:12px;line-height:1.7;margin:10px 0}
#storyBody .story-identity{font-size:10px;letter-spacing:1px;color:#91b8a9}#storyBody ol{margin:10px 0;padding-left:24px}#storyBody li{padding:5px 0 5px 3px}#storyBody li time{float:right;color:#e2d5aa;font-variant-numeric:tabular-nums}
.story-counts{display:flex;gap:24px;padding:10px 0;border-top:1px solid #adc9b51c;border-bottom:1px solid #adc9b51c}.story-counts b{color:#e2d5aa;font-weight:400;margin-right:5px}
#storyBody .story-comparison{color:#d8dbb5}#storyBody .story-footnote{font-size:11px;color:#92b3a5}.kept-card .pocket-best{margin:9px 0 0;color:#d8dbb5;font-size:12px}
@media(max-height:520px) and (min-width:541px){#overlay.has-summary #expeditionStory{grid-column:1 / -1;grid-row:7;margin-top:12px}#expeditionStory summary{min-height:36px}}

#pulse,#dash{touch-action:manipulation}
