*,:after,:before{box-sizing:border-box}body,html{margin:0;width:100%;height:100%;overflow:hidden;background:#a7d7f7;font-family:Nunito,Segoe UI,Helvetica Neue,Arial,sans-serif;color:#1f2d22}button{font-family:inherit}.menu{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.55),transparent 55%),radial-gradient(circle at 80% 30%,rgba(255,240,200,.6),transparent 55%),linear-gradient(180deg,#b6e3ff,#a7d7f7 40%,#c9efb3);display:flex;align-items:center;justify-content:center;text-align:center;isolation:isolate}.menu:before{background:radial-gradient(ellipse at 50% 95%,#6ea34e 0,#6ea34e 35%,transparent 60%),radial-gradient(ellipse at 12% 88%,rgba(110,163,78,.85) 0,transparent 38%),radial-gradient(ellipse at 88% 90%,rgba(110,163,78,.9) 0,transparent 42%);z-index:-2}.menu:after,.menu:before{content:"";position:absolute;inset:0}.menu:after{background-image:radial-gradient(circle at 12% 22%,#ffffff 0 14px,transparent 15px),radial-gradient(circle at 30% 18%,#ffffff 0 10px,transparent 11px),radial-gradient(circle at 70% 14%,#ffffff 0 16px,transparent 17px),radial-gradient(circle at 88% 26%,#ffffff 0 12px,transparent 13px);opacity:.85;z-index:-1;animation:drift 60s linear infinite}@keyframes drift{0%{transform:translateX(0)}to{transform:translateX(-80px)}}.menu-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:44px 56px 48px;max-width:min(560px,92vw);background:rgba(255,255,255,.78);border:3px solid #2f8a4e;border-radius:28px;box-shadow:0 18px 60px rgba(31,70,38,.35),inset 0 0 0 4px rgba(255,255,255,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logo{font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:clamp(38px,7vw,64px);font-weight:800;line-height:1;letter-spacing:.5px;color:#1f6b35;text-shadow:0 2px 0 #ffffff,0 4px 0 #c6e6cf,0 6px 0 #8ec79f,0 10px 18px rgba(31,70,38,.35);margin:0}.logo span{display:inline-block;color:#f6b94b;text-shadow:0 2px 0 #ffffff,0 4px 0 #f4d27b,0 6px 0 #b27418,0 10px 18px rgba(120,70,0,.3)}.slogan{font-size:clamp(15px,2.2vw,19px);font-weight:600;color:#2f5a3a;margin:0;padding:6px 14px;background:rgba(246,185,75,.18);border:2px dashed rgba(47,138,78,.45);border-radius:999px}.menu-actions{display:flex;flex-direction:column;gap:12px;width:100%}.nick-input{width:100%;padding:14px 18px;border-radius:14px;border:3px solid #2f8a4e;background:#ffffff;font-size:18px;font-weight:600;color:#1f2d22;outline:none;text-align:center;transition:border-color .12s ease,transform .12s ease}.nick-input::placeholder{color:#88a18f;font-weight:500}.nick-input:focus{border-color:#f6b94b;transform:scale(1.01)}.btn-play{width:100%;padding:14px 22px;font-size:20px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#ffffff;background:linear-gradient(180deg,#4cba6d,#2f8a4e);border:3px solid #1f6b35;border-radius:16px;box-shadow:0 6px 0 #1f6b35,0 10px 18px rgba(31,70,38,.4);cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease}.btn-play:hover{transform:translateY(-2px);box-shadow:0 8px 0 #1f6b35,0 14px 22px rgba(31,70,38,.45)}.btn-play:active{transform:translateY(3px);box-shadow:0 3px 0 #1f6b35,0 6px 10px rgba(31,70,38,.4)}.btn-secondary{background:transparent;border:2px dashed rgba(47,138,78,.55);color:#2f5a3a;font-weight:700;padding:10px 16px;border-radius:12px;cursor:pointer;font-size:14px}.avatar-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.avatar-modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(31,70,38,.55),rgba(10,25,15,.75));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:avatarFade .18s ease-out}@keyframes avatarFade{0%{opacity:0}to{opacity:1}}@keyframes avatarPop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.avatar-modal-shell{position:relative;width:min(1100px,100%);height:min(720px,100%);display:flex;flex-direction:column;border-radius:28px;background:radial-gradient(circle at 18% 0,rgba(255,255,255,.9),transparent 55%),linear-gradient(160deg,#f6fbf5,#dcefdf);border:3px solid #2f8a4e;box-shadow:0 30px 80px rgba(10,30,18,.55),inset 0 0 0 3px rgba(255,255,255,.7);overflow:hidden;animation:avatarPop .22s ease-out}.avatar-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid rgba(47,138,78,.18);background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0))}.avatar-modal-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:2px solid rgba(47,138,78,.35);background:rgba(255,255,255,.9);color:#1f6b35;font-size:18px;cursor:pointer;transition:transform .1s ease,background .15s ease}.avatar-modal-close:hover{background:#fff;transform:scale(1.05)}.avatar-modal-body{flex:1 1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:20px;gap:20px;padding:20px;min-height:0}.avatar-modal-footer{display:flex;justify-content:center;padding:14px 24px 20px;border-top:1px solid rgba(47,138,78,.18);background:linear-gradient(0deg,rgba(255,255,255,.7),rgba(255,255,255,0))}.avatar-modal-footer .btn-play{min-width:180px}.avatar-panel-kicker{display:block;color:#4b6f59;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.avatar-panel-title{display:block;color:#1f6b35;font-size:20px;font-weight:900;letter-spacing:.2px}.avatar-stage-wrap{position:relative;border-radius:24px;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(255,255,255,.55),transparent 70%),radial-gradient(ellipse 90% 80% at 50% 90%,rgba(47,138,78,.22),transparent 70%);min-height:0;height:100%}.avatar-3d-stage{position:absolute;inset:0;width:100%;height:100%}.avatar-stage-shadow{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:60%;height:14px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.22),transparent 70%);pointer-events:none;animation:avatarShadowPulse 2s ease-in-out infinite}@keyframes avatarShadowPulse{0%,to{transform:translateX(-50%) scale(1);opacity:.85}50%{transform:translateX(-50%) scale(.92);opacity:.7}}.avatar-controls{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.avatar-controls-scroll{flex:1 1;min-height:0;overflow-y:auto;padding-right:6px}.avatar-controls-scroll::-webkit-scrollbar{width:8px}.avatar-controls-scroll::-webkit-scrollbar-thumb{background:rgba(47,138,78,.35);border-radius:999px}.avatar-tabs{display:flex;gap:6px;padding:4px;background:rgba(255,255,255,.7);border-radius:14px;border:1px solid rgba(47,138,78,.18)}.avatar-tab{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:800;color:#4b6f59;border:0;border-radius:10px;background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease}.avatar-tab:hover{color:#1f6b35}.avatar-tab.is-active{background:linear-gradient(180deg,#ffffff,#e8f3ea);color:#1f6b35;box-shadow:0 2px 0 rgba(47,138,78,.25),inset 0 0 0 1px rgba(47,138,78,.2)}.avatar-tab-icon{display:inline-flex;align-items:center;font-size:16px}.avatar-fields{gap:10px}.avatar-field,.avatar-fields{display:flex;flex-direction:column}.avatar-field{gap:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.78);border:1px solid rgba(47,138,78,.14)}.avatar-field-row{display:flex;align-items:center;gap:10px}.avatar-field-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(47,138,78,.12);color:#1f6b35;font-size:18px}.avatar-field-label{flex:1 1;color:#2f5a3a;font-size:13px;font-weight:800}.avatar-field-picker{position:relative;width:30px;height:30px;border-radius:999px;border:2px solid rgba(47,138,78,.35);box-shadow:inset 0 0 0 2px rgba(255,255,255,.8),0 2px 6px rgba(0,0,0,.15);cursor:pointer;overflow:hidden}.avatar-color-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.avatar-swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px}.avatar-swatch{position:relative;width:100%;aspect-ratio:1/1;border-radius:8px;border:2px solid rgba(0,0,0,.08);cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 3px rgba(0,0,0,.12);transition:transform .1s ease,border-color .15s ease}.avatar-swatch:hover{transform:translateY(-1px) scale(1.05)}.avatar-swatch.is-selected{border-color:#1f6b35;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 0 0 2px rgba(47,138,78,.35),0 2px 6px rgba(0,0,0,.18)}.avatar-extras{display:flex;flex-direction:column;gap:10px}.avatar-extra-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.85);border:1px solid rgba(47,138,78,.18);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease}.avatar-extra-card:hover{border-color:rgba(47,138,78,.4);transform:translateY(-1px)}.avatar-extra-card input{width:18px;height:18px;accent-color:#2f8a4e;margin:0}.avatar-extra-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(47,138,78,.14);color:#1f6b35;font-size:22px}.avatar-extra-text{display:flex;flex-direction:column;gap:2px;color:#2f5a3a}.avatar-extra-text strong{font-size:14px;font-weight:900}.avatar-extra-text small{font-size:11px;color:#4b6f59;font-weight:600}.menu-credit{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;color:rgba(31,70,38,.65);letter-spacing:.4px}.error-msg{color:#b13f3f;font-size:13px;font-weight:700;margin:-6px 0 0;min-height:16px}@media (max-width:820px){.avatar-modal{padding:0}.avatar-modal-shell{width:100%;height:100%;border-radius:0;border-width:0}.avatar-modal-body{grid-template-columns:1fr;grid-template-rows:minmax(260px,38vh) minmax(0,1fr);padding:14px;gap:12px}}#app{position:fixed;inset:0;width:100vw;height:100vh;width:100lvw;height:100lvh;min-width:100dvw;min-height:100dvh;overflow:hidden}#app canvas[data-game=scene]{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;touch-action:none}.dev-tools-panel{position:absolute;left:14px;bottom:14px;z-index:12;width:min(390px,calc(100vw - 28px));padding:12px 14px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#eaffd8;background:linear-gradient(180deg,rgba(13,24,18,.93),rgba(19,42,28,.9)),radial-gradient(circle at top left,rgba(98,255,159,.22),transparent 48%);border:2px solid rgba(98,255,159,.78);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.08);font:700 12px/1.35 Courier New,monospace;text-shadow:0 1px 0 rgba(0,0,0,.5)}.dev-tools-panel[hidden]{display:none}.dev-tools-title{margin-bottom:8px;color:#62ff9f;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.dev-tools-grid{display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:4px 10px;gap:4px 10px}.dev-tools-grid span{color:rgba(234,255,216,.62);font-weight:700}.dev-tools-grid strong{min-width:0;overflow:hidden;color:#ffffff;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.dev-tools-copy,.dev-tools-help{margin-top:9px;color:rgba(234,255,216,.78);font-weight:700}.dev-tools-copy{color:#f6c96d}.hud{position:absolute;top:14px;left:14px;z-index:2;display:flex;align-items:stretch;gap:12px;padding:10px 12px;color:#1f6b35;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(236,247,231,.84));border:2px solid rgba(47,138,78,.5);border-radius:22px;box-shadow:0 12px 28px rgba(31,70,38,.16),inset 0 0 0 1px rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:800;letter-spacing:.3px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;max-width:min(94vw,720px)}.hud-brand{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:112px;padding-right:12px;border-right:1px solid rgba(47,138,78,.18)}.hud .hud-nick{color:#1f6b35;font-size:15px;line-height:1}.hud .hud-nick:before{content:"●";color:#4cba6d;margin-right:4px}.hud-campus{color:#4b6f59;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hud-stack{display:flex;flex-direction:column;gap:6px;min-width:0}.hud-row{display:flex;align-items:center;flex-wrap:wrap}.hud-row-actions{justify-content:flex-start}.hud-time{border-radius:999px;color:#18472e;background:rgba(199,240,212,.78);border:1px solid rgba(47,138,78,.25)}.hud-state,.hud-time{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.hud-state{border-radius:999px;color:#5c4320;background:rgba(248,226,179,.82);border:1px solid rgba(186,139,51,.3)}.hud-weather{border-radius:999px;color:#2c465f;background:rgba(213,232,247,.88);border:1px solid rgba(90,128,166,.28);font-weight:800}.hud-player,.hud-weather{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;letter-spacing:.4px;text-transform:uppercase}.hud-player{border-radius:999px;color:#243b2b;border:1px solid rgba(70,118,75,.25);font-weight:900}.hud-player,.hud-player-idle{background:rgba(225,241,224,.9)}.hud-player-idle{color:#2d4a36}.hud-player-walking{background:rgba(214,236,255,.92);color:#22435e;border-color:rgba(75,124,163,.26)}.hud-player-running{background:rgba(255,231,190,.95);color:#67450f;border-color:rgba(195,130,33,.3)}.hud-player-riding{background:rgba(214,233,255,.95);color:#21486a;border-color:rgba(85,133,189,.32)}.hud-player-sitting{background:rgba(234,226,255,.92);color:#4d3971;border-color:rgba(121,96,182,.26)}.hud-player-crouching,.hud-player-emoting{background:rgba(255,229,233,.92);color:#7b2f3d;border-color:rgba(189,85,102,.28)}.hud-camera{border-radius:999px;color:#334860;background:rgba(224,235,247,.85);border:1px solid rgba(74,111,148,.28)}.hud-audio,.hud-camera{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.hud-audio{border-radius:999px;border:1px solid rgba(77,114,151,.28);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .14s ease,background .14s ease,box-shadow .14s ease;white-space:nowrap}.hud-audio:hover{transform:translateY(-1px)}.hud-audio:active{transform:translateY(0)}.hud-audio-on{color:#2d5631;background:rgba(224,247,227,.95);box-shadow:0 6px 18px rgba(56,110,62,.1)}.hud-audio-off{color:#5c4659;background:rgba(244,236,241,.9)}.status-box{position:absolute;z-index:2;left:14px;top:102px;max-width:min(480px,calc(100vw - 32px));padding:8px 12px;color:#173224;background:rgba(255,255,255,.82);border:2px solid rgba(47,138,78,.38);border-radius:16px;font-size:12px;font-weight:600;line-height:1.35;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .14s ease}.emote-bar{position:absolute;left:50%;bottom:14px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;max-width:min(96vw,560px);transform:translateX(-50%);justify-content:center}.emote-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(47,138,78,.24);background:rgba(255,255,255,.78);color:#17442b;font-size:12px;font-weight:800;letter-spacing:.3px;box-shadow:0 8px 24px rgba(12,43,25,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.emote-chip:hover{background:rgba(255,255,255,.92);transform:translateY(-1px)}.emote-chip:active{transform:translateY(0)}.emote-glyph{font-size:16px}.emote-short{padding:1px 6px;border-radius:999px;background:rgba(199,240,212,.85);color:#1c5a31;font-size:11px;font-weight:900}.minimap{position:absolute;top:14px;right:14px;z-index:3;display:flex;flex-direction:column;gap:6px;padding:8px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(231,245,227,.84));border:2px solid rgba(47,138,78,.55);border-radius:18px;box-shadow:0 12px 28px rgba(31,70,38,.2),inset 0 0 0 1px rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.minimap-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.minimap-title-group{display:flex;flex-direction:column;gap:1px}.minimap-kicker{color:#4b6f59;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.minimap-title{color:#17442b;font-size:12px;letter-spacing:.03em}.minimap-compass{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#ffffff,#dff1de);color:#1f6b35;border:1px solid rgba(47,138,78,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);font-size:12px;font-weight:900}.minimap canvas{display:block;width:186px;height:186px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#6ea34e}.minimap-legend{display:flex;flex-wrap:wrap;gap:6px 10px;padding:0 2px 1px;color:#355742;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.minimap-legend span{display:inline-flex;align-items:center;gap:5px}.legend-swatch{display:inline-block;width:9px;height:9px;border-radius:999px;border:1px solid rgba(0,0,0,.16)}.legend-player{background:#62ff9f}.legend-remote{background:#ffe28f}.legend-path{background:#cdc4b1}.speech{position:absolute;z-index:4;left:50%;bottom:28px;transform:translateX(-50%) translateY(8px);width:min(760px,calc(100vw - 40px));color:#f6efe1;background:linear-gradient(180deg,rgba(28,38,56,.94),rgba(16,22,34,.96));border:2px solid rgba(245,220,140,.55);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.06),inset 0 0 28px rgba(0,0,0,.25);font-size:18px;line-height:1.5;letter-spacing:.2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity .16s ease,transform .16s ease}.speech.visible{transform:translateX(-50%) translateY(0)}.speech-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:linear-gradient(180deg,rgba(245,220,140,.18),rgba(245,220,140,.04));border-bottom:1px solid rgba(245,220,140,.35);border-radius:12px 12px 0 0}.speech-name{color:#f5dc8c;font-weight:700;font-size:15px;letter-spacing:.6px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.4)}.speech-hint{color:#c8d4d8;font-size:12px;font-weight:600;letter-spacing:.8px;padding:3px 8px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:rgba(255,255,255,.06)}.speech-body{padding:14px 22px 18px;min-height:28px;color:#f3ecdc;font-size:18px;text-shadow:0 1px 2px rgba(0,0,0,.45)}.speech:after{content:"";position:absolute;right:18px;bottom:10px;width:10px;height:10px;border-right:2px solid rgba(245,220,140,.8);border-bottom:2px solid rgba(245,220,140,.8);transform:rotate(45deg);animation:speechBlink 1.1s ease-in-out infinite;opacity:.7}@media (max-width:900px){.hud{left:10px;right:10px;top:10px;max-width:none;width:calc(100vw - 20px);flex-direction:column}.hud-brand{min-width:0;padding-right:0;padding-bottom:8px;border-right:0;border-bottom:1px solid rgba(47,138,78,.18)}.status-box{top:118px}.emote-bar,.status-box{left:10px;max-width:calc(100vw - 20px)}.emote-bar{right:10px;bottom:140px;transform:none;justify-content:flex-start}}@keyframes speechBlink{0%,to{opacity:.25;transform:rotate(45deg) translate(-2px,-2px)}50%{opacity:.95;transform:rotate(45deg) translate(0)}}canvas{outline:none}.voice{position:absolute;z-index:6;top:88px;left:14px;width:min(340px,calc(100vw - 32px));display:flex;justify-content:space-between;padding:8px 10px;color:#f1f7f3;background:rgba(14,38,23,.78);border:1px solid rgba(255,255,255,.18);border-radius:12px;box-shadow:0 8px 22px rgba(12,30,18,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voice.on{border-color:rgba(98,255,159,.42)}.voice.listening{border-color:rgba(246,210,123,.42)}.voice.error{border-color:rgba(255,132,112,.55)}.voice-info{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;line-height:1.2}.voice-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#93a698;box-shadow:0 0 0 3px rgba(147,166,152,.15)}.voice.on .voice-dot{background:#62ff9f;box-shadow:0 0 0 3px rgba(98,255,159,.18)}.voice.listening .voice-dot{background:#f6d27b;box-shadow:0 0 0 3px rgba(246,210,123,.18)}.voice.error .voice-dot{background:#ff8470;box-shadow:0 0 0 3px rgba(255,132,112,.18)}.voice-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-count{flex:0 0 auto;color:#f6d27b;text-transform:uppercase;letter-spacing:.4px}.voice-actions{flex:0 0 auto;display:flex;align-items:center;gap:5px}.voice-btn{min-height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08);color:#f1f7f3;cursor:pointer;font-size:12px;font-weight:800}.voice-btn.primary{background:linear-gradient(180deg,#4cba6d,#2f8a4e);border-color:rgba(255,255,255,.16)}.voice-btn:hover:not(:disabled){color:#f6d27b;background:rgba(255,255,255,.14)}.voice-btn.primary:hover:not(:disabled){color:#ffffff;background:linear-gradient(180deg,#58c97a,#329754)}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.media-panel{position:absolute;z-index:7;top:254px;right:14px;width:min(420px,calc(100vw - 28px));max-height:calc(100vh - 268px);display:flex;flex-direction:column;gap:12px;padding:14px;color:#f1f7f3;background:linear-gradient(180deg,rgba(13,28,20,.96),rgba(8,18,13,.94));border:1px solid rgba(255,255,255,.16);border-radius:20px;box-shadow:0 18px 42px rgba(0,0,0,.32);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.media-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.media-panel-kicker{display:block;margin-bottom:3px;color:rgba(241,247,243,.68);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.media-panel-title{display:block;color:#ffffff;font-size:18px;font-weight:900;letter-spacing:.02em}.media-panel-close{padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#f1f7f3;font-size:12px;font-weight:800;cursor:pointer}.media-panel-close:hover{background:rgba(255,255,255,.14);color:#f6d27b}.media-form{display:flex;flex-direction:column;gap:8px}.media-label{color:rgba(241,247,243,.88);font-size:12px;font-weight:800;letter-spacing:.03em}.media-input{width:100%;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#f1f7f3;font-size:14px;outline:none}.media-input::placeholder{color:rgba(241,247,243,.46)}.media-input:focus{border-color:rgba(246,210,123,.8);box-shadow:0 0 0 3px rgba(246,210,123,.14)}.media-actions{display:flex;gap:8px}.media-btn{min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#f1f7f3;font-size:13px;font-weight:800;cursor:pointer}.media-btn:hover{background:rgba(255,255,255,.14)}.media-btn-primary{border-color:rgba(255,255,255,.16);background:linear-gradient(180deg,#4cba6d,#2f8a4e);color:#ffffff}.media-btn-primary:hover{background:linear-gradient(180deg,#58c97a,#329754)}.media-feedback{margin:0;color:rgba(241,247,243,.78);font-size:12px;line-height:1.45}.media-feedback.error{color:#ffb5a7}.media-player-shell{display:flex;flex-direction:column;gap:10px}.media-player-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-provider{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.media-provider-youtube{color:#fff0ed;background:rgba(208,42,42,.88)}.media-provider-spotify{color:#0f1b14;background:rgba(98,255,159,.92)}.media-source-link{color:#f6d27b;font-size:12px;font-weight:800;text-decoration:none}.media-source-link:hover{text-decoration:underline}.media-frame-wrap{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25)}.media-frame-wrap-youtube{aspect-ratio:16/9}.media-frame-wrap-spotify{height:352px}.media-frame{width:100%;height:100%;border:0}.media-empty{gap:4px;padding:14px;border:1px dashed rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.04);color:rgba(241,247,243,.8);font-size:13px;line-height:1.45}.chat,.media-empty{display:flex;flex-direction:column}.chat{position:absolute;z-index:5;left:16px;bottom:16px;width:min(360px,calc(100vw - 32px));font-size:14px}.chat-header{display:flex;align-items:center;justify-content:space-between;pointer-events:auto;padding:0 4px}.chat-toggle{background:rgba(14,38,23,.7);border:1px solid rgba(255,255,255,.2);color:#f1f7f3;font-size:10px;font-weight:800;letter-spacing:.4px;padding:3px 10px;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-toggle:hover{background:rgba(20,56,34,.9);color:#f6d27b}.chat.chat-min .chat-messages{display:none}.chat.chat-min{width:min(320px,calc(100vw - 32px))}.menu-back{position:absolute;left:14px;top:146px;right:auto;bottom:auto;z-index:6;padding:8px 16px;background:rgba(255,255,255,.85);color:#1f6b35;border:2px solid rgba(47,138,78,.55);border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-back:hover{background:rgba(255,255,255,.95);color:#1f6b35}@media (max-width:900px){.menu-back{left:10px;top:156px}.media-panel{top:auto;right:10px;left:10px;bottom:88px;width:auto;max-height:min(68vh,720px);overflow-y:auto}}.chat-messages{display:flex;flex-direction:column;gap:4px;max-height:32vh;overflow-y:auto;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,rgba(20,44,28,.7),rgba(10,24,16,.7));border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.chat-messages.empty{display:none}.chat-msg{color:#f1f7f3;line-height:1.35;word-break:break-word;animation:chatPop .22s ease;font-size:13px}.chat-msg-line{display:flex;align-items:baseline;gap:6px}.chat-msg .nick{color:#f6d27b;font-weight:800;margin-right:6px}.chat-msg.system{color:#cfe4d4;font-style:italic}.chat-msg.system .nick{color:#9bd3a8}.chat-msg.you .nick{color:#62ff9f}.chat-msg-actions{display:flex;align-items:center;gap:6px;margin:4px 0 2px 20px}.chat-react{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#f8f4e8;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.chat-react:hover{background:rgba(255,255,255,.16);border-color:rgba(246,210,123,.65);transform:translateY(-1px)}.chat-like-count{min-width:24px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:900;color:#cfe4d4;background:rgba(255,255,255,.06);text-align:center}.chat-like-count.active{color:#62ff9f;background:rgba(98,255,159,.12)}@keyframes chatPop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-form{display:flex;gap:6px}.chat-input{flex:1 1;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(14,38,23,.78);color:#f1f7f3;font-size:14px;outline:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-input::placeholder{color:rgba(241,247,243,.5)}.chat-input:focus{border-color:#f6d27b}.chat-send{padding:0 14px;border-radius:10px;border:none;background:linear-gradient(180deg,#4cba6d,#2f8a4e);color:#ffffff;font-weight:800;font-size:14px}.chat-send:disabled{opacity:.5;cursor:not-allowed}.chat-status{font-size:10px;color:#f1f7f3;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:3px 9px;background:rgba(14,38,23,.7);border:1px solid rgba(255,255,255,.18);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.chat-hint{font-size:11px;color:#2f5a3a;padding-left:4px;display:none}.game-shell{--ui-cream-top:#fff4d4;--ui-cream-bottom:#dcc48f;--ui-cream-mid:#f1e0b2;--ui-edge:#3a2a19;--ui-shadow:#7b5a33;--ui-grass-light:#89d45e;--ui-grass-dark:#5f9d37;--ui-leaf:#2d6b2a;--ui-gold:#f6c96d;--ui-water:#a8d6f0;--ui-dirt:#71452b;--ui-red:#bc6a48;--ui-ink:#1f1d18;--ui-border:3px;--ui-lip:4px;--ui-float:10px;color:var(--ui-ink)}.game-shell:before{content:"";z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 22%),radial-gradient(circle at top,rgba(255,255,255,.08),transparent 48%),linear-gradient(180deg,rgba(34,74,42,.05),rgba(14,24,12,.18))}.game-overlay,.game-shell:before{position:absolute;inset:0;pointer-events:none}.game-overlay{z-index:6;display:grid;grid-template-rows:auto 1fr auto;grid-gap:10px;gap:10px;padding:10px}.game-header-area{display:grid;grid-template-columns:minmax(320px,1fr) minmax(220px,280px);grid-gap:10px;gap:10px;align-items:start}.game-left-stack,.game-right-stack{display:flex;flex-direction:column;gap:9px;min-width:0}.game-left-stack{align-items:flex-start}.game-right-stack{align-items:flex-end}.game-middle-row{justify-content:center;min-height:0}.game-bottom-row,.game-middle-row{display:flex;align-items:flex-end}.game-emote-shell{display:flex;justify-content:flex-end;align-items:stretch;width:min(100%,236px);pointer-events:none}.game-emote-shell .emote-bar{pointer-events:auto}.game-right-stack .menu-back{width:min(100%,236px)}.players-panel{z-index:20;top:18px;width:min(480px,calc(100vw - 32px));padding:14px 12px 12px;color:#2b2115;border-radius:7px;border:var(--ui-border) solid var(--ui-edge);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 18px rgba(27,20,10,.26);background:linear-gradient(180deg,var(--ui-grass-light) 0 10px,var(--ui-grass-dark) 10px 14px,transparent 14px),linear-gradient(180deg,rgba(255,248,231,.98),rgba(228,208,154,.98));pointer-events:auto}.espectro-notice,.players-panel{position:absolute;left:50%;transform:translateX(-50%)}.espectro-notice{top:12px;z-index:12;pointer-events:none;padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.32);background:rgba(15,18,22,.88);color:#ffffff;font-size:13px;font-weight:700;text-transform:lowercase;letter-spacing:0;box-shadow:0 6px 20px rgba(0,0,0,.28)}.players-panel-head,.players-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.players-panel-head{margin-bottom:10px;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-leaf)}.players-panel-head strong{min-width:28px;padding:3px 7px 2px;text-align:center;color:#5a360b;border:2px solid var(--ui-edge);border-radius:5px;background:linear-gradient(180deg,#f6d27b,#d79d3b);box-shadow:0 2px 0 rgba(58,42,25,.65)}.players-list{display:flex;flex-direction:column;gap:6px;max-height:min(42vh,300px);overflow:hidden auto}.players-row{grid-template-columns:10px minmax(0,1fr) auto auto auto;min-height:34px;padding:5px 7px;border:2px solid rgba(58,42,25,.22);border-radius:5px;background:rgba(255,250,240,.62);font-size:11px;font-weight:900}.players-row.you{border-color:rgba(45,107,42,.48);background:rgba(137,212,94,.18)}.players-dot{width:8px;height:8px;border-radius:999px;background:#4cba6d;box-shadow:0 0 0 2px rgba(45,107,42,.18)}.players-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2b2115}.players-activity,.players-voice{padding:3px 6px 2px;border:2px solid rgba(58,42,25,.32);border-radius:5px;background:rgba(255,255,255,.34);color:#4d3b27;font-size:9px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.players-voice.on{color:#244920;background:linear-gradient(180deg,#ebfadf,#8bc65a);border-color:rgba(36,73,32,.45)}.chat-form,.chat-messages,.hud,.media-panel,.menu-back,.minimap,.speech,.status-box,.voice{position:relative;top:auto;right:auto;bottom:auto;left:auto;border-radius:7px;border:var(--ui-border) solid var(--ui-edge);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 18px rgba(27,20,10,.2);-webkit-backdrop-filter:none;backdrop-filter:none}.chat-form,.hud,.media-panel,.minimap,.speech,.status-box,.voice{background:linear-gradient(180deg,var(--ui-grass-light) 0 10px,var(--ui-grass-dark) 10px 14px,transparent 14px),linear-gradient(180deg,var(--ui-cream-top) 0,var(--ui-cream-mid) 32%,var(--ui-cream-bottom) 100%)}.hud{width:-moz-fit-content;width:fit-content;max-width:none;gap:10px;max-width:min(100%,560px);padding:14px 12px 10px;color:var(--ui-ink);font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,247,221,.7)}.hud-brand{min-width:132px;padding:4px 10px 4px 0;border-right:2px solid rgba(58,42,25,.18)}.hud .hud-nick{font-size:16px;font-weight:900;color:var(--ui-leaf)}.hud .hud-nick:before{color:var(--ui-grass-dark);margin-right:6px}.hud-campus,.media-panel-kicker,.minimap-kicker{color:rgba(55,42,20,.78);font-size:10px;letter-spacing:.18em}.hud-stack{gap:8px}.hud-row{gap:6px}.chat-like-count,.chat-react,.chat-status,.chat-toggle,.emote-short,.hud-audio,.hud-camera,.hud-player,.hud-state,.hud-time,.hud-weather,.media-btn,.media-panel-close,.media-provider,.voice-btn{border-radius:5px;border:2px solid var(--ui-edge);box-shadow:0 2px 0 rgba(58,42,25,.65);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.hud-audio,.hud-camera,.hud-player,.hud-state,.hud-time,.hud-weather{min-height:30px;padding:4px 8px 3px;white-space:nowrap}.hud-time{background:linear-gradient(180deg,#ffffff,#ede6c9);color:#334454}.hud-state{background:linear-gradient(180deg,#ffe7b5,#d7af58);color:#5d3d12}.hud-weather{background:linear-gradient(180deg,#d8efff,#8abbd8);color:#284863}.hud-player{background:linear-gradient(180deg,#eef9df,#98c15a);color:#294824}.hud-player-walking{background:linear-gradient(180deg,#dbf1ff,#83bde6);color:#21435f}.hud-player-running{background:linear-gradient(180deg,#ffebba,#df9d4d);color:#5b390f}.hud-player-riding{background:linear-gradient(180deg,#d6e9ff,#6d9bd1);color:#17385b}.hud-player-sitting{background:linear-gradient(180deg,#eadbff,#ab8fd3);color:#4a336f}.hud-player-crouching,.hud-player-emoting{background:linear-gradient(180deg,#ffd6d1,#d98b79);color:#662f26}.hud-camera{background:linear-gradient(180deg,#f4f1e5,#c8b998);color:#433623}.hud-audio{cursor:pointer;pointer-events:auto;transition:transform .12s ease,filter .12s ease}.chat-react:hover,.chat-toggle:hover,.emote-chip:hover,.hud-audio:hover,.media-btn:hover,.media-panel-close:hover,.menu-back:hover,.voice-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03)}.chat-react:active,.emote-chip:active,.hud-audio:active,.media-btn:active,.media-panel-close:active,.menu-back:active,.voice-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(58,42,25,.65)}.hud-audio-on{background:linear-gradient(180deg,#ebfadf,#8bc65a);color:#244920}.status-box{width:-moz-fit-content;width:fit-content;max-width:min(100%,420px);padding:0 14px;font-size:11px;font-weight:800;line-height:1.45;color:#3b2f1d;opacity:0;max-height:0;overflow:hidden;border-width:0;box-shadow:none;transition:opacity .14s ease,max-height .16s ease,padding .16s ease,border-width .16s ease}.status-box[data-active="1"]{padding:14px 14px 11px;max-height:108px;border-width:var(--ui-border);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 18px rgba(27,20,10,.2)}.voice{width:-moz-fit-content;width:fit-content;min-width:0;max-width:min(100%,340px);min-height:56px;padding:14px 12px 10px;color:#2d2316;align-items:center;gap:10px;justify-content:flex-start;flex-wrap:wrap;pointer-events:auto}.voice.error,.voice.listening,.voice.on{border-color:var(--ui-edge)}.voice-info{min-width:0;max-width:100%;flex:1 1 auto;flex-wrap:wrap;gap:9px;font-size:11px}.voice-dot{width:10px;height:10px;box-shadow:0 0 0 3px rgba(58,42,25,.12)}.voice-label{min-width:0;flex:0 1 auto;color:#2d2316}.voice-count{color:#6a4b1a;font-size:10px;letter-spacing:.1em}.chat-react,.chat-toggle,.media-btn,.media-panel-close,.voice-btn{min-height:30px;padding:0 10px;background:linear-gradient(180deg,#fff5d8,#ddc18c);color:#2e2418;cursor:pointer}.voice-actions{margin-left:auto}.chat-send,.media-btn-primary,.menu-back,.voice-btn.primary{background:linear-gradient(180deg,#86cc57,#568d35);color:#fefdf8;border:3px solid #274a1c;box-shadow:0 4px 0 #274a1c;text-shadow:0 1px 0 rgba(15,38,11,.45)}.chat-send:disabled,.voice-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:0 3px 0 rgba(58,42,25,.65)}.minimap{width:min(100%,236px);padding:16px 12px 12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.minimap-head{align-items:flex-start;padding:0}.minimap-title{color:var(--ui-leaf);font-size:13px;font-weight:900}.minimap-compass{width:30px;height:30px;border-radius:6px;border:2px solid var(--ui-edge);box-shadow:0 2px 0 rgba(58,42,25,.65);background:linear-gradient(180deg,#fff7df,#ddc794);color:var(--ui-dirt)}.minimap canvas{width:100%;height:auto;aspect-ratio:1/1;border-radius:4px;border:3px solid var(--ui-edge);box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}.minimap-legend{gap:8px 12px;color:#4c3923;font-size:9px}.speech{width:min(640px,100%);padding:0;opacity:0;max-height:0;overflow:hidden;border-width:0;box-shadow:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,max-height .16s ease,border-width .16s ease}.speech.visible{opacity:1;max-height:180px;border-width:var(--ui-border);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 18px rgba(27,20,10,.2);transform:translateY(0)}.speech-header{padding:14px 14px 8px;background:linear-gradient(180deg,rgba(255,240,200,.45),rgba(255,240,200,0));border-bottom:2px solid rgba(58,42,25,.16)}.speech-name{color:var(--ui-leaf);font-size:14px;font-weight:900;letter-spacing:.12em}.speech-hint{color:#4d3b27;font-size:11px;font-weight:900;padding:4px 8px 3px;border:2px solid rgba(58,42,25,.28);border-radius:4px;background:rgba(255,255,255,.35)}.speech-body{padding:10px 14px 14px;color:#342719;font-size:clamp(14px,1.45vw,16px);text-shadow:none}.speech:after{right:16px;bottom:14px;border-right-color:rgba(58,42,25,.8);border-bottom-color:rgba(58,42,25,.8)}.emote-bar{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;transform:none;grid-gap:6px;gap:6px;padding:9px 8px 7px;border-radius:8px;border:var(--ui-border) solid var(--ui-edge);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 18px rgba(27,20,10,.2);background:linear-gradient(180deg,var(--ui-grass-light) 0 10px,var(--ui-grass-dark) 10px 14px,transparent 14px),linear-gradient(180deg,rgba(255,248,231,.96),rgba(228,208,154,.96))}.emote-chip{width:100%;min-width:0;justify-content:space-between;gap:4px;border-radius:6px;border:2px solid var(--ui-edge);background:linear-gradient(180deg,#fff7df,#ddc794);color:#312317;box-shadow:0 3px 0 rgba(58,42,25,.65);padding:6px 5px;font-size:8.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.emote-label{flex:1 1 auto;min-width:0;text-align:center}.emote-glyph{font-size:13px}.emote-short{padding:1px 4px;background:linear-gradient(180deg,#f6d27b,#d79d3b);color:#5a360b}.chat{max-width:320px;gap:6px;pointer-events:none}.chat,.chat.chat-min{width:100%}.chat-header{padding:0}.chat-status,.chat-toggle{background:linear-gradient(180deg,#fff5d8,#ddc18c);color:#2f2417;pointer-events:auto}.chat-toggle{padding:5px 10px 4px}.chat-messages{gap:8px;max-height:min(30vh,280px);padding:16px 12px 12px;background:linear-gradient(180deg,rgba(72,50,30,.96) 0 10px,rgba(48,32,18,.96) 10px 14px,transparent 14px),linear-gradient(180deg,rgba(32,22,13,.94),rgba(22,16,10,.94));border-color:#2d1d11;box-shadow:0 var(--ui-lip) 0 #5e4026,0 var(--ui-float) 18px rgba(0,0,0,.24)}.chat-msg{padding:8px 8px 7px;border:2px solid rgba(255,255,255,.08);border-radius:4px;background:rgba(255,255,255,.04);color:#fff6df;font-size:12px}.chat-msg.system{color:#dfd2b9;font-style:normal;background:rgba(246,201,109,.08)}.chat-msg .nick{color:#f6c96d}.chat-msg.you .nick{color:#97ea5c}.chat-like-count{min-width:30px;background:linear-gradient(180deg,#4b3420,#2b1f14);color:#e9d6af}.chat-like-count.active{color:#97ea5c;background:linear-gradient(180deg,#2f4c1e,#213617)}.chat-form{padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;pointer-events:auto}.chat-input{min-height:38px;border-radius:5px;border:2px solid var(--ui-edge);background:rgba(255,250,240,.82);color:#261c12;box-shadow:inset 0 2px 0 rgba(255,255,255,.45)}.chat-input::placeholder{color:rgba(38,28,18,.46)}.chat-send{min-width:92px;padding:0 12px;border-radius:6px;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.media-panel{width:min(100%,300px);max-height:min(44vh,440px);padding:16px 12px 12px;color:#2b2115;pointer-events:auto;overflow-y:auto}.media-panel-title{color:var(--ui-leaf);font-size:17px}.media-feedback,.media-label,.media-source-link{color:#43321f}.media-input{border-radius:5px;border:2px solid var(--ui-edge);background:rgba(255,250,240,.82);color:#261c12}.media-input::placeholder{color:rgba(38,28,18,.46)}.media-empty,.media-player-shell{border-radius:5px}.media-empty{border:3px dashed rgba(58,42,25,.28);background:rgba(255,255,255,.24);color:#4a3723}.menu-back{width:-moz-fit-content;width:fit-content;padding:8px 12px 6px;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;pointer-events:auto;cursor:pointer}@media (max-width:1100px){.game-header-area{grid-template-columns:minmax(300px,1fr) minmax(220px,260px)}}@media (max-width:900px){.game-overlay{gap:10px;padding:10px}.game-bottom-row,.game-header-area{grid-template-columns:1fr}.game-right-stack{align-items:stretch}.chat,.emote-bar,.hud,.media-panel,.menu-back,.minimap,.speech,.status-box,.voice{width:100%;max-width:none}.hud{flex-direction:column;padding:20px 14px 14px}.hud-brand{min-width:0;padding:0 0 12px;border-right:0;border-bottom:3px solid rgba(58,42,25,.14)}.voice{flex-direction:column;align-items:flex-start}.voice-actions{width:100%;flex-wrap:wrap}.minimap canvas{max-width:280px;margin:0 auto}.media-panel{max-height:min(48vh,440px)}.game-middle-row{justify-content:stretch;align-items:flex-end}.speech{width:100%}.game-bottom-row{gap:10px}.game-emote-shell{justify-content:stretch;width:100%}.emote-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-messages{max-height:min(28vh,240px)}}@media (max-width:560px){.game-overlay{padding:8px}.hud-audio,.hud-camera,.hud-player,.hud-state,.hud-time,.hud-weather{width:100%;justify-content:center}.chat-form{grid-template-columns:1fr}.chat-send{width:100%;min-height:40px}.media-actions,.voice-actions{width:100%}.media-btn,.voice-btn{flex:1 1 120px}}.mobile-controls{display:none}.mobile-orientation-gate{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:linear-gradient(180deg,rgba(25,48,29,.86),rgba(10,18,12,.92)),radial-gradient(circle at center,rgba(137,212,94,.24),transparent 48%)}.mobile-orientation-card{width:min(360px,92vw);display:grid;grid-gap:12px;gap:12px;padding:18px;color:#fff8e5;text-align:center;border:3px solid #3a2a19;border-radius:8px;background:linear-gradient(180deg,#2d6b2a 0 10px,#5f9d37 10px 14px,transparent 14px),linear-gradient(180deg,rgba(76,55,32,.98),rgba(33,24,15,.98));box-shadow:0 4px 0 #7b5a33,0 18px 42px rgba(0,0,0,.35)}.mobile-orientation-card strong{margin-top:6px;color:#97ea5c;font-size:20px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.mobile-orientation-card span{color:#f4e5bf;font-size:14px;font-weight:800}.mobile-orientation-card button{min-height:44px;color:#fefdf8;background:linear-gradient(180deg,#86cc57,#568d35);border:3px solid #274a1c;border-radius:6px;box-shadow:0 4px 0 #274a1c;font-size:14px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.game-shell.is-mobile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.game-shell.is-mobile .mobile-controls{position:absolute;inset:auto max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));z-index:26;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;pointer-events:none}.mobile-joystick{position:relative;width:126px;height:126px;flex:0 0 126px;border:3px solid rgba(58,42,25,.74);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,248,231,.32) 0 26%,rgba(137,212,94,.24) 27% 48%,rgba(48,32,18,.58) 49%),rgba(33,24,15,.34);box-shadow:inset 0 0 0 3px rgba(255,255,255,.16),0 4px 0 rgba(58,42,25,.72),0 14px 22px rgba(0,0,0,.22);touch-action:none;pointer-events:auto}.mobile-joystick:after,.mobile-joystick:before{content:"";position:absolute;left:50%;top:50%;width:76%;height:3px;background:rgba(255,248,231,.28);transform:translate(-50%,-50%)}.mobile-joystick:after{width:3px;height:76%}.mobile-joystick-knob{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border:3px solid #3a2a19;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.82),transparent 24%),linear-gradient(180deg,#fff7df,#ddc794);box-shadow:0 4px 0 rgba(58,42,25,.66);transition:transform 70ms linear}.mobile-joystick.active .mobile-joystick-knob{transition:none}.mobile-action-pad{display:grid;grid-template-columns:repeat(2,74px);grid-gap:9px;gap:9px;pointer-events:auto}.mobile-action{min-height:48px;padding:0 8px;color:#2e2418;background:linear-gradient(180deg,#fff5d8,#ddc18c);border:3px solid #3a2a19;border-radius:7px;box-shadow:0 4px 0 rgba(58,42,25,.72),0 12px 20px rgba(0,0,0,.18);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;touch-action:none}.mobile-action:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(58,42,25,.72),0 7px 14px rgba(0,0,0,.14)}.mobile-action-primary,.mobile-action-run:active{color:#fefdf8;background:linear-gradient(180deg,#86cc57,#568d35);border-color:#274a1c;text-shadow:0 1px 0 rgba(15,38,11,.45)}@media (hover:none) and (pointer:coarse) and (orientation:landscape),(orientation:landscape) and (max-height:620px){.game-shell.is-mobile .game-overlay{gap:6px;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.game-shell.is-mobile .game-header-area{display:flex;justify-content:space-between;gap:8px}.game-shell.is-mobile .game-left-stack{max-width:min(44vw,310px)}.game-shell.is-mobile .game-right-stack{width:auto;align-items:flex-end}.game-shell.is-mobile .voice{min-height:42px;max-width:min(42vw,300px);padding:13px 9px 7px;gap:6px}.game-shell.is-mobile .voice-info{gap:6px;font-size:10px}.game-shell.is-mobile .voice-actions{display:none}.game-shell.is-mobile .minimap{width:112px;padding:12px 7px 7px;opacity:.92}.game-shell.is-mobile .menu-back,.game-shell.is-mobile .minimap-head,.game-shell.is-mobile .minimap-legend{display:none}.game-shell.is-mobile .game-emote-shell{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;width:min(330px,42vw);transform:translateX(-50%)}.game-shell.is-mobile .emote-bar{grid-template-columns:repeat(6,minmax(34px,1fr));gap:4px;padding:7px 6px 5px}.game-shell.is-mobile .emote-chip{min-height:36px;justify-content:center;padding:4px}.game-shell.is-mobile .emote-label,.game-shell.is-mobile .emote-short{display:none}.game-shell.is-mobile .emote-glyph{font-size:17px}.game-shell.is-mobile .game-bottom-row{position:absolute;top:max(62px,calc(env(safe-area-inset-top) + 54px));left:max(10px,env(safe-area-inset-left));align-items:flex-end;padding-bottom:0}.game-shell.is-mobile .chat{max-width:min(360px,45vw)}.game-shell.is-mobile .chat.chat-min{width:auto}.game-shell.is-mobile .chat.chat-min .chat-form,.game-shell.is-mobile .chat.chat-min .chat-status{display:none}.game-shell.is-mobile .chat.chat-min .chat-header{width:-moz-fit-content;width:fit-content}.game-shell.is-mobile .chat-messages{max-height:25vh}.game-shell.is-mobile .chat-form{grid-template-columns:minmax(0,1fr) auto}.game-shell.is-mobile .chat-send{min-width:76px}}@media (orientation:landscape) and (max-height:430px){.game-shell.is-mobile .mobile-controls{gap:12px}.mobile-joystick{width:112px;height:112px;flex-basis:112px}.mobile-action-pad{grid-template-columns:repeat(2,68px);gap:7px}.mobile-action{min-height:43px;font-size:10px}.game-shell.is-mobile .minimap{width:96px}}.players-pvp-btn{padding:2px 6px;border:2px solid rgba(58,42,25,.3);border-radius:5px;background:rgba(255,106,0,.14);color:#7a3000;font-size:14px;cursor:pointer;line-height:1;transition:background .12s;pointer-events:auto}.players-pvp-btn:hover{background:rgba(255,106,0,.32)}.pvp-overlay{position:absolute;inset:0;z-index:30;justify-content:center;pointer-events:auto;background:rgba(0,0,0,.45)}.pvp-card,.pvp-overlay{display:flex;align-items:center}.pvp-card{flex-direction:column;gap:12px;padding:28px 36px 26px;max-width:min(400px,calc(100vw - 40px));border-radius:14px;border:var(--ui-border) solid var(--ui-edge);box-shadow:0 var(--ui-lip) 0 var(--ui-shadow),0 var(--ui-float) 28px rgba(0,0,0,.5);background:linear-gradient(180deg,var(--ui-grass-light) 0 10px,var(--ui-grass-dark) 10px 16px,transparent 16px),linear-gradient(180deg,rgba(255,248,231,.99),rgba(228,208,154,.99));text-align:center}.pvp-card-icon{font-size:40px;line-height:1}.pvp-card-title{font-size:20px;font-weight:900;color:var(--ui-ink);letter-spacing:.02em}.pvp-card-sub{font-size:14px;font-weight:700;color:#4b3a22}.pvp-card-actions{display:flex;gap:10px;margin-top:4px}.pvp-btn{padding:10px 24px;border-radius:8px;border:2px solid var(--ui-edge);font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 3px 0 var(--ui-shadow);transition:filter .1s}.pvp-btn:active{box-shadow:none;transform:translateY(2px)}.pvp-btn-accept{background:linear-gradient(180deg,#6fcf5a,#3f9c2a);color:#fff}.pvp-btn-accept:hover{filter:brightness(1.1)}.pvp-btn-decline{background:linear-gradient(180deg,#e07050,#b03020);color:#fff}.pvp-btn-decline:hover{filter:brightness(1.1)}.pvp-countdown-overlay{background:rgba(0,0,0,.55)}.pvp-countdown-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.pvp-countdown-vs{font-size:16px;font-weight:900;color:#fff;letter-spacing:.04em;text-shadow:0 2px 6px rgba(0,0,0,.7)}.pvp-countdown-vs em{font-style:normal;color:#ffd060;margin:0 6px}.pvp-countdown-num{font-size:88px;font-weight:900;color:#fff;line-height:1;text-shadow:0 0 30px rgba(255,200,0,.8),0 4px 12px rgba(0,0,0,.8);animation:pvp-pop .35s ease-out}@keyframes pvp-pop{0%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.pvp-countdown-hint{font-size:13px;font-weight:700;color:rgba(255,255,255,.75);text-shadow:0 1px 4px rgba(0,0,0,.6)}.pvp-hud{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:25;gap:10px;padding:8px 14px;border-radius:10px;border:2px solid var(--ui-edge);box-shadow:0 3px 0 var(--ui-shadow),0 6px 18px rgba(0,0,0,.35);background:linear-gradient(180deg,var(--ui-grass-light) 0 6px,var(--ui-grass-dark) 6px 10px,transparent 10px),linear-gradient(180deg,rgba(255,248,231,.97),rgba(228,208,154,.97));pointer-events:none}.pvp-hud,.pvp-hud-side{display:flex;align-items:center}.pvp-hud-side{flex-direction:column;gap:3px;min-width:80px}.pvp-hud-center{font-size:22px;line-height:1}.pvp-hud-name{font-size:11px;font-weight:900;color:var(--ui-leaf);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvp-hud-hits{display:flex;gap:4px}.pvp-hit-dot{font-size:16px;color:rgba(58,42,25,.2);line-height:1}.pvp-hit-dot.burned{color:#e03010;text-shadow:0 0 6px rgba(255,60,0,.7)}.pvp-quit-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;padding:0;border-radius:999px;border:2px solid var(--ui-edge);background:#c04020;color:#fff;font-size:11px;font-weight:900;line-height:1;cursor:pointer;pointer-events:auto;box-shadow:0 2px 0 rgba(80,0,0,.5)}.pvp-quit-btn:hover{background:#e05030}.swim-hud{position:absolute;left:50%;bottom:24px;z-index:28;width:min(440px,calc(100vw - 36px));padding:12px 14px 13px;transform:translate(-50%,18px);border:2px solid rgba(4,48,75,.8);border-radius:8px;background:linear-gradient(180deg,rgba(159,237,255,.18),transparent 18px),linear-gradient(180deg,rgba(7,75,112,.92),rgba(4,35,62,.94));box-shadow:0 4px 0 rgba(2,28,48,.72),0 16px 36px rgba(0,20,36,.34);color:#ecfbff;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.swim-hud.visible{opacity:1;transform:translate(-50%)}.swim-hud-metrics,.swim-hud-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.swim-hud-kicker,.swim-hud-metrics span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(219,249,255,.78)}.swim-hud-top strong{font-size:16px;font-weight:900;color:#ffffff}.swim-count{min-height:54px;display:grid;place-items:center;color:#ffffff;font-size:50px;font-weight:900;line-height:1;text-shadow:0 0 18px rgba(116,232,255,.86),0 3px 12px rgba(0,0,0,.55)}.swim-progress-track{position:relative;height:14px;overflow:hidden;border:2px solid rgba(204,248,255,.55);border-radius:999px;background:rgba(1,22,40,.58)}.swim-progress-track span{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#e8fdff,#62d8ff 48%,#ffe08a);box-shadow:0 0 14px rgba(98,216,255,.65);transition:width 80ms linear}.gate-hud{position:absolute;left:50%;bottom:24px;z-index:28;min-width:220px;max-width:calc(100vw - 36px);display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:10px 14px 11px;transform:translate(-50%,18px);border:2px solid rgba(58,84,28,.78);border-radius:8px;background:linear-gradient(180deg,rgba(255,240,162,.12),transparent 18px),linear-gradient(180deg,rgba(44,67,18,.93),rgba(18,34,8,.95));box-shadow:0 4px 0 rgba(24,34,10,.72),0 16px 36px rgba(0,20,8,.34);color:#f7ffe9;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.gate-hud.visible{opacity:1;transform:translate(-50%)}.gate-hud.unlocked{border-color:rgba(78,155,95,.82);background:linear-gradient(180deg,rgba(169,255,203,.14),transparent 18px),linear-gradient(180deg,rgba(22,83,42,.93),rgba(8,46,23,.95))}.gate-hud strong{font-size:28px;font-weight:900;color:#ffffff;letter-spacing:.08em;text-shadow:0 0 18px rgba(238,255,116,.52),0 3px 12px rgba(0,0,0,.55)}.gate-hud span{min-height:14px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(239,255,214,.78)}.gate-modal{position:absolute;inset:0;z-index:34;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .14s ease}.gate-modal.visible{opacity:1;pointer-events:auto}.gate-modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(24,46,12,.18),rgba(6,18,3,.7));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gate-modal-card{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));display:grid;grid-gap:12px;gap:12px;padding:18px 18px 16px;border:2px solid rgba(233,255,177,.42);border-radius:12px;background:linear-gradient(180deg,rgba(245,255,177,.12),transparent 22px),linear-gradient(180deg,rgba(38,62,16,.96),rgba(13,28,7,.97));box-shadow:0 6px 0 rgba(16,24,8,.68),0 26px 56px rgba(0,0,0,.4);color:#f7ffe9}.gate-modal-kicker{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(239,255,214,.72)}.gate-modal-card strong{font-size:28px;line-height:1}.gate-modal-card p{margin:0;color:rgba(239,255,214,.84);font-size:14px}.gate-modal-input{width:100%;min-height:54px;border:2px solid rgba(233,255,177,.4);border-radius:10px;padding:0 16px;background:rgba(4,14,2,.72);color:#ffffff;font-size:28px;font-weight:900;letter-spacing:.08em;outline:none}.gate-modal-input::placeholder{color:rgba(238,244,205,.36)}.gate-modal-input:focus{border-color:rgba(255,247,180,.88);box-shadow:0 0 0 4px rgba(199,255,98,.14)}.gate-modal-error{min-height:18px;color:#ffd7a8;font-size:13px;font-weight:700}.gate-modal-actions{display:flex;justify-content:flex-end;gap:10px}.gate-modal-button{min-width:110px;min-height:42px;border:0;border-radius:999px;padding:0 16px;background:linear-gradient(180deg,#f1ff93,#9bdc3d);color:#17310b;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.gate-modal-button.secondary{background:rgba(228,238,198,.16);color:#f2ffe0;box-shadow:inset 0 0 0 2px rgba(233,255,177,.24)}.espectro-veil{position:absolute;inset:-12px;z-index:24;opacity:0;pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(90deg,rgba(255,0,68,.09),transparent 18%,rgba(43,0,255,.08) 32%,transparent 48%),radial-gradient(circle at 50% 42%,transparent 0 24%,rgba(4,0,10,.34) 62%,rgba(0,0,0,.78) 100%);filter:contrast(1.25) saturate(.72)}.espectro-veil:after,.espectro-veil:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 5px);opacity:.48}.espectro-veil:after{background:repeating-linear-gradient(90deg,rgba(255,0,68,.09) 0 2px,transparent 2px 26px);opacity:.18}@media (max-width:640px){.swim-hud{bottom:12px;padding:10px 11px 11px}.swim-count{min-height:42px;font-size:40px}.swim-hud-top strong{font-size:14px}.gate-hud{bottom:12px;padding:10px 11px 11px}.gate-hud strong{font-size:22px}}