*{box-sizing:border-box}body{margin:0;background:#f4f5ee;color:#173e37;font-family:Tahoma,Arial,sans-serif}header{padding:25px 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid #d5ddd2}header b{margin-right:auto;font-size:11px;background:#e9e2c9;padding:10px;border-radius:30px}.brand{font-size:24px;font-weight:bold}header span{font-size:12px}main{max-width:1450px;margin:auto;padding:30px 4%}.intro small,aside small{color:#798665}.intro h1{font-size:42px;margin:14px 0}.intro p{color:#718079;line-height:1.9}.stats{display:flex;gap:55px;margin:30px 0}.stats div{display:flex;flex-direction:column;gap:8px}.stats strong{font-size:25px}.stats span{font-size:12px;color:#718079}.workspace{display:grid;grid-template-columns:1fr 320px;gap:22px}.map{position:relative;background:#e5ece4;border:1px solid #ced9ce;border-radius:20px;overflow:hidden;min-height:620px}.toolbar{position:absolute;top:16px;right:16px;left:16px;display:flex;gap:7px;z-index:1}button,select{border:1px solid #cfd9cf;background:#fff;color:#214c40;padding:12px;border-radius:9px;font-family:inherit;cursor:pointer}button:hover{background:#dceadd}button:disabled{opacity:.45}canvas{width:100%;height:620px;display:block;touch-action:none}.legend{position:absolute;bottom:45px;right:20px;display:flex;gap:18px;font-size:11px;background:#ffffffdf;padding:10px;border-radius:10px}#hint{position:absolute;bottom:12px;right:20px;font-size:11px}aside{border:1px solid #d6ded2;border-radius:20px;background:#fffdf7;padding:25px}aside h2{font-size:24px}aside p{font-size:12px;line-height:1.9}aside select{width:100%;margin:12px 0}label{font-size:12px}.summary{display:grid;gap:17px;border-top:1px solid #ddd;padding-top:20px}.summary span{display:flex;justify-content:space-between;font-size:12px}aside button{display:block;width:100%;margin-top:10px}.primary{background:#225b43;color:white;border:0}.primary:hover{background:#337a59}.note{color:#7b857d;font-size:10px!important}#message{min-height:45px;color:#977438}.pricing{margin:40px 0}.pricing h2{font-size:24px}.pricing p{font-size:12px;color:#748177}#tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}#tiers div{padding:22px;background:#e7eddf;border-radius:12px;display:grid;gap:15px;font-size:12px}#tiers strong{font-size:19px}details{font-size:12px;line-height:2.2;background:#fff9;padding:20px;border-radius:12px}a{color:inherit}footer{margin:30px 0;font-size:11px;color:#7a867c}@media(max-width:850px){.workspace{grid-template-columns:1fr}.intro h1{font-size:30px}header span{display:none}.stats{gap:20px}.stats strong{font-size:20px}#tiers{grid-template-columns:1fr 1fr}.map{min-height:480px}canvas{height:480px}}

input{width:100%;padding:12px;margin-top:10px;border:1px solid #cfd9cf;border-radius:9px;font:inherit}label{display:block;margin-top:16px}

/* Dark map presentation, with high contrast for the million-cell grid. */
body{background:#080b0a;color:#f2f5ef}header{border-color:#27312c;background:#080b0a}header b{background:#17231d;color:#d9bd74}.intro p,.stats span,.pricing p,footer,.intro small,aside small{color:#a1ada4}.map{background:#050706;border-color:#34433a}.map canvas{background:#050706;cursor:crosshair}aside{background:#101512;border-color:#2c3931}.pricing #tiers div,details{background:#111a15;color:#eef2ed}button,select,input{background:#151c18;color:#eef2ed;border-color:#39483f}button:hover{background:#26372d}.primary{background:#276343;color:#fff}.primary:hover{background:#337a59}.legend{background:#101512e8;color:#eef2ed}#hint{color:#e8e9df;text-shadow:0 1px 4px #000}#message{color:#d8bd77}.note{color:#a2aaa3!important}a{color:#b4d3bb}
.artwork-tool{display:grid;gap:9px;margin:20px 0;padding:16px;border:1px solid #35453b;border-radius:12px;background:#0c100e}.artwork-tool h3{margin:0}.artwork-tool p,.artwork-tool small{font-size:12px;line-height:1.7;color:#adb8af}.artwork-tool button{width:100%}.artwork-tool input{font-size:12px}.artwork-tool button:disabled{opacity:.45}
dialog{background:#101512;color:#eef2ed;border:1px solid #39483f;border-radius:16px;max-width:420px;width:90%;padding:25px}dialog::backdrop{background:#000b}dialog button{margin:10px 4px}#authMessage{font-size:12px;line-height:1.8}
[hidden]{display:none!important}
