:root{--wood: #b5793f;--wood-dark: #8a5a2b;--cream: #fff6e6;--cream-line: #ffe9c2;--ink: #4a3520;--gold: #ffb300;--green: #5fb347;--shadow: 0 4px 0 rgba(120, 80, 40, .35), 0 8px 18px rgba(80, 50, 20, .18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;font-family:"Baloo 2",Nunito,Segoe UI,system-ui,sans-serif;-webkit-user-select:none;user-select:none}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block}#boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#fbefd3,#f0dcb4);transition:opacity .5s ease}#boot img{width:min(58vmin,360px);height:auto;filter:drop-shadow(0 6px 16px rgba(120,80,40,.22));animation:boot-pop .5s ease}#boot.hide{opacity:0;pointer-events:none}@keyframes boot-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--ink)}#hud .panel,#hud .topbar,#hud .hint,#hud .hub-bar .hub-btn,#hud .emote-picker,#hud .modal-overlay,#hud .menu-overlay{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 18px}.brand{font-size:28px;font-weight:800;color:#fff;text-shadow:0 2px 0 var(--wood-dark),0 4px 6px rgba(0,0,0,.25);letter-spacing:.5px}.coins{display:flex;align-items:center;gap:8px;background:var(--cream);border:3px solid var(--wood);border-radius:18px;padding:6px 16px;font-size:24px;font-weight:800;box-shadow:var(--shadow);transition:transform .12s}.coins.pop{animation:coinpop .35s ease}@keyframes coinpop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.top-right{display:flex;align-items:center;gap:10px}.iconbtn{font-family:inherit;font-size:20px;cursor:pointer;border:3px solid var(--wood);border-radius:14px;background:linear-gradient(#fffaf0,var(--cream-line));width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px #ffffffb3,var(--shadow);transition:transform .08s,filter .1s}.iconbtn{position:relative}.iconbtn:hover{filter:brightness(1.04)}.iconbtn:active{transform:translateY(2px)}.iconbtn:after{content:attr(data-label);position:absolute;top:calc(100% + 7px);right:0;background:var(--cream);border:2px solid var(--wood);border-radius:9px;padding:2px 9px;font-size:12px;font-weight:800;color:var(--wood-dark);white-space:nowrap;box-shadow:var(--shadow);opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:6}.iconbtn:hover:after,.iconbtn:focus-visible:after,.iconbtn:active:after{opacity:1;transform:translateY(0)}.uic{display:inline-block;vertical-align:-.18em;filter:drop-shadow(0 1px 0 rgba(120,80,20,.18))}.iconbtn .uic,.modal-close .uic,.dex-portrait .uic{vertical-align:middle}.brand .uic{vertical-align:-.16em}.coin-icon{display:inline-flex}.ci{vertical-align:-.18em;filter:drop-shadow(0 1px 0 rgba(120,80,20,.3))}.sp-cost .ci{vertical-align:-.15em}.coinfly .ci,.poplabel .ci{vertical-align:-.12em}.panel{position:absolute;background:linear-gradient(160deg,#fffaf0,var(--cream) 55%,var(--cream-line));border:3px solid var(--wood);border-radius:18px;box-shadow:inset 0 2px #ffffffa6,var(--shadow);padding:12px 14px;min-width:180px}.panel-title{font-weight:800;font-size:16px;margin-bottom:8px;color:var(--wood-dark);text-transform:uppercase;letter-spacing:.5px}.inv-panel{left:16px;bottom:16px}.shop-panel{right:16px;bottom:16px}.upg-panel{right:16px;top:76px}.pets-panel{left:16px;top:120px;max-width:210px}.pets-rows{display:flex;flex-direction:column;gap:4px;max-height:38vh;overflow-y:auto}.pet-row{display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px;padding:2px 4px}.pet-row .sp-icon{font-size:17px}.pet-name{flex:1}.pet-rarity{font-size:11px;color:var(--wood-dark);opacity:.85}.pet-row .mood{font-size:14px}.pet-name{cursor:pointer;border-radius:6px;padding:0 3px}.pet-name:hover{background:var(--cream-line)}.name-input{font-family:inherit;font-weight:700;font-size:14px;width:92px;border:2px solid var(--wood);border-radius:8px;padding:1px 5px;background:#fff;color:var(--ink)}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3c281473;display:flex;align-items:center;justify-content:center;z-index:100}.modal{position:relative;background:var(--cream);border:4px solid var(--wood);border-radius:22px;box-shadow:var(--shadow);padding:20px 22px;max-width:560px;width:90vw;max-height:82vh;overflow-y:auto}.modal-close{position:absolute;top:8px;right:8px;width:44px;height:44px;min-width:44px;min-height:44px;border:2px solid var(--wood);border-radius:50%;background:linear-gradient(#fffaf0,var(--cream-line));padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 2px #ffffffb3,var(--shadow);touch-action:manipulation;z-index:2;transition:transform .08s,filter .1s}.modal-close:hover{filter:brightness(1.05)}.modal-close:active{transform:translateY(1px)}.modal-title{font-size:22px;font-weight:800;color:var(--wood-dark);margin-bottom:14px;padding-right:46px}.modal-count{font-size:15px;color:var(--green)}.modal-foot{margin-top:14px;text-align:center;font-weight:700;color:var(--wood-dark);opacity:.7}.dex-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dex-card{background:var(--cream-line);border:3px solid var(--wood);border-radius:16px;padding:12px;text-align:center}.dex-card.locked{opacity:.55;filter:grayscale(.6)}.dex-portrait{font-size:40px;line-height:1.1}.dex-name{font-weight:800;font-size:17px}.dex-rarity{font-weight:800;font-size:13px}.dex-sub{font-size:12px;color:var(--wood-dark)}.dex-traits{font-size:12px;opacity:.8;font-style:italic;min-height:1em}.goal-list{display:flex;flex-direction:column;gap:12px}.goal-note{background:#fff8e8;border:2px dashed var(--wood);border-radius:12px;padding:12px 14px;box-shadow:0 2px #78502833}.goal-note.claimed{opacity:.6}.goal-task{font-weight:800;font-size:16px;margin-bottom:8px}.goal-bar{position:relative;height:18px;background:#e8d9b8;border-radius:10px;overflow:hidden;margin-bottom:10px}.goal-fill{height:100%;background:var(--green);border-radius:10px;transition:width .3s}.goal-prog{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--ink)}.claim-btn{width:100%}.claim-stamp{color:var(--green);font-weight:900;font-size:16px;text-align:center;border:2px solid var(--green);border-radius:10px;padding:5px;transform:rotate(-3deg)}.heart{position:fixed;font-size:20px;pointer-events:none;z-index:60;transform:translate(-50%,-50%)}.sparkle{position:fixed;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd23d 60%,#ff9f1c);box-shadow:0 0 7px #ffc83ce6;pointer-events:none;z-index:60;transform:translate(-50%,-50%)}.rdot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:0 0 auto;box-shadow:0 0 5px #00000040,inset 0 0 2px #fff9}.inv-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.inv-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;font-size:15px;font-weight:700;opacity:.45;padding:2px 4px;border-radius:8px}.inv-row.has{opacity:1;background:var(--cream-line)}.inv-row .qty{color:var(--wood-dark)}.inv-row .val{color:var(--green);font-weight:800}.basket{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--wood-dark);background:var(--cream-line);border:2px solid var(--wood);border-radius:12px;padding:5px 12px;margin-bottom:8px}.basket .basket-count{margin-left:auto;color:var(--green)}.basket.full{border-color:#e6a23c;background:#fff3dd}.basket.full .basket-count{color:#d98a1f}.basket .basket-hint{color:#d98a1f;font-weight:700;font-size:13px}.shop-rows,.upg-rows{display:flex;flex-direction:column;gap:6px}.btn{font-family:inherit;font-weight:800;cursor:pointer;border-style:solid;border-width:14px 16px 18px;border-image:url(/ui/plate-wood.png) 16 16 20 fill stretch;background:transparent;color:var(--cream);text-shadow:0 1px 0 rgba(80,40,15,.42);padding:0 2px;font-size:15px;line-height:1.05;transition:transform .08s,filter .1s}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(2px);filter:brightness(.93)}.btn.sell,.shop-row,.claim-btn{border-image-source:url(/ui/plate-sage.png)}.btn.sell{width:100%;font-size:16px}.btn.dim{border-image-source:url(/ui/plate-grey.png);color:#5c5044;text-shadow:none;cursor:default}.btn.dim:active{transform:none;filter:none}.shop-row,.upg-row{display:flex;align-items:center;gap:8px;text-align:left}.shop-row .sp-icon{font-size:20px}.shop-row .sp-name{flex:1}.sp-cost{color:inherit;font-weight:800}.upg-row{justify-content:space-between}.cap-line{font-weight:800;font-size:14px;color:var(--wood-dark);margin-bottom:4px}.hint{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#fff6e6f2;border:2px solid var(--wood);border-radius:14px;padding:8px 16px;font-weight:700;font-size:15px;max-width:80vw;text-align:center;box-shadow:var(--shadow)}.toast{position:absolute;top:70px;left:50%;transform:translate(-50%,-8px);background:#fff6e6f7;border:2px solid var(--wood);border-radius:14px;padding:8px 18px;font-weight:800;font-size:15px;max-width:84vw;text-align:center;color:var(--wood-dark);box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity .3s ease,transform .3s ease;z-index:70}.toast.show{opacity:1;transform:translate(-50%)}.stat.presence{gap:8px}.hub-bar{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 16px;pointer-events:none;z-index:30}.hub-btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:800;font-size:16px;color:var(--wood-dark);border:3px solid var(--wood);border-radius:16px;padding:10px 18px;min-height:48px;cursor:pointer;background:linear-gradient(#fffaf0,var(--cream-line));box-shadow:inset 0 2px #ffffffb3,var(--shadow);touch-action:manipulation;transition:transform .08s,filter .1s}.hub-btn:hover{filter:brightness(1.04)}.hub-btn:active{transform:translateY(2px)}.hub-btn .uic{vertical-align:middle}.emote-picker{position:absolute;left:16px;bottom:70px;display:flex;gap:6px;padding:8px 10px;background:linear-gradient(160deg,#fffaf0,var(--cream) 60%,var(--cream-line));border:3px solid var(--wood);border-radius:18px;box-shadow:inset 0 2px #ffffffa6,var(--shadow);z-index:31}.emote-picker.hidden{display:none}.emote-opt{font-size:26px;line-height:1;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:12px;background:#fffaf0;cursor:pointer;touch-action:manipulation;transition:transform .08s,border-color .1s}.emote-opt:hover{border-color:var(--wood)}.emote-opt:active{transform:scale(.9)}.emote-bubble{position:fixed;font-size:30px;line-height:1;pointer-events:none;z-index:60;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}.hubmenu-list{display:flex;flex-direction:column;gap:12px}.hubmenu-row{display:flex;align-items:center;gap:10px;justify-content:flex-start;font-weight:800;font-size:16px;color:var(--wood-dark);padding:12px 14px;border-radius:14px}.hubmenu-help{background:#fff8e8;border:2px dashed var(--wood);border-radius:14px;padding:12px 14px}.hubmenu-help-t{font-weight:800;color:var(--wood-dark);margin-bottom:4px}.hubmenu-help-s{font-size:14px;color:var(--wood-dark);opacity:.8;line-height:1.4}.coinfly,.poplabel{position:fixed;font-weight:900;font-size:22px;pointer-events:none;z-index:50;text-shadow:0 2px 0 rgba(0,0,0,.18);transform:translate(-50%,-50%)}.coinfly{color:var(--gold);transition:transform .75s cubic-bezier(.3,0,.2,1),opacity .75s}.poplabel{animation:rise .9s ease forwards}.poplabel.gain{color:var(--green)}.poplabel.spend{color:#d9483b}.coinpop{position:fixed;pointer-events:none;z-index:55;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 3px rgba(160,110,30,.4))}@keyframes rise{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}20%{transform:translate(-50%,-120%) scale(1.1);opacity:1}to{transform:translate(-50%,-240%) scale(1);opacity:0}}.statbar{display:flex;align-items:center;gap:10px}.stat{display:flex;align-items:center;gap:7px;background:var(--cream);border:3px solid var(--wood);border-radius:16px;padding:5px 13px;font-size:19px;font-weight:800;color:var(--ink);box-shadow:var(--shadow)}.stat.coins{font-size:23px;padding:6px 16px;transition:transform .12s}.stat.full{border-color:var(--gold);background:#fff3d4;animation:coinpop .4s ease}#chips{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.chip{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:5px;font-family:inherit;font-weight:800;font-size:13px;color:var(--wood-dark);background:linear-gradient(#fffaf0,var(--cream-line));border:3px solid var(--wood);border-radius:999px;padding:4px 11px 4px 8px;box-shadow:inset 0 2px #ffffffb3,var(--shadow);white-space:nowrap;animation:chip-bob 3.2s ease-in-out infinite;transition:transform .12s,filter .12s}.chip .chip-ic{display:inline-flex;align-items:center;justify-content:center;width:1.55em;height:1.55em;background:#fffdf8;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--cream-line)}.chip:hover{filter:brightness(1.06);transform:translate(-50%,-50%) scale(1.12)}.chip:active{transform:translate(-50%,-50%) scale(1.04)}@keyframes chip-bob{0%,to{margin-top:0}50%{margin-top:-4px}}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:90}.menu-card{position:absolute;background:linear-gradient(160deg,#fffaf0,var(--cream) 55%,var(--cream-line));border:4px solid var(--wood);border-radius:20px;box-shadow:inset 0 2px #ffffffa6,var(--shadow),0 14px 26px #50321447;padding:14px 16px;width:280px;max-width:92vw;overflow:visible}#menuBody{max-height:62vh;overflow-y:auto}.menu-card:before,.menu-card:after{content:"";position:absolute;left:var(--tail-x, 50%);transform:translate(-50%);width:0;height:0;border-style:solid}.menu-card.tail-bottom:before{bottom:-19px;border-width:17px 13px 0;border-color:var(--wood) transparent transparent}.menu-card.tail-bottom:after{bottom:-12px;border-width:12px 9px 0;border-color:var(--cream-line) transparent transparent}.menu-card.tail-top:before{top:-19px;border-width:0 13px 17px;border-color:transparent transparent var(--wood)}.menu-card.tail-top:after{top:-12px;border-width:0 9px 12px;border-color:transparent transparent #fffaf0}.menu-card.pop-in{animation:menu-rise .22s cubic-bezier(.34,1.45,.6,1)}@keyframes menu-rise{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.menu-title{font-weight:800;font-size:18px;color:var(--cream);background:linear-gradient(var(--wood),var(--wood-dark));border-radius:12px;padding:7px 12px;margin:0 46px 11px 0;text-shadow:0 1px 0 rgba(80,40,15,.5);display:flex;align-items:center;gap:7px}.menu-title-ic{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;background:#fffdf8;border-radius:50%;flex:none}.menu-tabs{display:flex;gap:6px;margin-bottom:10px}.menu-tab{flex:1;font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;padding:6px 0;border:2px solid var(--wood);border-radius:12px;background:var(--cream-line);color:var(--wood-dark)}.menu-tab.on{background:var(--wood);color:var(--cream)}.menu-foot{margin-top:10px;font-weight:700;font-size:13px;color:var(--wood-dark);opacity:.8;text-align:center}.tp-keeper{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:5px 10px;background:var(--cream-line);border:2px solid var(--wood);border-radius:12px}.tp-keeper img{width:36px;height:36px}.tp-keeper span{font-weight:800;color:var(--wood-dark)}.tp-grid{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;margin-bottom:8px}.tp-card{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--cream-line);border:2px solid var(--wood);border-radius:12px;box-shadow:0 2px #0000001f}.tp-thumb{width:46px;height:46px;flex:0 0 auto}.tp-thumb.tp-fish{display:flex;align-items:center;justify-content:center}.tp-info{display:flex;flex-direction:column;flex:1;min-width:0}.tp-name{font-weight:800;color:var(--wood-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-qty{font-size:13px;color:var(--wood-dark);opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-fishval{font-weight:800;color:var(--green);white-space:nowrap}.tp-sell,.tp-buy{margin-left:auto;flex-shrink:0;font-size:13px;padding:0 4px;border-width:9px 11px 12px;white-space:nowrap}.tp-sellall{width:100%}.tp-empty{text-align:center;padding:24px 14px;color:var(--wood-dark);font-weight:700;line-height:1.5}.tp-note{text-align:center;font-size:12px;margin:0 0 8px}#decorBar{background:var(--cream);border:3px solid var(--wood);border-radius:16px;box-shadow:0 6px #0000002e;padding:0 0 10px;width:214px;overflow:hidden}.decor-head{background:var(--wood);color:#fff;font-weight:800;font-size:15px;padding:9px 12px;display:flex;align-items:center;gap:6px}.decor-head svg{width:18px;height:18px}.decor-hint{font-size:11px;color:var(--wood);padding:8px 12px 4px}.decor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 10px}.decor-card{display:flex;flex-direction:column;align-items:center;gap:3px;background:#fffaf0;border:2px solid var(--wood);border-radius:12px;padding:8px 4px;cursor:pointer;color:var(--wood-dark);font-family:inherit}.decor-card .decor-ic{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.decor-card .decor-ic img{width:100%;height:100%;object-fit:contain;image-rendering:auto}.decor-card .decor-name{font-size:10px;font-weight:700}.decor-card.on{background:var(--green);border-color:#4a9636;color:#fff}.decor-actions{display:flex;gap:6px;padding:8px 10px 0}.decor-btn{flex:1;border:2px solid var(--wood);border-radius:11px;background:#fffaf0;color:var(--wood-dark);font-weight:700;padding:7px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:4px}.decor-btn svg{width:1em;height:1em}.decor-btn.primary{background:var(--green);border-color:#4a9636;color:#fff;font-weight:800}.decor-btn[disabled]{opacity:.5;cursor:default}.decor-card{position:relative}.decor-card .decor-price{display:flex;align-items:center;gap:2px;font-size:9px;font-weight:800;opacity:.85}.decor-card .decor-price svg{width:11px;height:11px}.decor-card.on .decor-price{opacity:1}.decor-own{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:var(--green);color:#fff;border:2px solid #fffaf0;font-size:10px;font-weight:800;line-height:14px;text-align:center}.decor-card.on .decor-own{border-color:var(--green);background:#4a9636}.decor-card.tier-feature{box-shadow:inset 3px 0 0 var(--wood)}.decor-card.tier-medium{box-shadow:inset 3px 0 0 var(--green)}.decor-card.tier-small{box-shadow:inset 3px 0 0 var(--gold, #E8B04B)}.decor-buyrow{padding:8px 10px 0}.decor-buyrow .decor-btn{width:100%}.decor-buyrow .decor-btn svg{width:1.05em;height:1.05em}.menu-card .pet-row{gap:7px}.pet-act{border-width:9px 11px 12px;font-size:13px;padding:0 2px;margin-left:auto}.pet-act.collect{border-image-source:url(/ui/plate-sage.png)}.pet-wait{margin-left:auto;font-size:12px;font-weight:700;color:var(--wood-dark);opacity:.7}.teaser{text-align:center;padding:10px 6px 4px}.teaser-ic{opacity:.9}.teaser-title{font-weight:800;font-size:17px;color:var(--wood-dark);margin-top:6px}.teaser-sub{font-size:13px;color:var(--ink);opacity:.8;margin-top:4px;line-height:1.3}@media (max-width: 640px){.panel{min-width:150px;padding:9px 10px}.brand{font-size:20px}.stat{font-size:16px;padding:4px 10px}.stat.coins{font-size:19px}.statbar{gap:6px}.hint,.toast{font-size:13px}.chip{font-size:12px}}.biome-list{display:flex;flex-direction:column;gap:9px;margin:4px 0}.biome-card{display:flex;align-items:center;gap:11px;background:linear-gradient(#fffaf0,var(--cream-line));border:3px solid var(--wood);border-radius:13px;padding:8px 11px}.biome-card.current{border-color:var(--gold);box-shadow:0 0 0 2px #ffb30047}.biome-card.fogged{opacity:.85}.biome-thumb{width:54px;height:54px;flex:0 0 54px;border-radius:10px;border:2px solid var(--wood);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:linear-gradient(150deg,#e6d39a,#a8d080)}.biome-emblem{font-size:30px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.biome-meadow .biome-thumb{background:linear-gradient(150deg,#e9d79e,#a8d080)}.biome-mossglen .biome-thumb{background:linear-gradient(150deg,#bfe0a8,#5a7a48)}.biome-sunnycove .biome-thumb{background:linear-gradient(150deg,#ffe0a0,#bfe5e8)}.biome-frostpine .biome-thumb{background:linear-gradient(150deg,#eaf4fb,#bcd0e2)}.biome-card.fogged .biome-emblem{filter:grayscale(1) brightness(.42);opacity:.72}.biome-card.fogged .biome-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#fff9,#ffffff38 55%,#ffffff8c)}.biome-info{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.biome-name{font-weight:800;color:var(--wood-dark);font-size:15px;display:flex;align-items:center;gap:6px}.biome-badge{font-size:11px;font-weight:700;color:var(--ink);background:var(--cream-line);border-radius:8px;padding:1px 6px}.biome-here{font-size:12px;font-weight:700;color:var(--gold)}.biome-locked{font-size:12px;font-weight:700;color:var(--wood-dark);opacity:.82}.worldmap{position:relative;width:320px;height:320px;margin:6px auto 2px;border-radius:18px;border:3px solid var(--wood);background:radial-gradient(circle at 50% 42%,#fbf0d2,#efdcab 70%,#e6cf98);box-shadow:inset 0 0 0 2px #b5793f2e,inset 0 6px 20px #8a5a2b1f;overflow:visible}.worldmap-roads{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.map-pin .map-pin-dot{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:radial-gradient(circle at 50% 32%,#fffaf0,var(--cream-line));border:3px solid var(--wood);box-shadow:0 3px 7px #00000038;transition:transform .12s ease}.map-pin .map-pin-label{font-weight:800;font-size:12px;color:var(--wood-dark);white-space:nowrap;text-shadow:0 1px 2px rgba(255,250,240,.9)}.map-pin .map-pin-sub{font-size:10px;font-weight:700;color:var(--wood-dark);opacity:.85;white-space:nowrap}.map-pin-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:var(--gold);color:#5a3a10;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fffaf0}.map-pin.current .map-pin-dot{border-color:var(--gold);box-shadow:0 0 0 3px #ffb30052,0 3px 7px #00000038}.map-pin.current .map-pin-sub{color:var(--gold)}.map-pin.unlocked:hover .map-pin-dot,.map-pin.locked:hover .map-pin-dot{transform:scale(1.09)}.map-pin.fogged{opacity:.7;cursor:default}.map-pin.fogged .map-pin-dot{filter:grayscale(.7) brightness(.85)}.map-pin.dim{opacity:.62}
