@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#293c35;font-synthesis:none;--dark:#263b34;--cream:#fffcf0;--mint:#bbd9af;--gold:#eac477}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#d6debd}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b18139;outline-offset:4px}button{border:0}#game{position:relative;width:100vw;height:100dvh;overflow:hidden}#world{position:absolute;inset:0;width:100%;height:100%;outline:none;touch-action:none}.panel{background:rgba(255,253,240,.92);border:1px solid rgba(255,255,255,.72);box-shadow:0 5px 20px #273b3414;backdrop-filter:blur(12px);border-radius:14px}.topbar{position:absolute;top:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.topbar>*{pointer-events:auto}.place{display:flex;align-items:center;gap:13px;text-align:left;padding:15px 18px;min-width:230px;transition:transform .15s}.place:hover{transform:translateY(-2px)}.pin{font-size:38px;color:#b98539;line-height:1}.place small,.stats small{font-size:11px;letter-spacing:1.7px;font-weight:800;display:block;margin-bottom:2px}.place strong{font-family:'Barlow Condensed',sans-serif;font-size:27px;line-height:1}.chevron{margin-left:auto;font-size:21px;opacity:.5}.brand{text-align:center;position:absolute;left:50%;transform:translateX(-50%);color:var(--dark);filter:drop-shadow(0 2px 0 #ffffff88);user-select:none;line-height:.86}.brand-top{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:54px;letter-spacing:2px;display:block}.brand-bottom{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:4px;margin-top:7px}.stats{display:flex;padding:14px 20px;gap:21px;align-items:center;min-width:255px}.stats>div:first-child{display:flex;gap:10px;align-items:center}.stats strong{font-family:'Barlow Condensed',sans-serif;font-size:31px;line-height:1.1}.stats small{font-size:10px;letter-spacing:1.2px}.stat-icon{color:#bb923f;font-size:33px}.stat-divider{width:1px;height:34px;background:#d7d9c8}#mode-button{background:transparent;min-width:68px;padding:0}.left-rail{position:absolute;top:137px;left:28px;display:flex;flex-direction:column;gap:10px}.round-button{position:relative;width:40px;height:40px;border-radius:50%;font-size:21px;background:#fffcefdd;box-shadow:0 3px 15px #293c3510;transition:background .2s}.round-button:hover{background:#fff}.off-slash{position:absolute;width:19px;height:2px;background:#8e9c8a;transform:rotate(-45deg);left:11px;top:21px}.landmark-label{position:absolute;pointer-events:none;border-radius:20px;background:#263b34dc;color:#fffbea;font-size:10px;letter-spacing:2px;font-weight:800;padding:7px 12px;transform:translate(-50%,-100%);box-shadow:0 3px 10px #273b3430}.landmark-label span{color:#eaca85;margin-right:5px}.toast{position:absolute;left:50%;bottom:132px;transform:translate(-50%,10px);background:#263b34ed;color:#fff8e6;padding:12px 22px;border-radius:30px;font-size:14px;white-space:nowrap;pointer-events:none;opacity:0;transition:.3s}.toast.visible{opacity:1;transform:translate(-50%,0)}.floating-score{position:absolute;left:50%;top:39%;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:48px;line-height:1;white-space:pre-line;color:#ffe6a4;text-shadow:0 3px #766d43,0 5px 15px #2b372d88;pointer-events:none;opacity:0;transform:translate(-50%,20px);transition:.2s}.floating-score.active{opacity:1;transform:translate(-50%,-6px)}.mission{position:absolute;left:28px;bottom:116px;display:flex;align-items:center;gap:13px;padding:15px 17px;min-width:288px}.mission-symbol{font-size:37px;color:#819764;line-height:1}.mission small{font-size:9px;font-weight:800;letter-spacing:1.6px;display:block;margin-bottom:4px}.mission strong{font-size:14px;display:block}.mission div>span{font-size:11px;opacity:.65;display:block;margin-top:4px}#destroy-count{font-family:'Barlow Condensed';font-size:28px;color:#799263;margin-left:9px}.bottom-bar{position:absolute;bottom:38px;left:28px;right:285px;display:flex;align-items:flex-end;gap:16px;pointer-events:none}.bottom-bar>*{pointer-events:auto}.controls{display:flex;align-items:center;gap:10px;padding:10px 15px;min-height:60px}.controls>span{text-align:center;line-height:1}.controls kbd{display:inline-block;background:#fffef7;border:1px solid #cad1bf;border-bottom:3px solid #c2caba;padding:4px 7px;border-radius:4px;font:800 12px 'DM Sans',sans-serif;min-width:25px}.key-row{display:flex;gap:3px;margin-top:3px}.controls>span>kbd{font-size:10px;min-width:22px;padding:1px 6px}.key-row kbd{font-size:10px;min-width:22px;padding:1px 6px}.controls label{font-size:10px;letter-spacing:1px;font-weight:800}i{height:24px;width:1px;background:#cdd3c2;margin:0 6px}.action-key{background:transparent;display:flex;align-items:center;gap:8px;padding:4px}.action-key:active kbd{transform:translateY(2px)}.camera-controls{padding:10px;display:flex;align-items:center;gap:3px}.camera-controls button{background:none;width:31px;height:31px;font-size:23px;line-height:1}.camera-controls span{font-size:9px;font-weight:800;letter-spacing:1px;margin:0 4px}.minimap{position:absolute;bottom:38px;right:28px;width:225px;padding:10px;border-radius:15px}.minimap-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;font-weight:800;margin:1px 1px 9px}.minimap-heading>span:first-child{display:flex;gap:6px;align-items:center}.live-dot{width:6px;height:6px;background:#7ba577;border-radius:50%;display:inline-block}#map{display:block;width:100%;height:174px;border-radius:7px;background:#dce2c2}#coordinates{font-size:11px;letter-spacing:.3px;font-weight:700;text-align:center;margin-top:8px}.map-caption{font-size:9px;display:flex;justify-content:space-between;margin-top:5px;color:#788172}#map-scale{border-bottom:1px solid #89917d;padding:0 7px 2px}.attribution{position:absolute;bottom:10px;left:28px;font-size:10px;color:#4d5f4b;text-shadow:0 1px 2px #ffffff;pointer-events:auto}.attribution a{color:inherit;text-decoration:none}.attribution a:hover{text-decoration:underline}.loading{position:absolute;z-index:20;inset:0;background:#e3e8cf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .6s}.loading.hide{opacity:0;pointer-events:none}.loading strong{font-family:'Barlow Condensed';font-size:36px}.loading span{font-size:14px;color:#6b7b61}.loader-monster{font-size:65px;color:#7fab7d;animation:bop .8s ease-in-out infinite alternate}@keyframes bop{to{transform:translateY(-12px) rotate(-6deg)}}dialog{border:0;border-radius:24px;background:#fffdf2;color:#293c35;padding:34px;max-width:610px;width:calc(100% - 36px);box-shadow:0 20px 100px #152a3440;max-height:90dvh;overflow:auto}dialog::backdrop{background:#20372b66;backdrop-filter:blur(6px)}.close{position:absolute;right:20px;top:16px;background:none;font-size:28px;opacity:.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#7b8b6e;margin:4px 0 9px}h1{font-family:'Barlow Condensed';font-size:42px;margin:0 0 12px;line-height:1.05}.dialog-description,dialog p{font-size:14px;line-height:1.6}#search-form{display:flex;gap:8px;margin:24px 0 15px}#search-input{min-width:0;width:100%;background:#f0f2e6;border:1px solid #d6ddc9;border-radius:10px;padding:13px 12px;font-size:13px}#search-submit{white-space:nowrap;border-radius:10px;background:#2e4c3d;color:#fffef3;padding:0 17px;font-size:13px;font-weight:700}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:23px 0}.preset-grid button{position:relative;text-align:left;border-radius:14px;border:1px solid #dfe3d4;background:#f4f3e6;padding:19px;transition:transform .2s,background .2s}.preset-grid button:hover{background:#e9edda;transform:translateY(-2px)}.preset-grid strong{display:block;font-size:17px}.preset-grid small{display:block;font-size:10px;letter-spacing:1.5px;color:#7b8572;margin-top:5px}.preset-grid em{display:block;font-size:10px;font-style:normal;color:#78906a;margin-top:16px}.preset-icon{float:right;font-size:32px;color:#af9d79}.data-note{color:#7c8474;font-size:12px!important;line-height:1.6}.search-result{display:flex;flex-direction:column;gap:4px;padding:14px;width:100%;text-align:left;background:#eff3e5;border-radius:9px;margin:5px 0}.search-result span{font-size:12px;opacity:.7}#search-results{font-size:13px;line-height:1.6}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:13px;margin:25px 0}.help-grid span{color:#7d8777}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.mode-options button{background:#e6edd9;border-radius:12px;padding:17px;text-align:left;font-weight:700;font-size:14px}.mode-options span{display:block;font-size:11px;font-weight:400;margin-top:5px}#paused{text-align:center;padding:45px 35px;max-width:430px}.primary,.secondary{display:block;width:100%;border-radius:10px;padding:15px;font-size:14px;font-weight:700}.primary{background:#304b3a;color:#fffdf0;margin-top:24px}.secondary{background:none;margin-top:8px;color:#7d896f}#touch-controls{display:none}#place-loading{padding:12px;background:#eef2e1;border-radius:10px;font-size:13px;margin-top:15px}
@media(max-width:1100px){.brand-top{font-size:43px}.brand-bottom{font-size:11px;letter-spacing:3px}.camera-controls span{display:none}.bottom-bar{gap:9px}.controls{padding:9px;gap:6px}.camera-controls{padding:8px}.camera-controls i{margin:0 2px}.place{min-width:200px}.stats{min-width:215px;padding:14px;gap:12px}}
@media(max-width:800px){.topbar{top:15px;left:15px;right:15px}.brand{display:none}.place{min-width:170px;padding:12px;gap:8px}.place strong{font-size:23px}.place small{font-size:9px}.pin{font-size:29px}.stats{min-width:178px;gap:10px;padding:12px}.stats strong{font-size:27px}.stats small{font-size:8px;letter-spacing:.6px}.stat-icon{font-size:25px}.stats>div:first-child{gap:6px}#mode-button{min-width:45px}.left-rail{top:106px;left:15px;gap:8px}.round-button{width:35px;height:35px;font-size:19px}.mission{left:15px;bottom:117px;min-width:235px;padding:12px}.mission-symbol{font-size:27px}.mission small{font-size:8px}.mission strong{font-size:12px}.mission div>span{font-size:10px}.minimap{right:15px;bottom:38px;width:180px;padding:8px}#map{height:143px}.minimap-heading{font-size:8px}#coordinates{font-size:9px}.bottom-bar{left:15px;right:210px;bottom:38px}.camera-controls{display:none}.attribution{left:15px;font-size:8px}#data-status{display:none}.controls{gap:5px;padding:8px}.controls label{font-size:8px}.action-key{gap:4px;padding:2px}.controls kbd{font-size:10px}.controls i{margin:0 2px}.toast{max-width:85vw;text-align:center;white-space:normal;bottom:240px;font-size:12px}}
@media(pointer:coarse),(max-width:600px){#touch-controls{display:block;position:absolute;bottom:35px;left:20px;right:20px;pointer-events:none}#joystick{width:104px;height:104px;border-radius:50%;background:#fffbea66;border:2px solid #fffbea99;display:flex;justify-content:center;align-items:center;pointer-events:auto;touch-action:none}#joystick-knob{width:44px;height:44px;border-radius:50%;background:#fffcf0cc;box-shadow:0 4px 12px #253a3420}#touch-stomp,#touch-roar{position:absolute;bottom:5px;right:0;border-radius:50%;background:#294638ed;color:#fffbe5;font-size:12px;font-weight:800;width:82px;height:82px;pointer-events:auto}#touch-roar{right:96px;width:54px;height:54px;background:#fffcefcc;color:#47613d;font-size:9px}.bottom-bar{display:none}.minimap{bottom:153px;width:160px}#map{height:115px}.mission{bottom:157px;min-width:0;max-width:190px;padding:10px;gap:8px}.mission small{font-size:7px}.mission strong{font-size:11px}.mission-symbol{display:none}.mission div>span{font-size:9px}#destroy-count{font-size:24px}.attribution{bottom:9px}.toast{bottom:282px}.landmark-label{font-size:8px;padding:5px 8px}}
@media(max-width:430px){.stats{min-width:156px;padding:11px 9px;gap:8px}.stat-icon{display:none}.place{min-width:155px}.preset-grid button{padding:14px}.preset-grid strong{font-size:15px}dialog{padding:27px 22px}.mission{max-width:170px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.social-button{position:absolute;top:108px;left:50%;transform:translateX(-50%);padding:9px 15px;font-size:10px;letter-spacing:1.2px;font-weight:800}.profile-label{display:block;font-size:12px;font-weight:700;margin:18px 0 8px}#player-name{width:100%;padding:13px;border-radius:10px;background:#edf1e4;border:1px solid #cad5c0;font-size:16px}.kaiju-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kaiju-options button{padding:4px 5px 11px;background:#eef0e3;border-radius:13px;border:2px solid transparent}.kaiju-options button[aria-pressed=true]{border-color:#5c8a69;background:#dceacb}.kaiju-options canvas{display:block;width:100%;height:auto}.kaiju-options strong{display:block;font-size:14px}.kaiju-options small{display:block;font-size:7px;letter-spacing:.6px;margin-top:3px}.join-row{display:flex;gap:8px;margin-top:12px}.join-row input{width:100%;min-width:0;padding:12px;border-radius:10px;background:#eef1e6;border:1px solid #d4dcc7;text-transform:uppercase;letter-spacing:3px}.join-row button,#copy-room{white-space:nowrap;background:#dbe7ce;padding:10px 18px;border-radius:9px;font-weight:700}#room-message{font-size:13px;color:#87744d}#room-connected{border-top:1px solid #dbe1d1;padding-top:18px}#player-list{font-size:12px;line-height:2;margin-top:12px}.peer-label{position:absolute;pointer-events:none;font-size:11px;font-weight:800;background:#fffceade;color:#314839;padding:4px 9px;border-radius:20px;transform:translate(-50%,-100%);white-space:nowrap}@media(max-width:800px){.social-button{top:103px;font-size:9px;padding:8px 12px}.kaiju-options{gap:4px}.kaiju-options small{font-size:6px}}

.health-panel{position:absolute;right:28px;top:110px;width:255px;padding:12px 16px;pointer-events:none;transition:background .15s}.health-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.health-panel b{font-size:10px;letter-spacing:1px}.health-panel strong{font-size:12px}.hp-track{height:9px;background:#293c3540;border-radius:3px;overflow:hidden}.hp-fill{display:block;height:100%;width:100%;background:#93c69b;transition:width .18s linear}.peer-label .hp-track{margin-top:5px;height:5px;min-width:56px}.health-panel.hurt{background:#ffd8b9}.peer-label[hidden]{display:none}@media(max-width:700px){.health-panel{right:16px;top:96px;width:150px;padding:9px}.health-panel b{font-size:8px}.health-panel strong{font-size:10px}}

body.night .brand{color:#e6efdb;filter:drop-shadow(0 2px 0 #203d55)}body.night .panel{background:rgba(235,244,229,.94)}body.night .attribution{color:#d3e1dd;text-shadow:0 1px 2px #17354c}body.night #time-button{background:#ccdfed;color:#375576}

.ultimate-control{position:absolute;left:82px;top:198px;width:148px;padding:12px 10px;text-align:left;overflow:hidden;border-color:#edbac9;user-select:none}.ultimate-eyes{float:right;color:#d27b9f;font-size:22px;letter-spacing:-3px}.ultimate-control strong{display:block;font-size:10px;letter-spacing:1.6px}.ultimate-control small{display:block;font-size:8px;font-weight:800;margin:8px 0;color:#8b6477}.ultimate-track{display:block;height:4px;background:#dcced0;border-radius:2px;overflow:hidden}.ultimate-track>span{display:block;width:100%;height:100%;background:#cf89a5}.ultimate-control[data-state=charging]{background:#f6d9e4}.ultimate-control[data-state=ready]{background:#fff0c7;box-shadow:0 0 18px #edb1bd88}.ultimate-control[data-state=ready] .ultimate-track>span{background:#d2a253}.ultimate-control[data-state=cooldown]{opacity:.8}@media(max-width:800px){.ultimate-control{left:60px;top:158px;width:125px;padding:10px 8px}.ultimate-control small{font-size:7px}.ultimate-eyes{font-size:18px}}

.floating-score,.floating-score.active{top:auto;left:auto;transform:none;width:220px;font-family:'Barlow Condensed',sans-serif;text-align:center;font-size:48px;line-height:1;z-index:5;transition:opacity .12s;isolation:isolate}.floating-score.active{opacity:1}.score-pop{position:relative;display:flex;align-items:center;flex-direction:column;gap:4px;animation:combo-pop 1.45s cubic-bezier(.2,.9,.2,1) both;transform-origin:center center}.combo-title{font:900 11px 'DM Sans',sans-serif;letter-spacing:1.2px;color:#fffbea;text-shadow:0 2px 0 #344335,0 2px 10px #273b3480;white-space:nowrap}.combo-amount{font-size:57px;font-weight:900;line-height:.95;color:#ffe5a1;text-shadow:2px 3px 0 #7e7146,0 5px 15px #233c3377;-webkit-text-stroke:.5px #fff3c8}.combo-badge{display:block;border-radius:6px;padding:5px 11px;background:#314b3be8;border:1px solid #e6eac9;font:900 11px 'DM Sans',sans-serif;letter-spacing:1.3px;color:#e3f2bb;box-shadow:0 3px 0 #26342b}.floating-score[data-combo="1"] .combo-badge{color:#ffedc2}.combo-spark{position:absolute;left:50%;top:50%;width:8px;height:8px;background:#f7d484;box-shadow:0 2px #bdaa7480;opacity:0;--angle:calc(var(--i) * 60deg);animation:combo-spark .85s ease-out both;animation-delay:calc(var(--i) * 15ms);z-index:-1}.combo-spark:nth-child(even){background:#c7e8be;width:6px;height:6px}@keyframes combo-pop{0%{opacity:0;transform:translateY(12px) scale(.5) rotate(-8deg)}16%{opacity:1;transform:translateY(-7px) scale(1.12) rotate(3deg)}29%{transform:translateY(0) scale(.96) rotate(-2deg)}42%,72%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:translateY(-22px) scale(.94)}}@keyframes combo-spark{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px) rotate(0)}18%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(95px) rotate(135deg)}}@media(max-width:600px){.combo-title{font-size:8px;letter-spacing:.7px}.combo-amount{font-size:43px}.combo-badge{font-size:9px;padding:4px 8px}}@media(prefers-reduced-motion:reduce){.score-pop{animation:none;opacity:1}.combo-spark{display:none}}

/* The health bar follows the head; combo bursts grow upward from it. */
.combat-status{position:absolute;left:0;top:0;width:180px;pointer-events:none;z-index:5;will-change:transform}
.combat-status[hidden]{display:none}
.combat-status .health-panel::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg)}
.combat-status .health-panel{position:relative;inset:auto;width:100%;padding:9px 11px;border-radius:10px;backdrop-filter:none}
.combat-status .floating-score{position:absolute;left:50%;top:auto;bottom:calc(100% + 7px);transform:translateX(-50%);width:180px;height:86px}
.combat-status .score-pop{gap:5px;padding:6px 4px;animation-name:hud-combo-pop}
.combat-status .combo-title{font-size:9px;letter-spacing:1px}
.combat-status .combo-amount{font-size:42px}
.combat-status .combo-badge{font-size:9px;padding:4px 9px}
.combat-status .combo-spark{animation-name:hud-combo-spark;width:6px;height:6px}
.sprint-control{position:absolute;left:82px;top:286px;width:148px;padding:10px;text-align:left;border-color:#b5d9cb;user-select:none}
.sprint-control>span:first-child{float:right;font-size:32px;line-height:24px;font-weight:900;color:#6da995}
.sprint-control strong{display:block;font-size:10px;letter-spacing:1.6px}
.sprint-control small{display:block;font-size:8px;font-weight:800;margin:7px 0;color:#658774}
.sprint-track{display:block;height:4px;background:#d6e1d1;border-radius:2px;overflow:hidden}
.sprint-track>span{display:block;height:100%;width:100%;background:#7caf94}
.sprint-control:disabled{cursor:default;opacity:.75}
.sprint-control[data-state=active]{opacity:1;background:#e5f8d5;box-shadow:0 0 14px #afdc9866}
@keyframes hud-combo-pop{0%{opacity:0;transform:translateY(6px) scale(.65) rotate(-4deg)}18%{opacity:1;transform:scale(1.08) rotate(2deg)}35%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-4px) scale(.96)}}
@keyframes hud-combo-spark{0%{opacity:0;transform:rotate(var(--angle)) translateX(10px)}18%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(40px) rotate(135deg)}}
@media(max-width:800px){.sprint-control{left:60px;top:239px;width:125px;padding:9px 8px}.sprint-control small{font-size:7px}}
@media(max-width:700px){.combat-status{width:150px}.combat-status .floating-score{height:84px}.combat-status .combo-title{font-size:7px;letter-spacing:.4px}.combat-status .combo-amount{font-size:36px}.combat-status .combo-badge{font-size:8px}.combat-status .health-panel{top:auto;right:auto}}
@media(max-width:700px) and (max-height:620px){.combat-status .floating-score{width:120px;height:56px;overflow:clip}.combat-status .score-pop{gap:1px;padding:2px 4px}.combat-status .combo-title{font-size:7px}.combat-status .combo-amount{font-size:30px}.combat-status .combo-badge{font-size:7px;padding:1px 6px}}
