:root{--deep: #070a1f;--navy: #0b1030;--navy2: #141a44;--char: #1d2030;--char2: #2a2e42;--green: #3df58a;--green2: #1fb866;--violet: #8b5cf6;--violet2: #b794ff;--amber: #ffb347;--red: #ff4d5e;--text: #f4f1ff;--muted: #a3a8c8;--glass: rgba(11, 16, 48, .82);--line: rgba(183, 148, 255, .22);--pixel: "Pixelify Sans", "Silkscreen", monospace;--mono: "Silkscreen", monospace;--body: "Inter", system-ui, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--deep);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}body{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}kbd{font-family:var(--mono);font-size:10px;padding:1px 5px;border-radius:4px;background:var(--char2);border:1px solid #3a3e57;border-bottom-width:2px;color:var(--text)}[hidden]{display:none!important}#app{position:fixed;top:0;right:0;bottom:0;left:0}#world,#fight{position:absolute;left:0;top:0;image-rendering:pixelated;image-rendering:crisp-edges}#fight{z-index:2}#app.fighting #world{filter:blur(2px) brightness(.4)}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}#hud>*{pointer-events:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:#141a44d9;color:var(--text);text-decoration:none;font-weight:600;font-size:13px;white-space:nowrap;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s}.btn:hover{border-color:var(--violet2);background:#282260f2}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--green);color:#05140b;border-color:var(--green);box-shadow:0 0 18px #3df58a59}.btn.primary:hover{background:#6bffab}.btn.tiny{height:24px;padding:0 8px;font-size:11px;border-radius:6px}.btn.big{height:46px;padding:0 22px;font-size:15px;border-radius:12px}.btn.icon{width:34px;padding:0}.btn.danger{border-color:#ff4d5e80;color:#ffb3bb}.btn.is-soon,.btn:disabled{opacity:.55;cursor:not-allowed;background:#141a4499;color:var(--muted);box-shadow:none;border-style:dashed}.btn.is-soon:hover{transform:none}.btn .soon{font-family:var(--mono);font-size:9px;color:var(--amber)}.mobile-only,.dock-social{display:none!important}.topbar{position:absolute;top:calc(10px + var(--safe-t));left:12px;right:12px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;z-index:6}.brand{display:flex;align-items:baseline;gap:8px;padding:6px 12px;background:var(--glass);border:1px solid var(--line);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{font-family:var(--pixel);font-weight:700;font-size:22px;letter-spacing:1px;color:var(--text);text-shadow:0 0 12px rgba(61,245,138,.35)}.logo b{color:var(--green)}.ticker{font-family:var(--mono);font-size:11px;color:var(--amber)}.token-dock{display:flex;align-items:center;gap:6px;padding:5px;background:var(--glass);border:1px solid var(--line);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:0}.ca{display:flex;align-items:center;gap:6px;padding:0 4px 0 8px;height:34px;border-radius:9px;background:#070a1fb3;border:1px solid rgba(255,255,255,.06);min-width:0}.ca-label{font-family:var(--mono);font-size:10px;color:var(--violet2)}.ca code{font-family:var(--mono);font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.ca.unset code{color:var(--muted)}.top-right{margin-left:auto;display:flex;gap:6px;align-items:center}.wallet .dot{width:8px;height:8px;border-radius:50%;background:#5a5e7a}.wallet.on .dot{background:var(--green);box-shadow:0 0 8px var(--green)}.wallet.warn .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}#banner{position:absolute;left:50%;top:22%;transform:translate(-50%,-10px);text-align:center;pointer-events:none;opacity:0;transition:opacity .5s,transform .5s}#banner.show{opacity:1;transform:translate(-50%)}#banner small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted)}#banner strong{display:block;font-family:var(--pixel);font-size:clamp(28px,5vw,52px);line-height:1.1;color:var(--c, var(--green));text-shadow:0 0 24px var(--c, var(--green)),0 3px 0 #000}#banner span{display:block;margin-top:6px;font-size:14px;color:var(--text);text-shadow:0 2px 6px #000}#banner.mini strong{font-size:clamp(20px,3vw,30px)}.side{position:absolute;right:12px;top:calc(62px + var(--safe-t));width:232px;display:flex;flex-direction:column;gap:8px}.player-chip,.minimap,.tracker,.crew-cta{background:var(--glass);border:1px solid var(--line);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;font-family:var(--mono);font-size:11px}.lvl b{color:var(--green)}.xpbar{flex:1;height:6px;border-radius:4px;background:var(--char2);overflow:hidden}.xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--green));transition:width .6s}.tokens{display:flex;align-items:center;gap:3px;color:var(--amber)}.tokens img{width:16px;height:16px;image-rendering:pixelated}.minimap{position:relative;padding:6px;cursor:pointer}.minimap canvas{display:block;width:100%;aspect-ratio:132 / 100;image-rendering:pixelated;border-radius:7px;background:#05060f}#mmLabel{position:absolute;left:12px;bottom:10px;font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:4px;background:#05060fcc;color:var(--c, var(--green))}.tracker{padding:10px 12px;font-size:13px}.tracker .tk-kind{font-family:var(--mono);font-size:9px;letter-spacing:1px;color:var(--amber)}.tracker .tk-title{font-family:var(--pixel);font-size:16px;margin:2px 0 4px}.tracker .tk-step{color:var(--muted);line-height:1.35;display:flex;gap:6px}.tracker .tk-step:before{content:"▸";color:var(--green)}.tracker .tk-empty{color:var(--muted);font-size:12px}.tracker.pulse{animation:pulse .8s}@keyframes pulse{0%{box-shadow:0 0 #3df58ab3}to{box-shadow:0 0 0 14px #3df58a00}}.crew-cta{text-align:left;padding:9px 12px;border-color:#ffb34773;background:linear-gradient(120deg,#ffb34729,#8b5cf62e),var(--glass)}.crew-cta span{display:block;font-family:var(--pixel);font-size:15px;color:var(--amber)}.crew-cta small{color:var(--muted);font-size:11px}.crew-cta:hover{border-color:var(--amber)}.menu{position:absolute;left:50%;bottom:calc(12px + var(--safe-b));transform:translate(-50%);display:flex;gap:6px;padding:6px;background:var(--glass);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu button{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:9px;border:1px solid transparent;background:transparent;font-size:13px;font-weight:600}.menu button:hover{background:#8b5cf633;border-color:var(--line)}.menu i{font-style:normal;font-family:var(--mono);color:var(--green)}.menu kbd{opacity:.7}#prompt{position:absolute;left:50%;bottom:calc(70px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:10px;background:#05060fd9;border:1px solid var(--green);font-weight:600;font-size:14px;box-shadow:0 0 16px #3df58a40;animation:pop .2s;cursor:pointer}#prompt kbd{background:var(--green);color:#05140b;border-color:var(--green2)}@keyframes pop{0%{transform:translate(-50%,6px);opacity:0}}#toasts{position:absolute;left:12px;top:calc(64px + var(--safe-t));display:flex;flex-direction:column;gap:6px;width:min(320px,calc(100vw - 24px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--glass);border:1px solid var(--line);border-left:3px solid var(--c, var(--green));font-size:13px;animation:slide .3s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toast img{width:28px;height:28px;image-rendering:pixelated}.toast b{color:var(--c, var(--green))}.toast small{display:block;color:var(--muted);font-size:11px}.toast.out{opacity:0;transform:translate(-12px);transition:.3s}@keyframes slide{0%{opacity:0;transform:translate(-16px)}}#dialog{position:absolute;left:50%;bottom:calc(66px + var(--safe-b));transform:translate(-50%);width:min(640px,calc(100vw - 24px));display:flex;gap:12px;padding:14px;background:#090c26f2;border:2px solid var(--violet);border-radius:14px;box-shadow:0 0 0 4px #070a1fcc,0 10px 40px #0009;animation:up .2s}@keyframes up{0%{opacity:0;transform:translate(-50%,12px)}}#portrait{width:80px;height:80px;flex:none;image-rendering:pixelated;border-radius:10px;background:radial-gradient(circle at 50% 30%,#2a2460,#0b1030);border:1px solid var(--line)}.dlg-body{flex:1;min-width:0}.dlg-name b{font-family:var(--pixel);font-size:18px;color:var(--amber)}.dlg-name small{margin-left:8px;font-family:var(--mono);font-size:10px;color:var(--muted)}.dlg-text{margin:6px 0 0;font-size:15px;line-height:1.5;min-height:44px}.dlg-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dlg-choices button{padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:var(--navy2);font-weight:600;font-size:13px}.dlg-choices button.sel,.dlg-choices button:hover{border-color:var(--green);background:#3df58a24;color:var(--green)}.dlg-hint{position:absolute;right:14px;bottom:8px;font-family:var(--mono);font-size:9px;color:var(--muted);animation:blink 1s infinite}@keyframes blink{50%{opacity:.3}}.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#04051099;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadein .2s;z-index:10}@keyframes fadein{0%{opacity:0}}.sheet{width:min(860px,100%);max-height:min(720px,calc(100vh - 32px));display:flex;flex-direction:column;background:#090c26f7;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px #0009;overflow:hidden;animation:rise .25s cubic-bezier(.2,.9,.3,1.2)}.sheet.small{width:min(520px,100%);padding:22px;overflow:auto}@keyframes rise{0%{transform:translateY(16px) scale(.98);opacity:0}}.tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);overflow-x:auto;flex:none}.tabs button{padding:8px 12px;border-radius:8px;border:1px solid transparent;background:transparent;font-weight:600;font-size:13px;color:var(--muted);white-space:nowrap}.tabs button.on{color:var(--text);background:var(--navy2);border-color:var(--line)}.tabs .close{margin-left:auto;color:var(--text)}.sheet-body{padding:18px;overflow:auto}.sheet h2{font-family:var(--pixel);font-size:24px;margin:0 0 4px}.sheet h3{font-family:var(--pixel);font-size:17px;margin:18px 0 8px;color:var(--violet2)}.sheet p{color:#d4d6ea;line-height:1.55;font-size:14px;margin:6px 0}.sub{color:var(--muted)!important;font-size:13px!important}.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-family:var(--mono);font-size:9px;letter-spacing:.5px;border:1px solid currentColor;vertical-align:middle}.pill.planned{color:var(--amber)}.pill.dev{color:var(--violet2)}.pill.live{color:var(--green)}.pill.soon{color:var(--muted)}.mapwrap{position:relative}.mapwrap canvas{width:100%;image-rendering:pixelated;border-radius:10px;border:1px solid var(--line);background:#05060f}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle}.bag{display:grid;grid-template-columns:1fr 280px;gap:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;align-content:start}.slot{position:relative;aspect-ratio:1;border-radius:10px;background:#0d1130;border:2px solid var(--rc, #2a2e42);display:grid;place-items:center;cursor:pointer;transition:transform .12s}.slot:hover,.slot.sel{transform:translateY(-2px);box-shadow:0 0 14px color-mix(in srgb,var(--rc) 50%,transparent)}.slot img{width:60%;image-rendering:pixelated}.slot .n{position:absolute;right:5px;bottom:3px;font-family:var(--mono);font-size:10px}.slot .eq{position:absolute;left:4px;top:3px;font-family:var(--mono);font-size:8px;color:var(--green)}.slot.empty{cursor:default;opacity:.35;border-style:dashed}.detail{padding:14px;border-radius:12px;background:#0d1130;border:1px solid var(--line);align-self:start}.detail img{width:64px;image-rendering:pixelated}.detail .rar{font-family:var(--mono);font-size:10px}.qlist{display:grid;gap:10px}.q{padding:12px 14px;border-radius:12px;background:#0d1130;border:1px solid var(--line);border-left:3px solid var(--qc, var(--green))}.q.done{opacity:.6}.q .qk{font-family:var(--mono);font-size:9px;color:var(--qc);letter-spacing:1px}.q .qt{font-family:var(--pixel);font-size:17px}.q ol{margin:6px 0 0;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.6}.q li.cur{color:var(--text)}.q li.ok{text-decoration:line-through;opacity:.6}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.card{padding:12px;border-radius:12px;background:#0d1130;border:1px solid var(--line)}.card b{display:block;font-family:var(--pixel);font-size:15px;margin:4px 0}.card p{font-size:12.5px!important;margin:0!important;color:var(--muted)!important}.hero-crew{padding:16px;border-radius:14px;background:linear-gradient(120deg,#ffb3472e,#8b5cf633);border:1px solid rgba(255,179,71,.4)}.hero-crew h2{color:var(--amber)}.note{margin-top:14px;padding:12px;border-radius:10px;background:#ff4d5e12;border:1px solid rgba(255,77,94,.25);font-size:12px!important;color:#e6c9cf!important}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.kv span{color:var(--muted)}.kv code{font-family:var(--mono);font-size:11px;word-break:break-all}.linkrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.set{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.set label{font-weight:600}.set small{display:block;color:var(--muted);font-weight:400;font-size:12px}.switch{width:46px;height:26px;border-radius:99px;border:1px solid var(--line);background:var(--char2);position:relative;flex:none}.switch:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:.2s}.switch.on{background:#3df58a40;border-color:var(--green)}.switch.on:after{left:23px;background:var(--green)}.controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;font-size:13px;color:var(--muted)}.controls div{display:flex;justify-content:space-between;gap:8px}.center{text-align:center}.big-title{font-family:var(--pixel);font-size:40px;margin:0;line-height:1}.big-title.win{color:var(--green);text-shadow:0 0 20px rgba(61,245,138,.5)}.big-title.lose{color:var(--red);text-shadow:0 0 20px rgba(255,77,94,.5)}.loot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0}.loot div{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:#0d1130;border:1px solid var(--rc, var(--line));font-size:13px;animation:rise .4s backwards}.loot img{width:26px;image-rendering:pixelated}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.tut{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;text-align:left}.tut div{padding:9px 10px;border-radius:10px;background:#0d1130;border:1px solid var(--line);font-size:13px}.tut b{display:block;font-size:12px;color:var(--green)}.tip{padding:10px 12px;border-radius:10px;background:#ffb3471a;border:1px solid rgba(255,179,71,.35);font-size:13px;color:#ffe2b8;text-align:left}.board{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.board td,.board th{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}.board th{font-family:var(--mono);font-size:10px;color:var(--muted)}.wlist{display:grid;gap:8px;margin:14px 0}.wlist button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#0d1130;font-weight:600;text-align:left}.wlist button:hover{border-color:var(--green)}.wlist img{width:26px;height:26px;border-radius:6px}#welcome{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at center,#070a1f40,#070a1fbf);z-index:8;animation:fadein .6s}#welcome.out{opacity:0;transition:opacity .5s;pointer-events:none}.welcome-card{max-width:560px;text-align:center;padding:26px 24px;border-radius:18px;background:#090c26e0;border:1px solid var(--line);box-shadow:0 0 60px #8b5cf640;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-card h1{font-family:var(--pixel);font-size:clamp(30px,6vw,48px);line-height:1.05;margin:10px 0 6px}.welcome-card h1 span{color:var(--green);text-shadow:0 0 18px rgba(61,245,138,.5)}.welcome-card .tag{font-family:var(--pixel);font-size:20px;color:var(--amber);margin:0 0 10px}.welcome-card p{color:#d4d6ea;margin:6px 0}.kicker{font-family:var(--mono);font-size:10px;color:var(--violet2);letter-spacing:1px}.keys{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0 4px;font-size:12px;color:var(--muted)}.fine{display:block;margin-top:12px;color:var(--muted);font-size:11px}#fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#05060f;opacity:0;pointer-events:none;transition:opacity .28s;z-index:9}#fade.on{opacity:1}#touch{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}#touch>*{pointer-events:auto}.joystick{position:absolute;left:22px;bottom:calc(26px + var(--safe-b));width:120px;height:120px;border-radius:50%;background:#0b10308c;border:2px solid var(--line);touch-action:none}.knob{position:absolute;left:35px;top:35px;width:50px;height:50px;border-radius:50%;background:#b794ff80;border:2px solid var(--violet2)}.tbtns{position:absolute;right:18px;bottom:calc(26px + var(--safe-b));display:grid;gap:10px}.world-btns{grid-template-columns:auto;justify-items:end}.tb{width:70px;height:70px;border-radius:50%;border:2px solid var(--line);background:#0b1030b3;font-family:var(--mono);font-size:12px;touch-action:none}.tb.on{transform:scale(.92);background:#3df58a4d}.tb.act{width:80px;height:80px;border-color:var(--green);color:var(--green);font-size:22px}.tb.small{width:54px;height:54px;font-size:10px}.fight-btns{grid-template-columns:70px 70px 70px;grid-template-areas:". spc pause" "blk hit soda" ". ddg ."}.fight-btns .hit{grid-area:hit;border-color:var(--green);color:var(--green)}.fight-btns .blk{grid-area:blk;border-color:var(--violet2);color:var(--violet2)}.fight-btns .ddg{grid-area:ddg;border-color:var(--amber);color:var(--amber)}.fight-btns .spc{grid-area:spc;border-color:var(--red);color:var(--red);font-size:10px}.fight-btns .soda{grid-area:soda;width:54px;height:54px;font-size:10px;align-self:center}.fight-btns .pause{grid-area:pause;width:44px;height:44px;align-self:start;justify-self:end}.fighting .side,.fighting .menu,.fighting #prompt,.fighting .topbar,.fighting .crew-cta,.fighting #toasts{display:none!important}@media(max-width:1180px){.ca code{max-width:130px}.menu kbd{display:none}}@media(max-width:980px){.mobile-only{display:inline-flex!important}.token-dock{display:none;position:absolute;top:46px;left:0;right:0;flex-wrap:wrap}.token-dock.open{display:flex;background:#090c26f7;box-shadow:0 12px 30px #00000080;padding:8px}.token-dock .ca{flex:1 1 100%}.ca code{max-width:none;flex:1}.token-dock .btn{flex:1}.side{width:190px}.bag{grid-template-columns:1fr}}@media(max-width:640px){.topbar{left:8px;right:8px;gap:6px}.logo{font-size:17px}.brand{padding:5px 9px}.ticker{display:none}#xBtn,#tgBtn{display:none!important}.token-dock .dock-social{display:inline-flex!important}.topbar .top-right{gap:5px}#walletLabel{max-width:92px;overflow:hidden;text-overflow:ellipsis;font-size:12px}.wallet{padding:0 9px}.side{right:8px;top:calc(54px + var(--safe-t));width:150px;gap:6px}.tracker{padding:8px 10px;font-size:11.5px}.tracker .tk-title{font-size:13px}.crew-cta{padding:7px 10px}.crew-cta span{font-size:12px}.crew-cta small{display:none}.player-chip{padding:5px 8px;font-size:10px}.menu{bottom:auto;top:calc(54px + var(--safe-t));left:8px;transform:none;flex-direction:column;padding:4px}.menu button{padding:0 8px;height:34px}.menu button span{display:none}#prompt{bottom:calc(160px + var(--safe-b));font-size:13px}#dialog{bottom:calc(158px + var(--safe-b));padding:10px}#portrait{width:56px;height:56px}.dlg-text{font-size:14px}#toasts{top:auto;bottom:calc(170px + var(--safe-b));left:50%;transform:translate(-50%)}.tut{grid-template-columns:1fr}.sheet-body{padding:14px}#banner{top:30%;width:90vw}}@media(max-height:480px){.crew-cta{display:none}.side{width:140px}.tracker .tk-title{font-size:12px}.tracker{font-size:11px;padding:7px 9px}.joystick{width:104px;height:104px;bottom:14px}.knob{left:27px;top:27px}.tbtns{bottom:14px}.tb.act{width:66px;height:66px}#dialog{bottom:12px;width:min(560px,calc(100vw - 280px))}#prompt{bottom:20px}.fight-btns{grid-template-columns:58px 58px 58px;gap:6px;opacity:.8}.fight-btns .tb{width:58px;height:58px;font-size:10px}.fight-btns .soda{width:46px;height:46px}.fight-btns .pause{width:38px;height:38px}}
