*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#173e32;background:#b8d8de;overflow:hidden}button{font:inherit;cursor:pointer;touch-action:none}#game,#canvas{width:100%;height:100dvh}#canvas canvas{display:block}header{position:absolute;top:28px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:900;letter-spacing:-1px}.mark{background:#173e32;color:#d2ff6d;border-radius:14px;font-size:38px;width:50px;height:50px;text-align:center}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px}.topright{display:flex;align-items:center;gap:12px}.topright span{background:#fff9;padding:12px 18px;border-radius:30px;font-size:12px;font-weight:bold;letter-spacing:1px}button{border:0}.topright button{pointer-events:auto;background:#fff;border-radius:50%;width:42px;height:42px;font-weight:bold}.mission{position:absolute;top:111px;left:32px;width:300px;background:#fffffff0;border:1px solid #fff;border-radius:18px;padding:23px;box-shadow:0 10px 40px #173e3210}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:bold;color:#5e786d}.eyebrow span{float:right}h1{font-size:23px;line-height:1.2;margin:14px 0 9px;letter-spacing:-.7px}.mission p{font-size:14px;line-height:1.5;color:#65746c;margin:0}.stats{display:flex;gap:35px;margin-top:23px}.stats strong{font-size:34px;letter-spacing:-1px}.stats em{font-size:18px;font-style:normal;color:#99a59f}.stats small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px}.progress{height:6px;background:#e6eee8;border-radius:8px;margin:20px 0}.progress i{display:block;height:100%;background:#66ab35;transition:width .4s;width:0;border-radius:8px}.steps{display:flex;justify-content:space-between;font-size:10px;color:#8f9994}.steps .active{color:#24723a;font-weight:bold}.map{position:absolute;right:32px;bottom:117px;background:#fffffff0;padding:15px;border-radius:18px;width:210px}.map>div{font-size:10px;font-weight:bold;letter-spacing:1px}.map>div span{float:right}.map canvas{width:180px;height:160px}.map small{font-size:10px;color:#6d7a71}.map b{color:#187059;margin-left:5px}.map .yellow{color:#c69418}.map .green{color:#74b65a}#toast{position:absolute;bottom:123px;left:50%;transform:translateX(-50%);background:#173e32eb;color:white;border-radius:30px;padding:13px 22px;font-size:14px;text-align:center;max-width:440px;pointer-events:none}footer{position:absolute;bottom:26px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.keys{display:flex;gap:20px;font-size:11px;background:#ffffffe0;padding:17px;border-radius:13px}kbd{font-family:inherit;border:1px solid #bcc9bf;border-bottom-width:2px;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:bold}#action{background:#d0fc78;color:#21432a;padding:19px 25px;border-radius:14px;font-weight:bold;box-shadow:0 5px 0 #8bad4b;min-width:180px}#action kbd{margin-right:8px;border-color:#8aad4f}.touch{display:none}#overlay{position:absolute;inset:0;background:#12372c70;backdrop-filter:blur(7px);display:grid;place-items:center}#overlay[hidden],#error[hidden]{display:none}.dialog{background:white;padding:35px;border-radius:24px;max-width:420px;margin:20px}.dialog h2{font-size:30px}.dialog p{line-height:1.7;color:#617169}.dialog button{padding:15px;width:100%;background:#d0fc78;border-radius:10px;font-weight:bold;margin-top:10px}.dialog .secondary{background:#eef2ee}#error{position:absolute;inset:0;background:white;padding:20%;font-size:20px}@media(max-width:800px){header{top:16px;left:16px;right:16px}.brand{font-size:19px}.brand small{font-size:8px}.mark{width:40px;height:40px;font-size:32px}.mission{top:80px;left:16px;padding:15px;width:230px}h1{font-size:19px}.mission p{font-size:12px}.stats{margin-top:12px;gap:25px}.stats strong{font-size:26px}.progress{margin:12px 0}.map{right:16px;bottom:205px;transform:scale(.7);transform-origin:bottom right}.keys{display:none}footer{bottom:110px;right:16px;left:auto}#action{min-width:160px;padding:15px}.touch{display:flex;position:absolute;bottom:18px;left:16px;right:16px;justify-content:space-between;align-items:flex-end}.pad{text-align:center}.touch button{background:#ffffffdf;color:#173e32;border-radius:10px;padding:14px;margin:2px;font-weight:bold;min-width:46px}.touchActions{display:flex;flex-direction:column}.touchActions button{font-size:12px;padding:10px}.touch .pad button{font-size:20px}#toast{bottom:170px;font-size:12px;width:70%;padding:10px}.topright span{display:none}}@media(max-height:550px){.mission{top:75px;width:220px;padding:12px}.mission h1,.mission p,.steps{display:none}.stats{margin:8px 0}.map{bottom:105px}.brand small{display:none}#toast{bottom:85px}.touch{bottom:10px}.touchActions{display:none}footer{bottom:20px}.mission .progress{margin:8px 0}}

