:root{--bg: #07080c;--panel: #12141c;--panel-2: #1a1d28;--line: #2a2e3c;--text: #dfe3ec;--muted: #8a90a0;--proj: #e5b84a;--mod: #4ab0e5;--gear: #b07ae5;--guard: #6ad8ff;--ok: #3ddc84;--bad: #ff5a4d;--loot: #e8c547;--inset-top: var(--tg-inset-top, env(safe-area-inset-top, 0px));--inset-bottom: var(--tg-inset-bottom, env(safe-area-inset-bottom, 0px));--inset-left: var(--tg-inset-left, env(safe-area-inset-left, 0px));--inset-right: var(--tg-inset-right, env(safe-area-inset-right, 0px))}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}body{font:14px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}#app{position:fixed;top:0;right:0;bottom:0;left:0}button{font:inherit;color:inherit;cursor:pointer}.screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;touch-action:pan-y;padding:calc(16px + var(--inset-top)) calc(16px + var(--inset-right)) calc(96px + var(--inset-bottom)) calc(16px + var(--inset-left))}.screen h1{font-size:20px;margin:4px 0 2px;letter-spacing:.3px}.screen h2{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:18px 0 8px;font-weight:600}.sub{color:var(--muted);font-size:13px}.row{display:flex;gap:8px;align-items:center}.spacer{flex:1}.res{display:flex;gap:12px;font-size:13px;color:var(--muted)}.res b{color:var(--text);font-weight:600}.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.gear-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.cell{position:relative;aspect-ratio:1;border-radius:10px;background:var(--panel-2);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;min-width:0}.cell.empty{border-style:dashed;color:var(--muted);font-size:10px}.cell .ic{font-size:20px;line-height:1}.cell .nm{font-size:9px;line-height:1.1;color:var(--muted);max-width:100%;margin-top:2px;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cell .nfttag{position:absolute;top:2px;left:3px;padding:0 4px;border-radius:6px;background:#12384a;border:1px solid #7fd6ff;color:#7fd6ff;font-size:9px;font-weight:700;line-height:13px}.cell .qty{position:absolute;top:2px;right:5px;font-size:10px;color:var(--text)}.cell.proj{border-color:var(--proj)}.cell.mod{border-color:var(--mod)}.cell.gear{border-color:var(--gear)}.cell.guard{border-color:var(--guard)}.cell.broken{opacity:.45}.gear-slots .cell{aspect-ratio:auto;min-height:64px}.grid .cell{border-width:1px;border-radius:8px}.grid .cell .ic{font-size:16px}.dur{position:absolute;left:6px;right:6px;bottom:3px;height:3px;border-radius:2px;background:#333;overflow:hidden}.dur i{display:block;height:100%;background:var(--ok)}.dur i.low{background:var(--proj)}.dur i.zero{background:var(--bad)}.tabs{display:flex;gap:6px;margin:18px 0 8px}.tab{flex:1;padding:9px 4px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);text-align:center;font-size:13px}.tab.on{border-color:var(--mod);background:#1d2436}.list{display:flex;flex-direction:column;gap:6px}.li{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.li .ic{font-size:18px;width:22px;text-align:center}.li .t{flex:1;min-width:0}.li .t small{display:block;color:var(--muted);font-size:11px}.btn{padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);font-size:13px;white-space:nowrap}.btn:disabled{opacity:.4;cursor:default}.btn.go{background:var(--ok);color:#04120a;border:0;font-weight:700}.bigbar{position:fixed;left:0;right:0;bottom:0;padding:12px calc(16px + var(--inset-right)) calc(12px + var(--inset-bottom)) calc(16px + var(--inset-left));background:linear-gradient(transparent,var(--bg) 35%);display:flex;gap:8px}.bigbar .btn{flex:1;padding:14px;font-size:16px;border-radius:12px}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hud>*{pointer-events:auto}.hud-top{position:absolute;top:calc(8px + var(--inset-top));left:calc(12px + var(--inset-left));right:calc(12px + var(--inset-right));display:flex;gap:10px;align-items:center;font-size:13px;pointer-events:none;text-shadow:0 1px 2px #000}.hp{width:110px;height:8px;border-radius:4px;background:#2a1414;overflow:hidden}.hp i{display:block;height:100%;background:var(--bad);transition:width .15s}.keys span{margin-right:3px}.hud-btns{position:absolute;right:calc(14px + var(--inset-right));bottom:calc(22px + var(--inset-bottom));display:flex;flex-direction:column;gap:12px}.round{width:58px;height:58px;border-radius:50%;background:#14161ebf;border:1px solid #3a3f50;font-size:24px;position:relative}.hud.has-aegis .exit-hold{bottom:calc(150px + var(--inset-bottom))}.hud.has-aegis .boss-bar{bottom:calc(92px + var(--inset-bottom))}.round.aegis{position:absolute;right:calc(84px + var(--inset-right));bottom:calc(22px + var(--inset-bottom));border-color:#6ad8ff;color:#bff4ff}.round.aegis.cd{color:#6a7a80;border-color:#3a4a55;background:conic-gradient(rgba(20,22,30,.9) var(--cd, 0deg),rgba(60,120,140,.55) 0)}.round.aegis small{right:0;left:0;bottom:6px;text-align:center;font-size:12px;color:#dff}.round.small{width:46px;height:46px;font-size:19px}.round small{position:absolute;right:4px;bottom:2px;font-size:11px}.boss-bar{position:absolute;left:50%;bottom:calc(14px + var(--inset-bottom));transform:translate(-50%);width:min(64vw,360px,calc(100vw - 150px));pointer-events:none;text-shadow:0 1px 3px #000}.boss-bar .nm{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.6px;margin-bottom:3px;color:#f0d6d6}.boss-bar .nm em{font-style:normal}.boss-bar .nm span{color:#ff8a8a}.boss-bar .bar{position:relative;height:10px;background:#260a10;border:1px solid #5a1a26;border-radius:3px;overflow:hidden}.boss-bar .bar b{display:block;height:100%;background:linear-gradient(#e0414f,#9c1727);transition:width .12s}.boss-bar .bar i{position:absolute;top:0;bottom:0;width:2px;background:#0b0508;opacity:.85}.boss-bar .bar.shielded b{background:linear-gradient(#fff,#c9a0a0)}.toast{position:absolute;left:50%;top:calc(56px + var(--inset-top));transform:translate(-50%);background:#10121aeb;border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-size:13px;white-space:normal;max-width:min(88vw,340px);text-align:center;pointer-events:none;transition:opacity .3s}.exit-hold{position:absolute;left:50%;bottom:calc(120px + var(--inset-bottom));transform:translate(-50%);font-size:14px;color:#5ff2c6;text-shadow:0 1px 3px #000;pointer-events:none}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:78%;overflow-y:auto;touch-action:pan-y;background:#0c0d13f7;border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:12px calc(16px + var(--inset-right)) calc(16px + var(--inset-bottom)) calc(16px + var(--inset-left))}.sheet h2{font-size:11px;text-transform:uppercase;color:var(--muted);margin:12px 0 6px;letter-spacing:.6px}.sheet .live{color:var(--bad);font-size:11px}.preview canvas{width:100%;border-radius:12px;background:#000;display:block}.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin-top:8px}.count{font-size:34px;font-weight:700;text-align:center;margin:6px 0}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}.notice{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.notice h1{margin:0;font-size:20px}.notice .sub{max-width:320px}.notice .btn{text-decoration:none;padding:14px 22px;font-size:16px;border-radius:12px}.ver{margin-top:18px;text-align:center;font-size:10px;color:var(--muted);opacity:.6}.fps{position:absolute;top:calc(34px + var(--inset-top));right:calc(12px + var(--inset-right));font-size:10px;color:#ffffff73;text-shadow:0 1px 2px #000;pointer-events:none;font-variant-numeric:tabular-nums}.banner{position:absolute;left:50%;top:calc(58px + var(--inset-top));transform:translate(-50%);max-width:90%;padding:6px 12px;border-radius:8px;background:#0a0a0ed1;color:#fff;font-size:13px;text-align:center;pointer-events:none;z-index:5}.net-warn{position:absolute;left:50%;top:calc(34px + var(--inset-top));transform:translate(-50%);padding:3px 10px;border-radius:8px;background:#3c1410bf;color:#ffb3a8;font-size:11px;white-space:nowrap;pointer-events:none}.sync{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.warn{color:#ffb3a8;font-size:13px}.actions{display:flex;gap:8px;margin-top:12px;align-items:center}.actions .btn{flex:1;padding:12px 8px}.actions .sub{flex:1}.btn.danger{border-color:#7a2a2a;color:#ff9a9a}.cell.sel{outline:2px solid var(--mod);outline-offset:1px}.btn.danger.armed{background:#5a1d1d;color:#ffd0d0;border-color:#c04040}.screen .actions{padding:8px 0 4px}.sheet .actions{position:sticky;bottom:0;padding:10px 0 2px;background:#0c0d13f7}.chip{padding:1px 6px;border-radius:8px;background:#14161ebf;border:1px solid #3a3f50;font-size:12px}.boss-bar .nm span{font-size:12px;letter-spacing:1px;font-weight:600}.cell.dead{opacity:.55;border-style:dashed}.cell .warn{position:absolute;left:2px;right:2px;bottom:-2px;transform:translateY(100%);font-size:9px;line-height:1.1;color:var(--bad);text-align:center}.slots:has(.warn){margin-bottom:18px}.volley{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:13px}.volley b{color:var(--text)}.volley small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.35}.volley.none{border-color:#7a2a2a;color:#ff9a9a}.itemcard{margin-top:10px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--mod)}.itemcard.proj{border-color:var(--proj)}.itemcard.gear{border-color:var(--gear)}.itemcard.guard{border-color:var(--guard)}.itemcard .top{display:flex;gap:10px;align-items:center}.itemcard .top .ic{font-size:26px;width:34px;text-align:center}.itemcard .top .nm{font-size:16px;font-weight:700}.itemcard .top .kind{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.itemcard p{margin:8px 0 0;font-size:14px;line-height:1.4}.itemcard .meta{margin-top:6px;font-size:12px;color:var(--muted)}.itemcard .note{margin-top:6px;font-size:13px;color:var(--bad)}.itemcard .ask{margin-top:10px;font-size:12px;color:var(--muted)}.slotpick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}.slotpick button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 2px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);font-size:11px;line-height:1.2;min-width:0}.slotpick button .n{display:block;font-size:10px;color:var(--muted)}.slotpick button.good{border-color:var(--ok)}.slotpick button.bad{opacity:.55}.slotpick button.bad .n{color:var(--bad)}.itemcard .actions{padding-bottom:0}.li .t small.what{color:var(--text);opacity:.75}.short{color:var(--bad)}.cell .nm.long{font-size:7.5px}.pcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pcard{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:6px 10px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px}.pcard .ptext{flex:1;min-width:0}.pname{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pname.big{font-size:18px;flex:1;min-width:0}.pcard .chev{color:var(--muted);font-size:22px}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--line);flex:none;line-height:1}.avatar.sm{width:44px;height:44px;font-size:24px}.avatar.lg{width:96px;height:96px;font-size:52px}.phero{display:flex;justify-content:center;padding:8px 0 0}.pbox{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.pbox .row{flex-wrap:wrap}.btn.tap{min-height:44px;min-width:44px}.pinput{width:100%;min-height:44px;padding:8px 10px;font:inherit;font-size:16px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:9px;user-select:text;-webkit-user-select:text;touch-action:manipulation}.pmsg{min-height:18px}.pmsg.bad{color:var(--bad)}.picons,.pcolors{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.pick{min-height:44px;padding:0;font-size:22px;line-height:1;background:var(--panel-2);border:2px solid var(--line);border-radius:10px}.pick.sw{border-radius:50%;width:44px;height:44px;justify-self:center}.pick.on{border-color:var(--text)}@media (max-width: 440px){.picons,.pcolors{grid-template-columns:repeat(4,1fr)}.pick{min-height:48px}}.pstats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pstat{display:flex;flex-direction:column;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.pstat b{font-size:17px}.sub.bad{color:var(--bad)}.llist{display:flex;flex-direction:column;gap:6px;margin-top:10px}.lrow{display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.lrow .pname{flex:1;min-width:0}.lrow .avatar.sm{width:36px;height:36px;font-size:20px}.lplace{flex:none;min-width:44px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.lkills{flex:none;font-variant-numeric:tabular-nums}.lrow.me{border-color:var(--text);background:var(--panel-2)}.lrow.me .lplace{color:var(--text)}.lrow.pinned{position:sticky;bottom:-88px;margin-top:10px;box-shadow:0 -6px 12px #00000059}.lnote{margin-top:10px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stats.card{margin-top:10px;grid-template-columns:1fr}.st{display:flex;align-items:baseline;gap:5px;padding:6px 8px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:13px;min-width:0;white-space:nowrap}.st.wide{grid-column:1 / -1}.st i{font-style:normal}.st em{font-style:normal;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;min-width:0}.st b{margin-left:auto;font-weight:700;color:var(--text)}.st.good,.cmp.good{border-color:#1f5a3a}.st.good b,.cmp.good b{color:var(--ok)}.st.bad,.cmp.bad{border-color:#6a2a2a}.st.bad b,.cmp.bad b{color:var(--bad)}.cmps{margin-top:8px;display:grid;gap:4px}.cmp{display:flex;align-items:baseline;gap:6px;font-size:14px}.cmp em{font-style:normal;color:var(--muted)}.cmp b{margin-left:auto}.cmp small{color:var(--muted);font-size:12px}.nftplate{margin:8px 0;padding:7px 10px;border:1px solid #b8860b;border-radius:10px;background:#b8860b26;color:#f0c040;font-size:13px;text-align:center}.nftjobs{display:flex;flex-direction:column;gap:6px;margin:8px 0}.nftjob{padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;font-size:13px}.nftjob.bad{border-color:#a33}.nftaddr{font-family:ui-monospace,monospace;font-size:14px;word-break:break-all}.nftnote{margin-top:8px}.squad-flash{min-height:0;color:var(--loot);max-width:320px}.squad-flash:empty{display:none}.squad-panel{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:min(100%,320px)}.squad-panel:empty{display:none}.squad-link{max-width:320px;word-break:break-all;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;touch-action:auto}.squad-link:empty{display:none}.squad-panel .btn{padding:11px 14px;font-size:15px;white-space:normal}.squad-members{display:flex;flex-direction:column;gap:6px;text-align:left}.squad-member{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.squad-member.away{opacity:.55}.squad-dot{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor}.squad-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.squad-tag{color:var(--muted);font-size:11px;flex:none}
