:root{font-family:Arial,Helvetica,sans-serif;color:#38232b;background:#f2c98c;font-synthesis:none;--ink:#38232b;--cream:#fff6db;--orange:#e9753d;--teal:#277e77;--gold:#f8c85b}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:none}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s,filter .16s}button:hover{filter:brightness(1.06)}button:active{transform:scale(.95)}button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button:disabled{cursor:default;opacity:.5}#world{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}#ui{position:absolute;inset:0;pointer-events:none;padding:max(22px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))}#ui button,#ui .modal,#ui .intro,#ui .bank{pointer-events:auto}.brand{position:absolute;left:28px;top:24px;font-size:26px;line-height:.85;font-weight:950;letter-spacing:-1.7px;text-shadow:0 2px #fff4cd}.brand small{display:block;font-size:9px;letter-spacing:3.1px;font-weight:700;margin-top:8px}.top-right{position:absolute;right:28px;top:24px;display:flex;align-items:center;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid #38232b22;border-radius:50%;background:#fff6dce8;font-size:19px;box-shadow:0 3px #6e41251a;display:grid;place-items:center}.coin-chip{border-radius:30px;background:#fff6dce8;padding:11px 16px;font-size:14px;font-weight:800}.coin-chip b{color:#ad6524}.objective{position:absolute;left:50%;top:22px;transform:translate(-50%);background:#fff6e5ef;border:1px solid #fffbed;border-radius:17px;box-shadow:0 6px 25px #6f351822;padding:13px 22px;min-width:290px;text-align:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;opacity:.65}.objective strong{font-size:18px;display:block;margin:5px 0 8px;letter-spacing:-.5px}.objective .track{height:5px;margin:0;background:#d6b38b66}.track{border-radius:10px;overflow:hidden;background:#72492f33;height:7px}.track i{display:block;height:100%;background:var(--teal);border-radius:10px;width:0;transition:width .25s}.timer{display:flex;gap:8px;align-items:baseline;justify-content:center;font-weight:900;font-size:25px;letter-spacing:-1px}.timer small{font-size:10px;letter-spacing:1px;font-weight:700}.timer.danger{color:#ae2e34;animation:throb .6s infinite alternate}.leaderboard{position:absolute;right:30px;top:88px;width:155px;padding:13px 14px;border-radius:14px;background:#fff5dbad;font-size:11px;backdrop-filter:blur(10px)}.leaderboard .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:9px}.rank{display:flex;justify-content:space-between;gap:12px;margin-top:7px}.rank.you{font-weight:900;color:#277e77}.rank i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#91495b}.bottom{position:absolute;left:28px;bottom:25px;width:245px;border-radius:18px;padding:16px 18px;background:#fff6ddeb;box-shadow:0 6px 22px #592a1822}.level-line{display:flex;justify-content:space-between;font-size:12px;align-items:baseline;margin-bottom:9px}.level-line strong{font-size:20px;letter-spacing:-.6px}.surge-line{margin:13px 0 6px;display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.7px}.surge-track i{background:var(--orange)}.bottom.active{box-shadow:0 0 0 3px #f7ac51,0 0 40px #ffcc56}.bottom.active .surge-line{color:#bc5929}.minimap{position:absolute;bottom:27px;right:30px;width:134px;height:112px;border-radius:14px;background:#fff2d3cc;border:1px solid #fff7e6;overflow:hidden;box-shadow:0 3px 20px #673d201a}.minimap:before{content:"CANYON MAP";font-size:8px;letter-spacing:1.4px;font-weight:800;position:absolute;left:10px;top:8px;opacity:.5}.dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#bb9872;transform:translate(-50%,-50%)}.dot.player{width:9px;height:9px;background:#267b76;box-shadow:0 0 0 3px #fff0c5;z-index:3}.dot.rival{width:7px;height:7px;background:#aa4754}.dot.tower{background:#328e99;border-radius:1px;width:5px;height:6px}.district-label{position:absolute;right:30px;bottom:148px;text-align:right;font-size:10px;letter-spacing:2px;font-weight:700;opacity:.65}.intro{position:absolute;left:50%;bottom:38px;transform:translate(-50%);text-align:center;background:#fff6e6ef;padding:24px 32px;border-radius:24px;width:370px;border:1px solid #fffbed;box-shadow:0 15px 70px #673c2933;animation:rise .45s both}.intro h1{margin:0 0 10px;font-size:45px;letter-spacing:-3px;line-height:.95}.intro h1 span{color:#ca6436}.intro p{font-size:13px;line-height:1.6;margin:0 0 17px;color:#725549}.primary{background:var(--ink);color:var(--cream);padding:15px 25px;border-radius:11px;font-weight:800;font-size:14px;box-shadow:0 4px #1d1117;display:inline-flex;gap:28px;justify-content:space-between;align-items:center}.primary.gold{background:#f1b653;color:#3b2930;box-shadow:0 4px #ba782c}.secondary{background:#ead9bb;color:var(--ink);padding:13px 20px;border-radius:10px;font-size:13px;font-weight:700}.intro .primary{width:100%}.control-hint{font-size:10px!important;margin:15px 0 0!important;opacity:.65;letter-spacing:.4px}.hint{position:absolute;left:50%;bottom:40px;transform:translate(-50%);padding:11px 20px;background:#38232bd9;border-radius:40px;color:#fff1cd;font-size:12px;white-space:nowrap;animation:rise .3s both}.banner{position:absolute;top:27%;left:50%;transform:translate(-50%);text-align:center;animation:announce .4s both;filter:drop-shadow(0 3px 2px #5d352244);pointer-events:none}.banner strong{font-size:42px;font-weight:950;letter-spacing:-2px;color:#fff9e7;text-shadow:0 3px #81452d}.banner p{margin:6px;font-size:12px;letter-spacing:2px;font-weight:800;background:#fff1c8;padding:8px 15px;border-radius:20px;color:#7a442e}.bank{position:absolute;top:130px;left:50%;transform:translate(-50%);background:var(--teal);color:#fff;border-radius:30px;padding:12px 20px;font-size:12px;box-shadow:0 3px #165951;animation:rise .3s both}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#3a27365e;backdrop-filter:blur(6px);pointer-events:auto;padding:20px}.modal{width:min(590px,100%);max-height:92dvh;overflow:auto;background:#fff3d8;border-radius:26px;box-shadow:0 30px 100px #3f263b55;padding:30px;text-align:center;animation:rise .28s both;scrollbar-width:thin}.modal h2{font-size:38px;letter-spacing:-1.9px;margin:10px 0;line-height:1}.modal p{font-size:13px;line-height:1.6;color:#886a57;margin:9px 0 18px}.modal .close{float:right;width:32px;height:32px;font-size:20px;border-radius:50%;background:#e8d6b6}.result-mark{font-size:42px;width:78px;height:78px;line-height:78px;margin:0 auto 15px;background:#efb853;color:#52332d;border-radius:50%;box-shadow:0 0 0 8px #f8dfac}.result-mark.lost{background:#dfac91}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f0dfc0;padding:16px 8px;border-radius:14px;margin:19px 0}.stats strong{font-size:24px;display:block;letter-spacing:-.8px}.stats small{font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.6}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px}.stars{color:#db8a28;letter-spacing:10px;font-size:22px;margin:12px 0}.tabs{display:flex;padding:5px;gap:5px;border-radius:12px;background:#ead9ba;margin:20px 0}.tabs button{flex:1;font-size:11px;font-weight:800;background:transparent;padding:11px 7px;border-radius:8px}.tabs button.selected{background:#fff6df;box-shadow:0 3px 7px #73583c14}.upgrades{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left}.upgrade{padding:17px 12px;background:#f2e2c5;border-radius:14px}.upgrade .glyph{font-size:30px;display:block;margin-bottom:11px}.upgrade h3{font-size:13px;margin:0}.upgrade p{font-size:10px;line-height:1.5;min-height:32px;margin:6px 0 12px}.upgrade button{font-weight:800;font-size:12px;border-radius:8px;background:var(--ink);color:var(--cream);padding:10px 12px;width:100%}.pips{letter-spacing:3px;font-size:10px;color:#b37032;margin:10px 0}.collection{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.relic{background:#f0dfbe;border-radius:14px;padding:15px 7px;min-height:90px;font-size:10px;color:#9c8168}.relic strong{font-size:28px;display:block;margin-bottom:8px;filter:grayscale(1);opacity:.25}.relic.found{color:#51352d;background:#f4d68f}.relic.found strong{filter:none;opacity:1}.districts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.districts button{padding:12px 8px;border-radius:10px;background:#ebd5ad;font-size:10px;min-height:65px}.districts strong{display:block;font-size:20px;margin-bottom:5px}.mode-row{display:flex;gap:10px;margin:18px 0}.mode-row button{flex:1;border-radius:12px;padding:14px;font-size:12px;font-weight:800;background:#dfcdb0}.mode-row button:first-child{background:#d4e1cb;color:#286358}.skin-row{display:flex;gap:8px;justify-content:center;margin:15px 0}.skin-row button{width:34px;height:34px;border-radius:50%;border:3px solid #fff8df;box-shadow:0 0 0 1px #bba687}.skin-row button.chosen{box-shadow:0 0 0 3px #38232b}.footer-note{font-size:10px!important;margin:12px 0 0!important;opacity:.6}.rival-label,.float{position:absolute;transform:translate(-50%,-50%);font-weight:800;white-space:nowrap;pointer-events:none}.rival-label{font-size:10px;background:#fff4dce6;border-radius:15px;padding:5px 9px;box-shadow:0 2px 8px #64392322;color:#9d4050}.float{font-size:17px;color:#fff9df;text-shadow:0 2px 2px #68402b;animation:float 1s ease-out forwards}.float.large{font-size:24px;color:#ffed9e}.warning{position:absolute;bottom:188px;left:50%;transform:translate(-50%);padding:9px 16px;background:#a3414bd9;color:#fff;border-radius:30px;font-size:11px;font-weight:800}.gesture{position:absolute;transform:translate(-50%,-50%);font-size:34px;color:#fff;filter:drop-shadow(0 3px 1px #6f4a30);animation:gesture 1.2s infinite;pointer-events:none}#joystick{display:none;position:absolute;width:110px;height:110px;border:2px solid #fff6d98c;border-radius:50%;background:#62452c25;pointer-events:none;transform:translate(-50%,-50%)}#joystick i{position:absolute;left:33px;top:33px;width:40px;height:40px;border-radius:50%;background:#fff1ce99;border:2px solid #fff5df;box-shadow:0 3px 10px #54312233}#flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #ffce5880;opacity:0;transition:opacity .18s}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes announce{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes float{0%{opacity:1;translate:0 0;scale:.85}20%{scale:1.1}to{opacity:0;translate:0 -65px;scale:1}}@keyframes throb{to{opacity:.5}}@keyframes gesture{0%,to{translate:0 12px;rotate:-12deg}50%{translate:0 -12px;rotate:0deg}}@media(max-width:700px){#ui{padding:14px}.brand{left:16px;top:19px;font-size:21px}.brand small{font-size:7px;letter-spacing:2px}.top-right{right:14px;top:15px;gap:5px}.icon-btn{width:35px;height:35px;font-size:16px}.coin-chip{padding:10px;font-size:11px}.objective{top:75px;min-width:230px;padding:10px 17px;border-radius:13px}.objective strong{font-size:15px;margin:4px 0 6px}.objective .eyebrow{font-size:8px}.timer{font-size:22px}.leaderboard{top:163px;right:14px;width:117px;padding:9px;font-size:9px}.leaderboard .eyebrow{font-size:7px}.bottom{left:14px;bottom:20px;width:185px;padding:12px 14px;border-radius:14px}.level-line strong{font-size:17px}.level-line{font-size:10px}.surge-line{font-size:8px;margin-top:10px}.minimap{width:95px;height:86px;right:14px;bottom:21px;border-radius:10px}.minimap:before{font-size:6px;left:7px}.district-label{right:14px;bottom:116px;font-size:8px;letter-spacing:1px}.intro{width:min(335px,calc(100% - 28px));bottom:156px;padding:22px 25px}.intro h1{font-size:42px}.intro p{font-size:12px}.hint{bottom:150px;font-size:10px;padding:10px 15px;max-width:95%;white-space:normal;text-align:center}.banner{top:37%;width:95%}.banner strong{font-size:34px}.banner p{font-size:10px;width:max-content;max-width:90%;margin:7px auto}.bank{top:160px;font-size:10px;padding:10px 14px;white-space:nowrap}.modal{padding:24px 20px;border-radius:22px;max-height:94dvh}.modal h2{font-size:32px}.modal p{font-size:12px}.upgrades{gap:6px}.upgrade{padding:12px 8px}.upgrade h3{font-size:11px}.upgrade button{font-size:10px;padding:10px 3px}.upgrade .glyph{font-size:25px}.collection{gap:6px}.relic{font-size:8px;padding:12px 4px}.stats strong{font-size:22px}.rival-label{font-size:8px}.warning{bottom:155px;font-size:10px}.actions .primary{padding:14px 20px}.mode-row button{font-size:10px}}@media(max-height:520px){.brand{left:16px;top:16px;font-size:21px}.brand small{display:none}.top-right{top:12px;right:16px}.objective{top:12px;padding:8px 18px;min-width:260px}.objective strong{font-size:14px;margin:4px 0}.objective .eyebrow{font-size:8px}.icon-btn{width:34px;height:34px}.leaderboard{top:62px;right:16px;width:120px;font-size:9px;padding:9px}.bottom{left:16px;bottom:15px;width:190px;padding:11px 14px}.level-line strong{font-size:16px}.surge-line{margin:8px 0 4px;font-size:8px}.minimap{width:95px;height:79px;right:16px;bottom:15px}.district-label{right:16px;bottom:101px;font-size:8px}.intro{bottom:22px;width:330px;padding:18px 25px}.intro h1{font-size:35px;margin-bottom:7px}.intro p{font-size:11px;margin-bottom:12px}.intro .primary{padding:11px 20px}.control-hint{margin-top:10px!important;font-size:9px!important}.hint{bottom:25px;font-size:10px}.banner{top:30%}.banner strong{font-size:30px}.banner p{font-size:9px}.bank{top:94px;padding:9px 16px;font-size:10px}.modal{max-height:94dvh;padding:20px 28px}.modal h2{font-size:29px;margin:6px 0}.result-mark{width:47px;height:47px;line-height:47px;font-size:28px;margin-bottom:10px}.modal p{margin:6px 0 10px;font-size:11px}.stats{padding:10px;margin:12px 0}.stats strong{font-size:21px}.stars{margin:7px 0;font-size:18px}.actions{margin-top:10px}.primary,.secondary{padding:11px 20px}.tabs{margin:12px 0}.upgrade{padding:11px}.upgrade .glyph{display:none}.upgrade p{min-height:0;margin:6px 0}.mode-row{margin:12px 0}.relic{min-height:70px;padding:9px}.relic strong{font-size:22px;margin-bottom:5px}.warning{bottom:130px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:700px)and (min-height:521px){.intro{padding:18px 25px;bottom:145px}.intro h1{display:none}.intro .eyebrow{font-size:8px;margin-bottom:7px}.intro p{font-size:11px;line-height:1.4;margin-bottom:12px}.intro .primary{padding:13px 20px}.intro .control-hint{margin-top:11px!important;font-size:8px!important}.leaderboard{opacity:.88}}.skin-row [data-skin="0"]{background:#f1b85a}.skin-row [data-skin="1"]{background:#57b6b2}.skin-row [data-skin="2"]{background:#aa7fc5}.skin-row [data-skin="3"]{background:#e38a70}#floats{position:absolute;inset:0;pointer-events:none;z-index:1}#ui{z-index:2}#joystick,#flash{z-index:3}.overlay{z-index:10}.minimap{isolation:isolate}#app{position:relative;isolation:isolate}#floats{overflow:hidden}body{touch-action:auto}#world{touch-action:none}.modal{touch-action:pan-y;overscroll-behavior:contain}
