@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--gold:#e0bd63;--cream:#f6ebc6;--wood:#4b2d1c}*{box-sizing:border-box}html,body{min-height:100%;color:var(--cream);background:#0d1511;margin:0;font-family:Arial,sans-serif}button{font:inherit}.test-shell{background:radial-gradient(circle at 50% 0,#263c2c,#0d1511 62%);min-height:100vh;padding-bottom:72px}.game-topbar{z-index:5;background:#111a15;border-bottom:4px solid #75552d;align-items:center;height:72px;padding:8px 18px;display:flex;position:relative;box-shadow:0 5px 20px #0008}.realm-brand{align-items:center;gap:12px;display:flex}.realm-brand>b{border:3px solid var(--gold);background:#253c2b;place-items:center;width:50px;height:50px;font:12px "Press Start 2P";display:grid;box-shadow:inset 0 0 0 3px #16241a}.realm-brand strong,.realm-brand small{display:block}.realm-brand strong{color:#fff4ca;font:12px "Press Start 2P"}.realm-brand small{letter-spacing:2px;color:#c7a856;margin-top:6px;font-size:8px}.player-state{align-items:center;gap:8px;margin-left:auto;display:flex}.player-state span{background:#202c23;border:1px solid #65563a;padding:9px 11px;font-size:12px;font-weight:700}.player-state .online{color:#8ed58e}.player-state .demo{color:#e2bf6c}.test-grid{grid-template-columns:minmax(0,1.65fr) minmax(330px,.7fr);gap:15px;width:min(1500px,100%);margin:auto;padding:15px;display:grid}.world-card,.cozy-panel{background:#18221b;border:4px solid #76562f;box-shadow:0 14px 45px #0009}.phaser-host{aspect-ratio:16/10;background:#405f3e;width:100%;overflow:hidden}.phaser-host canvas{width:100%!important;height:100%!important;display:block!important}.world-controls{background:#131d17;border-top:3px solid #674a29;align-items:center;gap:12px;padding:10px;font-size:11px;display:flex}.world-controls span{color:#c9c5ac;flex:1}.world-controls button{color:#fff4c9;cursor:pointer;background:#89602f;border:2px solid #d1ad59;min-height:44px;padding:8px 15px;font-weight:700}.world-controls button:disabled{filter:grayscale();opacity:.55;cursor:not-allowed}.cozy-panel{background:linear-gradient(145deg,#5f3a21,#2b1d14);min-height:620px;padding:10px}.cozy-panel nav{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:12px;display:grid}.cozy-panel nav button{color:#d8cba7;cursor:pointer;background:#34251b;border:2px solid #765b37;padding:8px 3px;font-size:20px}.cozy-panel nav button small{text-transform:uppercase;margin-top:5px;font-size:7px;display:block}.cozy-panel nav button.active{color:#fff;background:#9b6a30;border-color:#f2d77d}.panel-heading{justify-content:space-between;align-items:center;padding:8px;display:flex}.panel-heading small,.simple-tab>small,.bank-overlay small{letter-spacing:2px;color:var(--gold);font-size:8px}.panel-heading h1{margin:6px 0;font:15px/1.5 "Press Start 2P"}.panel-heading>b{background:#241b14;border:1px solid #9a7040;padding:8px;font-size:11px}.inventory-grid{background:#2a1c13;border:3px solid #9b7442;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px;display:grid}.inventory-grid>div{aspect-ratio:1;color:#81725d;background:#1f1914;border:2px solid #5d4933;padding:3px;position:relative}.inventory-grid>div.filled{color:#fff;background:radial-gradient(circle,#403326,#17130f);border-color:#8c714c}.inventory-grid i{font-size:27px;font-style:normal;display:block}.inventory-grid span{text-transform:capitalize;color:#ded1ac;white-space:nowrap;text-overflow:ellipsis;font-size:7px;display:block;overflow:hidden}.inventory-grid b{color:#f5d875;font-size:11px;position:absolute;bottom:3px;right:4px}.toolbelt{background:#2c2118;border:2px solid #8e6b40;flex-wrap:wrap;gap:7px;margin-top:12px;padding:10px;display:flex}.toolbelt strong{color:#d6b45f;width:100%;font:8px "Press Start 2P"}.toolbelt span{background:#15130f;padding:7px;font-size:10px}.simple-tab{background:#2c2017;border:3px solid #8f6b3c;min-height:470px;padding:18px}.simple-tab h2{font:14px/1.5 "Press Start 2P"}.simple-tab p{color:#cfbea0;line-height:1.6}.pixel-portrait{background:linear-gradient(#2b211a 0 20%,#e0aa79 21% 41%,#2c6a52 42% 72%,#28303b 73%);border:5px solid #a17a43;width:120px;height:160px;margin:10px auto}.equipment-mini{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.equipment-mini span{text-align:center;background:#191510;border:1px solid #624d34;padding:7px;font-size:8px}.pet-card{text-align:center;font-size:52px}.simple-tab ul{padding:0;list-style:none}.simple-tab li{background:#191510;border:1px solid #5b4934;margin:8px 0;padding:11px}.simple-tab li:before{content:"□";color:#c9a951;margin-right:8px}.simple-tab li.done{color:#84bd84;text-decoration:line-through}.simple-tab li.done:before{content:"✓"}.game-notice{z-index:20;border:2px solid var(--gold);text-align:center;background:#211b13;width:min(700px,92%);padding:12px;font-weight:700;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #000}.bank-overlay{z-index:50;background:#080b09e8;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.bank-overlay>section{background:linear-gradient(145deg,#5b3822,#241a13);border:5px solid #a07740;width:min(820px,100%);max-height:90vh;padding:18px;overflow:auto;box-shadow:0 20px 80px #000}.bank-overlay header{justify-content:space-between;align-items:center;display:flex}.bank-overlay h2{font:15px/1.5 "Press Start 2P"}.bank-overlay header>button{color:#fff;background:#37251a;border:1px solid #8b6842;width:44px;height:44px;font-size:28px}.bank-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bank-columns>div{background:#17130f;border:2px solid #725637;padding:12px}.bank-columns h3{color:#e2bd62}.bank-columns button{color:#eadfbd;text-transform:capitalize;cursor:pointer;background:#30251b;border:1px solid #695239;justify-content:space-between;width:100%;margin:5px 0;padding:10px;display:flex}.bank-columns p{color:#9c927d}@media (max-width:980px){.test-grid{grid-template-columns:1fr}.cozy-panel{min-height:auto}.simple-tab{min-height:350px}.phaser-host{aspect-ratio:16/11}}@media (max-width:620px){.game-topbar{height:58px;padding:5px 9px}.realm-brand>b{width:43px;height:43px}.realm-brand span,.player-state span:first-child{display:none}.player-state span{padding:7px}.test-grid{gap:8px;padding:7px}.world-card,.cozy-panel{border-width:3px}.phaser-host{aspect-ratio:4/5}.world-controls{flex-direction:column;align-items:stretch}.world-controls span{text-align:center}.cozy-panel{padding:7px}.inventory-grid{gap:4px;padding:7px}.inventory-grid i{font-size:23px}.inventory-grid span{font-size:6px}.bank-columns{grid-template-columns:1fr}.game-notice{padding:9px;font-size:11px;bottom:7px}.panel-heading h1{font-size:12px}}.world-player.remote-player{filter:hue-rotate(105deg)saturate(.85);opacity:.9;z-index:8;pointer-events:none}.world-player.remote-player>span{color:#dff8ff;border-color:#78b8ca}.phaser-host{background:#405f3e url(/assets/test-world/training-garden-clean-v2.png) 50%/cover no-repeat;position:relative}.phaser-host canvas{z-index:2;position:relative}.world-engine-state{z-index:3;color:#fff1c4;text-align:center;pointer-events:none;background:#182219e8;border:2px solid #d5b45d;padding:10px 12px;font-size:11px;font-weight:700;position:absolute;inset:auto 12px 12px}.world-engine-state.failed{border-color:#e29167}.dom-world{touch-action:none;isolation:isolate;background-size:100% 100%}.dom-world button{-webkit-appearance:none;appearance:none;cursor:pointer;background-color:#0000;border:0;padding:0}.world-object,.world-hotspot,.world-npc,.world-slime,.world-player,.world-pet{z-index:4;image-rendering:pixelated;position:absolute;transform:translate(-50%,-80%)}.world-object{background-image:url(/assets/test-world/resource-states-v1.png);background-repeat:no-repeat;background-size:300% 200%}.world-object.tree{aspect-ratio:418/627;background-position-y:0;width:12%;top:53%;left:66%}.world-object.rock{aspect-ratio:418/627;background-position-y:100%;width:9%;top:77%;left:87%;transform:translate(-50%,-62%)}.world-object.stage-0{background-position-x:0}.world-object.stage-1{background-position-x:50%}.world-object.stage-2{background-position-x:100%}.world-hotspot{z-index:6}.world-hotspot.bank{width:10%;height:10%;top:38%;left:25%}.world-hotspot.fishing{width:13%;height:8%;top:88%;left:45%}.world-hotspot.campfire{width:12%;height:11%;top:65%;left:27%}.world-player,.world-npc{aspect-ratio:313/418;z-index:10;background:url(/assets/test-world/chris-sprites-v1.png) 33.333% 0/400% 300% no-repeat;width:5.7%;transition:left .72s linear,top .72s linear}.world-player>span,.world-npc>span{color:#fff5d0;white-space:nowrap;background:#1a2119d9;border:1px solid #d6bd72;padding:2px 5px;font-size:8px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.world-player.face-left{transform:translate(-50%,-80%)scaleX(-1)}.world-player.face-left>span{transform:translate(-50%)scaleX(-1)}.world-player.walking{animation:.24s steps(2,end) infinite pixel-step}.world-player.doing-tree,.world-player.doing-rock,.world-player.doing-fishing,.world-player.doing-fire,.world-player.doing-slime{background-image:url(/assets/test-world/chris-actions-v1.png);animation:.28s steps(2,end) infinite action-bob}.world-player.doing-rock{background-position:66.666% 0}.world-player.doing-fishing{background-position:0}.world-player.doing-slime{background-position:66.666%}.world-npc{filter:hue-rotate(65deg);z-index:5;top:42%;left:49%}.world-pet{aspect-ratio:384/512;z-index:9;background:url(/assets/test-world/bink-sprites-v1.png) 33.333% 0/400% 200% no-repeat;width:6.5%;transition:left .85s linear,top .85s linear}.world-pet.walking{animation:.26s steps(2,end) infinite pixel-step}.world-slime{aspect-ratio:1.35;z-index:7;background:radial-gradient(circle at 35% 35%,#e8df62 0 4%,#0000 5%),radial-gradient(circle at 65% 35%,#e8df62 0 4%,#0000 5%),linear-gradient(#65b35b,#347b38);border:2px solid #214f29;border-radius:48% 48% 30% 30%;width:5%;top:73%;left:62%;box-shadow:inset 0 -6px #28642f,0 5px #182c1c66}.world-slime.in-combat{animation:.35s steps(2,end) infinite slime-hit}.world-slime i,.player-hp{background:#211d17;border:1px solid #f5e5b7;width:120%;height:7px;position:absolute;bottom:112%;left:50%;transform:translate(-50%)}.world-slime i b,.player-hp b{background:#79c45b;height:100%;display:block}.player-hp{width:130%;bottom:118%}.player-hp b{background:#c94b42}.combat-projectile{z-index:12;background:#fff;border-radius:50%;width:12px;height:12px;animation:.32s linear forwards projectile;position:absolute;top:67%;left:57%}.combat-projectile.magic{background:#54c9ff;box-shadow:0 0 12px #54c9ff}.combat-projectile.ranged{background:#e9c76a;border-radius:0;width:18px;height:4px}.combat-projectile.melee{background:#fff;border-radius:0;width:20px;height:4px;transform:rotate(-35deg)}@keyframes pixel-step{50%{margin-top:-3px}}@keyframes action-bob{50%{margin-left:3px}}@keyframes slime-hit{50%{filter:brightness(1.8);transform:translate(-45%,-80%)}}@keyframes projectile{to{opacity:.2;top:70%;left:62%}}.login-shell{background:radial-gradient(circle at 50% 15%,#36553c,#14251b 42%,#09100c);place-items:center;min-height:100vh;padding:22px;display:grid;position:relative}.login-card{text-align:center;color:#f4e9c8;background:linear-gradient(145deg,#51331f,#211912 75%);border:4px solid #9b713c;width:min(460px,100%);padding:34px;position:relative;box-shadow:0 24px 80px #000b,inset 0 0 0 4px #2c2016}.login-seal{color:#fff3bd;background:#253c2b;border:4px solid #e0bd63;border-radius:50%;place-items:center;width:82px;height:82px;margin:-72px auto 24px;font:18px "Press Start 2P";display:grid;box-shadow:0 0 0 5px #17110d}.login-card>small{letter-spacing:2px;color:#d8b65c;font:8px "Press Start 2P"}.login-card h1{color:#fff1bd;margin:14px 0 12px;font:22px/1.5 "Press Start 2P"}.login-card p{color:#d3c4a7;line-height:1.6}.login-card form{text-align:left}.login-card label{color:#e7cb79;margin:13px 0 6px;font:8px "Press Start 2P";display:block}.login-card input{color:#fff4d4;background:#14130f;border:2px solid #72573a;width:100%;height:48px;padding:0 13px}.login-card form>button{color:#fff5d0;cursor:pointer;background:#89602f;border:2px solid #f0cf73;width:100%;min-height:50px;margin-top:18px;font:10px "Press Start 2P"}.login-error{color:#ffd6ca;background:#4b211d;border:1px solid #d67b64;margin-top:12px;padding:10px}.login-card footer{color:#a99b83;border-top:1px solid #6d5135;margin-top:20px;padding-top:16px;font-size:11px}.realm-sign-out{z-index:45;color:#decda5;cursor:pointer;background:#30251b;border:2px solid #8d6d43;padding:9px 12px;position:fixed;bottom:14px;right:14px}.loading-realm{text-align:center;place-content:center;display:grid}.loading-realm h1{color:#f3d47c;font:20px "Press Start 2P"}.area-switch{gap:6px;margin-left:24px;display:flex}.area-switch button{color:#cfc4a6;cursor:pointer;background:#202c23;border:2px solid #65543a;padding:9px 12px}.area-switch button.active{color:#fff;background:#76542d;border-color:#e0bd63}.cozy-panel nav{grid-template-columns:repeat(5,1fr)}.cozy-panel nav button>span{display:block}.area-mining{filter:saturate(.65)hue-rotate(145deg);background-image:linear-gradient(#17202944,#241c1844),url(/assets/test-world/training-garden-clean-v2.png)}.area-mining .world-player,.area-mining .world-pet,.area-mining .world-slime{filter:hue-rotate(-145deg)saturate(1.5)}.item-menu{z-index:40;text-align:left;background:#17110d;border:2px solid #d1ad59;min-width:130px;padding:5px;position:absolute;top:70%;left:10%;box-shadow:0 8px 22px #000}.item-menu button{color:#f3e6c1;border-bottom:1px solid #493923;padding:7px;font-size:10px;font-style:normal;display:block}.item-menu button:hover{background:#76542d}.inventory-help{color:#b9aa8c;text-align:center;font-size:10px}.equipment-tab{position:relative}.equipment-paper{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px;display:grid}.equipment-slot{color:#bdad91;text-align:center;background:#191510;border:2px solid #72583a;place-items:center;min-height:55px;padding:5px;display:grid}.equipment-slot.main-hand{color:#f4df9d;cursor:pointer}.equipment-slot span{text-transform:capitalize;font-size:11px}.equipment-slot span small{color:#9e9078;margin-top:4px;display:block}.skills-grid{grid-template-columns:repeat(2,1fr);gap:6px;max-height:390px;display:grid;overflow:auto}.skills-grid>div{background:#18140f;border:1px solid #57462f;grid-template-columns:1fr auto;padding:8px;display:grid}.skills-grid>div.featured{background:#30251a;border-color:#d1ad59}.skills-grid b{font-size:10px}.skills-grid span{color:#e4c769;font-size:10px;font-weight:700}.skills-grid small{color:#998b73;grid-column:1/-1;margin-top:4px}.combat-styles{gap:4px;display:flex}.combat-styles button.selected{background:#406b46}.world-hotspot.bank:after{content:"BANK";color:#f3d47c;background:#182219;border:1px solid #e0bd63;padding:4px;font-size:7px;display:block}.bank-overlay:before{content:"Bank closes when you walk away";color:#d6c9a8;font-size:10px;position:absolute;top:12px}@media (max-width:760px){.game-topbar{flex-wrap:wrap;height:auto}.area-switch{order:3;width:100%;margin:5px 0 0}.area-switch button{flex:1}.cozy-panel nav button small{font-size:6px}.skills-grid{max-height:none}}
