*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#80ad77}button,a{-webkit-tap-highlight-color:transparent}main{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(17,44,39,.3),transparent 35%,transparent 70%,rgba(13,40,24,.24))}header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:30px 40px;pointer-events:none}header>*{pointer-events:auto}.brand{font-family:Georgia,serif;font-size:51px;font-weight:bold;letter-spacing:-4px;line-height:1;color:#fff;text-decoration:none;text-shadow:0 2px 15px #23452c22}.brand span{font:11px Arial;vertical-align:top;display:inline-block;letter-spacing:0;margin:8px 0 0 7px}.place{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:9px}.place i,.caption i{width:5px;height:5px;border-radius:50%;background:#e6edbd;box-shadow:0 0 10px #e6edbd66}.place span{display:block;letter-spacing:.3px;opacity:.65;margin-left:10px;border-left:1px solid #ffffff55;padding-left:18px}.round{border:1px solid #ffffff55;background:#ffffff12;border-radius:50%;height:37px;width:37px;color:white;font-size:13px;cursor:pointer;backdrop-filter:blur(10px)}.intro{position:absolute;left:42px;top:22%;pointer-events:none;text-shadow:0 2px 18px #243f3522}.intro>span{font-size:9px;letter-spacing:2.8px;opacity:.85}.intro h1{font:normal clamp(32px,3.4vw,55px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin:18px 0 16px}.intro p{font-size:12px;letter-spacing:.2px;opacity:.8}footer{position:absolute;left:0;bottom:0;width:100%;padding:0 40px 27px;display:flex;flex-direction:column;align-items:center;gap:15px;pointer-events:none}footer>*{pointer-events:auto}.caption{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.8px;text-shadow:0 1px 5px #23452c66}nav{display:flex;align-items:center;background:#fffcf0f2;border:1px solid #fff9;border-radius:50px;padding:7px;box-shadow:0 5px 30px #183c2622;backdrop-filter:blur(15px);color:#425545}nav button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;background:transparent;border-radius:30px;padding:12px 20px;color:inherit;cursor:pointer;font-size:11px;white-space:nowrap;transition:background .2s}nav button:hover{background:#e8eddb}nav button:focus-visible,.round:focus-visible{outline:2px solid #557a53;outline-offset:4px}nav .icon{padding:12px 15px}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.divider{height:18px;width:1px;background:#687a5329}.hint{font-size:9px;letter-spacing:1px;opacity:.8}.hint span{margin-left:9px;font-size:13px}#notice{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);padding:10px 17px;border-radius:20px;background:#fffcf0ee;color:#4c6550;font-size:11px;opacity:0;transition:opacity .4s;pointer-events:none;white-space:nowrap}#notice.show{opacity:1}.loading{position:absolute;inset:0;background:#eff0da;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#52664c;transition:opacity .8s}.loading span{font:bold 65px Georgia;letter-spacing:-5px}.loading p{font-size:11px;letter-spacing:1px}.loading.done{opacity:0;pointer-events:none}@media(max-width:650px){header{padding:23px}.brand{font-size:43px}.place{left:auto;right:78px;transform:none;font-size:8px;letter-spacing:1.2px}.place span{display:none}.intro{left:25px;top:19%}.intro h1{font-size:35px}.intro>span{font-size:7px;letter-spacing:2px}.intro p{font-size:10px}footer{padding:0 15px max(23px,env(safe-area-inset-bottom));gap:13px}nav button{padding:11px 14px;font-size:10px;gap:7px}.caption{font-size:8px}.hint{font-size:8px}#notice{bottom:170px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:650px){.intro{top:15%}.intro h1{font-size:31px;margin:13px 0 12px}footer{gap:10px}.caption,.hint{pointer-events:none}nav button{min-height:44px}#notice{bottom:auto;top:45%;max-width:90vw;white-space:normal;text-align:center}}

