:root{--ink:#18171f;--midnight:#20202d;--void:#101018;--charcoal:#2b1d21;--gold:#f0c046;--parchment:#fff3d7;--bone:#d9cfad;--steel:#bac4d4;--shadow:#101018ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 20% 0%, #b3523a3d, transparent 28rem), radial-gradient(circle at 88% 18%, #4c7e7638, transparent 30rem), linear-gradient(180deg, var(--midnight) 0%, var(--charcoal) 46%, var(--void) 100%);color:var(--parchment);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}img{image-rendering:pixelated}h1,p{margin:0}.siteShell{min-height:100vh;overflow:clip}.hero{isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:clamp(28px,6vw,80px);min-height:100svh;padding:72px clamp(18px,4vw,64px) 86px;display:grid;position:relative}.hero:after{content:"";background:linear-gradient(180deg, transparent, var(--midnight)), repeating-linear-gradient(90deg, #f0c04633 0 2px, transparent 2px 34px);pointer-events:none;height:92px;position:absolute;bottom:-1px;left:0;right:0}.heroBackdrop{z-index:-4;object-fit:cover;object-position:center;filter:saturate(1.16)contrast(1.08);transform:scale(1.12)}.heroAtmosphere{z-index:-3;background:linear-gradient(90deg,#101018f0,#10101894 48%,#101018b3),linear-gradient(#10101857,#2b1d212e 50%,#20202df7);position:absolute;inset:0}.heroGrid{z-index:-2;opacity:.38;background-image:linear-gradient(#fff3d71f 1px,#0000 1px),linear-gradient(90deg,#fff3d71f 1px,#0000 1px);background-size:32px 32px;animation:18s linear infinite gridDrift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 30%,#0000 85%);mask-image:linear-gradient(#0000 0%,#000 30%,#0000 85%)}.heroContent{z-index:2;width:min(800px,100%);position:relative}.heroLogoTitle{width:min(520px,100%);max-width:min(520px,100%);line-height:0}.heroLogoTitle img{width:100%;height:auto;filter:drop-shadow(0 7px 0 var(--charcoal)) drop-shadow(0 26px 44px #1010188f);display:block}.heroCopy{color:#fff0c2;text-shadow:0 2px #101018cc;width:min(690px,100%);margin-top:26px;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65}.heroActions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{border:3px solid var(--charcoal);background:linear-gradient(180deg, #ffe07a, var(--gold) 58%, #be772f), url(/game/floor_stone.png);color:#1f1717;min-height:54px;box-shadow:0 6px 0 var(--charcoal), 0 24px 46px #10101857;cursor:pointer;justify-content:center;align-items:center;padding:15px 22px;font-size:.94rem;font-weight:950;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex}.button:hover{filter:brightness(1.06);transform:translateY(-1px)}.button:disabled{cursor:wait;filter:saturate(.72)}.buttonDownload{color:#071827;background:linear-gradient(#9bd5ff,#3f97df 58%,#1d5f9d),url(/game/floor_water.png);box-shadow:0 6px #143b5c,0 24px 46px #10101857}.buttonDisabled{cursor:default;pointer-events:none}.modalLayer{z-index:20;opacity:0;pointer-events:none;place-items:center;padding:18px;transition:opacity .22s;display:grid;position:fixed;inset:0}.modalLayer.isOpen{opacity:1;pointer-events:auto}.modalScrim{cursor:pointer;background:#101018b3;border:0;position:absolute;inset:0}.playtestModal{border:4px solid var(--charcoal);color:#211b18;background:linear-gradient(#fff3d7fa,#d9cfadfa),url(/game/floor_stone.png);width:min(420px,100%);max-height:min(680px,100svh - 36px);padding:24px;transition:transform .22s;position:relative;overflow:auto;transform:translateY(14px)scale(.97);box-shadow:0 12px #2b1d21ad,0 38px 82px #00000075}.modalLayer.isOpen .playtestModal{transform:translateY(0)scale(1)}.modalClose{border:3px solid var(--charcoal);color:#211b18;cursor:pointer;background:#fff3d7;place-items:center;width:34px;height:34px;font-size:1.25rem;font-weight:950;line-height:1;display:grid;position:absolute;top:10px;right:10px}.modalStack{gap:14px;display:grid}.modalStack h2{max-width:calc(100% - 42px);margin:0;font-size:1.55rem;line-height:1.14}.modalStack p{color:#43352e;line-height:1.55}.modalEyebrow{color:#7a4827;letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:950}.modalStack label{color:#2d2321;gap:7px;font-size:.86rem;font-weight:850;display:grid}.modalStack input{border:3px solid var(--charcoal);color:#1f1717;background:#fff8e8;border-radius:0;outline:none;width:100%;min-height:46px;padding:10px 12px}.modalStack input:focus{box-shadow:0 0 0 3px #f0c0466b}.formMessage{color:#642525;background:#ffe7dc;border:3px solid #7a2f2f;padding:10px 12px;font-size:.9rem;font-weight:750}.formMessageSuccess{color:#2f5d35;background:#e6f5dd;border-color:#3f6f44}.modalAction{border-radius:0;width:100%;margin-top:4px}.downloadStack{gap:16px}.downloadStatus{background:#fff8e8b8;border:3px solid #2b1d212e;padding:10px 12px;font-size:.9rem;font-weight:750}.downloadGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.downloadCard{border:3px solid var(--charcoal);color:#211b18;text-align:center;background:linear-gradient(#fff8e8,#e7d9b3),url(/game/floor_stone.png);align-content:center;justify-items:center;gap:10px;min-height:174px;padding:18px 12px;transition:transform .16s,box-shadow .16s,filter .16s;display:grid;box-shadow:0 6px #2b1d2194}.downloadCard:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 7px #2b1d2194}.downloadCard.isDisabled{cursor:wait;filter:saturate(.55)}.downloadCard strong{font-size:1rem;line-height:1.1}.downloadCard small{color:#6a5a4b;overflow-wrap:anywhere;max-width:100%;font-size:.76rem;font-weight:800}.platformIcon{border:3px solid var(--charcoal);background:linear-gradient(180deg, #ffe07a, var(--gold)), url(/game/floor_stone.png);place-items:center;width:68px;height:68px;display:grid;box-shadow:inset 0 -5px #2b1d212e}.platformIcon img{image-rendering:auto;width:42px;height:42px;display:block}.releaseLink{color:#5f381f;text-underline-offset:3px;font-size:.84rem;font-weight:850;text-decoration:underline}.confirmShell{background-color:#0000;background-image:linear-gradient(90deg,#101018eb,#10101880),url(/game/town_spawn.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;min-height:100svh;padding:24px;display:grid}.confirmPanel{border:4px solid var(--charcoal);color:#211b18;background:linear-gradient(#fff3d7fa,#d9cfadfa),url(/game/floor_stone.png);gap:16px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 12px #2b1d21ad,0 38px 82px #00000075}.confirmPanel h1{margin:0;font-size:clamp(2rem,7vw,3.3rem);line-height:1}.confirmPanel p{color:#43352e;line-height:1.6}.confirmPanel small{color:#6a5a4b;overflow-wrap:anywhere}.confirmResend{gap:12px;display:grid}.confirmResend label{color:#2d2321;gap:7px;font-size:.86rem;font-weight:850;display:grid}.confirmResend input{border:3px solid var(--charcoal);color:#1f1717;background:#fff8e8;border-radius:0;outline:none;width:100%;min-height:46px;padding:10px 12px}.confirmResend input:focus{box-shadow:0 0 0 3px #f0c0466b}.confirmEyebrow{color:#7a4827;text-transform:uppercase;font-size:.78rem;font-weight:950}.heroCard{z-index:2;border:4px solid var(--charcoal);background:linear-gradient(#fff3d7f5,#d9cfadf5),url(/game/floor_stone.png);align-self:end;padding:18px;position:relative;transform:rotate(1.4deg);box-shadow:0 18px #2b1d216b,0 38px 80px #10101875}.cardHeader{color:#2d2321;text-transform:uppercase;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:.8rem;font-weight:950;display:flex}.inventoryGrid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px;display:grid}.inventoryGrid span{aspect-ratio:1;border:3px solid var(--charcoal);background:linear-gradient(#3b3130,#20191b),url(/game/wall_wood.png);place-items:center;min-width:38px;display:grid;box-shadow:0 5px #2b1d2194}.inventoryGrid img{width:28px;height:28px}.miniMap{border:3px solid var(--charcoal);background:linear-gradient(145deg,#0000 0 55%,#2a5270b3 55% 100%),url(/game/floor_grass.png) 0 0/32px 32px;min-height:236px;position:relative;overflow:hidden}.miniMap:before{content:"";background:url(/game/floor_road.png) 0 0/32px 32px;border-left:7px solid #2b1d2133;border-right:7px solid #2b1d2133;position:absolute;inset:42% 0 0 24%;transform:skew(-20deg)}.miniMap img{filter:drop-shadow(0 8px #2b1d2147);width:58px;height:58px;position:absolute}.mapTreeA{bottom:12%;left:8%}.mapTreeB{top:16%;right:8%}.mapWell{bottom:24%;right:24%}.mapGuard{bottom:16%;left:42%}.mapMerchant{top:22%;left:22%}.heroSprites{z-index:1;pointer-events:none;position:absolute;inset:0}.sprite{filter:drop-shadow(0 9px #10101857);width:66px;height:66px;animation:4.8s ease-in-out infinite floatSprite;position:absolute}.spriteSmith{bottom:15%;right:28%}.spriteLamp{animation-delay:-1.4s;bottom:22%;right:12%}.spriteChest{animation-delay:-2.1s;bottom:12%;left:48%}.spriteGhost{opacity:.74;animation-name:ghostDrift;animation-duration:6s;top:31%;right:8%}@keyframes gridDrift{0%{background-position:0 0}to{background-position:32px 32px}}@keyframes floatSprite{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ghostDrift{0%,to{transform:translate(0,0)}50%{transform:translate(-14px,-8px)}}@media (max-width:1020px){.hero{grid-template-columns:1fr}.heroCard{align-self:auto;width:min(420px,100%);transform:none}.spriteSmith,.spriteChest{display:none}}@media (max-width:720px){.hero{padding-top:56px}.sprite{width:56px;height:56px}}@media (max-width:520px){.heroActions .button{width:100%}.downloadGrid{grid-template-columns:1fr}.inventoryGrid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
