.grove-ui{--ink: #4a2f1c;--paper: #fff8e8;--paper-alt: #fbeed2;--rule: #e0c896;--lip: #c9a46a;--go: #c2522a;--leaf: #7cc058;--sun: #ffd56a;--sky: #62a8e6;--berry: #c8456a;--faded: #7a6440;--gold: #8f5f12;--head: "Baloo 2", "Nunito", system-ui, sans-serif;--body: "Nunito", system-ui, sans-serif;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent}.grove-ui>*{pointer-events:auto}.grove-ui button{color:inherit;cursor:pointer}:where(.grove-ui) button{font:inherit}.gr-icon,.gr-face{display:inline-block;flex:none;image-rendering:pixelated}.gr-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:4px 14px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);font:800 15px/1 var(--head);box-shadow:0 4px 0 var(--ink);transition:transform .05s;-webkit-user-select:none;user-select:none}.gr-btn:active,.gr-btn.is-pressed{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.gr-btn:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.gr-btn[disabled]{opacity:.55;cursor:default;transform:none;box-shadow:0 4px 0 var(--ink)}.gr-btn.tone-go{background:var(--go);color:#fff}.gr-btn.tone-leaf{background:var(--leaf);color:var(--ink)}.gr-btn.tone-sun{background:var(--sun);color:var(--ink)}.gr-btn.tone-sky{background:var(--sky);color:var(--ink)}.gr-btn.tone-berry{background:var(--berry);color:#fff}.gr-btn.is-small{min-height:40px;padding:2px 10px;font-size:15px}.gr-btn.is-icon{padding:4px 8px}.gr-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}.gr-top>*{pointer-events:auto}.gr-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:3px 14px 3px 8px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);font:800 16px/1 var(--head);box-shadow:0 3px 0 var(--lip),0 6px 12px #00000040;white-space:nowrap}button.gr-chip:active{transform:translateY(3px);box-shadow:0 0 0 var(--lip)}.gr-chip .gr-chip-sub{font:700 14px var(--body);color:var(--faded)}.gr-bar{position:absolute;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:8px;max-width:560px;margin:0 auto;z-index:30}.gr-bar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:62px;padding:6px 0 4px;border:3px solid var(--ink);border-radius:16px;background:var(--paper);font:800 15px/1.1 var(--head);box-shadow:0 4px 0 var(--ink)}.gr-bar button.is-on{background:var(--sun)}.gr-bar button:active{transform:translateY(4px);box-shadow:none}.gr-bar button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.gr-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a14106b;z-index:20;animation:gr-fade .18s ease-out}.gr-sheet{position:absolute;left:0;right:0;bottom:0;max-width:600px;margin:0 auto;max-height:calc(100% - 64px);display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--ink);border-bottom:0;border-radius:26px 26px 0 0;padding:18px 16px calc(96px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #00000052;z-index:25;animation:gr-rise .22s cubic-bezier(.2,.9,.3,1.1)}.gr-sheet:before{content:"";position:absolute;top:6px;right:6px;bottom:0;left:6px;border:2px dashed var(--rule);border-bottom:0;border-radius:20px 20px 0 0;pointer-events:none}.gr-sheet-head{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 40px 10px;font:800 23px/1.1 var(--head);text-align:center}.gr-sheet-close{position:absolute;top:12px;right:12px;z-index:1}.gr-sheet-body{position:relative;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 6px}.gr-sheet-note{margin:2px 0 10px;text-align:center;font:700 15px var(--body);color:var(--faded)}@keyframes gr-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gr-fade{0%{opacity:0}to{opacity:1}}.gr-quest{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;margin-bottom:6px;border-radius:14px;background:var(--paper-alt);font:700 16px/1.25 var(--body)}.gr-quest-box{width:30px;height:30px;flex:none;display:grid;place-items:center;border:3px solid var(--ink);border-radius:9px;background:#fff;padding:0}.gr-quest.is-done .gr-quest-box{background:var(--leaf)}.gr-quest.is-done{color:var(--faded)}.gr-quest.is-done .gr-quest-text{text-decoration:line-through}.gr-quest.is-locked{color:var(--faded)}.gr-quest-text{flex:1;min-width:0}.gr-quest-sub{display:block;font:700 14px var(--body);color:var(--faded)}.gr-pts{display:inline-flex;align-items:center;gap:3px;font:800 16px var(--head);color:var(--gold);white-space:nowrap}.gr-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.gr-tabs .gr-btn{box-shadow:0 3px 0 var(--ink)}.gr-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 6px;font:800 16px var(--head)}.gr-toggle{position:relative;width:58px;height:32px;flex:none;border:3px solid var(--ink);border-radius:99px;background:var(--paper-alt);box-shadow:0 3px 0 var(--ink);padding:0}.gr-toggle:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--ink);transition:left .12s}.gr-toggle[aria-checked=true]{background:var(--leaf)}.gr-toggle[aria-checked=true]:after{left:28px}.gr-toasts{position:absolute;top:calc(64px + env(safe-area-inset-top));left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:40}.gr-toast{display:flex;align-items:center;gap:8px;padding:8px 14px;border:3px solid var(--ink);border-left:10px solid var(--leaf);border-radius:14px;background:var(--paper);font:800 15px var(--head);box-shadow:0 4px 0 var(--ink);animation:gr-fade .2s ease-out}.gr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}.gr-pick{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:92px;padding:6px 4px;border:3px solid var(--ink);border-radius:14px;background:var(--paper-alt);font:800 15px/1.1 var(--head);box-shadow:0 3px 0 var(--ink);text-align:center}.gr-pick.is-on{background:var(--sun)}.gr-pick:active{transform:translateY(3px);box-shadow:none}.gr-reward{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:8px;border-radius:14px;background:var(--paper-alt);font:700 16px/1.25 var(--body)}.gr-reward.is-claimed{color:var(--faded)}.gr-meter{height:8px;margin-top:4px;border-radius:99px;background:var(--rule);overflow:hidden}.gr-meter>span{display:block;height:100%;background:var(--sun);border-right:2px solid var(--ink)}.gr-bank{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px;font:800 20px var(--head)}.gr-map{position:relative;border:3px solid var(--ink);border-radius:16px;overflow:hidden}.gr-map img{display:block;width:100%;image-rendering:pixelated}.gr-map .gr-chip{position:absolute;transform:translate(-50%,-50%);min-height:30px;padding:2px 10px 2px 4px;font-size:14px}.gr-map .gr-chip:active{transform:translate(-50%,calc(-50% + 3px))}.gr-reading{font:700 17px/1.5 var(--body)}.gr-reading p{margin:0 0 10px}.gr-reading .gr-ref{font:800 14px var(--head);color:var(--faded)}.gr-reading .gr-key{font:800 18px/1.35 var(--head);color:var(--gold)}.gr-transport{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}.gr-transport .gr-time{margin-left:auto;font:800 14px var(--head);color:var(--faded)}.gr-hero{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:10px;border-radius:16px;background:var(--paper-alt)}.gr-hero-copy{flex:1;min-width:0;font:700 14px var(--body);color:var(--faded)}.gr-hero-copy strong{display:block;font:800 18px var(--head);color:var(--ink)}@media (max-width: 420px){.gr-chip{font-size:14px;min-height:34px}.gr-sheet-head{font-size:20px}.gr-bar button{min-height:58px;font-size:15px}}@media (prefers-reduced-motion: reduce){.gr-sheet,.gr-scrim,.gr-toast{animation:none}.gr-btn,.gr-toggle:after{transition:none}}.gr-stale{position:absolute;top:calc(58px + env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:4px 12px;border:2px solid var(--gr-ink, #4a2f1c);border-radius:12px;background:var(--gr-paper-alt, #fbeed2);color:var(--gr-ink, #4a2f1c);font:700 14px/1.2 Nunito,system-ui,sans-serif;pointer-events:none;z-index:5}.grove-ui{--line: 3px solid var(--ink);--r-card: 16px;--r-btn: 14px;--drop: 0 4px 0 var(--ink);--drop-sm: 0 3px 0 var(--ink);--drop-lip: 0 3px 0 var(--lip);--fs-xs: 14px;--fs-sm: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--done: #4f8f34;--ease-pop: cubic-bezier(.2, 1.4, .4, 1);--gr-ink: var(--ink);--gr-paper: var(--paper);--gr-paper-alt: var(--paper-alt);--gr-rule: var(--rule)}.grove-ui .gr-btn{transition:transform .06s,box-shadow .06s,filter .12s}@media (hover: hover) and (pointer: fine){.grove-ui .gr-btn:not([disabled]):hover,.grove-ui .gr-bar button:hover,.grove-ui .gr-pick:hover{filter:brightness(1.05)}}.grove-ui .gr-btn[disabled],.grove-ui .gr-btn[aria-disabled=true]{opacity:1;background:var(--paper-alt);color:var(--faded);border-color:var(--lip);box-shadow:var(--drop-lip);transform:none;cursor:default}.grove-ui .gr-btn[disabled] .gr-icon{filter:grayscale(1);opacity:.6}.grove-ui .gr-pick:disabled{opacity:1;background:var(--paper);color:var(--faded);border-color:var(--lip);box-shadow:var(--drop-lip);transform:none}.grove-ui .gr-pick:disabled :is(img,.gr-icon){filter:grayscale(1);opacity:.55}.grove-ui .gr-btn[aria-pressed=true],.grove-ui .gr-btn[aria-selected=true]{background:var(--sun);color:var(--ink)}.grove-ui .gr-sheet{background-color:var(--paper);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' shape-rendering='crispEdges'><rect x='0' y='44' width='2' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='25' y='15' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='32' y='30' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='33' y='33' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='44' y='38' width='2' height='1' fill='%23c9a46a' fill-opacity='0.11'/><rect x='33' y='30' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='17' y='16' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='14' y='20' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='35' y='42' width='2' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='24' y='20' width='2' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='17' y='16' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='7' y='19' width='2' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='15' y='25' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='21' y='41' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='24' y='33' width='1' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='12' y='28' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='38' y='42' width='2' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='19' y='7' width='2' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='30' y='6' width='1' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='44' y='42' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='36' y='13' width='2' height='1' fill='%234a2f1c' fill-opacity='0.05'/><rect x='0' y='29' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='33' y='11' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='42' y='5' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='30' y='44' width='2' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='46' y='27' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='10' y='27' width='2' height='1' fill='%23c9a46a' fill-opacity='0.09'/><rect x='34' y='23' width='2' height='1' fill='%234a2f1c' fill-opacity='0.11'/><rect x='6' y='33' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='41' y='47' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='11' y='34' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='19' y='42' width='1' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='35' y='16' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='14' y='47' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='44' y='9' width='1' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='26' y='37' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='21' y='7' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='24' y='36' width='1' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='14' y='26' width='2' height='1' fill='%23c9a46a' fill-opacity='0.07'/><rect x='11' y='31' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='39' y='43' width='1' height='1' fill='%23c9a46a' fill-opacity='0.11'/><rect x='1' y='36' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='1' y='6' width='2' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='0' y='29' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='9' y='32' width='2' height='1' fill='%234a2f1c' fill-opacity='0.11'/><rect x='20' y='32' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/></svg>");animation:gr-sheet-in .32s var(--ease-pop)}@keyframes gr-sheet-in{0%{transform:translateY(100%)}70%{transform:translateY(-6px)}to{transform:translateY(0)}}.grove-ui .gr-sheet.is-closing{animation:gr-sheet-out .18s ease-in forwards}.grove-ui .gr-scrim.is-closing{animation:gr-fade-out .18s ease-in forwards}@keyframes gr-sheet-out{to{transform:translateY(105%)}}@keyframes gr-fade-out{to{opacity:0}}.grove-ui .gr-sheet-head{margin:0 50px 12px;text-wrap:balance}.grove-ui .gr-sheet-head>:first-child{flex:none}.grove-ui .gr-sheet-close{top:8px;right:8px;width:44px;height:44px;padding:0}.grove-ui .gr-sheet-note{font-size:var(--fs-sm);line-height:1.4;text-wrap:pretty}.grove-ui .gr-sheet-body h3{font-family:var(--head)}.grove-ui .gr-tabs{gap:6px}.grove-ui .gr-tabs .gr-btn{flex:1 0 auto;max-width:50%;min-height:44px}.grove-ui .gr-tabs:has(>:nth-child(3)) .gr-btn{max-width:none}.grove-ui .gr-toast{padding:8px 16px 8px 10px;max-width:calc(100vw - 32px);animation:gr-toast 2.6s var(--ease-pop) forwards}.grove-ui .gr-toast .gr-icon{box-sizing:content-box;padding:3px;border:2px solid var(--ink);border-radius:10px;background:var(--sun)}@keyframes gr-toast{0%{opacity:0;transform:translateY(-18px) scale(.9)}10%{opacity:1;transform:translateY(0) scale(1)}86%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.grove-ui .gr-quest{transition:background-color .25s;border:2px solid transparent}.grove-ui .gr-quest.is-done{background:#e7f2d6;border-color:#cfe3b6}.grove-ui .gr-quest-box{transition:transform .08s,background-color .15s}.grove-ui .gr-quest-box:not([disabled]):active{transform:scale(.88)}.grove-ui .gr-quest-box[disabled]{cursor:default;border-color:var(--lip);background:var(--paper-alt)}.grove-ui .gr-quest.is-done .gr-quest-text{text-decoration-thickness:2px;text-decoration-color:#4a2f1c73}.grove-ui .gr-quest.is-ticked .gr-quest-box{animation:gr-tick-pop .42s var(--ease-pop)}.grove-ui .gr-quest.is-ticked{animation:gr-tick-flash .6s ease-out}.grove-ui .gr-quest.is-ticked .gr-pts{animation:gr-tick-pts .5s var(--ease-pop)}@keyframes gr-tick-pop{0%{transform:scale(.6)}55%{transform:scale(1.28) rotate(-6deg)}to{transform:scale(1)}}@keyframes gr-tick-flash{0%{background-color:var(--leaf)}to{background-color:#e7f2d6}}@keyframes gr-tick-pts{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.gr-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:2}.gr-spark{position:absolute;left:-4px;top:-4px;width:8px;height:8px;background:var(--sun);box-shadow:0 0 0 2px var(--ink);transform:rotate(var(--a)) translateY(0);opacity:0;animation:gr-spark .6s ease-out forwards}.gr-spark:nth-child(2n){background:var(--leaf);width:6px;height:6px;left:-3px;top:-3px}@keyframes gr-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-8px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-34px) scale(.4)}}.gr-plus{position:absolute;right:14px;top:4px;font:800 var(--fs-lg) var(--head);color:var(--gold);text-shadow:0 2px 0 var(--paper);pointer-events:none;animation:gr-plus .9s ease-out forwards}@keyframes gr-plus{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.grove-ui .gr-quest{position:relative}.gr-alldone{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 4px;padding:12px 14px;border:var(--line);border-radius:var(--r-card);background:var(--sun);box-shadow:var(--drop);font:800 var(--fs-lg)/1.2 var(--head);animation:gr-stamp .45s var(--ease-pop)}.gr-alldone .gr-icon{animation:gr-bob 2.4s ease-in-out infinite}@keyframes gr-stamp{0%{transform:scale(1.3) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}@keyframes gr-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.gr-empty{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 12px;padding:18px 16px 16px;border:2px dashed var(--lip);border-radius:var(--r-card);background:#fbeed299;text-align:center}.gr-empty-art{display:grid;place-items:center;width:68px;height:68px;border:var(--line);border-radius:50%;background:var(--paper);box-shadow:var(--drop-lip);animation:gr-bob 3s ease-in-out infinite}.gr-empty strong{font:800 var(--fs-lg)/1.2 var(--head)}.gr-empty p{margin:0;max-width:34ch;font:700 var(--fs-sm)/1.4 var(--body);color:var(--faded);text-wrap:pretty}.gr-empty .gr-btn{margin-top:6px}.gr-celebrate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:24px;background:#1a141080;animation:gr-fade .2s ease-out}.gr-celebrate-card{position:relative;width:min(340px,100%);padding:26px 20px 20px;border:var(--line);border-radius:24px;background-color:var(--paper);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' shape-rendering='crispEdges'><rect x='0' y='44' width='2' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='25' y='15' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='32' y='30' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='33' y='33' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='44' y='38' width='2' height='1' fill='%23c9a46a' fill-opacity='0.11'/><rect x='33' y='30' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='17' y='16' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='14' y='20' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='35' y='42' width='2' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='24' y='20' width='2' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='17' y='16' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='7' y='19' width='2' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='15' y='25' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='21' y='41' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='24' y='33' width='1' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='12' y='28' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='38' y='42' width='2' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='19' y='7' width='2' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='30' y='6' width='1' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='44' y='42' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='36' y='13' width='2' height='1' fill='%234a2f1c' fill-opacity='0.05'/><rect x='0' y='29' width='2' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='33' y='11' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/><rect x='42' y='5' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='30' y='44' width='2' height='1' fill='%23c9a46a' fill-opacity='0.06'/><rect x='46' y='27' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='10' y='27' width='2' height='1' fill='%23c9a46a' fill-opacity='0.09'/><rect x='34' y='23' width='2' height='1' fill='%234a2f1c' fill-opacity='0.11'/><rect x='6' y='33' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='41' y='47' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='11' y='34' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='19' y='42' width='1' height='1' fill='%234a2f1c' fill-opacity='0.09'/><rect x='35' y='16' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='14' y='47' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='44' y='9' width='1' height='1' fill='%234a2f1c' fill-opacity='0.08'/><rect x='26' y='37' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='21' y='7' width='1' height='1' fill='%23c9a46a' fill-opacity='0.08'/><rect x='24' y='36' width='1' height='1' fill='%23c9a46a' fill-opacity='0.05'/><rect x='14' y='26' width='2' height='1' fill='%23c9a46a' fill-opacity='0.07'/><rect x='11' y='31' width='1' height='1' fill='%234a2f1c' fill-opacity='0.10'/><rect x='39' y='43' width='1' height='1' fill='%23c9a46a' fill-opacity='0.11'/><rect x='1' y='36' width='1' height='1' fill='%23c9a46a' fill-opacity='0.10'/><rect x='1' y='6' width='2' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='0' y='29' width='1' height='1' fill='%234a2f1c' fill-opacity='0.06'/><rect x='9' y='32' width='2' height='1' fill='%234a2f1c' fill-opacity='0.11'/><rect x='20' y='32' width='1' height='1' fill='%234a2f1c' fill-opacity='0.07'/></svg>");box-shadow:0 6px 0 var(--ink),0 14px 30px #00000059;text-align:center;animation:gr-card-in .5s var(--ease-pop)}.gr-celebrate-card:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:2px dashed var(--rule);border-radius:18px;pointer-events:none}@keyframes gr-card-in{0%{transform:scale(.5) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}.gr-celebrate-art{position:relative;display:grid;place-items:center;width:132px;height:132px;margin:-86px auto 14px}.gr-celebrate-card>:not(.gr-celebrate-art,.gr-confetti){position:relative}.gr-rays{position:absolute;top:-34px;right:-34px;bottom:-34px;left:-34px;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-50 -50 100 100'><g fill='%23ffd56a' fill-opacity='0.85'><path d='M0 0L-5 -50L5 -50Z'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(30)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(60)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(90)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(120)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(150)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(180)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(210)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(240)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(270)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(300)'/><path d='M0 0L-5 -50L5 -50Z' transform='rotate(330)'/></g></svg>") center / contain no-repeat;animation:gr-spin 14s linear infinite;pointer-events:none}@keyframes gr-spin{to{transform:rotate(360deg)}}.gr-celebrate-badge{position:relative;display:grid;place-items:center;width:112px;height:112px;border:var(--line);border-radius:50%;background:var(--sun);box-shadow:var(--drop);animation:gr-tick-pop .6s var(--ease-pop) .15s backwards}.gr-celebrate-kicker{font:800 var(--fs-sm) var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.gr-celebrate h2{margin:2px 0 4px;font:800 26px/1.15 var(--head);text-wrap:balance}.gr-celebrate p{margin:0 0 16px;font:700 var(--fs-md)/1.4 var(--body);color:var(--faded)}.gr-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;border-radius:24px}.gr-confetti i{position:absolute;top:-10px;width:7px;height:7px;background:var(--c);box-shadow:0 0 0 2px var(--ink);animation:gr-confetti 1.6s ease-in var(--d) forwards}@keyframes gr-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(380px) rotate(540deg);opacity:0}}.grove-ui .gr-meter{display:block;max-width:220px;height:12px;margin-top:6px;border:2px solid var(--ink);border-radius:99px;background:var(--paper);box-sizing:border-box}.grove-ui .gr-meter>span{transition:width .6s var(--ease-pop)}.grove-ui.gr-calm .gr-burst,.grove-ui.gr-calm .gr-plus,.grove-ui.gr-calm .gr-confetti{display:none}@media (prefers-reduced-motion: reduce){.grove-ui .gr-burst,.grove-ui .gr-plus,.grove-ui .gr-confetti{display:none}}@media (min-width: 1000px) and (min-height: 700px){.grove-ui .gr-sheet{zoom:1.2;max-width:620px;max-height:calc(100% - 80px / 1.2)}.grove-ui .gr-top,.grove-ui .gr-toasts{zoom:1.2}.grove-ui .gr-bar{zoom:1.15}.grove-ui .gr-celebrate-card{zoom:1.25}}@media (min-width: 1600px) and (min-height: 1000px){.grove-ui .gr-sheet{zoom:1.15;max-width:783px;max-height:calc(100% - 80px / 1.15)}}.gr-today{flex-direction:row;align-items:baseline}.gr-today .gr-icon{align-self:center}.gr-today small{margin-left:3px;font:700 var(--fs-xs) var(--body);color:var(--faded)}.grove-ui .gr-look-hint{white-space:nowrap;padding:8px 16px 8px 8px;font-size:var(--fs-md)}.grove-ui .gr-look-hand{display:inline-flex;align-items:center;width:auto;height:auto;padding:3px 4px;border:2px solid var(--ink);border-radius:10px;background:var(--sun)}.gr-station-toasts{position:fixed;z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;inset:calc(120px + env(safe-area-inset-top)) 0 auto;pointer-events:none}.gr-station-toasts .gr-toast{pointer-events:auto;text-align:left;font-family:var(--head);animation:gr-toast-in .35s var(--ease-pop)}.gr-station-toasts .gr-toast.gr-toast{border-left-color:var(--sun)}.gr-toast-copy{display:flex;flex-direction:column;gap:1px}.gr-toast-copy small{font:700 var(--fs-xs)/1.3 var(--body);color:var(--faded)}@keyframes gr-toast-in{0%{opacity:0;transform:translateY(-18px) scale(.9)}to{opacity:1;transform:none}}.gr-celebrate{position:fixed}@media (max-width: 420px){.grove-ui .gr-bar button{font-size:15px}}.grove-ui .gr-sheet :is(.gd-head,.go-head,.mk-h,.gv-sub,.cs-h,.cv-section>h3,.mk-log>h3,.cs-board>h3){display:flex;align-items:center;gap:6px;margin:16px 0 8px;font:800 var(--fs-lg)/1.2 var(--head);color:var(--ink)}.gr-me-card{align-items:center}.gr-me-stats{display:grid;gap:4px;margin-top:4px}.gr-me-stats>span{display:inline-flex;align-items:center;gap:6px;font:700 var(--fs-sm) var(--body);color:var(--ink)}.grove-ui .gr-sheet-body{overflow-x:hidden}.grove-ui .gr-sheet{padding-bottom:calc(max(12px,env(safe-area-inset-bottom)) + 84px)}.grove-ui .gr-sheet.gr-sheet-fill{height:100%}.grove-ui .gr-sheet-fill .gr-sheet-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grove-ui .gr-scrim{touch-action:none}.grove-ui .gr-sheet:focus{outline:none}.grove-ui .gr-sheet-dock{margin:0 -2px;padding:6px 2px;background:var(--paper)}@media (max-width: 999px) and (min-height: 560px){.grove-ui .gr-sheet-dock{position:sticky;bottom:-6px;z-index:2}}@media (max-height: 740px) and (max-width: 999px){.grove-ui .gr-sheet{padding-top:12px}.grove-ui .gr-sheet-head{margin-bottom:8px;font-size:20px}.grove-ui .gr-sheet-close{top:6px;right:8px}.grove-ui .gr-sheet-body>.gr-tabs:first-child{margin-bottom:8px}}body:has(.guild-offer) .grove-ui :is(.gr-help-btn,.gr-chat){display:none}.grove-ui :is(.gr-top,.gr-bar,.gr-stale){transition:opacity .14s ease-out,visibility 0s}.grove-ui.is-focus :is(.gr-top,.gr-bar,.gr-stale){opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease-out,visibility 0s .14s}.grove-ui.gr-calm :is(.gr-top,.gr-bar,.gr-stale){transition:none}@media (prefers-reduced-motion: reduce){.grove-ui :is(.gr-top,.gr-bar,.gr-stale){transition:none}}.grove-ui.is-focus .gr-sheet{max-height:calc(100% - max(16px,env(safe-area-inset-top) + 8px));padding-bottom:max(14px,env(safe-area-inset-bottom))}.grove-ui.is-focus .gr-toasts{top:max(4px,env(safe-area-inset-top));padding:0 64px}.grove-ui .gr-ask{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;padding:8px;border:3px solid var(--berry);border-radius:12px;background:var(--paper);font:800 var(--fs-sm)/1.25 var(--body);color:var(--ink);text-align:center}.grove-ui .gr-ask>span{flex-basis:100%}.grove-ui .gr-ask>.gr-btn{flex:1 1 0;max-width:200px;min-height:44px}.grove-ui .gr-look-pick{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.grove-ui .gr-look-pick>.gr-hero{flex:none;margin-bottom:8px;padding:6px 10px}.grove-ui .gr-look-pick>.gr-tabs{flex:none;margin-bottom:8px}.grove-ui .gr-look-pick>.gr-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px 8px;align-content:start}@media (max-width: 519px){.grove-ui .gr-look-pick>.gr-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.grove-ui .gr-look-pick>.gr-tabs .gr-btn{max-width:none;padding:2px 4px}}.grove-ui .gr-me-logout{display:flex;justify-content:center;margin:40px 0 4px;padding-top:16px;border-top:2px dashed var(--rule)}.grove-ui .gr-look-pick>.gr-hero{flex-wrap:wrap;gap:8px 10px}.grove-ui .gr-look-surprise{margin-left:auto}.grove-ui.kp-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:auto}.kp-wrap{z-index:0}.kp-layer .kp-watch{font:800 20px/1 var(--head)}.kp-layer .kp-key{font:800 30px/1 var(--head)}.kp-card{display:flex;flex-direction:column;gap:12px;padding:16px 16px 18px;border:var(--line);border-radius:20px;background:var(--paper);box-shadow:0 6px 0 var(--ink);color:var(--ink)}.kp-h{margin:0;text-align:center;font:800 26px/1.1 var(--head)}.kp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kp-grid.kp-n1{grid-template-columns:minmax(0,200px);justify-content:center}.kp-grid.kp-n3 .kp-kid:last-child{grid-column:1 / -1;justify-self:center;width:calc(50% - 6px)}.kp-kid{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:140px;padding:10px 6px;border:var(--line);border-radius:var(--r-card);background:var(--paper-alt);box-shadow:var(--drop);transition:transform .06s,box-shadow .06s}.kp-kid:active:not([disabled]){transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.kp-kid:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.kp-kid[disabled]{cursor:default}@media (hover: hover) and (pointer: fine){.kp-kid:not([disabled]):hover{background:#fff3cf}}.kp-art{display:grid;place-items:end center;width:100%;height:100px;background:radial-gradient(ellipse 42% 12% at 50% 92%,rgba(124,192,88,.55),transparent 70%)}.kp-art .gr-face{width:96px;height:96px}.kp-name{font:800 21px/1.1 var(--head)}.kp-lock{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--ink);border-radius:50%;background:var(--sun)}.kp-watch{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:var(--line);border-radius:var(--r-btn);background:var(--sky);box-shadow:var(--drop);font:800 20px/1 var(--head);transition:transform .06s,box-shadow .06s}.kp-watch:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.kp-watch:focus-visible{outline:3px solid var(--go);outline-offset:2px}.kp-note{margin:0;min-height:1.3em;text-align:center;font:800 var(--fs-md)/1.3 var(--body);color:#8e2443}.kp-pin{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.kp-who{display:flex;flex-direction:column;align-items:center;gap:2px}.kp-who .gr-face{width:80px;height:80px}.kp-sub{margin:0;font-weight:800;color:var(--faded)}.kp-back{position:absolute;top:0;left:0;display:grid;place-items:center;width:48px;height:48px;border:var(--line);border-radius:50%;background:var(--paper-alt);box-shadow:var(--drop-sm)}.kp-back:active{transform:translateY(3px);box-shadow:none}.kp-dots{display:flex;gap:16px;padding:4px 0}.kp-dots i{width:22px;height:22px;border:var(--line);border-radius:50%;background:#fff;transition:background .1s,transform .12s var(--ease-pop)}.kp-dots i.is-on{background:var(--go);transform:scale(1.1)}.kp-dots.is-wrong{animation:kp-shake .42s}.kp-dots.is-wrong i{border-color:var(--berry)}.kp-pad{display:grid;grid-template-columns:repeat(3,76px);gap:12px}.kp-key{height:64px;border:var(--line);border-radius:18px;background:#fff;box-shadow:var(--drop);font:800 30px/1 var(--head);display:grid;place-items:center;transition:transform .05s,box-shadow .05s;touch-action:manipulation}.kp-key.is-side{background:var(--paper-alt)}.kp-key:active:not([disabled]){transform:translateY(4px);box-shadow:0 0 0 var(--ink);background:var(--sun)}.kp-key:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.kp-key[disabled]{cursor:default;opacity:.55}@keyframes kp-shake{0%,to{transform:translate(0)}15%,55%{transform:translate(-12px)}35%,75%{transform:translate(12px)}90%{transform:translate(-4px)}}@media (max-width: 899px){.kp-wrap .hg-slot{margin-top:calc(var(--hg-top) + 164 * var(--hg-px))}.kp-wrap.is-pin .hg-slot{margin-top:calc(var(--hg-top) + 40 * var(--hg-px))}}@media (min-width: 900px){.kp-wrap .hg-slot{width:min(100%,600px)}.kp-wrap.is-pin .hg-slot{width:min(100%,400px)}.kp-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.kp-grid.kp-n3 .kp-kid:last-child{grid-column:auto;width:auto}.kp-grid.kp-n5,.kp-grid.kp-n6{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-card{padding:20px 20px 22px;gap:14px}.kp-h{font-size:30px}.kp-key{height:68px}.kp-pad{grid-template-columns:repeat(3,84px)}}@media (prefers-reduced-motion: reduce){.kp-dots.is-wrong{animation:none}.kp-kid,.kp-watch,.kp-key,.kp-dots i{transition:none}}.gr-calm .kp-dots.is-wrong{animation:none}.grove-ui .gr-quest-box.is-view{border-color:var(--lip);background:var(--paper-alt);cursor:default}@media (max-width: 899px){.kp-wrap .hg-slot{margin-top:min(calc(var(--hg-top) + 80 * var(--hg-px)),28vh)}@supports (height: 1svh){.kp-wrap .hg-slot{margin-top:min(calc(var(--hg-top) + 80 * var(--hg-px)),21svh)}}.kp-wrap.is-pin .hg-slot{margin-top:min(calc(var(--hg-top) + 40 * var(--hg-px)),18vh)}.kp-grid{gap:10px}.kp-kid{min-height:112px}.kp-art{height:78px}.kp-art .gr-face{width:74px;height:74px}}@media (max-width: 899px) and (max-height: 720px){.kp-wrap .hg-slot{margin-top:min(calc(var(--hg-top) + 60 * var(--hg-px)),24vh)}.kp-kid{min-height:98px}.kp-art{height:64px}.kp-art .gr-face{width:60px;height:60px}}.kp-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}.kp-page-btn{display:grid;place-items:center;width:48px;height:44px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);box-shadow:0 4px 0 var(--ink);cursor:pointer}.kp-page-btn:active{transform:translateY(4px);box-shadow:none}.kp-page-btn:disabled{opacity:.35;box-shadow:0 4px 0 var(--ink);transform:none;cursor:default}.kp-dots{display:flex;gap:8px}.kp-dot{width:12px;height:12px;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--paper);cursor:pointer}.kp-dot.is-on{background:var(--sun, #ffd56a)}.kp-dot{position:relative}.kp-dot:before{content:"";position:absolute;top:-14px;right:-6px;bottom:-14px;left:-6px}@media (max-width: 899px){.kp-wrap.is-pin .hg-slot{margin-top:min(calc(var(--hg-top) + 40 * var(--hg-px)),max(84px,12svh))}.kp-wrap.is-pin .kp-card{padding:12px 14px 14px}.kp-pin{gap:6px}.kp-who .gr-face{width:64px;height:64px}.kp-pin .kp-h{font-size:24px}.kp-dots{padding:2px 0}.kp-pad{gap:8px 10px}.kp-key{height:clamp(48px,calc((100svh - 400px)/4),64px)}}@media (max-width: 899px) and (max-height: 560px){.kp-wrap.is-pin .hg-title{display:none}.kp-wrap.is-pin .hg-slot{margin-top:max(12px,env(safe-area-inset-top))}.kp-who .gr-face{width:56px;height:56px}}.kp-kid.is-mine{background:var(--paper);outline:3px solid var(--sun, #f0b43c);outline-offset:2px}.kp-mine{position:absolute;bottom:-11px;left:50%;transform:translate(-50%);padding:1px 8px;border:2px solid var(--ink);border-radius:999px;background:var(--sun, #f0b43c);color:var(--ink);font:800 12px/1.4 var(--head);white-space:nowrap}.kp-logout{display:block;margin:10px auto 0;min-height:44px;padding:0 16px;border:0;background:none;color:var(--faded, #7a6440);font:800 15px/1 var(--head, "Baloo 2", system-ui, sans-serif);text-decoration:underline;cursor:pointer}.kp-logout.is-armed{color:var(--berry, #c8456a)}.kp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.kp-grownups{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:3px solid var(--ink, #4a2f1c);border-radius:12px;background:var(--paper-alt, #fbeed2);box-shadow:0 3px 0 var(--ink, #4a2f1c);color:var(--ink, #4a2f1c);font:800 16px/1 var(--head, "Baloo 2", system-ui, sans-serif);cursor:pointer}.kp-grownups:active{transform:translateY(3px);box-shadow:none}.kp-foot .kp-logout{margin:0}@media (max-width: 899px) and (max-height: 700px){.kp-kid{min-height:100px}.kp-art{height:66px}.kp-art .gr-face{width:62px;height:62px}}.grove-ui.fm-layer,.grove-ui.fm-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.fm-layer .hg-sky{min-height:100%;box-sizing:border-box}.fm-wrap{z-index:0}.fm-card{display:flex;flex-direction:column;gap:12px;padding:16px 16px 18px;border:3px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:0 6px 0 var(--ink);color:var(--ink);margin-bottom:32px}.fm-card.is-wide{width:min(100%,560px)}.fm-form{display:flex;flex-direction:column;gap:12px}.fm-h{margin:0;text-align:center;font:800 24px/1.15 var(--head)}.fm-sub{margin:0;text-align:center;font-weight:700;color:var(--faded);line-height:1.35}.fm-hint{margin:0;font-size:14px;font-weight:700;color:var(--faded)}.fm-steps{display:flex;justify-content:center;gap:6px}.fm-steps i{width:22px;height:8px;border:2px solid var(--ink);border-radius:99px;background:var(--paper-alt)}.fm-steps i.is-done{background:var(--leaf)}.fm-steps i.is-on{background:var(--sun);width:34px}.fm-field{display:flex;flex-direction:column;gap:4px;min-width:0;font:800 15px/1.2 var(--head)}.fm-field small{font:700 14px/1.3 var(--body);color:var(--faded)}.fm-field input,.fm-field select{width:100%;min-height:44px;padding:8px 12px;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:700 16px/1.2 var(--body);box-sizing:border-box}.fm-field input:focus-visible,.fm-field select:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.fm-pin{letter-spacing:.3em}.fm-code-input{text-align:center;font:800 26px/1 var(--head)!important;letter-spacing:.08em}.fm-check{display:flex;align-items:center;gap:10px;min-height:40px;font-weight:800;cursor:pointer}.fm-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--go)}.fm-error{margin:0;padding:8px 12px;border:2px solid var(--berry);border-radius:10px;background:var(--paper-alt);color:#8e2443;font-weight:800}.fm-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px}.fm-foot .gr-btn{min-height:48px}.fm-foot .tone-go{flex:1 1 auto;justify-content:center}.fm-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:4px 0 0;font-weight:700}.fm-links a{color:var(--faded)}.fm-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--go);font-weight:800;text-decoration:underline;cursor:pointer}.fm-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fm-kid{display:flex;flex-direction:column;gap:8px;margin:0;padding:10px 12px 12px;border:2px solid var(--rule);border-radius:14px;background:var(--paper-alt)}.fm-kid-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.fm-chips li{display:flex;align-items:center;gap:4px;padding:4px 10px;border:2px solid var(--ink);border-radius:99px;background:var(--leaf);font-weight:800}.fm-pack h3{margin:0 0 6px;font:800 18px/1.2 var(--head)}.fm-toggles{display:flex;flex-wrap:wrap;gap:8px}.fm-toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);font:800 15px/1.1 var(--head);cursor:pointer}.fm-toggle small{padding:0 6px;border-radius:99px;background:var(--paper-alt);font:800 14px/1.5 var(--body)}.fm-toggle.is-on{background:var(--sun);box-shadow:0 3px 0 var(--ink)}.fm-toggle:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.fm-rewards{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.fm-rewards li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:2px solid var(--rule);border-radius:12px;background:var(--paper-alt)}.fm-rewards li.is-on{border-color:var(--ink);background:var(--paper)}.fm-rewards label{display:flex;flex:1;align-items:center;gap:8px;min-height:36px;font-weight:800;cursor:pointer}.fm-rewards label input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--go)}.fm-rewards input[type=number]{width:84px;min-height:36px;padding:4px 8px;border:2px solid var(--ink);border-radius:10px;font:700 15px/1 var(--body);text-align:right}.fm-done{display:grid;place-items:center}.fm-h3{margin:6px 0 0;text-align:center;font:800 19px/1.2 var(--head)}.fm-join{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ink)}.fm-join-steps{margin:0;padding-left:22px;align-self:stretch;font-weight:700;line-height:1.4}.fm-join-code{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:3px solid var(--ink);border-radius:16px;background:#fff}.fm-join-code.is-dim{opacity:.35}.fm-qr{display:block;width:min(200px,60vw);height:auto;aspect-ratio:1}.fm-qr-wait{background:var(--paper-alt);border-radius:8px}.fm-code{margin:0;font:800 34px/1 var(--head);letter-spacing:.06em}.fm-join-note{display:flex;align-items:center;gap:6px;margin:0;font-weight:800;color:var(--faded)}.fm-join-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.fm-join-done{display:grid;place-items:center;width:72px;height:72px;border:3px solid var(--ink);border-radius:50%;background:var(--leaf)}.fm-join-big{margin:0;font:800 22px/1.2 var(--head);text-align:center}.fm-join.is-done .fm-join-note{display:block;text-align:center}.grove-ui.fm-nudge{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:95;transform:translate(-50%);padding:10px 16px;border:3px solid var(--ink);border-radius:14px;background:var(--sun);box-shadow:0 4px 0 var(--ink);color:var(--ink);font:800 16px/1.1 var(--head);text-decoration:none;white-space:nowrap}.grove-ui.fm-page{padding:24px 16px 48px;background:var(--paper-alt);box-sizing:border-box}.fm-doc{max-width:680px;margin:0 auto;padding:20px 22px 24px;border:3px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:0 6px 0 var(--ink);line-height:1.5;font-size:16px}.fm-doc h1{margin:0 0 8px;font:800 34px/1.1 var(--head)}.fm-doc h2{margin:22px 0 6px;font:800 22px/1.2 var(--head)}.fm-doc h3{margin:16px 0 4px;font:800 18px/1.25 var(--head)}.fm-doc p,.fm-doc ul{margin:0 0 10px}.fm-doc ul{padding-left:22px}.fm-doc li{margin-bottom:6px}.fm-doc a{color:var(--go);font-weight:800}.fm-doc-kicker{margin:0;font:800 15px/1 var(--head);color:var(--faded);text-transform:uppercase;letter-spacing:.08em}.fm-doc-back{margin-top:22px!important}.fm-doc-updated{margin-top:22px!important;font-size:14px;color:var(--faded)}@media (min-width: 900px){.fm-card{padding:20px 22px 22px;gap:14px;margin-bottom:0}.fm-h{font-size:28px}}.fm-kidjoin{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink)}.fm-kidjoin .kp-h{margin:0;text-align:center;font:800 24px/1.15 var(--head)}.fm-kidjoin-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:6px;width:100%;min-height:48px}.fm-kidjoin-head>:nth-child(2){justify-self:center;text-align:center}.fm-kidjoin .kp-back{position:static}.fm-kidjoin .kp-note{min-height:2.6em;display:flex;align-items:center;justify-content:center;line-height:1.3}.fm-kidjoin .kp-key{font:800 30px/1 var(--head)}.fm-words{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.fm-kidjoin .fm-word{min-height:52px;border:3px solid var(--ink);border-radius:14px;background:var(--paper-alt);box-shadow:0 4px 0 var(--ink);color:var(--ink);font:800 20px/1 var(--head);letter-spacing:.04em;cursor:pointer}.fm-kidjoin .fm-word:active{transform:translateY(4px);box-shadow:none;background:var(--sun)}.fm-kidjoin .fm-word:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.fm-kidjoin-word{font:800 34px/1 var(--head);letter-spacing:.06em}.fm-kidjoin-yes{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.fm-kidjoin .fm-big{width:100%;min-height:56px;border:3px solid var(--ink);border-radius:14px;background:var(--paper-alt);box-shadow:0 4px 0 var(--ink);color:var(--ink);font:800 20px/1 var(--head);cursor:pointer}.fm-kidjoin .fm-big.is-go{background:var(--go);color:#fff}.fm-kidjoin .fm-big:active{transform:translateY(4px);box-shadow:none}@media (max-height: 760px){.fm-kidjoin .kp-pad{grid-template-columns:repeat(3,68px);gap:8px}.fm-kidjoin .kp-key{height:50px}.fm-kidjoin .kp-dots i{width:18px;height:18px}.fm-kidjoin .fm-word{min-height:46px}}.fm-ways{display:flex;gap:6px;padding:4px;border:3px solid var(--ink);border-radius:14px;background:var(--paper-alt)}.fm-way{padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:800 15px/1 var(--head);cursor:pointer}.fm-way.is-on{background:var(--sun);box-shadow:inset 0 0 0 2px var(--ink)}.fm-way:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.fm-code-big{padding:18px 10px;font-size:44px}.fm-link-box{width:100%;min-height:40px;padding:6px 10px;border:3px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:700 14px/1.2 var(--body);box-sizing:border-box}p.fm-join-steps{padding-left:0;text-align:center}.fm-field .fm-rule{display:flex;align-items:center;gap:4px}.fm-field .fm-rule.is-ok{color:#2f6b1a}.fm-field .fm-field-error{padding:4px 8px;border:2px solid var(--berry);border-radius:8px;background:var(--paper-alt);color:#8e2443;font-weight:800}.fm-field [aria-invalid=true]{border-color:var(--berry)}.lg-hint-error{color:#8e2443;font-weight:800}.fm-doc{position:relative}.fm-doc .kp-back{top:14px;left:14px}.fm-doc .fm-doc-kicker,.fm-doc h1{padding-left:60px}.fm-doc h1{min-height:34px;margin-bottom:14px}.fm-kidjoin .kp-sub{text-align:center}.lg-founding{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border:3px solid var(--ink);border-radius:16px;background:var(--paper)}.lg-founding-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:2px solid var(--ink);border-radius:99px;background:var(--sun);font:800 15px/1.3 var(--head);color:var(--ink)}.lg-founding p{margin:0;font-weight:700;color:var(--ink);line-height:1.4}.gs-wrap{--ink: #4a2f1c;--paper: #fff8e8;--paper-alt: #fbeed2;--rule: #e0c896;--go: #c2522a;--berry: #c8456a;--sky: #62a8e6;--faded: #7a6440;--head: "Baloo 2", "Nunito", system-ui, sans-serif;--body: "Nunito", system-ui, sans-serif;color:var(--ink);font-family:var(--body)}.gs-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px 22px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:0 6px 0 var(--ink);box-sizing:border-box}.gs-sub{margin:0 0 4px;text-align:center;font-weight:700;color:var(--faded)}.gs-heading{margin:0;text-align:center;font:800 22px/1.2 var(--head);color:var(--ink)}.gs-field{display:flex;flex-direction:column;gap:4px;font:800 15px/1.2 var(--head)}.gs-field input{min-height:44px;padding:8px 12px;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:700 16px/1.2 var(--body);box-sizing:border-box}.gs-field input:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.gs-check{display:flex;align-items:center;gap:10px;min-height:40px;font-weight:800;cursor:pointer}.gs-check input{width:22px;height:22px;margin:0;accent-color:var(--go)}.gs-error{margin:0;padding:8px 12px;border:2px solid var(--berry);border-radius:10px;background:var(--paper-alt);color:#8e2443;font-weight:800}.gs-btn{min-height:48px;border:3px solid var(--ink);border-radius:14px;background:var(--go);color:#fff;font:800 18px/1 var(--head);box-shadow:0 4px 0 var(--ink);cursor:pointer;transition:transform .05s}.gs-btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.gs-btn:focus-visible{outline:3px solid var(--sky);outline-offset:2px}a.gs-btn{display:flex;align-items:center;justify-content:center;text-decoration:none}.gs-btn[disabled]{opacity:.6;cursor:default;transform:none;box-shadow:0 4px 0 var(--ink)}.gs-btn-alt{display:flex;align-items:center;justify-content:center;background:var(--paper-alt);color:var(--ink);font-size:16px;text-decoration:none}.gs-links{margin:0;text-align:center;font-weight:700}.gs-links a{color:var(--faded)}.gs-linkbtn{padding:6px 4px;border:0;background:none;font:inherit;color:var(--faded);text-decoration:underline;cursor:pointer}.gs-who{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;font-size:24px}.gs-who small{font:700 14px/1.2 var(--body);opacity:.9}.gs-kid{padding:12px 12px 14px}.gs-who-title{display:inline-flex;align-items:center;gap:8px}@media (max-width: 899px){.gs-card.gs-welcome{margin-top:min(calc(var(--hg-top) + 112 * var(--hg-px)),calc(100dvh - 380px - env(safe-area-inset-bottom)))}.gs-card.gs-welcome.is-open{margin-top:min(calc(var(--hg-top) + 112 * var(--hg-px)),calc(100dvh - 430px - env(safe-area-inset-bottom)))}}:root{--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--font-ui: "Nunito", "Baloo 2", system-ui, sans-serif;--fs-2xs: 13px;--fs-xs: 14.5px;--fs-sm: 16px;--fs-base: 17.5px;--fs-md: 19px;--fs-lg: 21px;--fs-xl: 24px;--fs-2xl: 28px;--fs-3xl: 34px;--fs-display: 46px;--radius-xs: 8px;--radius-sm: 12px;--radius: 16px;--radius-lg: 20px;--radius-xl: 26px;--radius-pill: 999px;--bw: 2px;--bw-thick: 3px;--press: 4px;--press-lg: 6px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .08s;--dur: .18s;--dur-slow: .5s;--topbar-h: 100px;--stage-pad: 22px;--stage-gap: 20px;--rail-w: 404px;--mission-h: 72px;--mission-h-lg: 98px;--card-pad: 18px;--shadow-1: 0 var(--press) 0 var(--edge);--shadow-2: 0 var(--press-lg) 0 var(--edge);--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px)}:root[data-density=compact]{--topbar-h: 84px;--stage-pad: 14px;--stage-gap: 14px;--rail-w: 360px;--mission-h: 62px;--mission-h-lg: 82px;--card-pad: 13px;--press: 3px;--press-lg: 4px;--fs-2xs: 12.5px;--fs-xs: 13.5px;--fs-sm: 15px;--fs-base: 16.5px;--fs-md: 18px;--fs-lg: 20px;--fs-xl: 22px;--fs-2xl: 26px;--fs-3xl: 31px;--fs-display: 42px}:root{--good-on-star: #0f4d26}:root[data-theme=daylight],:root[data-theme=bubblegum],:root[data-theme=guildhall]{--star: #f0b429;--star-edge: #c99320;--star-ink: #3a2c00;--star-text: #8a6209;--good: #1f7a3d;--good-edge: #17602f;--good-ink: #ffffff;--warn: #9a4f0d;--warn-edge: #7c3f09;--warn-ink: #ffffff;--danger: #b3261e;--danger-edge: #8f1e17;--danger-ink: #ffffff;--money: #10618f;--money-edge: #0c4d72;--money-ink: #ffffff;--group: #7b3fa8;--group-edge: #5f3084;--group-ink: #ffffff;--good-deep: #17602f}:root[data-theme=sunset],:root[data-theme=aurora],:root[data-theme=forest],:root[data-theme=contrast]{--star: #ffc93c;--star-edge: #cc9c1f;--star-ink: #2e2100;--star-text: #ffc93c;--good: #5fd35b;--good-edge: #3fa63c;--good-ink: #052b0d;--warn: #ffa23c;--warn-edge: #cc7a1f;--warn-ink: #331c00;--danger: #ff7a7a;--danger-edge: #cc5252;--danger-ink: #3d0505;--money: #62c8ff;--money-edge: #3a9ccc;--money-ink: #04223a;--group: #c79bff;--group-edge: #9b73cc;--group-ink: #1e0a33;--good-deep: #a7e8a4}:root[data-theme=daylight]{--bg: linear-gradient(168deg, #1c4f80 0%, #3f7fb5 34%, #8fbcdc 70%, #cfe3f2 100%);--glow-a: rgba(255, 255, 255, .6);--glow-b: rgba(120, 180, 225, .34);--surface: #ffffff;--surface-2: #f2f6fa;--surface-3: #e5edf5;--surface-solid: #ffffff;--surface-raised: #ffffff;--border: #cfdcea;--border-2: #7b91a9;--edge: #b7c9db;--text: #0f1b2d;--text-2: #47586d;--text-3: #566779;--accent: #12628f;--accent-2: #1a7fb8;--accent-edge: #0d4c6f;--accent-ink: #ffffff;--shadow-float: 0 18px 44px rgba(14, 40, 68, .26);--ring-track: #dbe6f0;--scrim: rgba(10, 30, 52, .58)}:root[data-theme=sunset]{--bg: linear-gradient(168deg, #241033 0%, #4d1c3f 34%, #8a3130 68%, #c2601c 100%);--glow-a: rgba(255, 162, 60, .34);--glow-b: rgba(186, 130, 235, .3);--surface: #2e1c39;--surface-2: #3a2447;--surface-3: #23142c;--surface-solid: #2e1c39;--surface-raised: #422a50;--border: #543c63;--border-2: #8e6ba0;--edge: #180c1f;--text: #fdf1ea;--text-2: #dcc4d1;--text-3: #b79cab;--accent: #ffa23c;--accent-2: #ffc678;--accent-edge: #cc7a1f;--accent-ink: #331c00;--shadow-float: 0 20px 50px rgba(10, 2, 20, .6);--ring-track: #4b3358;--scrim: rgba(14, 4, 26, .72)}:root[data-theme=aurora]{--bg: linear-gradient(170deg, #060912 0%, #0d1730 34%, #16294f 68%, #101a33 100%);--glow-a: rgba(124, 156, 255, .26);--glow-b: rgba(185, 140, 255, .28);--surface: #17223c;--surface-2: #1f2d4b;--surface-3: #111a2f;--surface-solid: #17223c;--surface-raised: #253355;--border: #31436a;--border-2: #5e75a5;--edge: #0a1122;--text: #eef3ff;--text-2: #b6c6e2;--text-3: #93a6c6;--accent: #7c9cff;--accent-2: #b98cff;--accent-edge: #5273cc;--accent-ink: #071026;--shadow-float: 0 22px 54px rgba(0, 4, 18, .7);--ring-track: #2b3a5e;--scrim: rgba(2, 6, 20, .76)}:root[data-theme=forest]{--bg: linear-gradient(170deg, #05150f 0%, #0a2b1f 36%, #10402d 70%, #071f18 100%);--glow-a: rgba(95, 211, 91, .22);--glow-b: rgba(255, 201, 60, .16);--surface: #10301f ;--surface-2: #173d2b;--surface-3: #0b2417;--surface-solid: #10301f;--surface-raised: #1c4833;--border: #26573d;--border-2: #4c8c6b;--edge: #061a11;--text: #edfff5;--text-2: #b4d7c4;--text-3: #92b8a3;--accent: #5fd35b;--accent-2: #a7e8a4;--accent-edge: #3fa63c;--accent-ink: #052b0d;--shadow-float: 0 22px 54px rgba(0, 12, 8, .68);--ring-track: #245640;--scrim: rgba(2, 14, 10, .76)}:root[data-theme=bubblegum]{--bg: linear-gradient(168deg, #c2417f 0%, #d96ba4 32%, #b58ad8 66%, #9fb6e8 100%);--glow-a: rgba(255, 255, 255, .62);--glow-b: rgba(214, 107, 164, .3);--surface: #ffffff;--surface-2: #fbf3f8;--surface-3: #f4e6ef;--surface-solid: #ffffff;--surface-raised: #ffffff;--border: #ecd3e2;--border-2: #b083a2;--edge: #e0c0d3;--text: #2f1033;--text-2: #6a3f68;--text-3: #825880;--accent: #a8256e;--accent-2: #c93d8b;--accent-edge: #851c57;--accent-ink: #ffffff;--shadow-float: 0 18px 44px rgba(80, 12, 66, .28);--ring-track: #f0d6e8;--scrim: rgba(52, 8, 48, .58)}:root[data-theme=guildhall]{--bg: linear-gradient(168deg, #2a1d12 0%, #46311e 34%, #6a482a 68%, #8d6539 100%);--glow-a: rgba(255, 214, 138, .34);--glow-b: rgba(122, 84, 46, .3);--surface: #f7f0e1;--surface-2: #efe6d2;--surface-3: #e4d8bf;--surface-solid: #f7f0e1;--surface-raised: #fdf8ee;--border: #ddcdab;--border-2: #8a7451;--edge: #cbb894;--text: #23190e;--text-2: #52412c;--text-3: #63513a;--accent: #8a4a1c;--accent-2: #b06a2c;--accent-edge: #6b3813;--accent-ink: #ffffff;--shadow-float: 0 18px 44px rgba(46, 30, 12, .34);--ring-track: #e0d2b6;--scrim: rgba(32, 21, 10, .62)}:root[data-theme=contrast]{--bg: linear-gradient(170deg, #000000 0%, #08080c 55%, #101018 100%);--glow-a: rgba(255, 201, 60, .1);--glow-b: rgba(255, 255, 255, .05);--surface: #14161c;--surface-2: #1d2029;--surface-3: #0b0c10;--surface-solid: #14161c;--surface-raised: #1d2029;--border: #555c6b;--border-2: #949cad;--edge: #000000;--text: #ffffff;--text-2: #e6eaf1;--text-3: #bcc3d0;--accent: #ffc93c;--accent-2: #ffe08a;--accent-edge: #cc9c1f;--accent-ink: #000000;--shadow-float: 0 20px 50px rgba(0, 0, 0, .9);--ring-track: #3a4050;--scrim: rgba(0, 0, 0, .88)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;overflow:hidden}html.overlay-open,html.overlay-open body{overflow:hidden}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-ui);color:#23190e;background:#05070f;font-size:18px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.12}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;touch-action:manipulation}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8a7451;border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#63513a;background-clip:content-box}.scroll-y{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;border-radius:var(--radius);font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;border:var(--bw) solid transparent;box-shadow:0 var(--press) 0 var(--btn-edge, var(--edge));transition:transform var(--dur-fast) linear,box-shadow var(--dur-fast) linear,background var(--dur),border-color var(--dur),opacity var(--dur)}.btn:active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 0 var(--btn-edge, var(--edge))}.btn:disabled{opacity:.45;cursor:default}.btn-lg{height:62px;padding:0 30px;font-size:22px}.btn-sm{height:40px;padding:0 14px;font-size:15.5px;border-radius:var(--radius-sm);--press: 3px}.btn-primary{background:var(--accent);color:var(--accent-ink);--btn-edge: var(--accent-edge)}.btn-primary:not(:disabled):hover{filter:brightness(1.06)}.btn-secondary{background:var(--surface);color:var(--text-2);border-color:var(--border);--btn-edge: var(--edge)}.btn-secondary:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.btn-ghost{background:transparent;color:var(--text-3);border-color:var(--border-2);box-shadow:none}.btn-ghost:active:not(:disabled){transform:translateY(2px)}.btn-ghost:not(:disabled):hover{color:var(--text);background:var(--surface-2)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger);--btn-edge: var(--danger-edge)}.btn-danger:not(:disabled):hover{background:var(--danger);color:var(--danger-ink)}.btn-danger.armed{background:var(--danger);color:var(--danger-ink);animation:nudge .5s ease-in-out infinite}.btn-claim{background:var(--star);color:var(--star-ink);height:46px;padding:0 20px;font-size:17px;--btn-edge: var(--star-edge);animation:readyPulse 2.2s ease-in-out infinite}.btn-claim.loading{animation:none;opacity:.7}.icon-btn{width:54px;height:54px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:26px;background:var(--surface);border:var(--bw) solid var(--border);color:var(--text);box-shadow:0 var(--press) 0 var(--btn-edge, var(--edge));transition:transform var(--dur-fast) linear,box-shadow var(--dur-fast) linear,background var(--dur),border-color var(--dur)}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{transform:translateY(var(--press));box-shadow:0 0 0 var(--btn-edge, var(--edge))}.icon-btn.active{border-color:var(--accent);color:var(--accent)}.icon-btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;--btn-edge: var(--accent-edge)}.icon-btn-primary:hover{background:var(--accent);filter:brightness(1.06)}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-grow{flex:1}.field-narrow{width:120px;flex:0 0 auto}.field-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.field-row-top{align-items:flex-end}.field-inline-btn{margin-bottom:1px}.field-label{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase}.field-hint{font-size:16.5px;color:var(--text-3);line-height:1.45}.field-input{height:54px;padding:0 16px;border-radius:var(--radius);background:var(--surface-3);border:var(--bw) solid var(--border-2);color:var(--text);font-family:var(--font-ui);font-size:20px;font-weight:700;width:100%;transition:border-color var(--dur),background var(--dur)}.field-input::placeholder{color:var(--text-3);font-weight:600}.field-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.segmented{display:inline-flex;gap:5px;padding:5px;border-radius:var(--radius);background:var(--surface-3);border:var(--bw) solid var(--border);flex-wrap:wrap}.segmented-option{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 16px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--text-3);position:relative;transition:background var(--dur),color var(--dur),transform var(--dur-fast) linear,box-shadow var(--dur-fast) linear}.segmented-option:hover{color:var(--text)}.segmented-option.selected{background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 var(--accent-edge)}.segmented-option.selected:active{transform:translateY(3px);box-shadow:0 0 0 var(--accent-edge)}.segmented-icon{font-size:18px}.segmented-badge{min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-pill);background:var(--danger);color:var(--danger-ink);font-size:15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.segmented-option.selected .segmented-badge{background:var(--accent-ink);color:var(--accent)}.toggle-list{display:flex;flex-direction:column;gap:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-radius:var(--radius);background:var(--surface-2);border:var(--bw) solid var(--border);text-align:left;transition:border-color var(--dur),background var(--dur)}.toggle-row:hover{border-color:var(--border-2)}.toggle-row.on{border-color:var(--accent)}.toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.toggle-label{font-family:var(--font-display);font-size:20px;font-weight:800}.toggle-hint{font-size:16.5px;color:var(--text-3)}.toggle-switch{flex:0 0 auto;width:62px;height:34px;border-radius:var(--radius-pill);background:var(--surface-3);border:var(--bw) solid var(--border-2);position:relative;transition:background var(--dur),border-color var(--dur)}.toggle-switch i{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:var(--text-3);transition:transform var(--dur) var(--ease-spring),background var(--dur)}.toggle-row.on .toggle-switch{background:var(--accent);border-color:var(--accent-edge)}.toggle-row.on .toggle-switch i{transform:translate(28px);background:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:36px 24px;color:var(--text-2)}.empty-state-icon{font-size:58px}.empty-state-title{font-family:var(--font-display);font-size:26px;font-weight:900;color:var(--text)}.empty-state-body{font-size:18.5px;max-width:34ch;line-height:1.5;color:var(--text-3)}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(-3px)}}@keyframes readyPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}.icon.flip{transform:scaleX(-1)}.btn,.icon-btn,.rail-nav-btn,.transport-btn,.devotion-play,.segmented-option,.toggle-row{min-height:48px}.icon-btn,.transport-btn{min-width:48px}.app{position:relative;width:100vw;height:100vh;overflow:hidden;background:#120b06}@keyframes spin-nudge{0%,72%,to{transform:rotate(0) scale(1)}80%{transform:rotate(-16deg) scale(1.09)}90%{transform:rotate(16deg) scale(1.09)}}.mission{display:flex;align-items:stretch;gap:0;border-radius:var(--radius);background:var(--surface-2);border:var(--bw) solid var(--border);box-shadow:0 var(--press) 0 var(--edge);overflow:hidden;flex:0 0 auto;position:relative;transition:background var(--dur),border-color var(--dur),opacity var(--dur),transform var(--dur-fast) linear,box-shadow var(--dur-fast) linear}.mission:active{transform:translateY(var(--press));box-shadow:0 0 0 var(--edge)}.mission.done{background:#58cc0229;border-color:var(--good)}.mission.done{box-shadow:0 var(--press) 0 var(--good-edge)}.mission.done:active{box-shadow:0 0 0 var(--good-edge)}@keyframes burstRing{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.focus{width:100%;max-width:1720px;height:100%;max-height:980px;display:flex;flex-direction:column;border-radius:var(--radius-xl);background:var(--surface-solid);border:var(--bw) solid var(--border-2);box-shadow:var(--shadow-2);overflow:hidden;animation:popIn .3s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-9px)}75%{transform:translate(9px)}}.toast{pointer-events:auto;display:flex;align-items:center;gap:13px;max-width:420px;padding:14px 18px;border-radius:var(--radius);background:var(--surface-solid);border:var(--bw) solid var(--border-2);box-shadow:var(--shadow-2);text-align:left;animation:slideInRight .32s var(--ease-out)}.devotion{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius);background:var(--surface-2);border:var(--bw) solid var(--border);box-shadow:0 var(--press) 0 var(--edge)}.devotion.playing{border-color:var(--accent);box-shadow:0 var(--press) 0 var(--accent-edge)}.airlock{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:4px 0 2px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--surface-2);border:var(--bw-thick) solid var(--star);box-shadow:var(--shadow-1)}@keyframes boss-hover{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes boss-defeat{0%{transform:scale(1) rotate(0);opacity:1}65%{transform:scale(1.2) rotate(14deg);opacity:.75}to{transform:scale(.35) rotate(-28deg);opacity:0}}@keyframes loot-drop{0%{opacity:0;transform:translateY(-18px) scale(.85)}to{opacity:1;transform:none}}@keyframes chest-shimmer{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg) scale(1.08)}}@keyframes boss-breathe{0%,to{transform:translateY(2px) scale(1)}50%{transform:translateY(-3px) scale(1.05,.98)}}@keyframes sword-swing{0%,62%,to{transform:rotate(-18deg)}70%{transform:rotate(42deg) translate(5px,-4px)}78%{transform:rotate(-30deg)}86%{transform:rotate(35deg)}}.bossadmin-portrait{flex:0 0 auto;background-repeat:no-repeat;background-position-x:0;image-rendering:pixelated;image-rendering:crisp-edges}@keyframes bossadmin-idle{0%{background-position-x:var(--bossadmin-from)}to{background-position-x:var(--bossadmin-to)}}.bossadmin-portrait-empty{border-radius:var(--radius);background:#efe6d2}@media (prefers-reduced-motion: reduce){.bossadmin-portrait{animation:none!important}}.app-guild{background:#120b06}html:has(.app-guild),body:has(.app-guild){background:#120b06}.guild-root{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#120b06}.guild-stage{position:absolute;top:0;right:0;bottom:0;left:0}.guild-stage canvas{image-rendering:pixelated;image-rendering:crisp-edges}.guild-boot{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-family:"Baloo 2",var(--font-ui);font-size:14px;color:#e8d8ad;text-align:center;padding:24px;pointer-events:none}.guild-boot-mark{font-size:40px}.guild-boot-hint{font-size:11px;color:#a08a66}.guild-boot-error{pointer-events:auto}.guild-a11y{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}.guild-a11y:focus-within{left:0;top:0;width:min(420px,100vw);height:auto;max-height:100vh;overflow-y:auto;padding:16px;background:#1d1209;border-right:3px solid #4a2f1c;z-index:40}.guild-a11y.shown{position:absolute;left:50%;top:55%;transform:translate(-50%);width:min(460px,calc(100vw - 32px));height:auto;max-height:40vh;overflow-y:auto;padding:16px;background:#1d1209;border:3px solid #4a2f1c;border-radius:6px}.guild-a11y h2{margin:12px 0 6px;font-family:"Baloo 2",var(--font-ui);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#a08a66}.guild-a11y ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.guild-a11y button{width:100%;min-height:44px;padding:8px 12px;text-align:left;cursor:pointer;font-family:"Baloo 2",var(--font-ui);font-size:12px;color:#f4e4c1;background:#3a2a18;border:2px solid #8a5a35;border-radius:4px}.guild-a11y button:hover,.guild-a11y button:focus-visible{background:#4a3620;outline:2px solid #f0c04c;outline-offset:1px}.app-guild .modal-card{font-family:var(--font-ui);border-width:4px;border-color:#8a5a35;border-radius:4px;background:#e8d8ad;box-shadow:0 0 0 4px #2b1a0f,0 24px 60px #0009}.app-guild .modal-title,.app-guild .panel-title{font-family:"Baloo 2",var(--font-display);letter-spacing:.5px}.guild-offer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#0a0502b8}.guild-offer-card{width:min(680px,100%);padding:34px 40px 30px;text-align:center;color:#2c2114;background:#e8d8ad;border:4px solid #8a5a35;border-radius:4px;box-shadow:0 0 0 4px #2b1a0f,0 24px 60px #0009}.guild-offer-kicker{margin:0 0 4px;font-family:"Baloo 2",var(--font-ui);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#a08a66}.guild-offer-card h2{margin:0 0 12px;font-family:"Baloo 2",var(--font-display);font-size:30px;line-height:1.25;letter-spacing:.5px;color:#8a2a22}.guild-offer-what{margin:0 0 8px;font-family:"Baloo 2",var(--font-ui);font-size:22px;line-height:1.35}.guild-offer-who{margin:0 0 24px;font-family:"Baloo 2",var(--font-ui);font-size:15px;color:#6b563a}.guild-offer-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.guild-offer-actions button{min-height:60px;padding:12px 30px;cursor:pointer;font-family:"Baloo 2",var(--font-ui);font-size:19px;border-radius:4px;border:3px solid #2b1a0f}.guild-offer-go{color:#14300f;background:#5fbb7d;box-shadow:0 5px #2f7d4f}.guild-offer-no{color:#4a3620;background:#c2ad7c;box-shadow:0 5px #8a6c10}.guild-offer-actions button:active{transform:translateY(4px);box-shadow:none}.guild-offer-actions button:focus-visible{outline:3px solid #f0c04c;outline-offset:2px}.app-guild .celebration{background:#0a0502b8}.app-guild .celebration-card{gap:10px;padding:26px 40px 22px;color:#2c2114;background:#e8d8ad;border:4px solid #8a5a35;border-radius:4px;box-shadow:0 0 0 4px #2b1a0f,0 24px 60px #0009}.app-guild .celebration-kid .celebration-title{padding-bottom:8px;border-bottom:3px solid var(--kid)}.app-guild .celebration-family,.app-guild .celebration-reward{border-color:#a87516}.app-guild .celebration-emoji{font-size:68px;animation:none}.app-guild .celebration-title{font-family:"Baloo 2",var(--font-display);font-size:30px;font-weight:700;line-height:1.3;letter-spacing:.5px;color:#8a2a22}.app-guild .celebration-body{font-family:"Baloo 2",var(--font-ui);font-size:13px;font-weight:400;color:#4a3620}.app-guild .celebration-stat{font-family:"Baloo 2",var(--font-display);font-size:15px;font-weight:700;color:#4a3620;background:#f0c04c;border:2px solid #2b1a0f;border-radius:3px;box-shadow:0 3px #8a6c10}.app-guild .celebration-dismiss{margin-top:10px;font-family:"Baloo 2",var(--font-ui);font-size:10px;font-weight:400;color:#6b563a}.app-guild .toast{color:#2c2114;background:#e8d8ad;border:3px solid #8a5a35;border-radius:4px;box-shadow:0 0 0 3px #2b1a0f,0 10px 24px #00000080}.app-guild .toast-icon{font-size:22px}.app-guild .toast-title{font-family:"Baloo 2",var(--font-display);font-size:13px;font-weight:700;letter-spacing:.5px}.app-guild .toast-body{font-family:"Baloo 2",var(--font-ui);font-size:10px;color:#6b563a}.app-guild .toast-success{border-color:#5fbb7d}.app-guild .toast-error{border-color:#c4453a}.app-guild .toast-rank{border-color:#f0c04c}.guild-offer-many{width:min(760px,100%)}.guild-offer-list{display:flex;flex-direction:column;gap:10px;margin:0 0 22px;padding:0;list-style:none}.guild-offer-pick{display:flex;align-items:center;gap:16px;width:100%;padding:10px 14px;cursor:pointer;text-align:left;color:#2c2114;background:#dcc9a0;border:3px solid #8a5a35;border-radius:4px}.guild-offer-pick:hover,.guild-offer-pick:focus-visible{background:#f0e2bd;outline:3px solid #f0c04c;outline-offset:2px}.guild-offer-pick.is-beaten{border-color:#5fbb7d}.guild-offer-pick-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.guild-offer-pick-name{font-family:"Baloo 2",var(--font-display);font-size:20px;color:#8a2a22}.guild-offer-pick-what{font-family:"Baloo 2",var(--font-ui);font-size:15px}.guild-offer-pick-state{font-family:"Baloo 2",var(--font-ui);font-size:12px;color:#6b563a}@media (min-width: 1900px){html.is-silk .app{height:calc(100vh - 96px);max-height:calc(100vh - 96px)}html.is-silk .focus{max-height:calc(100vh - 150px)}}@media (min-width: 1200px) and (max-height: 900px){:root{--topbar-h: 80px;--stage-pad: 16px;--card-gap: 14px;--mission-h: 56px}}@media (max-width: 1500px){:root{--rail-w: 340px}}@media (max-width: 1100px){:root{--topbar-h: auto;--stage-pad: 14px;--rail-w: 300px;--mission-h: 56px}}@media (max-width: 820px){:root{--fs-2xs: 14px;--fs-xs: 14px;--fs-sm: 15px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 17.5px;--fs-xl: 20px;--fs-2xl: 23px;--fs-3xl: 27px;--fs-display: 34px;--topbar-h: auto;--stage-pad: 12px;--stage-gap: 12px;--mission-h: 58px;--mission-h-lg: 66px;--card-pad: 14px;--radius-xl: 22px}html,body,#root{height:auto;min-height:100dvh;overflow:visible}html{overflow-y:auto}body{overflow-x:hidden;font-size:16px}.app{height:auto;min-height:100dvh;overflow:visible}.backdrop{position:fixed}.shell{height:auto}.stage{flex-direction:column;gap:var(--stage-gap);padding:var(--stage-pad) calc(var(--stage-pad) + var(--safe-r)) calc(var(--stage-pad) + var(--safe-b)) calc(var(--stage-pad) + var(--safe-l))}.focus{max-width:none;width:100%;height:100%;max-height:100%;border-radius:0;border:none;padding-top:var(--safe-t)}.field-input{height:50px;font-size:17px}.devotion{padding:12px}.toast{max-width:none;padding:12px 14px;gap:11px}}@keyframes sheetUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape){.focus{height:100%;max-height:100%}}