#dropBag{background:#fff;color:#173e32;border-radius:12px;padding:16px;white-space:nowrap}#dropBag[hidden]{display:none}@media(max-width:800px){footer{flex-direction:column;align-items:flex-end;gap:10px}#dropBag{padding:12px}}
.competitionScreen{position:fixed;inset:0;z-index:20;background:#edf3eaf5;overflow:auto;color:#173e32;padding:38px}.competitionScreen[hidden]{display:none}.lobbyShell{min-height:calc(100dvh - 76px);max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.lobbyIntro h2{font-size:clamp(38px,4.5vw,66px);letter-spacing:-3px;line-height:1.07;margin:25px 0}.lobbyIntro h2 em{font-style:normal;color:#548934}.lobbyIntro p{line-height:1.7;color:#5e7367;font-size:16px}.routeFacts{display:flex;gap:30px;margin:30px 0}.routeFacts span{font-size:14px}.routeFacts b{font-size:30px;display:block}.joinPanel{background:#fff;padding:30px;border-radius:24px;box-shadow:0 15px 80px #173e3212}.joinPanel label{display:block;font-size:15px;font-weight:bold;margin:20px 0 10px}.joinPanel input{width:100%;padding:15px;border:1px solid #b9caba;border-radius:10px;font-size:16px}.fineprint{font-size:13px;line-height:1.55;color:#617268}.primary{background:#cee986;color:#173e32;border:0;padding:17px 22px;border-radius:10px;font-size:16px;font-weight:bold}.joinPanel .primary{width:100%}.primary span{float:right}.primary:disabled{opacity:.5;cursor:wait}.outline{border:1px solid #9aae9d;border-radius:10px;padding:12px 18px;background:transparent;color:#173e32;font-size:14px}#companies{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.company{border:2px solid #e6ece6;background:white;border-radius:12px;padding:9px;display:flex;flex-direction:column;align-items:center;gap:6px}.company.selected{border-color:#4e883c;background:#f1f8e7}.company img{width:100%;height:65px;object-fit:contain;background:white;border-radius:5px}.company span{font-weight:bold;font-size:13px}.rankingPanel{max-width:1050px;margin:auto;background:white;border-radius:22px;padding:30px}.rankingHead{position:static;pointer-events:auto;display:flex;align-items:center;margin-bottom:25px}.rankingHead h2{font-size:32px;margin:8px 0}.rankingGrid{display:grid;grid-template-columns:1.6fr 1fr;gap:35px}.rankingTools{display:flex;align-items:center;justify-content:space-between;gap:12px}.rankingTools select{padding:10px;border:1px solid #bacabb;border-radius:8px;background:white;color:#173e32;font-size:14px}.rankingTools h3{margin:0}.tableScroll{max-height:50vh;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{padding:14px 8px;background:#f0f5ee;position:sticky;top:0}td{padding:15px 8px;border-bottom:1px solid #e6eee6}td:last-child{font-variant-numeric:tabular-nums;font-weight:bold;white-space:nowrap}.you{background:#ecf7d8}.teamRow{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e7ede4;padding:14px 0;font-size:14px}.teamRow img{height:35px;width:55px;object-fit:contain}.teamRow span{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.rankingFoot{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:13px}.resultPanel{text-align:center;max-width:450px;margin:3vh auto;background:white;padding:35px;border-radius:24px}.resultPanel h2{font-size:36px;letter-spacing:-1px}.resultPanel img{height:65px;max-width:150px;object-fit:contain}.resultPanel #resultTime{display:block;font-size:58px;font-variant-numeric:tabular-nums;letter-spacing:-2px;margin:20px 0}.resultPanel button{width:100%;margin-top:10px}#ranking{z-index:30}#joinError,#rankingError{color:#a43b27;font-size:14px}.raceHUD{position:absolute;top:90px;right:32px;background:#173e32ed;color:#e7f8d6;border-radius:15px;padding:15px 20px;min-width:210px}.raceHUD>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.raceHUD>div span{opacity:.75}.raceHUD>strong{font-size:36px;display:block;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin-top:6px}.raceHUD small{font-size:12px;opacity:.75}.topright .rankingButton{width:auto;border-radius:20px;padding:0 16px;font-size:13px}.inLobby>header,.inLobby>.mission,.inLobby>.raceHUD,.inLobby>.map,.inLobby>footer,.inLobby>.touch,.inLobby>#toast{visibility:hidden}@media(max-width:800px){.competitionScreen{padding:18px}.lobbyShell{grid-template-columns:1fr;gap:24px}.lobbyIntro h2{font-size:36px;letter-spacing:-1.5px;margin:12px 0}.lobbyIntro h2 br:nth-child(2){display:none}.lobbyIntro p{font-size:14px}.routeFacts{display:none}.lobbyIntro .outline{padding:8px 13px}.joinPanel{padding:20px}.rankingGrid{grid-template-columns:1fr}.rankingPanel{padding:20px}.rankingHead h2{font-size:25px}.rankingHead{gap:15px}.rankingTools{flex-wrap:wrap}.raceHUD{right:16px;top:80px;min-width:135px;padding:10px}.raceHUD>div{flex-direction:column;gap:4px;font-size:12px}.raceHUD>strong{font-size:26px}.mission{width:calc(100% - 185px);min-width:160px}.mission h1{font-size:16px}.stats{gap:12px}.stats small{font-size:8px}.steps{display:none}.resultPanel{padding:25px}.raceHUD small{font-size:10px}}@media(max-width:390px){.mission{min-width:145px}.mission p{display:none}.raceHUD{min-width:125px}.brand{font-size:16px}.brand small{font-size:7px}.topright{gap:5px}.topright .rankingButton{padding:0 10px}}@media(max-height:550px){.raceHUD{top:75px}.competitionScreen{padding:18px}.lobbyShell{min-height:auto}.resultPanel{margin:0 auto}}

.sustentareIdentity{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:25px}.sustentareIdentity img{width:220px;max-width:100%;height:130px;object-fit:contain}.rankingGrid{grid-template-columns:1fr}
