@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory:#f5f0e6;--cream:#fff8ec;--sage:#9caf88;--meadow:#7d9b70;--forest:#526e58;--dusty:#91b7c8;--sky:#bfd7de;--terracotta:#c98268;--wood:#a9825d;--gold:#e8bd72;--ink:#403d35;--ink-soft:#6b665a;--ink-faint:#8e887a;--line:#403d351f;--line-strong:#403d3533;--panel:#fff8eceb;--panel-solid:#fff8ec;--panel-sunk:#f5ecdc;--shadow:0 10px 30px -12px #40342459, 0 2px 6px -2px #4034241f;--shadow-soft:0 6px 18px -10px #4034244d;--focus:0 0 0 3px #526e5873;--terracotta-deep:#a8624a;--forest-deep:#435c49;--sky-top:#9cc1d3;--sky-mid:#c9dfe3;--sky-bottom:#f5f0e6;--night:0;--radius:18px;--radius-sm:12px;--radius-xs:8px;--font-ui:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces Variable", "Fraunces", Georgia, serif;--ease:cubic-bezier(.22, .8, .3, 1)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 50%, var(--sky-bottom) 100%);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45;overflow:hidden}button,input,select{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-soft)}.small{font-size:12.5px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600}.display{font-family:var(--font-display);font-size:18px;font-weight:600}:focus-visible{box-shadow:var(--focus);outline:none}.app{position:fixed;inset:0}.world,.world-fallback{position:absolute;inset:0}.world{isolation:isolate}.sky-art{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-art__stars{width:1px;height:1px;opacity:var(--night);transition:opacity 3s linear;position:absolute;top:0;left:0}.sky-art__sun{left:var(--sun-x,70vw);top:var(--sun-y,14vh);width:220px;height:220px;opacity:var(--sun-o,1);background:radial-gradient(circle, #fffaf0 0 15%, color-mix(in srgb, var(--sun-color,#fff5e4) 85%, transparent) 21%, color-mix(in srgb, var(--sun-color,#fff5e4) 30%, transparent) 34%, transparent 68%);border-radius:50%;margin:-110px 0 0 -110px;transition:opacity 2s linear;position:absolute}.sky-art__moon{width:34px;height:34px;opacity:var(--night);background:#eef0f6;border-radius:50%;transition:opacity 3s linear;position:absolute;top:13vh;left:28vw;box-shadow:0 0 30px 10px #dce4f540,inset -7px -4px #b4bed799}.sky-art__mountains{width:108vw;height:36vh;transform:translateX(calc(var(--pan,0) * -40px));position:absolute;top:5vh;left:-4vw;right:-4vw;-webkit-mask-image:linear-gradient(#000 45%,#0000 100%);mask-image:linear-gradient(#000 45%,#0000 100%)}.sky-art__far{fill:color-mix(in srgb, var(--sky-mid) 70%, #7c84a6)}.sky-art__snow{fill:color-mix(in srgb, var(--sky-mid) 40%, #f6f2ea)}.sky-art__near{fill:color-mix(in srgb, var(--sky-mid) 52%, #85899f)}.world canvas{touch-action:none}.world-fallback{color:var(--ink-soft);place-items:center;display:grid}.hud{pointer-events:none;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));transition:opacity .6s var(--ease);position:absolute;inset:0}.hud>*>*,.hud>.panel{pointer-events:auto}.hud--hidden{opacity:0;visibility:hidden}.hud__top-left{flex-direction:column;align-items:stretch;gap:10px;width:292px;display:flex;position:absolute;top:16px;left:16px}.hud__top-right{flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;top:16px;right:16px}.hud__bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hud__bottom-left{position:absolute;bottom:16px;left:16px}.card{background:var(--panel);outline:1px solid var(--line);outline-offset:-1px;border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px)saturate(1.05);border:1px solid #ffffff8c}.bar{background:#403d351a;border-radius:99px;height:8px;display:block;position:relative;overflow:hidden}.bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), var(--meadow));transition:width .6s var(--ease);position:absolute;inset:0 auto 0 0}.bar--thin{height:5px}.bar--gold>span{background:linear-gradient(90deg, #edcd8f, var(--gold))}.dot{background:#c9c1b1;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot--on{background:var(--meadow);box-shadow:0 0 0 3px #7d9b7038}.pill{background:var(--panel-sunk);color:var(--ink-soft);border-radius:99px;align-items:center;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.btn{border:1px solid var(--line-strong);background:var(--panel-solid);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-weight:600;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:#fdf3e2}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:default;opacity:.55}.btn--primary{background:var(--forest);border-color:var(--forest);color:var(--cream)}.btn--primary:hover:not(:disabled){background:var(--forest-deep)}.btn--primary:disabled{color:#6f695c;opacity:1;background:#cfc6b4;border-color:#cfc6b4}.btn--quiet{background:var(--panel-sunk);color:var(--terracotta-deep);border-color:#a8624a40}.btn--quiet:hover:not(:disabled){background:#f3e2d4}.btn--danger{color:var(--terracotta-deep);border-color:#a8624a59}.btn--danger:hover:not(:disabled){background:#f6e4da}.dialog .btn--danger{background:var(--terracotta-deep);color:var(--cream)}.btn--small{border-radius:10px;padding:6px 11px;font-size:13px}.btn--block{width:100%}.btn--icon{border-radius:10px;flex:none;width:36px;height:36px;padding:0}.btn-group,.btn-row{flex-wrap:wrap;gap:6px;display:inline-flex}.btn-row{margin-top:10px;display:flex}.icon-btn{cursor:pointer;border-radius:14px;place-items:center;width:46px;height:46px;padding:0;display:grid}.icon-btn.is-active{background:var(--panel-sunk)}.icon-btn--ghost{width:30px;height:30px;color:var(--ink-soft);background:0 0;border:none;border-radius:9px}.icon-btn--ghost:hover{background:#403d3512}.link{color:var(--forest);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #526e5866;text-decoration:underline #526e5866}.farm-badge{align-items:center;gap:12px;padding:12px 14px;display:flex}.farm-badge__logo{flex:none}.farm-badge__body{flex:1;min-width:0}.farm-badge__name{cursor:pointer;max-width:100%;font-family:var(--font-display);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:0;font-size:18px;font-weight:600;display:flex}.farm-badge__name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.farm-badge__name svg{color:var(--ink-faint);opacity:0;flex:none;transition:opacity .15s}.farm-badge__name:hover svg,.farm-badge__name:focus-visible svg{opacity:1}.farm-badge__input{width:100%;font-family:var(--font-display);border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:8px;padding:1px 6px;font-size:17px;font-weight:600}.farm-badge__level{color:var(--ink-soft);margin:1px 0 6px;font-size:12.5px}.xp{align-items:center;gap:10px;display:flex}.xp .bar{flex:1}.xp__text{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.resources{align-items:stretch;gap:10px;display:flex}.chips{align-items:center;gap:4px;padding:5px 8px;display:flex}.chip{font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:15px;display:inline-flex}.chip+.chip{border-left:1px solid var(--line)}.session{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.session__head{align-items:center;gap:9px;display:flex}.session__head h2{flex:1;font-size:15px}.session__timer{letter-spacing:.01em;font-variant-numeric:tabular-nums;text-align:center;margin-top:2px;font-size:36px;font-weight:650;line-height:1}.session__status{color:var(--ink-soft);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.session__earn{color:var(--ink-soft);justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.session__earn strong{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.session--collapsed{flex-direction:row;align-items:center;gap:4px;padding:6px 6px 6px 8px}.session__pill{font-variant-numeric:tabular-nums;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex:1;align-items:center;gap:9px;padding:6px 8px;font-weight:600;display:flex}.session__pill:hover{background:#403d350f}.note{color:#6c5126;background:#e8bd722e;border-radius:10px;margin:0;padding:8px 10px;font-size:12.5px}.task-form{align-items:center;gap:6px;display:flex}.task-form input{border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:10px;flex:1;min-width:0;padding:8px 10px}.task-form input::placeholder{color:var(--ink-faint)}.task-form__count{color:var(--ink-faint);font-variant-numeric:tabular-nums;text-align:right;width:34px;font-size:11px}.recent{border-top:1px solid var(--line);flex-direction:column;gap:5px;margin:0;padding:8px 0 0;list-style:none;display:flex}.recent li{justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.recent__label{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent__values{flex:none;gap:8px;display:inline-flex}.recent__value{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:600;display:inline-flex}.session__empty{border-top:1px solid var(--line);margin:0;padding-top:8px}.toolbar{border-radius:20px;gap:2px;padding:6px;display:flex}.tool{width:76px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:flex;position:relative}.tool:hover{color:var(--ink);background:#403d350f}.tool.is-active{background:var(--panel-sunk);color:var(--ink)}.tool.is-active:after{content:"";background:var(--forest);border-radius:3px;width:18px;height:3px;position:absolute;bottom:2px}.tool__badge{background:var(--gold);min-width:18px;height:18px;color:var(--ink);border-radius:99px;place-items:center;padding:0 5px;font-size:11px;display:grid;position:absolute;top:4px;right:14px}.tool--resting svg{opacity:.6}.next-crop{text-align:left;flex-direction:column;gap:10px;width:220px;padding:12px 14px;display:flex;position:relative}.next-crop__row{align-items:center;gap:10px;display:flex}.next-crop__collect{z-index:1;flex-direction:column;gap:10px;display:flex;position:relative}.next-crop__collect:not(:last-child){border-bottom:1px solid var(--line);padding-bottom:12px}.next-crop__collect svg{flex:none}.next-crop__amount{white-space:nowrap}.next-crop__open{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:10px;padding:0;display:flex}.next-crop__open:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.next-crop__open:focus-visible{box-shadow:none}.next-crop__open:focus-visible:after{box-shadow:var(--focus)}.toasts{width:312px;transition:transform .3s var(--ease);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.toast{animation:toast-in .45s var(--ease);align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;display:flex}.toast__icon{background:var(--panel-sunk);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.toast--level .toast__icon,.toast--unlock .toast__icon{background:#e8bd7247}.toast__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.toast__text strong{font-size:13.5px}.toast__text span{color:var(--ink-soft);font-size:12.5px}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.panel{width:384px;animation:panel-in .35s var(--ease);flex-direction:column;display:flex;position:absolute;top:82px;bottom:16px;right:16px;overflow:hidden}.hud:has(.panel) .hud__top-right .toasts{transform:translate(-400px)}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}}.panel__head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 14px 12px 18px;display:flex}.panel__head h2:focus{box-shadow:none}.panel__head h2{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1;font-size:21px;overflow:hidden}.panel__body{scrollbar-width:thin;scrollbar-color:#403d3540 transparent;flex-direction:column;flex:1;gap:16px;padding:14px 18px 20px;display:flex;overflow-y:auto}.panel__body>p{margin:0}.section__head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:13px}.section>p{margin:0 0 8px}.hint{color:var(--ink-faint);align-items:flex-start;gap:6px;margin:0;font-size:12.5px;display:flex}.hint svg{flex:none;margin-top:2px}.tabs{background:var(--panel-sunk);border-radius:12px;gap:4px;padding:4px;display:flex}.tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:7px 8px;font-size:13px;font-weight:600}.tab.is-active{background:var(--panel-solid);color:var(--ink);box-shadow:var(--shadow-soft)}.items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.item{background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;gap:12px;padding:12px;display:flex}.item--locked{background:0 0;border-style:dashed}.item--locked .item__art{opacity:.55}.item__art{background:var(--panel-sunk);border-radius:12px;flex:none;place-items:center;width:48px;height:48px;display:grid}.item__body{flex:1;min-width:0}.item__title{align-items:center;gap:8px;display:flex}.item__blurb{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.item__effect{color:var(--forest);margin:4px 0 0;font-size:12px;font-weight:600}.item__foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.item__foot>:last-child{margin-left:auto}.price{font-variant-numeric:tabular-nums;gap:10px;font-weight:600;display:inline-flex}.price>span{align-items:center;gap:4px;display:inline-flex}.stats-row{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.stats-row li{background:var(--panel-sunk);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.stats-row strong{font-variant-numeric:tabular-nums;font-size:18px}.stats-row span{color:var(--ink-soft);font-size:11.5px}.tiles{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tile{background:var(--panel-solid);border:1px solid var(--line);text-transform:capitalize;border-radius:12px;flex-direction:column;align-items:center;gap:2px;width:62px;padding:8px 4px 6px;font-size:12px;font-weight:600;display:flex}.empty{border:1px dashed var(--line-strong);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.empty p{color:var(--ink-soft);margin:0}.empty--stacked{text-align:center;flex-direction:column;padding:24px 16px}.garden-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.garden-actions__buttons{flex-wrap:wrap;gap:6px;display:flex}.plot-grid{background:linear-gradient(#b8c79f,#a3b78c);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;display:grid}.plot{aspect-ratio:1;cursor:pointer;background:#8a6b55;border:2px solid #0000;border-radius:10px;place-items:center;padding:0;transition:transform .15s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -3px #0000001f}.plot:hover{transform:translateY(-1px)}.plot--planted{background:#6e5444}.plot--ready{border-color:var(--gold);box-shadow:0 0 0 3px #e8bd7259,inset 0 -3px #0000001f}.plot.is-selected{border-color:var(--cream);box-shadow:0 0 0 3px #526e588c}.plot--locked{cursor:default;box-shadow:none;background:0 0;border:2px dashed #fff8ec99}.plot__furrow{opacity:.6;background:repeating-linear-gradient(#5b4538 0 3px,#0000 3px 9px);width:60%;height:40%}.plot__progress{background:var(--sage);height:4px;position:absolute;bottom:0;left:0}.plot-detail{align-items:center;gap:12px;display:flex}.plot-detail>div{flex-direction:column;flex:1;gap:4px;display:flex}.seed-list{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.seed{border:1px solid var(--line);background:var(--panel-solid);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;width:100%;padding:8px;display:flex}.seed:hover{border-color:var(--sage)}.seed__name{flex-direction:column;min-width:0;display:flex}.level-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.level-card>div:last-child{flex-direction:column;flex:1;gap:5px;display:flex}.level-card__badge{background:radial-gradient(circle at 35% 30%, #fbe7bd, var(--gold));border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:relative;box-shadow:inset 0 -3px #00000014}.level-card__badge svg{position:absolute;top:-6px;right:-6px}.level-card__badge strong{font-family:var(--font-display);font-size:24px}.next-unlock{background:#9caf882e;border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;display:flex}.next-unlock svg{flex:none}.meter-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.meter-list li{grid-template-columns:80px 1fr 86px;align-items:center;gap:10px;font-size:13px;display:grid}.meter-list li>span:last-child{text-align:right}.milestones{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.milestones li{color:var(--ink-soft);align-items:center;gap:10px;font-size:13px;display:flex}.milestones li.is-done{color:var(--ink)}.milestones__check{border:1.5px solid var(--line-strong);width:20px;height:20px;color:var(--cream);border-radius:50%;flex:none;place-items:center;display:grid}.is-done .milestones__check{background:var(--meadow);border-color:var(--meadow)}.segmented{background:var(--panel-sunk);border-radius:12px;gap:4px;margin-bottom:8px;padding:4px;display:flex}.segmented button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:7px 4px;font-size:13px;font-weight:600}.segmented .is-active{background:var(--panel-solid);color:var(--ink);box-shadow:var(--shadow-soft)}.select{border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:10px;width:100%;padding:9px 10px}.switch{cursor:pointer;align-items:center;gap:10px;margin-bottom:6px;display:flex}.switch input{opacity:0;position:absolute}.switch__track{background:#d6ccbb;border-radius:99px;flex:none;width:40px;height:24px;transition:background .2s;position:relative}.switch__track:after{content:"";background:var(--cream);width:18px;height:18px;transition:transform .2s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked+.switch__track{background:var(--meadow)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{box-shadow:var(--focus)}.sources,.privacy{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.source{border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;gap:10px;padding:10px 12px;display:flex}.source>svg{flex:none;margin-top:2px}.source>div{flex:1;min-width:0}.source p{margin:2px 0 0}.source--needs-desktop,.source--not-built{background:0 0;border-style:dashed}.source__title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.source--active .pill{color:var(--forest);background:#7d9b7033}.repos{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.repos li{background:var(--panel-sunk);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:3px 3px 3px 10px;font-size:13px;display:flex}.repos__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.repos .icon-btn{flex:none}.source .repos__note{margin-top:8px}.source .repos__wsl{margin-top:6px}.repos__wsl code,.git-problem code{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,Liberation Mono,monospace;font-size:12px}.repos__wsl code{background:var(--panel-sunk);border-radius:4px;padding:0 3px}.git-problem{border:1px solid #a8624a4d;border-left:4px solid var(--terracotta);background:#c982681a;border-radius:10px;margin-top:10px;padding:6px 4px 10px 12px}.git-problem__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.git-problem__head strong{padding-top:5px;font-size:13.5px}.git-problem__head .icon-btn{flex:none}.source .git-problem p{margin:2px 8px 0 0}.git-problem__fix{align-items:center;gap:6px;margin:8px 8px 0 0;display:flex}.git-problem__fix code{border:1px solid var(--line);background:var(--panel-solid);min-width:0;color:var(--ink);-webkit-user-select:all;user-select:all;border-radius:8px;flex:1;padding:6px 8px}.git-problem__fix .btn{flex:none}.privacy li{align-items:flex-start;gap:8px;font-size:13px;display:flex}.privacy svg{flex:none;margin-top:1px}.dialog{max-width:400px;color:var(--ink);border:none;padding:22px}.dialog::backdrop{background:#4034244d}.dialog h2{font-family:var(--font-display);font-size:22px}.dialog p{margin:10px 0 6px}.welcome{animation:fade-in .8s var(--ease);background:linear-gradient(#f5f0e600 30%,#f5f0e68c 100%);place-items:end center;padding:24px 16px 7vh;display:grid;position:absolute;inset:0}.welcome__card{text-align:center;flex-direction:column;align-items:center;width:min(460px,100%);padding:26px 28px 22px;display:flex}.welcome__memory{font-family:var(--font-display);color:var(--ink-soft);margin:0 0 14px;font-size:13.5px;font-style:italic}.welcome__title{font-family:var(--font-display);letter-spacing:-.01em;margin-top:8px;font-size:40px;line-height:1.1}.welcome__tagline{font-family:var(--font-display);color:var(--forest);margin:4px 0 0;font-size:17px;font-style:italic}.welcome__pitch{color:var(--ink-soft);margin:14px 0 18px}.welcome__form{text-align:left;width:100%}.welcome__form label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.welcome__row{gap:8px;margin-top:6px;display:flex}.welcome__row input{border:1px solid var(--line-strong);background:var(--panel-solid);min-width:0;font-family:var(--font-display);border-radius:12px;flex:1;padding:10px 12px;font-size:16px}.welcome__privacy{color:var(--ink-faint);text-align:left;align-items:center;gap:6px;margin:16px 0 0;font-size:12.5px;display:flex}.welcome__privacy svg{flex:none}@keyframes fade-in{0%{opacity:0}}.tour{z-index:5;pointer-events:none;position:absolute}.tour__card{pointer-events:auto;width:320px;animation:toast-in .4s var(--ease);border:1.5px solid #526e5859;padding:16px 18px 14px}.tour__count{color:var(--forest);letter-spacing:.06em;font-size:11px;font-weight:700}.tour h2{font-family:var(--font-display);margin:2px 0 6px;font-size:19px}.tour p{color:var(--ink-soft);margin:0 0 12px}.tour__actions{justify-content:space-between;align-items:center;display:flex}.tour--center{top:50%;left:50%;transform:translate(-50%,-50%)}.tour--session{top:150px;left:324px}.tour--garden,.tour--shop{bottom:118px;left:50%;transform:translate(-50%)}.rot-270{transform:rotate(-90deg)}@media (max-width:900px){.hud__bottom-left{display:none}}@media (max-width:720px){.hud__top-right{align-items:stretch;top:12px;left:12px;right:12px}.resources{justify-content:space-between}.chips{flex:1;justify-content:space-around}.hud__top-left{width:auto;top:78px;left:12px;right:12px}.farm-badge{padding:10px 12px}.farm-badge__logo{width:36px;height:36px}.toasts{width:100%}.hud:has(.panel) .hud__top-right .toasts{transform:none}.hud__bottom{bottom:12px;left:12px;right:12px;transform:none}.toolbar{justify-content:space-between}.tool{flex:1;width:auto;font-size:11px}.panel{width:auto;max-height:64vh;inset:auto 12px 96px}.tour--session{inset:auto 12px 110px}.tour__card{width:min(340px,100vw - 24px)}}.toolbar[data-labels=hidden] .tool__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.journal{flex-direction:column;gap:14px;display:flex}.journal__filters{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--line-strong);background:var(--panel-solid);color:var(--ink-soft);cursor:pointer;border-radius:99px;flex:none;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.filter-chip:hover{border-color:var(--sage)}.filter-chip.is-active{background:var(--forest);border-color:var(--forest);color:var(--cream)}.filter-chip.is-active svg{filter:brightness(1.15)}.journal__day{content-visibility:auto;contain-intrinsic-size:auto 240px;margin:-3px;padding:3px}.journal__date{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-size:13px}.journal__entries{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.journal__entry{background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 6px 8px 10px;display:grid}.journal__entry--story{background:0 0;border-style:dashed}.journal__entry--story .journal__text strong{font-style:italic;font-weight:500}.journal__icon{background:var(--panel-sunk);border-radius:50%;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.journal__text{overflow-wrap:anywhere;flex-direction:column;gap:1px;min-width:0;display:flex}.journal__text strong{font-size:13.5px;font-weight:600}.journal__text span{color:var(--ink-soft);font-size:12.5px}.journal__note{border-left:2px solid var(--sage);font-size:12.5px;font-family:var(--font-display);color:var(--forest);background:#9caf8824;border-radius:0 6px 6px 0;margin-top:3px;padding:3px 8px}.journal__note-input{border:1px solid var(--sage);background:var(--cream);border-radius:8px;width:100%;margin-top:4px;padding:5px 8px;font-size:12.5px}.journal__side{align-items:center;gap:2px;display:flex}.journal__time{font-variant-numeric:tabular-nums;color:var(--ink-faint);flex:none;font-size:11.5px}.journal__note-btn{width:26px;height:26px;color:var(--ink-faint);opacity:.55;transition:opacity .15s}.journal__entry:hover .journal__note-btn,.journal__note-btn:focus-visible{opacity:1}.journal__note-btn.is-editing{visibility:hidden}.journal__older{align-self:center}.field-note strong{font-weight:650;display:block}.field-note--nearly{color:var(--forest);background:#9caf882e}.today-hint{margin-top:8px;display:block}.what-counts{flex-direction:column;gap:10px;display:flex}.what-counts>p{margin:0}.what-counts__rule h4{margin:0 0 4px;font-size:13.5px;font-weight:650}.what-counts__rule ul{flex-direction:column;gap:3px;margin:0;padding-left:18px;font-size:13px;display:flex}.recap{width:min(380px,100vw - 32px);max-height:calc(100% - 32px);animation:recap-in .6s var(--ease);z-index:5;pointer-events:auto;background:radial-gradient(120% 70% at 0% 0%, #e8bd7238, transparent 60%), radial-gradient(90% 60% at 100% 100%, #9caf8833, transparent 65%), var(--panel);flex-direction:column;gap:12px;padding:20px 22px 16px;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.recap:focus-visible{outline:1px solid var(--line);box-shadow:var(--shadow)}.recap__head{align-items:center;gap:12px;display:flex}.recap__badge{background:radial-gradient(circle at 35% 30%,#fff3d9,#f0d9a8);border-radius:50%;flex:none;place-items:center;width:50px;height:50px;display:grid;box-shadow:inset 0 -3px #0000000f,0 0 0 4px #fff8ecb3}.recap__farm{color:var(--forest)}.recap__title{font-family:var(--font-display);font-size:24px;line-height:1.15}.recap__note{overflow-wrap:anywhere;background:#e8bd7233;border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:9px 12px;font-size:13.5px;display:flex}.recap__note svg{flex:none;margin-top:2px}.recap__note-label{color:#6c5126;font-weight:600}.recap__lines{flex-direction:column;gap:7px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.recap__line{align-items:center;gap:10px;display:flex}.recap__icon{background:var(--panel-sunk);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.recap__text{overflow-wrap:anywhere;min-width:0}.recap__line--garden .recap__icon{background:#9caf8847}.recap__line--git .recap__icon{background:#91b7c84d}.recap__more{color:var(--ink-soft);margin:-2px 0 0 36px;font-size:12.5px;font-style:italic}.recap .btn-row{justify-content:flex-end;margin-top:2px}@keyframes recap-in{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))}}.next-note-field{flex-direction:column;gap:4px;display:flex}.next-note-field label{font-weight:600}.session__expand--note{color:#6c5126;background:#e8bd7238;align-items:center;gap:2px;width:auto;padding:0 4px 0 7px;display:inline-flex}.next-note-field__optional{color:var(--ink-faint);font-weight:400}.next-note-field input{border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:10px;padding:7px 10px;font-size:13px}.next-note-field input::placeholder{color:var(--ink-faint)}.last-note{background:#e8bd722e;border-radius:10px;align-items:flex-start;gap:8px;padding:7px 4px 7px 10px;font-size:12.5px;display:flex}.last-note>svg{flex:none;margin-top:1px}.last-note p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.last-note__label{color:#6c5126;font-weight:600}.last-note .icon-btn{flex:none;width:24px;height:24px}.vis-page{flex-direction:column;gap:14px;display:flex}.vis-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:13px}.vis-here{background:var(--panel-sunk);border-radius:14px;padding:12px}.vis-here__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vis-here__item{background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.vis-here__art{flex:none;place-items:center;display:grid}.vis-here__text{flex-direction:column;flex:1;min-width:0;font-size:13px;display:flex}.vis-here__text span{color:var(--ink-soft);font-size:12.5px}.vis-empty{color:var(--ink-soft);margin:0;font-size:13px}.vis-thanks{color:var(--forest);margin:8px 0 0;font-size:13px;font-weight:600}.vis-thanks:empty{display:none}.vis-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.vis-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:8px;padding:10px;display:flex}.vis-card--unseen{background:0 0;border-style:dashed}.vis-card--unseen .vis-card__art svg{filter:brightness(0)opacity(.35)}.vis-card__art{background:var(--panel-sunk);border-radius:12px;flex:none;place-items:center;width:48px;height:48px;display:grid}.vis-card__body{min-width:0;color:var(--ink-soft);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.vis-card__name{color:var(--ink);font-size:13px}.vis-card__keepsake{color:var(--ink)}.world-label{top:calc(var(--row,0) * (1.3em + 14px));pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-soft);color:var(--ink);font:600 12.5px/1.3 var(--font-ui);text-align:center;background:#fff8eceb;border-radius:99px;padding:5px 10px;position:relative}.world-label span{color:var(--ink-soft);font-size:11.5px;font-weight:500;display:block}.world-label--says{white-space:normal;text-wrap:balance;overflow-wrap:anywhere;border-radius:14px;width:max-content;max-width:min(240px,70vw);padding:6px 12px;translate:0 -50%}.world-label--in{animation:world-label-in .25s var(--ease)}.world-label--out{animation:world-label-out 3.6s var(--ease) forwards}@keyframes world-label-in{0%{opacity:0;transform:translateY(4px)}}@keyframes world-label-out{0%,70%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.world-label--in,.world-label--out{animation:none}}.board{flex-direction:column;gap:18px;display:flex}.board__intro{color:var(--ink-soft);margin:0;font-size:12.5px}.board__isle{flex-direction:column;gap:8px;display:flex}.board__head{flex-direction:column;gap:1px;display:flex}.board__head h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:13px}.bundles{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bundle{background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.bundle--done{background:linear-gradient(#9caf8829,#9caf880f);border-color:#7d9b7059}.bundle__head{align-items:center;gap:12px;display:flex}.bundle__art{background:linear-gradient(180deg, #e3eef0, var(--panel-sunk));border-radius:12px;flex:none;place-items:center;width:64px;height:50px;display:grid;overflow:hidden}.bundle-art{transition:filter .6s var(--ease), opacity .6s var(--ease);display:block}.bundle-art:not(.bundle-art--done){filter:saturate(.35);opacity:.7}.bundle__title{flex-direction:column;gap:2px;min-width:0;display:flex}.bundle__title strong{font-family:var(--font-display);font-size:15.5px;font-weight:600}.bundle__xp{color:var(--ink-faint);font-size:12px;font-weight:600}.bundle__status{color:var(--forest);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.bundle__change{color:var(--ink);margin:0;font-size:12.5px}.bundle__change--done{color:var(--forest-deep)}.needs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.need{background:var(--panel-sunk);border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.need.is-met{background:#9caf882e}.need__art{background:var(--panel-solid);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.need__body{flex-direction:column;flex:1;min-width:0;display:flex}.need__label{font-size:13px;font-weight:600}.need__have{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.need__check{border:1.5px solid var(--line-strong);width:22px;height:22px;color:var(--cream);border-radius:50%;flex:none;place-items:center;display:grid}.is-met .need__check{background:var(--meadow);border-color:var(--meadow)}.board__detail{color:var(--ink-faint);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-size:12.5px;font-style:italic;display:flex}.board__detail.is-found{color:var(--ink-soft);align-items:center;gap:6px}.board__look{font:inherit;color:var(--forest);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-style:normal;font-weight:600;-webkit-text-decoration:underline #526e5859;text-decoration:underline #526e5859}.board__look:hover{text-decoration-color:currentColor}.tab__seal,.letter-row__seal{background:radial-gradient(circle at 35% 30%,#d4705f 0%,#b0473a 55%,#8f3429 100%);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 1.5px #b0473a2e}.tab__seal{vertical-align:1px;margin-left:6px}.letters{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.letter-row{border:1px solid var(--line);background:var(--panel-solid);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 12px 9px 10px;transition:border-color .15s;display:grid}.letter-row:hover{border-color:var(--sage)}.letter-row__text{overflow-wrap:anywhere;flex-direction:column;grid-column:2;gap:1px;min-width:0;display:flex}.letter-row__from{color:var(--ink-soft);font-size:12px}.letter-row__title{color:var(--ink-soft);font-size:13.5px;font-weight:500}.letter-row--unread .letter-row__title{color:var(--ink);font-weight:650}.letter-row__when{color:var(--ink-soft);white-space:nowrap;grid-column:3;font-size:11.5px}.letter{flex-direction:column;gap:10px;display:flex}.letter__back{color:var(--forest);cursor:pointer;background:0 0;border:none;border-radius:8px;align-self:flex-start;margin-left:-4px;padding:3px 8px;font-size:13px;font-weight:600}.letter__back:hover{background:var(--panel-sunk)}.letter__paper{border:1px solid var(--line);background:var(--panel-solid);font-family:var(--font-display);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px 18px;font-size:14.5px;line-height:1.5;display:flex}.letter__paper p{margin:0}.letter__title{font-family:var(--font-display);border-radius:6px;font-size:15.5px;font-weight:700}.letter__title:focus{box-shadow:none}.letter__sign-off{color:var(--forest);margin-top:4px}.hud__compact{z-index:1;flex-direction:column;align-items:stretch;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.compact-bar{border-radius:14px;align-items:center;gap:4px;min-height:46px;padding:4px 6px;display:flex}.compact-bar__coins{padding:2px 8px 2px 4px;font-size:14px}.compact-bar__session{border-left:1px solid var(--line);border-right:1px solid var(--line);flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 4px;display:flex}.compact-bar__timer{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:14px;font-weight:650}.compact-bar__tools{align-items:center;gap:2px;display:flex}.compact-bar__btn{width:36px;height:36px;color:var(--ink-soft);background:0 0;border:none;border-radius:10px;position:relative}.compact-bar__btn:hover{color:var(--ink);background:#403d3512}.compact-bar__btn.is-active{background:var(--panel-sunk);color:var(--ink)}.compact-bar__start{background:var(--forest);color:var(--cream)}.compact-bar__start:hover{background:var(--forest-deep);color:var(--cream)}.compact-bar__stop{color:var(--terracotta-deep)}.compact-bar__badge{min-width:16px;height:16px;padding:0 4px;font-size:10px;top:-2px;right:-2px}.toasts--compact{align-self:flex-end;width:min(312px,100%)}.toasts--compact .toast{padding:6px 6px 6px 8px}.toasts--compact .toast__icon{width:26px;height:26px}.hud--compact:has(.panel) .toasts--compact .toast:not(.toast--warn){display:none}.hud--compact .panel{width:auto;max-height:none;inset:62px 8px 8px}@media (min-width:560px){.hud--compact .panel{width:min(384px,100% - 16px);left:auto}}.hud--compact .panel__head{padding:8px 10px 8px 14px}.hud--compact .panel__head h2{font-size:17px}.hud--compact .panel__body{padding:10px 12px 14px}
