.gw-root{position:fixed;inset:0;overflow:hidden;background:#101913;color:#eef7f0;font-family:var(--sans,system-ui,sans-serif);touch-action:none}.gw-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.gw-hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;pointer-events:none}.gw-hud>*{pointer-events:auto}.gw-home{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:rgba(8,14,10,.72);color:#eef7f0;font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gw-home img{border-radius:50%}.gw-hud-right{display:flex;gap:8px}.gw-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:999px;background:rgba(8,14,10,.72);color:#d9f7e4;font-family:var(--mono,ui-monospace,monospace);font-size:12.5px;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gw-bag{cursor:pointer}.gw-bag:hover{background:rgba(20,34,24,.85)}.gw-notice{position:absolute;top:56px;left:50%;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:10px;background:rgba(14,26,19,.92);border:1px solid rgba(150,240,190,.3);color:#d9f7e4;font-size:13px;animation:gw-notice 3.5s ease forwards}@keyframes gw-notice{0%{opacity:0;transform:translate(-50%,-6px)}8%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.gw-help{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);margin:0;color:rgba(230,245,235,.55);font-size:11.5px;pointer-events:none;white-space:nowrap}.gw-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,10,8,.66);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gw-overlay-card{display:grid;grid-gap:14px;gap:14px;justify-items:center;max-width:min(86vw,360px);padding:22px 26px;border:1px solid rgba(150,240,190,.18);border-radius:16px;background:#16211a;text-align:center}.gw-overlay-card p{margin:0;font-size:14.5px;line-height:1.55}.gw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(160,235,190,.25);border-radius:11px;background:#1d2a21;color:#e8f7ee;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .12s,filter .12s}.gw-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.gw-btn:disabled{opacity:.55;cursor:progress}.gw-btn-primary{border:0;background:linear-gradient(180deg,#ff6b5e,#d8330d);color:#fff;box-shadow:0 6px 18px rgba(216,51,13,.35)}.gw-flash{position:absolute;inset:0;z-index:6;background:#05080a;pointer-events:none;animation:gw-flash .55s step-end both}@keyframes gw-flash{0%{opacity:1}18%{opacity:0}36%{opacity:1}54%{opacity:0}72%{opacity:1}to{opacity:0}}.gw-encounter{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:rgba(4,8,6,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:gw-enc-in .01s .5s both}@keyframes gw-enc-in{0%{opacity:0}to{opacity:1}}.gw-enc-card{display:grid;justify-items:center;grid-gap:10px;gap:10px;width:min(92vw,340px);padding:20px 20px 18px;border:1px solid rgba(150,240,190,.22);border-radius:18px;background:linear-gradient(180deg,#1b2a20,#131f18);box-shadow:0 18px 50px rgba(0,0,0,.5);animation:gw-enc-pop .28s cubic-bezier(.2,.9,.3,1.15) .5s both}@keyframes gw-enc-pop{0%{opacity:0;transform:scale(.82) translateY(10px)}to{opacity:1;transform:none}}.gw-enc-card.shake{animation:gw-shake .5s ease infinite}@keyframes gw-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}.gw-enc-lv{color:#9fd9b4;font-size:12.5px}.gw-enc-lv,.gw-type{font-family:var(--mono,monospace)}.gw-type{padding:3px 9px;border-radius:999px;background:rgba(120,220,160,.14);color:#b8ecc9;font-size:10.5px;letter-spacing:.06em}.gw-enc-text{margin:0;min-height:20px;font-size:13.5px;color:#d7ecdd;text-align:center}.gw-battle{width:min(94vw,400px);gap:8px}.gw-side{display:flex;align-items:center;gap:10px;width:100%}.gw-side-foe,.gw-side-you{justify-content:space-between}.gw-side-you{flex-direction:row}.gw-side-info{display:grid;grid-gap:4px;gap:4px;min-width:0;flex:1 1;font-size:14px}.gw-sprite-slot{position:relative;flex:0 0 auto;display:inline-grid;place-items:center}.gw-side-sprite{flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}.gw-side-sprite.flip{transform:scaleX(-1)}.gw-side-sprite.hurt{animation:gw-hurt .42s steps(2) both}.gw-side-sprite.flip.hurt{animation:gw-hurt-flip .42s steps(2) both}@keyframes gw-hurt{0%{opacity:1;transform:translateX(0)}25%{opacity:.35;transform:translateX(-4px)}50%{opacity:1;transform:translateX(4px)}75%{opacity:.35;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes gw-hurt-flip{0%{opacity:1;transform:scaleX(-1) translateX(0)}25%{opacity:.35;transform:scaleX(-1) translateX(-4px)}50%{opacity:1;transform:scaleX(-1) translateX(4px)}75%{opacity:.35;transform:scaleX(-1) translateX(-2px)}to{opacity:1;transform:scaleX(-1) translateX(0)}}.gw-side-sprite.fainted{animation:gw-faint .6s ease both}@keyframes gw-faint{to{opacity:0;transform:translateY(18px) scale(.8)}}.gw-dmg{position:absolute;top:-4px;right:4px;color:#ffe9a8;font-family:var(--mono,monospace);font-size:15px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none;animation:gw-dmg-float .9s ease-out both}.gw-dmg.super{color:#ff9d7e;font-size:18px}@keyframes gw-dmg-float{0%{opacity:1;transform:translateY(8px)}to{opacity:0;transform:translateY(-16px)}}.gw-ballfx{position:absolute;left:-60px;bottom:0;font-size:22px;pointer-events:none;animation:gw-ball-arc 1.15s cubic-bezier(.3,.6,.6,1) both}@keyframes gw-ball-arc{0%{transform:translate(0) rotate(0);opacity:1}38%{transform:translate(52px,-46px) rotate(220deg)}52%{transform:translate(62px,-6px) rotate(1turn)}64%{transform:translate(62px,-6px) rotate(340deg)}76%{transform:translate(62px,-6px) rotate(380deg)}88%{transform:translate(62px,-6px) rotate(350deg)}to{transform:translate(62px,-6px) rotate(1turn);opacity:1}}.gw-hpbar{height:8px;background:rgba(255,255,255,.09);overflow:hidden}.gw-hpbar,.gw-hpbar i{display:block;border-radius:6px}.gw-hpbar i{height:100%;transition:width .45s cubic-bezier(.3,.8,.4,1),background .3s}.gw-hpbar i.hi{background:linear-gradient(90deg,#35d97c,#7bf0ae)}.gw-hpbar i.mid{background:linear-gradient(90deg,#e8bb3f,#f5d36c)}.gw-hpbar i.lo{background:linear-gradient(90deg,#e2543f,#f08268)}.gw-hp-num{font-family:var(--mono,monospace);font-size:10.5px;color:#9fb8a8;justify-self:end}.gw-moves{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;width:100%;margin-top:2px}.gw-move-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 12px;font-size:13px}.gw-bag-panel{position:absolute;top:54px;right:12px;width:min(88vw,300px);max-height:min(60vh,420px);display:flex;flex-direction:column;border:1px solid rgba(150,240,190,.2);border-radius:14px;background:#16211a;box-shadow:0 16px 44px rgba(0,0,0,.5);overflow:hidden}.gw-bag-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(150,240,190,.12);font-size:13.5px}.gw-x{border:0;background:transparent;color:#9fb8a8;font-size:15px;cursor:pointer}.gw-bag-hint{margin-left:auto;margin-right:8px;color:#9fb8a8;font-size:10.5px}.gw-bag-empty{margin:0;padding:22px 16px;color:#9fb8a8;font-size:13px;text-align:center}.gw-bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));grid-gap:6px;gap:6px;padding:10px;overflow-y:auto}.gw-bag-mon{position:relative;display:grid;justify-items:center;grid-gap:3px;gap:3px;margin:0;padding:7px 4px 6px;border:1px solid transparent;border-radius:10px;background:rgba(255,255,255,.04);color:inherit;font-family:inherit;cursor:pointer}.gw-bag-mon:hover:not(:disabled){background:rgba(255,255,255,.08)}.gw-bag-mon.lead{border-color:rgba(255,214,90,.55);background:rgba(255,214,90,.08)}.gw-bag-mon img{width:44px;height:44px;object-fit:contain}.gw-bag-lv{font-family:var(--mono,monospace);font-size:9.5px;color:#9fd9b4}.gw-xpbar{width:85%;height:3px;background:rgba(255,255,255,.1);overflow:hidden}.gw-xpbar,.gw-xpbar i{display:block;border-radius:3px}.gw-xpbar i{height:100%;background:#6ea8f0}.gw-lead-tag{position:absolute;top:-6px;right:-4px;padding:1px 6px;border-radius:999px;background:#ffd65a;color:#3a2c05;font-size:8.5px;font-weight:900;letter-spacing:.06em}.gw-chatlog{position:absolute;left:14px;bottom:34px;margin:0;padding:0;max-width:min(70vw,340px);list-style:none;display:grid;grid-gap:3px;gap:3px;pointer-events:none}.gw-chatlog li{padding:4px 9px;border-radius:9px;background:rgba(8,14,10,.62);color:#e2f2e8;font-size:12.5px;line-height:1.4;overflow-wrap:anywhere;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gw-chatlog b{color:#ffe08a;font-weight:700}.gw-chatbar{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:8px;width:min(92vw,440px)}.gw-chat-input{flex:1 1;min-width:0;padding:11px 14px;border:1px solid rgba(160,235,190,.3);border-radius:11px;background:rgba(10,18,13,.88);color:#eef7f0;font-family:inherit;font-size:16px}.gw-chat-input:focus{outline:none;border-color:rgba(160,235,190,.6)}.gw-chat-send{min-height:42px}@media (pointer:coarse){.gw-chatbar,.gw-chatlog{bottom:104px}.gw-chatlog{left:90px}}.gw-dpad{position:absolute;left:16px;bottom:26px;display:none;grid-template-areas:". up ." "left . right" ". down .";gap:6px}.gw-dpad[aria-hidden=true]{opacity:.35;pointer-events:none}.dpad-btn,.gw-dpad-btn{width:56px;height:56px;border:1px solid rgba(160,235,190,.25);border-radius:14px;background:rgba(10,18,13,.72);color:#d9f7e4;font-size:18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.dpad-btn:active{background:rgba(50,90,65,.8)}.dpad-up{grid-area:up}.dpad-down{grid-area:down}.dpad-left{grid-area:left}.dpad-right{grid-area:right}@media (pointer:coarse){.gw-dpad{display:grid}.gw-help{display:none}}@media (prefers-reduced-motion:reduce){.gw-enc-card.shake,.gw-flash{animation:none}.gw-flash{opacity:0}.gw-enc-card,.gw-encounter,.gw-side-sprite.fainted,.gw-side-sprite.flip.hurt,.gw-side-sprite.hurt{animation:none}.gw-ballfx,.gw-dmg{animation-duration:.01s}.gw-btn{transition:none}}