main{background:#80ad77 url("assets/meadow.webp") center/cover no-repeat}.retry{font-size:12px;color:#52664c;padding:12px 20px;border:1px solid #52664c66;border-radius:24px;text-decoration:none}@media(max-width:650px){main{background-size:auto 150%;background-position:center bottom}}

[hidden]{display:none!important}.header-right{display:flex;align-items:center;gap:20px}.place{position:static;transform:none;font-size:10px}.round{display:grid;place-items:center;width:40px;height:40px}.round svg{width:20px;height:20px}header{z-index:6}footer{z-index:2;gap:0;padding-bottom:max(25px,env(safe-area-inset-bottom))}#menu-dismiss{position:absolute;inset:0;z-index:4}#world-menu{position:absolute;z-index:5;right:40px;top:88px;min-width:210px;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:9px;border-radius:18px;background:#fffcf5f5;border:1px solid #fff9;box-shadow:0 12px 35px #20321b20;backdrop-filter:blur(18px)}#world-menu a{color:#4a6246;text-decoration:none;font-size:12px;padding:15px 14px;border-radius:12px;display:flex;justify-content:space-between;gap:32px}#world-menu a:hover{background:#eaf0e0}#world-menu a span{opacity:.45}.board-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:22px;background:#1f352755;backdrop-filter:blur(7px);color:#40543c}.board-sheet{width:100%;max-width:460px;max-height:80dvh;overflow-y:auto;background:#fffdf3;border-radius:27px;padding:29px;box-shadow:0 20px 60px #15351f2a;overscroll-behavior:contain}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.board-eyebrow{font-size:8px;letter-spacing:2.5px;color:#91a17f}.board-heading h2{font:normal 29px Georgia;margin:10px 0 0;letter-spacing:-.7px}#board-close{border:1px solid #dbe2d0;border-radius:50%;width:38px;height:38px;background:transparent;color:#6f8062;font-size:23px;cursor:pointer;flex-shrink:0}#board-posts{font-size:12px;line-height:1.8;color:#7d8972}#board-posts article+article{border-top:1px solid #e3e8d9;margin-top:24px;padding-top:24px}#board-posts h3{font:normal 20px/1.35 Georgia;color:#4c6445;margin:0 0 11px;overflow-wrap:anywhere}#board-posts p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.board-empty{padding:15px 0 28px}#board-close:focus-visible,#world-menu a:focus-visible{outline:2px solid #93a87c;outline-offset:3px}@media(max-width:650px){header{padding:23px}.header-right{gap:15px}.place{font-size:8px;letter-spacing:1.2px;right:auto;left:auto}.round{width:38px;height:38px}#world-menu{right:23px;top:80px;min-width:190px}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}.board-overlay{align-items:flex-end;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.board-sheet{border-radius:25px;max-height:78dvh;padding:25px}.board-heading h2{font-size:28px}}

/* MOOLI brand palette: sampled from the supplied swatch. */
.loading{background:#ead9bf;color:#594430}.retry{color:#70553b;border-color:#b79870}

@keyframes snack-toss{0%,100%{transform:translateY(0)}35%{transform:translateY(-4px)}}#snack.tossing svg{animation:snack-toss .4s ease-out}@media(prefers-reduced-motion:reduce){#snack.tossing svg{animation:none}}

#notice{max-width:min(90vw,420px);width:max-content;white-space:normal;text-align:center;line-height:1.6;overflow-wrap:anywhere}

#world-menu button[aria-current="page"]{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;border:0;border-radius:12px;padding:15px 14px;margin:0;background:#ece9df;color:#8d9484;font:12px Arial;opacity:1;cursor:default;min-height:44px;text-align:left}#world-menu button[aria-current="page"] span{font-size:7px;opacity:.6}

#world-menu a{align-items:center}#world-menu .menu-arrow{width:14px;height:14px;flex-shrink:0;opacity:.45;stroke-width:1.5}

footer .wake-count{margin:0 0 12px;font:10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.5px;color:#fff;opacity:.85;text-align:center;text-shadow:0 1px 5px #23452c66;pointer-events:none}@media(max-width:650px){footer .wake-count{font-size:9px;margin-bottom:11px}}

#snack:disabled{opacity:.55;cursor:default}#snack:disabled svg{animation:none}
