:root{color-scheme:light;--ink:#fff8e7;--quiet:rgba(255,248,231,.66);--line:rgba(255,248,231,.25);font-family:"Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#6e9a9a}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #ffdfa6;outline-offset:6px}#experience,#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#world{display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,40,48,.12),transparent 24%,transparent 70%,rgba(13,38,45,.27));box-shadow:inset 0 0 160px rgba(12,37,45,.12)}.masthead{position:absolute;inset:42px 48px auto;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;color:var(--ink);text-shadow:0 2px 20px #24474440}.eyebrow{font-size:9px;letter-spacing:3.2px;margin:0 0 15px;opacity:.74;font-weight:500}h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:40px;letter-spacing:7px;font-weight:400;margin:0;line-height:1.25}h1 span{display:block;font-family:"Baskerville","Times New Roman",serif;font-size:17px;font-style:italic;letter-spacing:2.5px;margin:8px 0 0 2px;opacity:.85}.subtitle{font-size:11px;letter-spacing:2.4px;margin:20px 0 0 2px;opacity:.78}.edition{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2px;padding:8px 0}.edition-dot{height:5px;width:5px;background:#f9d99d;border-radius:50%;box-shadow:0 0 10px #ffe1a1}.edition-no{margin-left:13px;opacity:.55;font-size:12px;font-family:serif}.sun-handle{position:absolute;left:0;top:0;width:72px;height:72px;transform:translate(-50%,-50%);border:none;background:transparent;border-radius:50%;touch-action:none;cursor:grab;padding:0;z-index:5;color:#fff7dd}.sun-handle:active{cursor:grabbing}.sun-bracket{position:absolute;inset:5px;border:1px solid rgba(255,247,221,.46);border-radius:50%;transform:scale(1.08);transition:transform .5s,border-color .4s;box-shadow:0 0 25px #ffdc9c0d}.sun-bracket:after{content:"";position:absolute;width:5px;height:5px;background:#fff4c8;border-radius:50%;right:5px;top:7px}.sun-handle:hover .sun-bracket,.sun-handle.dragging .sun-bracket{transform:scale(1.24);border-color:#fff7dd}.sun-caption{position:absolute;top:82px;left:50%;transform:translateX(-50%);width:150px;font-size:11px;letter-spacing:3px;white-space:nowrap;text-shadow:0 1px 12px #142d42}.sun-caption span{display:block;font-size:9px;letter-spacing:1.5px;opacity:.56;margin-top:7px}.sun-handle.dragging .sun-caption{opacity:0}.time-card{position:absolute;left:48px;bottom:105px;width:224px;color:var(--ink);pointer-events:none;text-shadow:0 1px 18px #193f4d44}.time-line{display:flex;align-items:center;gap:13px}.time-line>span:first-child{font-family:"Songti SC",serif;letter-spacing:4px;font-size:24px}.time-rule{height:1px;background:var(--line);width:29px}.time-line time{font-size:15px;letter-spacing:2px;font-variant-numeric:tabular-nums;opacity:.86}.time-card p{font-size:10px;letter-spacing:1px;margin:14px 0 24px;opacity:.7}.day-track{height:2px;background:linear-gradient(90deg,#8a9ab7,#f3be91 8%,#ffe8ae 45%,#df9a77 87%,#536787);position:relative;opacity:.85}.day-track i{position:absolute;top:50%;left:28%;width:7px;height:7px;border-radius:50%;background:#fff3d1;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #fff1ce1a}.day-labels{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;opacity:.55;margin-top:9px}.controls{position:absolute;right:48px;bottom:109px;display:flex;gap:9px;align-items:center;color:var(--ink)}.controls button{border:1px solid #fff8e729;border-radius:32px;height:42px;padding:0 16px;background:#143b4229;backdrop-filter:blur(16px);display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1px;transition:background .25s,border-color .25s}.controls button:hover,.controls button[aria-pressed=true]{background:#f8e4bc26;border-color:#fff8e77a}.controls svg{height:16px;width:16px;fill:none;stroke:currentColor;stroke-width:1.25;opacity:.85}.controls #help{width:42px;justify-content:center;font:italic 17px Georgia;padding:0}footer{position:absolute;bottom:30px;left:48px;right:48px;color:var(--quiet);display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.4px;pointer-events:none}footer i{font-style:normal;display:inline-block;margin:0 9px;font-size:15px;vertical-align:middle}#interaction-hint{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;opacity:.85;font-size:10px;letter-spacing:1.3px}.stage{opacity:.65}.gesture{position:absolute;width:23px;height:23px;border-radius:50%;border:1.5px solid #fff6d9;box-shadow:0 0 0 5px #ffe7bc33;transform:translate(-50%,-50%);pointer-events:none;z-index:20}dialog{max-width:440px;width:calc(100% - 40px);background:#f5f0e6;color:#244448;padding:42px 38px 32px;border:0;border-radius:4px;box-shadow:0 25px 100px #061c3770}dialog::backdrop{background:#102a4355;backdrop-filter:blur(8px)}dialog h2{font-family:"Songti SC",serif;font-size:26px;font-weight:400;margin:20px 0 25px}dialog p{font-size:12px;line-height:1.95;color:#486165}dialog .eyebrow{font-size:8px;color:#41615f}#close-help{position:absolute;right:18px;top:12px;border:0;background:none;font-size:26px;font-weight:300}.help-note{border-top:1px solid #24444822;padding-top:14px;opacity:.75}#start-play{background:#2d5b59;color:#faf4e5;border:none;border-radius:2px;padding:12px 20px;margin-top:10px;font-size:12px;letter-spacing:2px}#loading{position:absolute;inset:0;background:#4d777d;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f8eaca;z-index:50;transition:opacity 1s}#loading.leaving{opacity:0;pointer-events:none}#loading p{font-family:"Songti SC",serif;font-size:22px;letter-spacing:5px;margin:26px 0 13px}#loading small{font-size:10px;letter-spacing:2px;opacity:.6}.loading-sun{height:32px;width:32px;border-radius:50%;background:#f3cf93;box-shadow:0 0 50px #ffdc9977;animation:breathe 2s infinite alternate}@keyframes breathe{to{box-shadow:0 0 80px #ffdc99bb;transform:scale(1.1)}}#error{position:absolute;inset:0;background:#203e4b;color:#f8eddb;padding:20vh 15%;z-index:60}#error[hidden]{display:none}#error p{max-width:600px;line-height:1.8}#error button{background:#e8d8b6;color:#203e4b;padding:12px 25px;border:0}
@media(max-width:700px){.masthead{inset:28px 25px auto}h1{font-size:30px;letter-spacing:5px}h1 span{font-size:14px;margin-top:6px}.eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:10px}.subtitle{font-size:9px;margin-top:14px;letter-spacing:1.8px}.edition{font-size:9px;letter-spacing:1px}.edition-no{display:none}.sun-caption{font-size:10px;top:75px}.sun-caption span{font-size:8px}.sun-handle{width:64px;height:64px}.time-card{left:26px;bottom:157px;width:172px}.time-line>span:first-child{font-size:23px}.time-line time{font-size:12px}.time-card p{font-size:9px;margin:11px 0 18px}.controls{left:25px;right:auto;bottom:80px;gap:8px}.controls button{height:38px;font-size:9px;padding:0 12px;gap:6px}.controls #help{height:38px;width:38px}footer{left:26px;right:26px;bottom:23px;font-size:8px}.stage{display:none}#interaction-hint{left:0;transform:none;bottom:28px;font-size:8px;letter-spacing:.6px}.day-labels{font-size:8px}}@media(max-height:600px) and (min-width:701px){.masthead{top:24px}h1{font-size:30px}.subtitle{display:none}.time-card{bottom:82px}.controls{bottom:82px}footer{bottom:22px}}@media(prefers-reduced-motion:reduce){.loading-sun{animation:none}*{transition:none!important}}

#experience{overflow:hidden;max-width:100vw;max-height:100dvh}html,body{overscroll-behavior:none}
@media(max-height:500px) and (min-width:701px){.masthead{inset:18px 24px auto}.masthead .eyebrow{font-size:6px;letter-spacing:2px;margin-bottom:8px}h1{font-size:24px;letter-spacing:4px}h1 span{font-size:12px;letter-spacing:1px}.edition{font-size:9px}.time-card{left:24px;bottom:57px;width:168px}.time-line>span:first-child{font-size:21px}.time-line time{font-size:12px}.time-card p{font-size:8px;margin:8px 0 12px}.day-labels{font-size:7px;margin-top:7px}.controls{right:24px;bottom:25px;gap:6px}.controls button{height:32px;padding:0 11px;font-size:8px}.controls #help{width:32px;height:32px}.controls svg{width:13px;height:13px}footer{left:24px;right:24px;bottom:7px;font-size:7px}#interaction-hint{display:none}.sun-caption{font-size:9px;top:76px}.sun-caption span{font-size:7px}}

/* Scene-time positions match the solar arc. */
.day-labels{position:relative;height:12px;display:block}.day-labels span{position:absolute;transform:translateX(-50%);white-space:nowrap}.day-labels span:nth-child(1){left:6.667%}.day-labels span:nth-child(2){left:46.667%}.day-labels span:nth-child(3){left:86.667%}.day-labels span:nth-child(4){left:100%}
/* Leave the upper sky free for the longer solar arc on narrow screens. */
@media(max-width:700px){.masthead{inset:14px 25px auto}.masthead .eyebrow,.masthead h1 span,.masthead .subtitle{display:none}.masthead h1{font-size:20px;letter-spacing:4px;line-height:1}.edition{padding:1px 0;font-size:8px}.sun-caption{letter-spacing:1.5px}.sun-caption span{letter-spacing:.3px}}

.cloud-handle{position:absolute;z-index:4;transform:translate(-50%,-50%);width:112px;height:72px;border:0;background:transparent;border-radius:35%;cursor:grab;touch-action:none;color:#edf6f4;text-shadow:0 1px 9px #1c3b4e}.cloud-handle[hidden]{display:none}.cloud-handle i{position:absolute;inset:10px 0;border-left:1px solid #d9ece666;border-right:1px solid #d9ece666;border-radius:40%;opacity:.65}.cloud-handle span,.cloud-handle small{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.cloud-handle span{top:76px;font-size:11px;letter-spacing:2px}.cloud-handle small{top:97px;font-size:9px;letter-spacing:.7px;opacity:.75}.cloud-handle.dragging{cursor:grabbing}.cloud-handle.dragging i{border-color:#e8fcff;opacity:1}.cloud-handle.dragging small{opacity:0}@media(max-width:700px){.cloud-handle{width:90px;height:58px}.cloud-handle span{top:61px;font-size:10px}.cloud-handle small{top:80px;font-size:8px;letter-spacing:0}}

.weather-tools{position:absolute;right:34px;top:146px;z-index:8;text-align:right;pointer-events:none;color:#ecf3ed;text-shadow:0 1px 8px #123743}.weather-tools p{font-size:12px;letter-spacing:2px;margin:0 0 12px}.weather-tools button{pointer-events:auto;border:1px solid #d0e2de77;border-radius:20px;background:#214c5a88;color:#eef3df;font:inherit;font-size:12px;padding:10px 16px;cursor:pointer;backdrop-filter:blur(12px)}.weather-tools [hidden]{display:none}.cloud-handle small{letter-spacing:0;font-size:9px}.cloud-handle span{letter-spacing:1px}@media(max-width:700px){.weather-tools{right:18px;top:130px}.weather-tools p{font-size:10px}.weather-tools button{font-size:11px;padding:8px 12px}.cloud-handle small{display:none}.cloud-handle span{font-size:9px;top:57px}.cloud-handle{width:75px;height:54px}}

.pond-tools{position:absolute;right:48px;bottom:175px;text-align:right;z-index:6;color:#f7f3db;text-shadow:0 1px 8px #21444d}.pond-tools button{font:inherit;font-size:11px;letter-spacing:1px;padding:11px 16px;border:1px solid #f6eed85c;border-radius:24px;background:#244e5c80;backdrop-filter:blur(12px)}.pond-tools p{font-size:9px;letter-spacing:1px;margin:10px 0 0;opacity:.75}.pond-view .pond-tools p{color:#fff5d6;opacity:1}.pond-view .identity .subtitle{display:none}#world:focus-visible{outline:2px solid #e5cd91;outline-offset:-4px}@media(max-width:700px){.pond-tools{right:25px;bottom:225px}.pond-tools button{font-size:10px;padding:9px 12px}.pond-tools p{font-size:8px;max-width:130px;letter-spacing:0}.pond-view .time-card{opacity:.6}}@media(max-height:550px) and (min-width:701px){.pond-tools{right:24px;bottom:86px}.pond-tools p{display:none}}

/* Garden tools borrow the island's quiet ivory and oxidized green palette. */
.pond-tools button+button{margin-left:8px}.garden-tools{position:absolute;z-index:8;bottom:174px;left:48px;color:#fff2d5;text-shadow:0 1px 8px #243c2c;max-width:430px}.garden-tools[hidden]{display:none}.garden-title{font:20px "Songti SC",serif;letter-spacing:3px;margin:0 0 14px}.garden-tools [role=toolbar]{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #e8dbb545;border-radius:28px;background:#203f35ad;backdrop-filter:blur(16px)}.garden-tools button{background:transparent;border:0;border-radius:20px;padding:11px 14px;color:#f4eddb;font-size:11px;letter-spacing:1px;min-height:40px}.garden-tools button[aria-pressed=true]{background:#e8d6a3;color:#294331;text-shadow:none}.tool-divider{height:20px;width:1px;background:#dccfa650;margin:0 3px}#garden-status{font-size:11px;margin:12px 0 6px;letter-spacing:1px}.garden-tools small{font-size:9px;opacity:.72}.garden-view .time-card{display:none}.garden-view .identity .subtitle{display:none}.garden-view .pond-tools p{visibility:hidden}
@media(max-width:700px){.pond-tools{left:25px;right:25px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pond-tools button+button{margin-left:0}.pond-tools p{flex-basis:100%;margin-top:0}.garden-tools{left:20px;right:20px;bottom:154px;max-width:none}.garden-title{font-size:17px;margin-bottom:9px}.garden-tools button{padding:9px 10px;font-size:10px;flex:1}.garden-tools [role=toolbar]{gap:1px}.garden-tools small{font-size:8px}.garden-view .pond-tools{bottom:320px}.garden-view #interaction-hint{display:none}}
@media(max-height:550px) and (min-width:701px){.garden-tools{left:24px;bottom:32px}.garden-title,.garden-tools small{display:none}.garden-tools button{min-height:32px;padding:6px 10px}.garden-view .pond-tools{bottom:85px}#garden-status{font-size:9px;margin-top:8px}}
/* Keep the return-view buttons above the beds on portrait phones. */
@media(max-width:700px){.garden-view .pond-tools{top:62px;bottom:auto;left:20px;right:20px}.garden-view .pond-tools p{display:none}}

/* Wind is read through the world; this quiet compass only explains the gesture. */
#wind-readout{position:absolute;left:50%;top:150px;transform:translateX(-50%);color:#fff6d9;pointer-events:none;z-index:3;display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:1.5px;text-shadow:0 1px 9px #23444c;white-space:nowrap}#wind-readout[hidden]{display:none}#wind-arrow{font:32px Georgia;display:inline-block;line-height:1;transition:opacity .2s}#wind-readout i{position:absolute;bottom:-10px;left:45px;width:calc(100% - 45px);height:1px;background:linear-gradient(to right,#ffe4ab calc(var(--wind,0)*100%),#fff6d933 0)}#wind-mode[aria-pressed=true]{background:#ead8af;color:#294b48;border-color:#f8e9ca;text-shadow:none}.wind-mode .cloud-handle small{opacity:.5}
@media(max-width:700px){#wind-readout{top:75px;font-size:9px;letter-spacing:.3px}.pond-tools{gap:6px}.pond-tools button{padding:10px 11px;min-height:40px}.garden-view #wind-mode,.pond-view #wind-mode{display:none}}
@media(max-height:550px) and (min-width:701px){#wind-readout{top:45px;left:53%;font-size:9px}.pond-tools button{padding:8px 11px}}
@media(max-width:700px){body:not(.garden-view) .pond-tools{bottom:250px}}
@media(min-width:701px) and (min-height:551px){#wind-readout{top:170px}}
/* The skiff keeps its controls beside the scene, with a quiet destination halo on the sea. */
#boat-handle{position:absolute;z-index:4;transform:translate(-50%,-50%);width:64px;height:52px;border:1px solid #f5e9c966;border-radius:50%;background:transparent;color:#fff4d5;touch-action:none}#boat-handle span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:1.5px;text-shadow:0 1px 8px #153742}#boat-handle[hidden],#boat-tools[hidden]{display:none}#boat-tools{position:absolute;left:48px;bottom:175px;z-index:7;color:#fff3d5;text-shadow:0 1px 8px #183f46}#boat-tools .boat-title{font:20px "Songti SC",serif;letter-spacing:3px;margin:0 0 14px}#boat-tools button{background:#214b50ad;border:1px solid #f5e9c966;border-radius:24px;padding:12px 18px;margin-right:8px;font-size:11px;min-height:42px}#boat-status{font-size:11px;letter-spacing:1px;margin:12px 0 6px}#boat-tools small{font-size:9px;opacity:.7}.boat-mode .time-card{display:none}.boat-mode .pond-tools p{visibility:hidden}.boat-mode #boat-mode{background:#ead8af;color:#294b48;border-color:#f8e9ca;text-shadow:none}.garden-view #boat-mode,.pond-view #boat-mode{display:none}
@media(max-width:700px){.pond-tools{display:grid;grid-template-columns:repeat(2,max-content);justify-content:end}.pond-tools p{grid-column:1/-1;max-width:none}.boat-mode .pond-tools{top:62px;bottom:auto!important;left:auto;right:20px;display:block}.boat-mode .pond-tools button:not(#boat-mode),.boat-mode .pond-tools p{display:none}#boat-tools{left:25px;right:25px;bottom:155px}#boat-tools .boat-title{font-size:17px}#boat-tools button{font-size:10px;padding:11px 16px}#boat-tools small{font-size:8px}.boat-mode #interaction-hint{display:none}}
@media(max-height:550px) and (min-width:701px){#boat-tools{left:24px;bottom:32px}#boat-tools .boat-title,#boat-tools small{display:none}#boat-tools button{padding:7px 12px;min-height:34px}.boat-mode .pond-tools{bottom:86px}#boat-status{font-size:9px}}
/* Cottage exploration keeps labels attached to the modeled door, sashes and chimney. */
.house-handle{position:absolute;z-index:5;transform:translate(-50%,-50%);width:44px;height:44px;border:0;background:transparent;color:#fff2cc;pointer-events:none;text-shadow:0 1px 8px #28362a}.house-handle i{position:absolute;inset:11px;border:1px solid #f7e8bd80;border-radius:50%;box-shadow:0 0 14px #ead39a22}.house-handle span{position:absolute;top:44px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;letter-spacing:1px}.house-handle:focus-visible{outline:2px solid #f6e4b6;border-radius:50%}.house-handle[hidden],#house-tools[hidden]{display:none}#house-tools{position:absolute;left:48px;bottom:174px;z-index:8;color:#fff0d5;text-shadow:0 1px 8px #243c2c}.house-title{font:20px "Songti SC",serif;letter-spacing:3px;margin:0 0 14px}#house-light{border:1px solid #eddfb95c;background:#24483bbb;backdrop-filter:blur(12px);border-radius:24px;padding:12px 20px;min-height:42px;color:#f5e8c8;font:inherit;font-size:11px}#house-status{font-size:11px;letter-spacing:1px;max-width:390px;line-height:1.8;margin:12px 0 5px}#house-tools small{font-size:9px;opacity:.7}.house-view .time-card,.house-view .cloud-handle,.house-view .weather-tools,.house-view #boat-handle{display:none}.house-view .identity .subtitle{display:none}.house-view .pond-tools p{visibility:hidden}.house-view #house-focus{background:#ead8af;color:#294b48;text-shadow:none}.garden-view #house-focus,.pond-view #house-focus,.boat-mode #house-focus{display:none}
@media(max-width:700px){body:not(.house-view):not(.garden-view):not(.pond-view):not(.boat-mode) .pond-tools{bottom:250px}#house-focus{grid-column:1/-1;justify-self:end}.house-view .pond-tools{top:62px;bottom:auto!important;left:auto;right:20px;display:block}.house-view .pond-tools button:not(#house-focus),.house-view .pond-tools p{display:none}#house-tools{left:25px;right:25px;bottom:145px}.house-title{font-size:17px;margin-bottom:10px}#house-status{font-size:10px;letter-spacing:0}#house-tools small{font-size:8px}.house-handle span{font-size:9px;letter-spacing:0}.house-view #interaction-hint{display:none}.house-view .sun-handle{opacity:.5!important}}
@media(max-height:550px) and (min-width:701px){#house-tools{left:24px;bottom:28px}.house-title,#house-tools small{display:none}#house-status{font-size:9px;max-width:260px}.house-view .pond-tools{bottom:85px}#house-light{padding:7px 12px;min-height:34px}}
/* Explanatory captions must not steal taps from objects behind their text. */
.sun-caption{pointer-events:none}
.house-view .sun-caption span{display:none}
@media(max-height:550px) and (min-width:701px){.house-view .pond-tools{top:62px;bottom:auto;right:24px}.house-view .pond-tools button:not(#house-focus),.house-view .pond-tools p{display:none}}
/* I08: quiet, world-space light; controls share the existing miniature palette. */
#firefly-tools[hidden]{display:none}#firefly-tools{position:absolute;z-index:8;left:48px;bottom:174px;color:#eff0c6;text-shadow:0 1px 8px #1a3432}.firefly-title{font:20px "Songti SC",serif;letter-spacing:3px;margin:0 0 14px}#firefly-tools button{border:1px solid #e6ebaf55;background:#24483bbb;backdrop-filter:blur(12px);border-radius:24px;padding:11px 18px;min-height:44px;color:#f0edc8;font:inherit;font-size:11px;margin-right:7px}#firefly-lantern[aria-pressed=true]{background:#dad49b;color:#294b43;text-shadow:none}#firefly-status{font-size:11px;letter-spacing:1px;line-height:1.8;margin:12px 0 5px}#firefly-tools small{font-size:9px;opacity:.7}.firefly-view .time-card,.firefly-view .cloud-handle,.firefly-view .weather-tools,.firefly-view #boat-handle{display:none}.firefly-view .identity .subtitle{display:none}.firefly-view .pond-tools p{visibility:hidden}.firefly-view #firefly-focus{background:#dad49b;color:#294b43;text-shadow:none}.firefly-view .sun-caption span{display:none}.garden-view #firefly-focus,.pond-view #firefly-focus,.boat-mode #firefly-focus,.house-view #firefly-focus{display:none}#lantern-handle i{border-color:#dbe8a9a0;box-shadow:0 0 18px #e5eaa52e}
@media(max-width:700px){#house-focus{grid-column:auto}#firefly-tools{left:25px;right:25px;bottom:145px}.firefly-title{font-size:17px;letter-spacing:2px;margin-bottom:10px}#firefly-status{font-size:10px;letter-spacing:0}#firefly-tools small{font-size:8px}.firefly-view .pond-tools{top:62px;bottom:auto!important;left:auto;right:20px;display:block}.firefly-view .pond-tools button:not(#firefly-focus),.firefly-view .pond-tools p{display:none}.firefly-view #interaction-hint{display:none}}
@media(max-height:550px) and (min-width:701px){#firefly-tools{left:24px;bottom:28px}.firefly-title,#firefly-tools small{display:none}#firefly-status{font-size:9px}.firefly-view .pond-tools{top:62px;bottom:auto;right:24px}.firefly-view .pond-tools button:not(#firefly-focus),.firefly-view .pond-tools p{display:none}#firefly-tools button{padding:7px 12px;min-height:34px}}
/* I09: the scene carries the weather; this small readout only explains conditions. */
#after-rain-readout{display:none;position:absolute;left:48px;bottom:174px;color:#f5eed4;text-shadow:0 1px 8px #23404b;max-width:360px;pointer-events:none}#after-rain-status{font:17px "Songti SC",serif;letter-spacing:1px;line-height:1.7}#after-rain-readout small{font-size:10px;opacity:.7}.after-rain-view #after-rain-readout{display:block}.after-rain-view .time-card{display:none}.after-rain-view .pond-tools{top:75px;bottom:auto}.after-rain-view .pond-tools button:not(#after-rain-focus),.after-rain-view .pond-tools p{display:none}.after-rain-view #after-rain-focus{background:#e5deb5;color:#294b48}.house-view #after-rain-focus,.firefly-view #after-rain-focus,.garden-view #after-rain-focus,.pond-view #after-rain-focus,.boat-mode #after-rain-focus{display:none}
@media(max-width:700px){#after-rain-readout{left:25px;right:25px;bottom:145px}#after-rain-status{font-size:14px}.after-rain-view .pond-tools{top:62px;bottom:auto!important}.after-rain-view #interaction-hint{display:none}body:not(.house-view):not(.firefly-view):not(.garden-view):not(.pond-view):not(.boat-mode):not(.after-rain-view) .pond-tools{max-width:310px;left:auto}}
@media(max-height:550px) and (min-width:701px){#after-rain-readout{left:24px;bottom:35px;max-width:320px}#after-rain-status{font-size:12px;margin-bottom:3px}.after-rain-view .pond-tools{top:62px}}
.after-rain-view .cloud-handle,.after-rain-view .weather-tools,.after-rain-view #boat-handle{display:none}.after-rain-view .sun-caption span{display:none}.after-rain-view .identity .subtitle{display:none}
/* I10: a quiet tide ruler, reflected in the real shoreline and floating pier. */
#tide-tools[hidden],#tide-handle[hidden]{display:none}#tide-tools{position:absolute;z-index:8;left:48px;bottom:174px;width:310px;color:#fff0d5;text-shadow:0 1px 8px #243c2c;background:#173f466b;padding:20px 24px;border:1px solid #fff3d526;backdrop-filter:blur(14px);border-radius:5px}.tide-title{font:20px "Songti SC",serif;letter-spacing:3px;margin:0 0 20px}.tide-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}#tide-height{font:italic 18px Georgia;font-variant-numeric:tabular-nums}#tide-level{width:100%;height:44px;margin:2px 0;accent-color:#dec89c;cursor:ew-resize;touch-action:none}.tide-labels{display:flex;align-items:center;justify-content:space-between}.tide-labels button{min-height:40px;padding:0 10px;border:1px solid #f6eed840;border-radius:22px;background:#234d5677;font-size:10px}.tide-labels span{opacity:.5}#tide-status{font-size:11px;letter-spacing:.5px;line-height:1.7;margin-bottom:6px}#tide-tools small{font-size:8px;opacity:.7;line-height:1.8}#tide-handle{position:absolute;z-index:5;width:56px;height:64px;transform:translate(-50%,-50%);touch-action:none;background:#233e4322;border:1px solid #fff2c966;border-radius:40%;cursor:ns-resize;color:#fff3d3;text-shadow:0 1px 7px #18323e}#tide-handle i{font-style:normal;font-size:22px}#tide-handle span{position:absolute;top:68px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;pointer-events:none}.tide-view .time-card,.tide-view .cloud-handle,.tide-view .weather-tools,.tide-view #boat-handle,.tide-view .identity .subtitle{display:none}.tide-view .pond-tools{top:75px;bottom:auto}.tide-view .pond-tools button:not(#tide-focus),.tide-view .pond-tools p{display:none}.tide-view #tide-focus{background:#e5deb5;color:#294b48}.tide-view .sun-caption span{display:none}.garden-view #tide-focus,.pond-view #tide-focus,.house-view #tide-focus,.boat-mode #tide-focus,.firefly-view #tide-focus{display:none}
@media(max-width:700px){#tide-tools{left:25px;right:25px;bottom:140px;width:auto;padding:12px 18px}.tide-title{font-size:16px;letter-spacing:2px;margin-bottom:10px}#tide-status{font-size:10px;margin:6px 0}.tide-view .pond-tools{top:62px;bottom:auto!important}.tide-view #interaction-hint{display:none}.tide-view .sun-caption{display:none}}
@media(max-height:550px) and (min-width:701px){#tide-tools{left:24px;bottom:30px;width:250px;padding:10px 16px}.tide-title,#tide-tools small{display:none}#tide-status{font-size:9px;margin-bottom:0}.tide-view .pond-tools{top:62px}}
/* R17: a quiet viewing mode beside the garden's existing direct controls. */
.auto-tools{position:absolute;top:145px;left:48px;z-index:9;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:350px;color:#f5ead0}.auto-tools button,.auto-tools select{font:11px 'Songti SC',serif;letter-spacing:1px;color:inherit;background:#243f3bd9;border:1px solid #e5dbba66;border-radius:20px;min-height:40px;padding:9px 15px;backdrop-filter:blur(12px)}.auto-tools select option{color:#253c37;background:#eee8d8}.auto-tools button[aria-pressed=true]{background:#e4d9b8;color:#29473c}.auto-tools span{flex-basis:100%;font-size:10px;line-height:1.8;text-shadow:0 1px 8px #1c3837}.auto-tools [hidden]{display:none}.auto-running .sun-caption,.auto-running .cloud-handle small{opacity:.45}.wind-mode .cloud-handle,.wind-mode #sun-handle,.wind-mode #boat-handle{pointer-events:none}.wind-mode #world{cursor:crosshair}
@media(max-width:700px){.auto-tools{top:63px;left:20px;right:20px;max-width:none;gap:6px}.auto-tools button,.auto-tools select{font-size:10px;padding:8px 12px;min-height:36px}.auto-tools span{font-size:9px}.auto-running .pond-tools{opacity:.7}.house-view .auto-tools,.tide-view .auto-tools,.firefly-view .auto-tools,.pond-view .auto-tools,.garden-view .auto-tools,.boat-mode .auto-tools,.after-rain-view .auto-tools{top:108px}.wind-mode #wind-readout{top:125px}}
@media(min-width:701px) and (max-height:550px){.auto-tools{top:78px;left:24px}.auto-tools span{max-width:260px}}
@media(min-width:701px) and (min-height:551px){.auto-tools{top:205px}}
@media(max-width:700px){.auto-tools{left:auto;right:20px;max-width:210px;justify-content:flex-end}.auto-tools span{text-align:right}body:not(.house-view):not(.firefly-view):not(.garden-view):not(.pond-view):not(.boat-mode):not(.after-rain-view):not(.tide-view) .pond-tools{left:20px;right:20px;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}body:not(.house-view):not(.firefly-view):not(.garden-view):not(.pond-view):not(.boat-mode):not(.after-rain-view):not(.tide-view) .pond-tools button{padding:7px 3px;font-size:9px;letter-spacing:0;min-height:40px;white-space:normal}body:not(.house-view):not(.firefly-view):not(.garden-view):not(.pond-view):not(.boat-mode):not(.after-rain-view):not(.tide-view) .pond-tools p{grid-column:1/-1}}
/* R18: retain invisible hit targets; reveal affordances only on intentional input. */
#sun-handle,#boat-handle{left:0;top:0;will-change:transform}#sun-handle .sun-bracket,#sun-handle .sun-caption,#boat-handle span{opacity:0;transition:opacity .16s ease}#boat-handle{border-color:transparent;transition:border-color .16s ease}#boat-handle span{pointer-events:none}
#sun-handle:focus-visible .sun-bracket,#sun-handle:focus-visible .sun-caption,#sun-handle.dragging .sun-bracket,#sun-handle:active .sun-bracket,#boat-handle:focus-visible span,#boat-handle:active span{opacity:1}#boat-handle:focus-visible,#boat-handle:active{border-color:#f5e9c9aa}
@media(hover:hover) and (pointer:fine){#sun-handle:hover .sun-bracket,#sun-handle:hover .sun-caption,#boat-handle:hover span{opacity:1}#boat-handle:hover{border-color:#f5e9c9aa}}
@media(hover:none){body:not(.auto-running) #sun-handle[data-offscreen=true] .sun-caption{opacity:.75;width:auto;min-width:96px;border:1px solid #eee5ca44;border-radius:16px;padding:8px;background:#254741aa;top:42px;font-size:9px;letter-spacing:.4px}body:not(.auto-running) #sun-handle[data-offscreen=true] .sun-caption span{display:none}}

/* R19: a product seal at left and the frozen studio mark at right. */
.masthead{align-items:flex-start}.identity .island-wordmark{margin:0;font-size:0;line-height:0;letter-spacing:0}.island-wordmark img{display:block;width:290px;height:auto;filter:drop-shadow(0 2px 12px #12313b30)}.identity .subtitle{margin:19px 0 0 91px;font-size:10px;letter-spacing:2px}.studio-signature{display:flex;flex-direction:column;align-items:center;gap:11px;padding:2px 6px 0;color:#f4f1ea}.studio-signature img{display:block;width:45px;height:auto;filter:brightness(0) invert(1);opacity:.9}.studio-signature span{font-size:10px;font-weight:500;letter-spacing:4px;padding-left:4px;line-height:1.3;opacity:.88}
@media(max-width:700px){.masthead{inset:14px 20px auto}.island-wordmark img{width:166px}.identity .subtitle{display:none}.studio-signature{padding:0 4px;gap:4px}.studio-signature img{width:25px}.studio-signature span{font-size:8px;letter-spacing:2px;padding-left:2px}.auto-tools{top:76px}}
@media(min-width:701px) and (max-height:550px){.island-wordmark img{width:215px}.identity .subtitle{display:none}.studio-signature{gap:5px;padding-top:0}.studio-signature img{width:30px}.studio-signature span{font-size:8px;letter-spacing:3px}.auto-tools{top:95px}}

/* R21: the fallback itself is a visible 44 px touch target, stationary above the horizon. */
#sun-handle[data-offscreen=true]{width:112px;height:44px;border:1px solid #eee5ca66;border-radius:22px;background:#254741de;cursor:ns-resize}
#sun-handle[data-offscreen=true] .sun-bracket{display:none}
body #sun-handle[data-offscreen=true] .sun-caption{display:block!important;opacity:1!important;left:50%!important;top:13px!important;min-width:0!important;width:auto!important;margin:0;padding:0!important;border:0!important;background:none!important;font-size:11px;letter-spacing:.5px}
body #sun-handle[data-offscreen=true] .sun-caption span{display:block!important;position:absolute;top:28px;right:0;font-size:9px;opacity:.8;letter-spacing:0}
@media(pointer:coarse){.controls button,.pond-tools button,.auto-tools button,.auto-tools select,.garden-tools [role=toolbar],#house-light,#firefly-tools button,#tide-tools,.weather-tools button{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#24483be8}.controls button[aria-pressed=true],.auto-tools button[aria-pressed=true]{background-color:#48675d}.vignette{box-shadow:none}}

.share-thumbnail{position:absolute;left:-1000px;top:0;width:300px;height:300px;pointer-events:none}
