:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif;color:#374239;background:#d0d4c5;font-synthesis:none;--paper:rgba(244,243,230,.91);--line:rgba(77,89,70,.18);--ink:#3a4e40;--serif:'Noto Serif JP','Hiragino Mincho ProN',serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #b6b18b}button:hover{filter:brightness(1.1)}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}#garden{position:fixed;inset:0}#garden canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#garden canvas:active{cursor:grabbing}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(234,235,220,.3),transparent 23%,transparent 74%,rgba(28,43,35,.4))}.topbar{position:absolute;left:38px;right:38px;top:30px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:18px;color:#f1f1df;text-shadow:0 1px 12px #233c3666}.mark{font-family:var(--serif);font-size:36px;letter-spacing:-7px;padding-right:6px;line-height:1;white-space:nowrap}.brand strong{display:block;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:4px}.brand small{display:block;font-size:9px;letter-spacing:4px;margin-top:7px;opacity:.72}.top-actions{display:flex;align-items:center;gap:9px}.round{width:41px;height:41px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid rgba(255,255,240,.3);backdrop-filter:blur(16px);transition:background .2s,transform .2s}.round:hover{background:#fffdf0;transform:translateY(-1px)}.round svg{width:18px;height:18px}.presence{background:var(--paper);border:1px solid rgba(255,255,240,.3);border-radius:50px;min-height:40px;padding:0 17px;display:flex;gap:9px;align-items:center;font-size:11px;letter-spacing:1px;margin-right:6px;backdrop-filter:blur(16px)}.presence i,.live-switch i{width:5px;height:5px;border-radius:50%;background:#a39c7d;box-shadow:0 0 0 4px #88927714}.presence i.connected{background:#7b8e67}.almanac{position:absolute;right:40px;top:116px;display:flex;align-items:center;gap:16px;color:#f0f0de;text-shadow:0 2px 10px #273c3366}.season-stamp{font:25px var(--serif);border:1px solid #f0f0de66;width:45px;height:51px;display:grid;place-items:center;border-radius:1px}#date-label{font-size:10px;letter-spacing:1.3px;opacity:.85}.time-line{font:17px var(--serif);display:flex;align-items:center;gap:11px;margin-top:5px;letter-spacing:1px}.hairline{width:20px;height:1px;background:currentColor;opacity:.4}#time-label{font-size:11px}.almanac small{font-size:9px;display:block;margin-top:7px;opacity:.65;letter-spacing:1px}.avatar-label{position:absolute;padding:5px 10px;border:1px solid #e3e7d066;border-radius:30px;color:#fbf9e8;background:#354e3a80;backdrop-filter:blur(8px);font-size:9px;letter-spacing:1px;pointer-events:none;transform:translate(-50%,-100%)}.destination{position:absolute;width:18px;height:8px;border:1px solid #eff0d3;border-radius:100%;pointer-events:none;transform:translate(-50%,-50%)}.scene-caption{position:absolute;bottom:158px;left:42px;display:flex;gap:13px;color:#f1f0df;align-items:center;text-shadow:0 1px 10px #1d362c77;pointer-events:none}.scene-caption>span{font:33px var(--serif);opacity:.75}.scene-caption strong{font:15px var(--serif);letter-spacing:3px;font-weight:500}.scene-caption small{display:block;font-size:9px;margin-top:7px;letter-spacing:1px;opacity:.7}.places{position:absolute;right:38px;bottom:157px;display:flex;align-items:center;gap:6px}.places-heading{font-size:9px;letter-spacing:2px;margin-right:8px;color:#eeefdc;opacity:.65}.places button{font-size:11px;padding:9px 12px;border-radius:30px;background:#eef0df18;color:#f4f1de;border:1px solid #edf1dc44;backdrop-filter:blur(12px)}.places button:hover{background:#eff1df44}.places b{font-size:14px;font-weight:400;margin-right:6px}.bottom-bar{position:absolute;bottom:62px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center;gap:16px}.walk-hint{color:#e9edda;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1px;flex:1}.walk-hint small{font-size:9px;opacity:.5;display:block;margin-top:8px;letter-spacing:.5px}.tiny-spark{font-size:27px;opacity:.6}.actions{display:flex;align-items:center;gap:3px;background:var(--paper);border:1px solid #fff9dd88;border-radius:18px;padding:7px 10px;backdrop-filter:blur(20px);box-shadow:0 8px 35px #1e352622}.actions button{height:58px;min-width:80px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;border-radius:11px;transition:background .2s;letter-spacing:1px}.actions button:hover,.actions button.active{background:#63795c19}.actions kbd{position:absolute;right:7px;top:7px;font:8px sans-serif;opacity:.28}.actions .divider{height:30px;width:1px;background:var(--line);margin:0 6px}.actions svg{height:23px;width:23px}.view-button{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:9px;color:#eeefdc;font-size:10px;letter-spacing:1px}.view-button svg{width:19px;height:19px}.bottom-note{position:absolute;left:40px;right:40px;bottom:23px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:#eef0dd99}.bottom-note>span:first-child{font:13px var(--serif);letter-spacing:5px;opacity:.6}.bottom-note button{font-size:9px;color:#e3e8d6aa;letter-spacing:1px}.bottom-note button span{margin-left:7px}.panel{position:absolute;right:30px;top:90px;width:335px;padding:27px;background:rgba(243,241,225,.97);border:1px solid #ffffff77;border-radius:16px;box-shadow:0 25px 100px #142d3544;backdrop-filter:blur(25px);max-height:calc(100dvh - 120px);overflow:auto;z-index:3;animation:appear .25s ease-out}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading small{font-size:7px;letter-spacing:2px;opacity:.5}.panel-heading h2{font:21px var(--serif);font-weight:500;margin:9px 0 0;letter-spacing:3px}.panel .round{width:29px;height:29px;font-size:20px;background:transparent;border-color:var(--line)}.panel-intro{font:11px/2.1 var(--serif);letter-spacing:1px;color:#7a8171;margin:22px 0}.live-switch{width:100%;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:9px;text-align:left}.live-switch.active{background:#627b5710;border-color:#8a9c7888}.live-switch>span:nth-child(2){flex:1;font-size:11px;letter-spacing:1px}.live-switch small{display:block;font-size:9px;margin-top:4px;opacity:.55}.field-heading{font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;margin-top:25px;margin-bottom:12px}.field-note{font-size:8px;opacity:.45;letter-spacing:0}.season-options,.weather-options{display:flex;gap:6px}.season-options button,.weather-options button{flex:1;border:1px solid var(--line);border-radius:7px;padding:10px 0;font-size:10px;transition:background .2s}.season-options button span{display:block;font-size:19px;font-family:var(--serif);margin-bottom:7px;opacity:.65}.season-options button.active,.weather-options button.active{background:#667f5b20;border-color:#7b91636f}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#858b7b;margin-top:5px}input[type=range]{width:100%;height:3px;accent-color:#718062;cursor:pointer}.volume-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:15px;gap:22px}.volume-label input{width:190px}.fineprint{font-size:9px!important;line-height:1.9!important;opacity:.55;letter-spacing:.2px!important}.panel .fineprint{margin-top:20px;margin-bottom:0}.modal{border:1px solid #fff9;border-radius:16px;background:#f1efdf;color:#46503f;padding:40px 42px;width:min(490px,calc(100vw - 32px));box-shadow:0 30px 120px #142a3355}.modal::backdrop{background:#152c2b66;backdrop-filter:blur(7px)}.modal-close.round{position:absolute;right:16px;top:16px;background:transparent;width:30px;height:30px;font-size:20px;border-color:var(--line)}.about-mark{font:37px var(--serif);letter-spacing:7px;display:block;margin-bottom:24px}.eyebrow{font-size:7px;letter-spacing:2px;opacity:.55;display:block}.modal h2{font:23px var(--serif);font-weight:500;margin:19px 0 25px;letter-spacing:2px}.modal p{font:12px/2.3 var(--serif);letter-spacing:.5px}.instructions{display:grid;grid-template-columns:50px 1fr;gap:12px;font-size:10px;line-height:1.5;margin:25px 0;padding-top:23px;border-top:1px solid var(--line)}.instructions>span:nth-child(odd){opacity:.5}.about-links{display:flex;gap:15px;margin-top:20px;font-size:8px;opacity:.7;flex-wrap:wrap}.primary{display:block;text-align:center;border-radius:8px;background:#53684f;color:#f1efdd;padding:15px;width:100%;font-size:11px;letter-spacing:2px;margin-top:25px}.photo-modal{width:min(760px,calc(100vw - 32px));padding:30px}.photo-modal img{display:block;width:100%;border-radius:3px}.photo-modal p{font-size:10px;text-align:center;margin:18px 0}.photo-modal h2{font-size:21px;margin-bottom:20px}.toast{position:absolute;left:50%;bottom:155px;transform:translateX(-50%);padding:12px 22px;font-size:11px;letter-spacing:1px;background:#eff0dfed;box-shadow:0 4px 24px #20392c22;border:1px solid #fff8;border-radius:30px;z-index:10;text-align:center;max-width:85vw;animation:appear .25s ease-out}.toast a{ text-decoration:underline}.daylight .brand,.daylight .almanac{color:#3b5145;text-shadow:0 1px 15px #e6ecd799}.daylight .vignette{background:linear-gradient(180deg,#ebeeda66,transparent 25%,transparent 65%,#1b332d66)}[hidden]{display:none!important}@keyframes appear{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:1000px){.walk-hint{display:none}.view-button{flex:0 0 auto}.bottom-bar{justify-content:center}.topbar{left:24px;right:24px}.almanac{right:26px}.bottom-bar{left:24px;right:24px}.scene-caption{left:26px}.places{right:24px}.places-heading{display:none}.bottom-note{left:26px;right:26px}}
@media(max-width:640px){.topbar{top:22px;left:20px;right:20px;align-items:flex-start}.brand{gap:10px}.mark{font-size:29px;letter-spacing:-6px}.brand strong{font-size:15px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:2px;margin-top:5px}.top-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:160px}.presence{order:4;padding:0 12px;min-height:29px;font-size:9px;margin:3px 0 0;letter-spacing:.5px}.round{width:32px;height:32px}.round svg{width:16px;height:16px}.almanac{right:22px;top:141px;gap:10px}.season-stamp{width:34px;height:41px;font-size:20px}.time-line{font-size:15px;gap:7px}#date-label{font-size:8px}.almanac small{font-size:8px}.hairline{width:12px}.bottom-bar{left:15px;right:15px;bottom:60px;gap:12px}.actions{padding:5px 7px;border-radius:14px;gap:0}.actions button{min-width:62px;height:52px;font-size:9px}.actions kbd{display:none}.actions svg{width:21px;height:21px}.actions .divider{margin:0 3px;height:25px}.view-button{font-size:0;gap:0;width:35px;height:35px;border:1px solid #ecf0da77;border-radius:50%;justify-content:center}.view-button svg{width:17px;height:17px}.scene-caption{left:22px;bottom:182px;gap:10px}.scene-caption strong{font-size:13px}.scene-caption small{font-size:8px}.scene-caption>span{font-size:26px}.places{right:19px;bottom:138px;gap:5px}.places button{font-size:9px;padding:7px 10px}.places b{font-size:11px}.bottom-note{left:23px;right:23px;bottom:23px}.bottom-note>span:nth-child(2){display:none}.panel{right:12px;top:105px;width:min(335px,calc(100vw - 24px));padding:23px;max-height:calc(100dvh - 125px)}.toast{font-size:10px;bottom:240px;width:max-content}.modal{padding:35px 26px}.modal h2{font-size:20px}.modal p{font-size:11px}.modal .instructions{font-size:9px}.photo-modal{padding:26px 20px}.avatar-label{font-size:8px;padding:3px 8px}}

.weather-details{white-space:pre-line;font-size:9px;line-height:1.9;color:#74806b;margin:13px 0 4px}.weather-credit{font-size:8px;color:#7d8874;text-decoration:underline;text-underline-offset:3px}.almanac{padding:12px;background:#e8eddb0a;backdrop-filter:blur(7px);border-radius:10px}.daylight .almanac{background:#efeddf77}

/* Repeated UI taps activate controls without double-tap zoom; pinch zoom stays available. */
.topbar,.bottom-bar,.places,.panel,.modal,.bottom-note,button,a,input{touch-action:manipulation}
