:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#344d3e;font-synthesis:none;--ink:#344d3e;--paper:#fffde9;--gold:#d8b777}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#c4cfb0}button,summary{font:inherit;color:inherit;cursor:pointer}button{padding:0;border:0}button,canvas{touch-action:none}button:focus-visible,summary:focus-visible{outline:2px solid #e2b75e;outline-offset:4px}button:disabled{cursor:default}[hidden]{display:none!important}h1,h2,p{margin:0}.game{position:relative;height:100%;isolation:isolate;overflow:hidden}#landscape,#landscape canvas,.play-layer{position:absolute;inset:0;width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#e9efd92a,transparent 22%,transparent 76%,#233e2652)}header{position:absolute;left:max(28px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));right:calc(18px + var(--play-screen-slot,48px));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:12}h1{font:500 clamp(23px,2.1vw,34px)/1.3 "Songti SC","STSong",serif;letter-spacing:.13em;text-shadow:0 2px 20px #fffff480}.identity p{font-size:11px;letter-spacing:.12em;margin-top:8px;opacity:.76}.top-tools{display:flex;align-items:center;gap:17px}.top-tools span{font-size:12px;letter-spacing:.14em}.quiet{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid #fff8;border-radius:30px;background:#ffffeaba;backdrop-filter:blur(9px);font-size:12px;pointer-events:auto}.quiet:hover{background:#fffde9}.icon-button{width:44px;padding:0;font-size:21px}.icon-button[aria-pressed=false]{opacity:.5}#backButton{position:absolute;left:28px;top:111px;z-index:22}#worldTargets{position:absolute;inset:0;pointer-events:none;z-index:4}.world-target{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-width:44px;min-height:44px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:opacity .2s}.world-target span{background:#fffae3d9;box-shadow:0 2px 12px #23362910;border:1px solid #fff8;padding:5px 9px;border-radius:16px;font-size:11px;letter-spacing:.025em;pointer-events:none;transform:translateY(-20px)}.world-target:after{content:"";width:5px;height:5px;position:absolute;border-radius:50%;background:#fffbe7;box-shadow:0 0 0 4px #f9edcd26}.world-target:hover span,.world-target:focus-visible span{background:#f8e5b8}.world-target.quiet-target{border:1px solid #fff8;width:36px;height:36px;background:#fff3;min-width:36px;min-height:36px}.world-target.quiet-target span{opacity:0;transform:translateY(-31px)}.world-target.quiet-target:hover span,.world-target.quiet-target:focus-visible span{opacity:1}.world-target[data-phase=flip] span{background:#ffe0a3}.world-target[data-phase=ready] span{background:#d8edb5}.world-target.selected:after{box-shadow:0 0 0 8px #f1d58655}.world-target.selected span{background:#ecd79f}.world-target.place span{font:14px "Songti SC",serif;padding:7px 12px}.world-target.place{min-width:56px;min-height:56px}#context{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center;pointer-events:none;width:min(630px,calc(100% - 32px));z-index:11;color:#fffee9;text-shadow:0 1px 9px #203323}#context p{font-size:13px;line-height:1.75;letter-spacing:.035em}#held{font:20px/1.8 "Songti SC",serif;letter-spacing:.1em}#toast{position:absolute;left:50%;top:17%;transform:translateX(-50%);max-width:calc(100% - 40px);padding:10px 19px;border-radius:23px;line-height:1.7;background:#fffce9e8;box-shadow:0 6px 25px #253d2020;font-size:13px;text-align:center;opacity:0;transition:opacity .25s;pointer-events:none;z-index:25}#toast.show{opacity:1}.play-layer{z-index:3;pointer-events:none}.play-layer.active{pointer-events:auto}#atlas{position:absolute;inset:0;z-index:15;color:#ede6cd;background:#091325}#atlasCanvas{position:absolute;width:100%;height:100%}.atlas-heading{position:absolute;left:50%;transform:translateX(-50%);top:40px;text-align:center;pointer-events:none}.atlas-heading h2{font:27px "Songti SC",serif;letter-spacing:.16em}.atlas-heading span,.atlas-heading p{font-size:10px;margin-top:5px;opacity:.6}#starDrawer{position:absolute;top:27px;right:calc(24px + var(--play-screen-slot,48px));width:160px;font-size:12px;z-index:2}summary{padding:13px;border:1px solid #c2d2e330;background:#102337c9;border-radius:20px;text-align:center}#constellationList{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px}.constellation-choice{display:flex;flex-direction:column;align-items:center;padding:5px;background:transparent;color:#a4b9c6;font-size:11px}.constellation-choice svg{width:50px;height:32px}.constellation-choice[aria-pressed=true]{color:#ffe3a6;background:#c9d5eb14;border-radius:9px}.star-actions{display:flex;gap:5px;flex-wrap:wrap;padding:0 10px}.star-actions button{background:#ffffff12;color:#e1dfcb;padding:8px;border-radius:7px;font-size:10px;min-height:32px}#atlasNote{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 36px));text-align:center;font-size:12px;line-height:1.7;pointer-events:none}#atlasDiscovery{font-size:11px;opacity:.7}#starProgress{opacity:.55;font-size:10px;margin-top:8px}.star-progress{width:100px;height:2px;background:#ffffff15;margin:8px auto}.star-progress span{display:block;height:100%;background:#d4b479}#starNext{pointer-events:auto;border-radius:22px;background:#d5bd8929;color:#eddba9;padding:10px 18px;font-size:12px}.loading{position:absolute;inset:0;background:#e3e9d8;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .6s}.loading.hide{opacity:0;pointer-events:none}.loading h2{font:29px "Songti SC",serif;letter-spacing:.12em}.loading p{font-size:12px;opacity:.6}.loading-sun{width:40px;aspect-ratio:1;border-radius:50%;background:#d9b66b;box-shadow:0 0 0 12px #d9b66b18;margin-bottom:15px}#retryButton{padding:12px 20px;border-radius:18px;background:#456147;color:white}dialog{border:1px solid #fff8;border-radius:23px;padding:30px;max-width:min(510px,calc(100% - 32px));max-height:calc(100% - 36px);color:var(--ink);background:#f8f6e6;box-shadow:0 25px 90px #132c3338}dialog::backdrop{background:#17342955;backdrop-filter:blur(6px)}dialog h2{font:27px/1.5 "Songti SC",serif;margin:7px 0 20px}dialog p{font-size:12px;line-height:1.8;margin:12px 0}dialog button{padding:8px 13px;border-radius:18px;background:#e4e8d6}#closeStore{position:absolute;right:13px;top:10px;background:transparent;font-size:25px;width:44px;height:44px}.eyebrow{font-size:10px;letter-spacing:.13em;color:#849073}#inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}#inventory>div{border:1px solid #dadfca;border-radius:12px;padding:13px;font-size:11px}#inventory strong{display:block;font:26px "Songti SC",serif;margin-top:7px}#saveNote{color:#7f8a72;font-size:10px}.play-fullscreen-button{color:#344d3e}html[data-night=true] header{color:#eee6c8}html[data-night=true] h1{text-shadow:0 2px 20px #111b22}html[data-mode=stars] header{visibility:hidden}html[data-mode=stars] .play-fullscreen-button{color:#eee6c8}html[data-mode=stars] #backButton{top:28px}
@media(orientation:portrait){header{left:20px;top:23px;right:calc(8px + var(--play-screen-slot,48px))}h1{font-size:26px}.identity p{font-size:10px;max-width:220px}.top-tools{flex-direction:column;gap:7px}#backButton{left:20px;top:106px}#context{bottom:28px}#context p{font-size:12px}.world-target span{font-size:10px;padding:5px 8px}.world-target.place span{font-size:13px}.atlas-heading{top:94px}#starDrawer{top:24px;right:calc(10px + var(--play-screen-slot,48px));width:133px}#toast{top:20%;font-size:12px}}
@media(max-height:500px){header{left:20px;top:14px}h1{font-size:23px}.identity p{font-size:10px;margin-top:3px}#backButton{top:75px;left:20px;min-height:36px;padding:0 12px}#context{bottom:13px}#context p{font-size:11px}#held{font-size:16px}#toast{top:17%;font-size:11px;padding:7px 15px}.atlas-heading{top:15px}.atlas-heading h2{font-size:20px}.atlas-heading p{display:none}#atlasNote{bottom:12px;font-size:11px}#starDrawer{top:15px}html[data-mode=stars] #backButton{top:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.world-target[data-phase=flip]{border-color:#ffe19b;background:#ffcf6338}.world-target[data-phase=ready]{border-color:#d9f4b0;background:#bedc7238}
.picture-target{width:64px;height:64px;background:#e8efdcad;box-shadow:0 4px 18px #25433122;border:1px solid #ffffeaa6;backdrop-filter:blur(5px)}.picture-target svg{width:55px;height:55px;pointer-events:none}.picture-target:after{display:none}.picture-target.field-action{width:76px;height:76px;background:#edf2d8b5;box-shadow:0 0 0 7px #faffee25,0 4px 24px #2c513625}.picture-target.field-action svg{width:62px;height:62px}.picture-target.busy{background:#e1eadf88;box-shadow:none;opacity:.7}
#context{bottom:104px}#context p{font-size:12px}#held{display:none}.identity p{display:none}#toast{top:100px;font-size:12px;padding:7px 15px}
#fishingCanvas{position:absolute;inset:0 0 98px;width:100%;height:calc(100% - 98px);z-index:8;display:block;outline-offset:-5px}#cooking{position:absolute;inset:0 0 98px;width:100%;height:calc(100% - 98px);border:0;z-index:10;background:#244f52}html[data-mode=fishing] .game{background:#517e6a}html[data-mode=cooking] .game{background:#244f52}html[data-mode=cooking] header .identity,html[data-mode=cooking] #timeName{visibility:hidden}html[data-mode=cooking] header{top:8px}html[data-mode=cooking] .top-tools{flex-direction:row}html[data-mode=cooking] .quiet{background:#ffffff16;border:0;color:#f2e9c7}html[data-mode=cooking] .play-fullscreen-button{color:#f2e9c7}#atlasNote{bottom:108px}
@media(max-width:600px){#context{bottom:77px}#fishingCanvas,#cooking{bottom:74px;height:calc(100% - 74px)}h1{font-size:22px}.picture-target{width:55px;height:55px}.picture-target svg{width:48px;height:48px}.picture-target.field-action{width:68px;height:68px}.picture-target.field-action svg{width:56px;height:56px}#atlasNote{bottom:80px;font-size:10px}#toast{top:94px}.top-tools span{display:none}}
@media(max-height:500px){#context{bottom:73px}#context p{display:none}#fishingCanvas,#cooking{bottom:69px;height:calc(100% - 69px)}header{top:10px}h1{font-size:20px}.picture-target{width:52px;height:52px}.picture-target svg{width:46px;height:46px}.picture-target.field-action{width:65px;height:65px}.picture-target.field-action svg{width:53px;height:53px}#atlasNote{bottom:76px;font-size:10px}#atlasFact,#atlasDiscovery{display:none}#toast{top:61px}}
html[data-mode=fishing] #landscape,html[data-mode=cooking] #landscape,html[data-mode=fishing] .vignette,html[data-mode=cooking] .vignette{visibility:hidden}html[data-mode=fishing] header{color:#fffde9}html[data-mode=fishing] h1{text-shadow:0 2px 12px #233e36}
html.play-zoom-recovery #cooking{pointer-events:none}

/* World objects, not badges, are the primary touch surface. */
.world-target.physical-target{background:none;border:0;box-shadow:none;backdrop-filter:none}.physical-target svg{opacity:0}.physical-target:focus-visible{outline:3px solid #fff3bd;background:#ffffff20}.physical-target:focus-visible svg{opacity:.75}

/* The landscape is the map. Only a small way home stays in close-up scenes. */
#backButton{top:max(22px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));height:44px;padding:0 12px;gap:5px;box-shadow:0 2px 12px #172f2210}
#backButton svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#backButton span{font-size:11px}
html:has(#backButton:not([hidden])) header .identity{visibility:hidden}
#context{bottom:max(20px,env(safe-area-inset-bottom));opacity:.7}#fishingCanvas,#cooking{inset:0;width:100%;height:100%}
#cropProgress{position:absolute;inset:0;z-index:5;pointer-events:none}.crop-progress{position:absolute;transform:translate(-50%,-50%);width:48px;height:4px;border-radius:5px;background:#3b543c50;box-shadow:0 0 0 2px #ffffe536;overflow:hidden;opacity:.85}.crop-progress i{display:block;width:100%;height:100%;border-radius:5px;background:#ddedb9;transform-origin:left}.crop-progress.ripe i{background:#f5d68a}
#starDrawer{top:50%;right:max(12px,env(safe-area-inset-right));transform:translateY(-50%);width:66px;background:#10233766;border:1px solid #a9bad418;border-radius:24px;padding:7px 4px}
#constellationList{display:flex;flex-direction:column;gap:4px;padding:0}.constellation-choice{width:56px;min-height:48px;padding:7px 3px;border-radius:15px}.constellation-choice svg{width:48px;height:32px}.constellation-choice span{display:none}.constellation-choice[aria-pressed=true]{border-radius:15px;background:#e4d5aa1f;color:#ffe3a6}
.star-actions{padding:6px 0 0;display:grid;grid-template-columns:1fr;gap:2px;border-top:1px solid #bbd0dd15;margin-top:6px}.star-actions button{width:56px;min-height:36px;font-size:21px;background:transparent;padding:2px}.star-actions #starAbout{font-size:16px;opacity:.5}
#atlasNote{bottom:22px;width:calc(100% - 160px)}#atlasFact,#atlasDiscovery,#starProgress,#atlasLatin,#atlasRegion,#starNext{display:none!important}.atlas-heading{top:30px;left:calc(50% - 24px)}.atlas-heading h2{font-size:23px;opacity:.7}.star-progress{width:70px;opacity:.6}
html[data-mode=stars] #backButton{top:max(22px,env(safe-area-inset-top));background:#1c2d4277;border-color:#c5d1d82b;color:#ebdec1}
html[data-mode=cooking] #backButton{top:8px;height:40px;min-height:40px;left:12px;background:#ffffff14;color:#f2e9c7;border:0}
@media(max-width:600px){#backButton{left:16px;top:22px}.crop-progress{width:36px;height:3px}#starDrawer{width:60px;right:8px}.constellation-choice,.star-actions button{width:50px}.constellation-choice svg{width:44px}.atlas-heading{top:32px;left:49%}.atlas-heading h2{font-size:20px}#atlasNote{bottom:22px}}
@media(max-height:500px){#backButton,html[data-mode=stars] #backButton{top:14px;left:18px}#starDrawer{width:112px;padding:6px;right:14px}#constellationList{display:grid;grid-template-columns:1fr 1fr;gap:3px}.constellation-choice{width:46px;min-height:44px;padding:4px 0}.constellation-choice svg{width:43px}.star-actions{display:flex;justify-content:center;padding-top:3px;margin-top:3px}.star-actions button{width:32px;min-width:28px;min-height:32px}.atlas-heading{top:18px}#atlasNote{bottom:16px}}
/* Local firework tools stay with the little courtyard, not with the farm map. */
#groundYard{position:absolute;inset:0;z-index:8;background:#17272c}#groundCanvas{position:absolute;inset:0 0 108px;width:100%;height:calc(100% - 108px);touch-action:none}
#fireworkScenes{position:absolute;z-index:21;width:max-content;max-width:calc(100% - 24px);top:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:4px;background:#132b3699;border:1px solid #dde9d526;border-radius:24px}
#fireworkScenes button{white-space:nowrap;display:flex;align-items:center;gap:5px;padding:0 13px;min-height:44px;border-radius:20px;background:transparent;color:#d8dfcf;font-size:12px}#fireworkScenes button[aria-pressed=true]{background:#e7d9b52b;color:#f6e3b7}#fireworkScenes svg{width:29px;height:29px}
#yardTools{position:absolute;z-index:20;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);color:#d9ddc9;text-align:center}#yardTools>div{display:flex;justify-content:center;gap:10px}#yardTools button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:70px;min-height:68px;background:#bfd1c810;border:1px solid transparent;border-radius:16px;color:#d5dfd2;font-size:11px;gap:3px}#yardTools button[aria-pressed=true]{border-color:#d9b87488;background:#d5c08e1f;color:#f0deb2}#yardTools svg{width:43px;height:39px}#sceneCaption{font-size:11px;line-height:1.6;margin-top:10px;opacity:.75}
html[data-mode=ground] header,html[data-mode=fireworks] header{color:#ebe4ca}html[data-mode=ground] #landscape{visibility:hidden}html[data-mode=ground] .play-fullscreen-button{color:#ebe4ca}html[data-mode=room] #context{color:#4b5d51;text-shadow:0 1px 8px #fff9d5}
@media(max-width:600px){#fireworkScenes{top:79px}#fireworkScenes button{padding:0 11px;font-size:11px;min-height:42px}#yardTools>div{gap:4px}#yardTools button{width:62px;min-height:65px}#sceneCaption{font-size:10px}}
@media(max-height:500px){#fireworkScenes{top:11px}#fireworkScenes button{min-height:36px}#yardTools{bottom:7px}#yardTools button{min-height:51px;width:61px;gap:0}#yardTools svg{width:32px;height:29px}#sceneCaption{margin-top:4px;font-size:10px}#groundCanvas{bottom:80px;height:calc(100% - 80px)}}

@media(max-width:600px){html[data-mode=ground] #toast{top:148px}}

/* Spoken labels remain available; play itself uses objects and pictures. */
#toast,#context,#sceneCaption{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important}
#fireworkScenes button>span:not([data-icon]),#yardTools button>span:not([data-icon]),#backButton>span{display:none}
#fireworkScenes button,#yardTools button{min-width:48px;min-height:48px;padding:9px}
#backButton{width:48px;min-width:48px;padding:12px}#timeName{font-size:23px}
