.offline{background:#102128;color:#efe9d8}.offline #hud{pointer-events:none}.soloHud{position:fixed;top:max(12px,env(safe-area-inset-top));left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none}.soloHud>div{width:215px;background:#111e25ed;border:1px solid #526055;padding:11px 14px;border-radius:16px;display:grid;grid-template-columns:1fr auto;gap:5px}.soloHud progress{grid-column:1/-1;width:100%;height:7px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#27363b}.soloHud progress::-webkit-progress-bar{background:#27363b}.soloHud progress::-webkit-progress-value{background:#d97264}#mana::-webkit-progress-value{background:#71aaba}#healthText{grid-column:1/-1;font-size:10px;color:#c4cdcb}.soloHud button{pointer-events:auto;width:48px;height:48px}.soloGoal{position:fixed;top:135px;left:50%;transform:translateX(-50%);text-align:center;display:grid;gap:4px;min-width:225px;max-width:90vw;background:#11222bde;border:1px solid #576750;border-radius:14px;padding:10px 18px}.soloGoal span{font-size:12px;color:#c1c9b9}.soloGoal progress{width:100%;height:8px;accent-color:#d86d5f}.soloFooter{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;justify-content:space-between;font:10px system-ui;letter-spacing:.7px;color:#c4d1c9;text-shadow:0 1px 3px #000}.soloPanel{position:fixed;inset:0;z-index:100;background:linear-gradient(90deg,#0c181df8,#16272be8),url('../assets/forest-gate.svg') center/cover;overflow:auto;padding:40px 20px;display:flex;align-items:safe center;justify-content:center}.soloPanel[hidden]{display:none}.soloCard{width:min(100%,660px);padding:24px;border:1px solid #455851;border-radius:24px;background:#101e24e8;box-shadow:0 24px 80px #0005}.eyebrow{color:#c8b784;letter-spacing:3px;font-size:10px}.soloCard h1{font:44px/1.1 Georgia,serif;margin:16px 0;color:#eee9d8}.soloCard p{color:#bac8c4;font-size:14px;line-height:1.6}.soloClasses{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.soloClasses button{min-height:62px;border:1px solid #43534f;border-radius:12px;background:#213138;color:#ced6c8;cursor:pointer}.soloClasses button.on{border-color:#d4c08a;background:#3f483c;color:#ffe5a5}.soloActions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.soloActions button{flex:1;min-width:170px}.soloStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.soloStats div{padding:12px;background:#243238;border-radius:12px;font-size:12px;color:#b3c3ba}.soloStats b{display:block;font-size:21px;color:#eadcaf;margin-top:6px}.cacheStatus{font-size:11px!important;border-top:1px solid #33453f;padding-top:18px}.textButton{background:none;border:0;color:#c4d3c8;cursor:pointer;display:inline-block;padding:8px 8px 8px 0;font:12px system-ui;text-decoration:underline}.offline .abIco{font:600 10px/1.1 system-ui;text-align:center;padding:4px;color:#f0ead9}.offline .ab .cooldownText{position:absolute;inset:0;display:grid;place-items:center;font:700 18px system-ui;background:#101d26c9;border-radius:inherit;pointer-events:none}.offline .ab .cooldownText:empty{display:none}.offline .actZone{bottom:45px}.offline #abUse{display:none}#soloToast{position:fixed;top:220px;left:50%;transform:translateX(-50%);max-width:88vw;padding:10px 15px;color:#fff1c8;background:#233832ef;border-radius:12px;z-index:200;font-size:13px;pointer-events:none;opacity:0;transition:opacity .15s}#soloToast.on{opacity:1}.offline #soloPanel button:disabled{opacity:.4;cursor:default}.offline .soloCard small{color:#b5c3bc;line-height:1.6}.offline .heroPreview{width:500px;max-width:100%;height:auto;display:block;margin:auto}.soloHelp{font-size:12px!important}.offline #abAuto.on{background:#b4ca89;color:#132117}@media(max-width:600px){.soloPanel{padding:16px 12px;align-items:flex-start}.soloCard{padding:20px 16px;margin:auto}.soloCard h1{font-size:36px}.soloClasses{grid-template-columns:repeat(3,1fr)}.soloHud>div{width:185px}.soloGoal{top:125px}.soloActions button{min-width:140px}.soloFooter{font-size:9px}.soloStats div{padding:9px}.offline .actZone{bottom:40px}}@media(prefers-reduced-motion:reduce){#soloToast{transition:none}}
.offline #mini{display:none}
.offline .soloHud>div{flex:none}.offline .soloHud button{flex:none;min-width:48px;padding:0}.offline .ab .abIco{display:grid;place-items:center;padding:0}.offline .ab.atk .abIco{font-size:14px}.offline .ab .cooldownText{z-index:2}
