@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2)format("woff2"),url(/assets/pixelify-sans-latin-400-normal-JapMNN6Z.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2)format("woff2"),url(/assets/pixelify-sans-latin-600-normal-BNlgYbDL.woff)format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-ext-400-normal-DdH6zlBQ.woff2)format("woff2"),url(/assets/pixelify-sans-latin-ext-400-normal-BkfTUL4s.woff)format("woff")}:root{--g1:#24594a;--g2:#2f7a4f;--g3:#4c9a4b;--g4:#77bd4f;--g5:#a6d65a;--g6:#d4ec7e;--w0:#3b2528;--w1:#5e3a30;--w2:#84553a;--w3:#a87348;--w4:#cf9a5f;--w5:#e8c088;--s0:#2a2438;--s1:#403852;--s2:#5c5370;--s3:#7d7591;--s4:#a29bb4;--s5:#cbc6d8;--c0:#6b6fae;--c1:#8f95cf;--c2:#b7bde8;--c3:#dde0f7;--c4:#f7f6fd;--k0:#3f6fc4;--k1:#5a8fdc;--k2:#7fb3ec;--k3:#b3d9f7;--k4:#ffe3c4;--r1:#8f2840;--r2:#c43d48;--r3:#e8644f;--r4:#f79a73;--y0:#7a4a18;--y1:#b8761f;--y2:#e8a92c;--y3:#f7d24a;--y4:#fdeb8f;--y5:#fff8d0;--b1:#2a4f94;--b2:#3d7cc9;--b3:#6aaee6;--b4:#a9daf5;--v1:#523b8f;--v2:#7a5fc2;--v3:#a690e6;--v4:#d1c4f7;--ink:#1d1626;--cream:#fff4e0;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--font:"Pixelify Sans", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--k1);height:100%;font-family:var(--font);color:var(--w0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#sky{background:linear-gradient(#3f6fc4 0%,#5a8fdc 28%,#7fb3ec 52%,#b3d9f7 72%,#f7f6fd 86%,#ffe3c4 100%);position:fixed;inset:0}#game{position:fixed;inset:0}#game canvas{image-rendering:auto;display:block}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui *{pointer-events:auto}#ui .passthrough,#ui .passthrough *{pointer-events:none}img.px{image-rendering:pixelated;image-rendering:crisp-edges;display:block}#boot{z-index:50;text-align:center;color:var(--cream);background:linear-gradient(#5a8fdc,#b3d9f7);place-content:center;transition:opacity .5s;display:grid;position:fixed;inset:0}#boot.hidden{opacity:0;pointer-events:none}.boot-title{text-shadow:0 4px 0 var(--k0), 0 -2px 0 var(--b1);font-size:44px;font-weight:600}.boot-sub{opacity:.9;justify-self:center;max-width:min(340px,100vw - 32px);margin-top:10px;font-size:18px}.boot-btn{justify-self:center;margin-top:18px;padding:8px 20px;font-size:18px}.px-box{background:var(--cream);box-shadow:0 -3px 0 0 var(--w1), 0 3px 0 0 var(--w1), -3px 0 0 0 var(--w1), 3px 0 0 0 var(--w1), inset 0 3px 0 0 var(--y5), inset 0 -3px 0 0 var(--w5), 0 8px 0 0 #1d162647;border-radius:2px}.px-btn{font-family:var(--font);color:var(--cream);cursor:pointer;background:var(--g3);box-shadow:0 -2px 0 0 var(--g1), 0 2px 0 0 var(--g1), -2px 0 0 0 var(--g1), 2px 0 0 0 var(--g1), inset 0 2px 0 0 var(--g5), inset 0 -3px 0 0 var(--g2), 0 5px 0 0 #1d16264d;text-shadow:0 2px 0 var(--g1);border:0;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:16px;font-weight:600;line-height:1.1;transition:transform 60ms;display:inline-flex;position:relative}.px-btn:active:not(:disabled){transform:translateY(2px)}.px-btn:disabled{filter:grayscale(.85)brightness(.95);opacity:.7;cursor:default}.px-btn.gold{background:var(--y2);text-shadow:0 2px 0 var(--y0);box-shadow:0 -2px 0 0 var(--y0), 0 2px 0 0 var(--y0), -2px 0 0 0 var(--y0), 2px 0 0 0 var(--y0), inset 0 2px 0 0 var(--y4), inset 0 -3px 0 0 var(--y1), 0 5px 0 0 #1d16264d}.px-btn.blue{background:var(--b2);text-shadow:0 2px 0 var(--b1);box-shadow:0 -2px 0 0 var(--b1), 0 2px 0 0 var(--b1), -2px 0 0 0 var(--b1), 2px 0 0 0 var(--b1), inset 0 2px 0 0 var(--b4), inset 0 -3px 0 0 var(--b1), 0 5px 0 0 #1d16264d}.px-btn.red{background:var(--r3);text-shadow:0 2px 0 var(--r1);box-shadow:0 -2px 0 0 var(--r1), 0 2px 0 0 var(--r1), -2px 0 0 0 var(--r1), 2px 0 0 0 var(--r1), inset 0 2px 0 0 var(--r4), inset 0 -3px 0 0 var(--r2), 0 5px 0 0 #1d16264d}.px-btn.wood{background:var(--w3);text-shadow:0 2px 0 var(--w1);box-shadow:0 -2px 0 0 var(--w1), 0 2px 0 0 var(--w1), -2px 0 0 0 var(--w1), 2px 0 0 0 var(--w1), inset 0 2px 0 0 var(--w4), inset 0 -3px 0 0 var(--w2), 0 5px 0 0 #1d16264d}.px-btn.small{padding:4px 8px;font-size:13px}.px-btn.icon-only{padding:4px}.hud-top{top:calc(10px + var(--safe-top));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-top>*{pointer-events:auto}.hud-level{align-items:center;gap:8px;padding:5px 10px 5px 6px;display:flex}.level-badge{place-items:center;width:38px;height:38px;display:grid;position:relative}.level-badge img{width:38px;height:38px;position:absolute;inset:0}.level-badge span{color:var(--y0);text-shadow:0 1px 0 var(--y5);margin-top:3px;font-size:15px;font-weight:600;position:relative}.xp-bar{background:var(--w1);width:110px;height:12px;padding:2px}.xp-bar>div{background:linear-gradient(180deg, var(--b4) 0 30%, var(--b3) 30% 100%);height:100%;transition:width .4s}.xp-text{color:var(--w2);margin-top:2px;font-size:11px}.hud-res{gap:10px;display:flex}.pill{align-items:center;gap:6px;min-width:84px;padding:5px 10px 5px 6px;font-size:18px;font-weight:600;display:flex}.pill .plus{margin-left:4px}.hud-bottom{bottom:calc(12px + var(--safe-bottom));pointer-events:none;justify-content:center;gap:12px;display:flex;position:absolute;left:0;right:0}.hud-bottom>*{pointer-events:auto}.hud-btn{flex-direction:column;align-items:center;gap:2px;min-width:66px;padding:7px 10px 5px;font-size:13px;display:flex}.hud-btn .badge{background:var(--r3);color:var(--cream);min-width:20px;height:20px;box-shadow:0 0 0 2px var(--r1);place-items:center;font-size:12px;display:grid;position:absolute;top:-8px;right:-8px}.pulse{animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:translateY(0)scale(1)}50%{filter:brightness(1.12);transform:translateY(-4px)scale(1.06)}}.scrim{background:#1d162640;position:absolute;inset:0}.panel{left:50%;bottom:calc(14px + var(--safe-bottom));flex-direction:column;width:min(560px,100vw - 24px);max-height:min(72vh,640px);animation:.18s ease-out slideUp;display:flex;position:absolute;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.panel-head{border-bottom:3px dashed var(--w5);align-items:center;gap:10px;padding:10px 12px 8px;display:flex}.panel-head h2{color:var(--w1);flex:1;margin:0;font-size:22px;font-weight:600}.panel-body{padding:10px 12px 14px;overflow-y:auto}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.tab{font-family:var(--font);background:var(--w5);color:var(--w1);cursor:pointer;box-shadow:0 0 0 2px var(--w2);border:0;padding:5px 10px;font-size:15px}.tab.on{background:var(--y3);color:var(--y0);box-shadow:0 0 0 2px var(--y0)}.grid{gap:10px;display:grid}.card{background:var(--y5);box-shadow:0 0 0 2px var(--w4), 0 3px 0 0 var(--w4);flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.card.locked{opacity:.6}.card.ok{box-shadow:0 0 0 2px var(--g3), 0 3px 0 0 var(--g3);background:#f3fbd9}.card h3{color:var(--w1);margin:0;font-size:15px;font-weight:600}.row{align-items:center;gap:6px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--w2);font-size:13px}.need{background:#ffffff80;align-items:center;gap:2px;padding:1px 4px 1px 1px;font-size:14px;font-weight:600;display:inline-flex}.need.lack{color:var(--r2)}.need.have{color:var(--g2)}.money{align-items:center;gap:3px;font-weight:600;display:inline-flex}.bar{background:var(--w1);height:10px;padding:2px}.bar>div{background:var(--g4);height:100%;box-shadow:inset 0 2px 0 var(--g6)}.slot{background:var(--w5);width:52px;height:52px;box-shadow:inset 0 0 0 2px var(--w4);place-items:center;display:grid;position:relative}.slot .t{text-align:center;color:var(--w1);font-size:10px;position:absolute;bottom:-2px;left:0;right:0}.slot.done{box-shadow:inset 0 0 0 2px var(--g3);background:#e6f5c2}.slot.empty{opacity:.55}.qty{color:var(--w0);text-shadow:0 1px 0 var(--cream), 1px 0 0 var(--cream), -1px 0 0 var(--cream);font-size:13px;font-weight:600;position:absolute;bottom:0;right:2px}.pop{align-items:center;gap:8px;padding:8px;animation:.14s ease-out pop;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}@keyframes pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.9)}}.pop:after{content:"";background:var(--cream);width:10px;height:10px;box-shadow:3px 3px 0 0 var(--w1);position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.seed{cursor:grab;touch-action:none;flex-direction:column;align-items:center;gap:0;min-width:44px;padding:4px;display:flex;position:relative}.seed:active{cursor:grabbing}.seed.locked{opacity:.45;cursor:default}.seed span{font-size:12px;font-weight:600}.drag-ghost{filter:drop-shadow(0 4px #1d162659);position:absolute;transform:translate(-50%,-110%);pointer-events:none!important}.toasts{bottom:calc(86px + var(--safe-bottom));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{padding:6px 12px;font-size:15px;animation:.15s pop;pointer-events:none!important}.toast.error{background:#ffe1d6}.toast.good{background:#e6f5c2}.placement-bar{bottom:calc(18px + var(--safe-bottom));align-items:center;gap:10px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.modal{text-align:center;width:min(380px,100vw - 32px);padding:18px;animation:.25s cubic-bezier(.2,1.6,.4,1) zoomIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes zoomIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}.confirm-box p{margin:0 0 16px;font-size:17px;line-height:1.3}.modal h2{color:var(--y1);text-shadow:0 3px 0 var(--y4);margin:0 0 6px;font-size:30px}.tutorial{top:calc(66px + var(--safe-top));align-items:center;gap:10px;width:min(460px,100vw - 20px);padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tutorial p{flex:1;margin:0;font-size:15px;line-height:1.25}.portrait{background:var(--k3);width:48px;height:48px;box-shadow:0 0 0 2px var(--w2);flex:none;place-items:center;display:grid;overflow:hidden}@media (max-width:520px){.xp-bar{width:72px}.pill{min-width:64px;padding:4px 8px 4px 4px;font-size:15px}.hud-btn{min-width:58px;padding:6px 6px 4px;font-size:12px}.hud-bottom{gap:8px}.panel{max-height:78vh}.panel-head h2{font-size:19px}}.seeds-pop{max-height:min(56vh,330px);overflow-y:auto}.chip{background:var(--w5);box-shadow:inset 0 0 0 2px var(--w4);font-family:var(--font);color:var(--w1);cursor:pointer;border:0;align-items:center;gap:3px;padding:2px 6px 2px 2px;font-size:12px;display:inline-flex}.chip.on{box-shadow:inset 0 0 0 2px var(--g3);background:#e6f5c2}.chip.price{flex-direction:column;align-items:flex-start;gap:1px;padding:5px 8px}.mix-pool{max-height:150px;padding:2px;overflow-y:auto}.card.experiment{background:linear-gradient(#fbeef2,#fff4e0)}.card.secret{background:repeating-linear-gradient(45deg,#f6e8d0 0 6px,#efdcc0 6px 12px)}.mystery{width:32px;height:32px;color:var(--cream);background:#7d4530;place-items:center;font-size:22px;font-weight:600;display:grid;box-shadow:inset 0 0 0 2px #45231f}.mystery.small{width:22px;height:22px;font-size:14px}.hud-right{justify-items:end;gap:6px;display:grid}.hud-world{pointer-events:auto;align-items:center;gap:4px;padding:3px 8px 3px 4px;font-size:13px;display:flex}.hud-world .muted{font-size:12px}.hud-left{justify-items:start;gap:6px;display:grid}.hud-missions{pointer-events:auto;align-items:center;gap:4px;display:flex;position:relative}.hud-missions .badge{background:var(--r3);color:var(--cream);min-width:20px;height:20px;box-shadow:0 0 0 2px var(--r1);place-items:center;font-size:12px;display:grid;position:absolute;top:-8px;right:-8px}.stars{color:#f7d24a;letter-spacing:-1px;text-shadow:0 1px #7a4a18;line-height:1}.stars .off{color:#d8c6a8;text-shadow:none}.fishing{gap:10px;display:grid}.pond{background:radial-gradient(at 50% 60%,#8edbc0 0%,#52bba5 45%,#2c958f 100%);place-items:center;height:110px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #1d6e75}.pond .muted{color:#102838}.bobber{background:linear-gradient(#e8644f 0 50%,#fff4e0 50% 100%);border-radius:50% 50% 40% 40%;width:14px;height:20px;box-shadow:0 0 0 2px #5c1a33}.bobber.wait{animation:1.4s ease-in-out infinite bob}.bobber.bite{animation:.18s ease-in-out infinite bite}@keyframes bob{50%{transform:translateY(3px)}}@keyframes bite{50%{transform:translateY(6px)rotate(8deg)}}.catch{color:#102838;justify-items:center;gap:4px;display:grid}.reel{background:#f6e8d0;height:22px;position:relative;box-shadow:inset 0 0 0 2px #84553a}.reel .zone{background:#77bd4f;position:absolute;top:2px;bottom:2px;box-shadow:inset 0 0 0 2px #2f7a4f}.reel .marker{background:#e8644f;width:4px;height:30px;margin-left:-2px;position:absolute;top:-4px;box-shadow:0 0 0 2px #5c1a33}.px-select{font-family:var(--font);background:var(--w5);color:var(--w1);box-shadow:inset 0 0 0 2px var(--w3);border:0;padding:3px 6px;font-size:14px}.hud-shortcuts{justify-items:start;gap:6px;display:grid}.tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}@media (max-width:600px){.hud-shortcuts{grid-template-columns:repeat(4,auto);gap:4px}.hud-shortcuts .lbl{display:none}.hud-shortcuts .hud-missions{padding:4px 6px}}.tip p{margin:0}@media (max-width:600px){.placement-bar{flex-wrap:wrap;justify-content:space-between;left:10px;right:10px;transform:none}}.sync-row{align-items:flex-start}.link-flow,.link-form{flex-direction:column;gap:8px;display:flex}.link-error{color:var(--r1);font-size:13px}.px-input{font-family:var(--font);color:var(--w0);background:var(--cream);box-shadow:inset 0 0 0 2px var(--w3), inset 0 3px 0 0 #5e3a3026;-webkit-user-select:text;user-select:text;box-sizing:border-box;border:0;outline:none;width:100%;min-width:0;padding:8px 10px;font-size:16px}.px-input:focus{box-shadow:inset 0 0 0 2px var(--b2), inset 0 3px 0 0 #5e3a3026}.px-input.code{letter-spacing:8px;text-align:center;font-size:24px}.farm-choice{background:var(--cream);box-shadow:0 0 0 2px var(--w4);align-items:center;gap:8px;padding:8px;display:flex}.farm-choice .col{flex-direction:column;gap:4px;display:flex}.farm-choice .px-btn{white-space:nowrap}.friend-row{border-top:2px dashed #84553a40;align-items:center;gap:6px;padding:6px 0;display:flex}.friend-row:first-of-type{border-top:0}.friend-row .col,.visit-bar .col{flex-direction:column;gap:2px;min-width:0;display:flex}.friend-code{letter-spacing:1px;text-transform:uppercase;font-family:ui-monospace,Cascadia Mono,Consolas,Courier New,monospace;font-weight:700}input.friend-code{max-width:140px}.visit-bar{top:calc(10px + var(--safe-top));box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:12px;width:min(460px,100vw - 20px);padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.visit-bar .col{flex:1}.visit-actions{gap:6px;width:100%;display:flex}.visit-actions .px-btn{align-items:center;gap:4px;display:inline-flex}.friend-row .px-btn{align-items:center;display:inline-flex}.sync-row .sync-dot{margin-top:5px}.sync-dot{background:var(--w4);width:10px;height:10px;box-shadow:0 0 0 2px var(--w2);border-radius:50%;flex:none}.sync-dot.ok{background:#77bd4f;box-shadow:0 0 0 2px #2f7a4f}.sync-dot.syncing,.sync-dot.idle{background:#f7d24a;box-shadow:0 0 0 2px #b8761f}.sync-dot.offline,.sync-dot.paused{background:#a29bb4;box-shadow:0 0 0 2px #5c5370}.sync-dot.error,.sync-dot.update{background:#e8644f;box-shadow:0 0 0 2px #8f2840}.chat-list{background:var(--w5);min-height:140px;max-height:min(46vh,380px);box-shadow:inset 0 0 0 2px var(--w4);flex-direction:column;gap:4px;padding:6px;display:flex;overflow-y:auto}.chat-msg{background:var(--y5);box-shadow:0 0 0 1px var(--w4);cursor:pointer;flex-direction:column;align-self:flex-start;gap:1px;max-width:85%;padding:4px 7px;display:flex}.chat-msg.mine{box-shadow:0 0 0 1px var(--g3);background:#e6f5c2;align-self:flex-end}.chat-msg.help{box-shadow:0 0 0 2px var(--y2);background:#fff1cf}.chat-msg.system{box-shadow:none;color:var(--w2);cursor:default;text-align:center;background:0 0;align-self:center;max-width:100%;font-size:12px;font-style:italic}.chat-msg .who{color:var(--w1);font-size:12px;font-weight:700}.chat-msg .what{color:var(--w0);overflow-wrap:anywhere;align-items:center;gap:4px;font-size:14px;display:inline-flex}.chat-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chat-input{gap:6px;margin-top:8px;display:flex}.chat-input .px-input{flex:1;min-width:0}.quick-phrases{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.quick-phrases .chip{padding:4px 8px;font-size:13px}.emblem-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.emblem-grid .chip{justify-content:center;padding:4px}.regatta-track{height:34px;box-shadow:inset 0 0 0 2px var(--b2,#5d8fd1);background:linear-gradient(#bfe3ff,#e9f6ff);margin:8px 12px 4px;position:relative}.regatta-fill{background:linear-gradient(#ffd6668c,#ffba498c);position:absolute;top:0;bottom:0;left:0}.regatta-flag{background:var(--w2);width:3px;height:24px;margin-left:-1px;position:absolute;top:4px}.regatta-flag:after{content:"";background:var(--w4);width:9px;height:7px;position:absolute;top:0;left:3px}.regatta-flag.on:after{background:#e8644f}.regatta-balloon{position:absolute;top:1px;transform:translate(-50%)}.locked-row{opacity:.6}.own-row{box-shadow:inset 0 0 0 2px var(--y2);background:#fff1cf;padding-left:4px;padding-right:4px}.regatta-pill{align-items:center;gap:4px;display:inline-flex}.tutorial-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.link-btn{font-family:var(--font);color:var(--b2);cursor:pointer;pointer-events:auto;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}.captcha-box{z-index:60;text-align:center;flex-direction:column;align-items:center;gap:8px;width:min(340px,100vw - 24px);padding:12px;transition:opacity .2s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.captcha-box p{margin:0;font-size:14px;line-height:1.3}.captcha-box.waiting{opacity:0;pointer-events:none}.update-banner{left:50%;bottom:calc(86px + var(--safe-bottom));pointer-events:auto;z-index:5;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:6px 8px 6px 12px;font-size:14px;display:flex;position:absolute;transform:translate(-50%)}.legal-links{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:4px 0 0;display:flex}.legal-links a{color:var(--b2)}
