Guia de Farming: Difference between revisions

From TimeRO Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Tag: Manual revert
Line 1: Line 1:
__NOTOC__
__NOEDITSECTION__
<!-- TimeRO Wiki — Guia de Farming de Zeny -->
<!-- Design: "Merchant's Ledger" — Bloomberg terminal × game economy -->
<!-- Unique interactives: method tabs, profit calculator, route viewer, loadout builder, efficiency bars -->
<div id="farming-guide-root" style="margin:-1em -1.5em;font-family:'Segoe UI',system-ui,sans-serif;background:#030508;min-height:100vh;color:#e8eef8;">
<!-- ═══════════════════════════════════════════════════════════
    MARKET PRICE TICKER — scrolling strip
═══════════════════════════════════════════════════════════ -->
<div style="background:#000;border-bottom:1px solid rgba(249,197,0,0.18);overflow:hidden;height:34px;display:flex;align-items:center;">
  <div style="flex-shrink:0;padding:0 16px;border-right:1px solid rgba(249,197,0,0.18);font-size:0.60rem;letter-spacing:0.16em;text-transform:uppercase;color:#f9c500;font-weight:900;white-space:nowrap;">💰 MERCADO TIMERO</div>
  <div style="overflow:hidden;flex:1;position:relative;">
    <div class="ticker-track" style="display:flex;gap:0;white-space:nowrap;animation:ticker-scroll 38s linear infinite;">
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Item Valioso A&nbsp;<span style="color:#00ff88;">▲ ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Carta MVP Rara&nbsp;<span style="color:#f9c500;">= ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Matéria Prima B&nbsp;<span style="color:#00ff88;">▲ ???k z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Consumível Raro&nbsp;<span style="color:#ff3d5a;">▼ ???k z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Oridecon&nbsp;<span style="color:#00ff88;">▲ ???k z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Elunium&nbsp;<span style="color:#f9c500;">= ???k z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Item de Quest&nbsp;<span style="color:#00ff88;">▲ ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Headgear Raro&nbsp;<span style="color:#ff3d5a;">▼ ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <!-- Duplicate for seamless loop -->
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Item Valioso A&nbsp;<span style="color:#00ff88;">▲ ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Carta MVP Rara&nbsp;<span style="color:#f9c500;">= ???M z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Matéria Prima B&nbsp;<span style="color:#00ff88;">▲ ???k z</span></span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:rgba(122,144,176,0.5);">·</span>
      <span style="padding:0 20px;font-size:0.72rem;font-weight:700;color:#e8eef8;">Consumível Raro&nbsp;<span style="color:#ff3d5a;">▼ ???k z</span></span>
    </div>
  </div>
</div>
<!-- ═══════════════════════════════════════════════════════════
    HERO — MERCHANT'S LEDGER
═══════════════════════════════════════════════════════════ -->
<div style="position:relative;background:linear-gradient(160deg,#020407 0%,#0a0800 35%,#100d00 65%,#060500 100%);padding:56px 64px 48px;overflow:hidden;border-bottom:1px solid rgba(249,197,0,0.16);">
  <!-- Grid bg — gold tint -->
  <div style="position:absolute;inset:0;background-image:linear-gradient(rgba(249,197,0,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(249,197,0,0.025) 1px,transparent 1px);background-size:52px 52px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 10%,transparent 80%);"></div>
  <!-- Glow orbs -->
  <div style="position:absolute;top:-60px;left:10%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(249,197,0,0.07),transparent 65%);pointer-events:none;"></div>
  <div style="position:absolute;bottom:-40px;right:8%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,0.05),transparent 65%);pointer-events:none;"></div>
  <!-- Coin decorations (pure CSS circles) -->
  <div style="position:absolute;top:40px;right:80px;width:90px;height:90px;border-radius:50%;border:2px solid rgba(249,197,0,0.12);pointer-events:none;"></div>
  <div style="position:absolute;top:52px;right:92px;width:66px;height:66px;border-radius:50%;border:1px solid rgba(249,197,0,0.08);display:flex;align-items:center;justify-content:center;font-size:1.8rem;pointer-events:none;opacity:0.18;">z</div>
  <div style="position:absolute;bottom:60px;right:180px;width:60px;height:60px;border-radius:50%;border:2px solid rgba(249,197,0,0.08);pointer-events:none;"></div>
  <div style="position:relative;z-index:1;max-width:900px;">
    <!-- Breadcrumb -->
    <div style="display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:0.78rem;color:rgba(122,144,176,0.60);">
      [[Main_Page|<span style="color:rgba(249,197,0,0.65);">TimeRO Wiki</span>]]
      <span style="opacity:0.4;">›</span>
      [[Guides|<span style="color:rgba(122,144,176,0.60);">Guias</span>]]
      <span style="opacity:0.4;">›</span>
      <span style="color:#e8eef8;">Farming de Zeny</span>
    </div>
    <!-- Category pills -->
    <div style="display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;">
      <span style="display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;background:rgba(249,197,0,0.14);border:1px solid rgba(249,197,0,0.36);font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:#f9c500;font-weight:900;">💰 Economia</span>
      <span style="display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.24);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:#00ff88;font-weight:700;">📈 Alto Lucro</span>
      <span style="display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.22);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:#00d4ff;font-weight:700;">🏪 Mercado</span>
      <span style="display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;background:rgba(122,144,176,0.07);border:1px solid rgba(122,144,176,0.18);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.75);font-weight:700;">⚔️ Todas as Classes</span>
    </div>
    <!-- Title -->
    <h1 style="font-size:clamp(2.2rem,5.5vw,4.2rem);font-weight:900;line-height:0.92;letter-spacing:-0.02em;color:#fff;margin:0 0 16px;">
      Guia de Farming<br>
      <span style="background:linear-gradient(90deg,#f9c500,#f9a826,#00d4ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px rgba(249,197,0,0.25));">de Zeny</span>
    </h1>
    <p style="font-size:1.05rem;color:rgba(176,192,224,0.75);line-height:1.75;max-width:660px;margin:0 0 30px;">Métodos, rotas, calculadora de lucro e estratégias completas para acumular Zeny no TimeRO — do iniciante que precisa de gear ao veterano otimizando cada hora de jogo.</p>
    <!-- Live profit preview pills -->
    <div style="display:flex;gap:16px;flex-wrap:wrap;align-items:center;">
      <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(249,197,0,0.18);">
        <span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Melhor método:</span>
        <span style="font-size:0.92rem;font-weight:900;color:#f9c500;">Substituir com dado real</span>
      </div>
      <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,255,136,0.14);">
        <span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Nível mínimo:</span>
        <span style="font-size:0.92rem;font-weight:900;color:#00ff88;">Lv. ???+</span>
      </div>
      <div style="display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:rgba(0,0,0,0.35);border:1px solid rgba(0,212,255,0.14);">
        <span style="font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Atualizado:</span>
        <span style="font-size:0.92rem;font-weight:900;color:#00d4ff;">Mar 2025</span>
      </div>
    </div>
  </div>
</div>
<!-- /HERO -->
<!-- ═══════════════════════════════════════════════════════════
    STAT BAR — Economy overview
═══════════════════════════════════════════════════════════ -->
<div style="background:#050810;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid rgba(255,255,255,0.05);">
    <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);text-align:center;">
      <div style="font-size:1.8rem;font-weight:900;color:#f9c500;letter-spacing:-0.03em;margin-bottom:3px;">3</div>
      <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Tipos de Farm</div>
    </div>
    <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);text-align:center;">
      <div style="font-size:1.8rem;font-weight:900;color:#00ff88;letter-spacing:-0.03em;margin-bottom:3px;">10+</div>
      <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Rotas Mapeadas</div>
    </div>
    <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);text-align:center;">
      <div style="font-size:1.8rem;font-weight:900;color:#00d4ff;letter-spacing:-0.03em;margin-bottom:3px;">Calc</div>
      <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Calculadora</div>
    </div>
    <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);text-align:center;">
      <div style="font-size:1.8rem;font-weight:900;color:#b06cff;letter-spacing:-0.03em;margin-bottom:3px;">Build</div>
      <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Loadout</div>
    </div>
    <div style="padding:20px 22px;text-align:center;">
      <div style="font-size:1.8rem;font-weight:900;color:#f9a826;letter-spacing:-0.03em;margin-bottom:3px;">All</div>
      <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.55);font-weight:700;">Classes</div>
    </div>
  </div>
</div>
<!-- ═══════════════════════════════════════════════════════════
<!-- ═══════════════════════════════════════════════════════════
     FARMING METHODS — 3-TAB SWITCHER
     FARMING METHODS — 3-TAB SWITCHER
Line 15: Line 153:
     <!-- Method tab buttons -->
     <!-- Method tab buttons -->
     <div style="display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.07);margin-bottom:24px;background:rgba(0,0,0,0.30);">
     <div style="display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.07);margin-bottom:24px;background:rgba(0,0,0,0.30);">
       <div id="mtab-grind" data-method="grind" style="flex:1;padding:16px 20px;background:linear-gradient(135deg,rgba(249,197,0,0.18),rgba(249,197,0,0.07));color:#f9c500;font-size:0.92rem;font-weight:900;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;text-align:center;user-select:none;">
       <button id="mtab-grind" onclick="switchMethod('grind')" style="flex:1;padding:16px 20px;border:none;background:linear-gradient(135deg,rgba(249,197,0,0.18),rgba(249,197,0,0.07));color:#f9c500;font-size:0.92rem;font-weight:900;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;">
         ⚔️ Grind Ativo
         ⚔️ Grind Ativo
       </div>
       </button>
       <div id="mtab-market" data-method="market" style="flex:1;padding:16px 20px;background:transparent;color:rgba(0,212,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;text-align:center;user-select:none;">
       <button id="mtab-market" onclick="switchMethod('market')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(0,212,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;">
         🏪 Mercado
         🏪 Mercado
       </div>
       </button>
       <div id="mtab-passive" data-method="passive" style="flex:1;padding:16px 20px;background:transparent;color:rgba(176,108,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all 0.18s;text-align:center;user-select:none;">
       <button id="mtab-passive" onclick="switchMethod('passive')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(176,108,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all 0.18s;">
         💤 Renda Passiva
         💤 Renda Passiva
       </div>
       </button>
     </div>
     </div>


Line 29: Line 167:
     <div id="method-grind" class="method-panel" style="display:grid;grid-template-columns:1fr 1fr;gap:20px;">
     <div id="method-grind" class="method-panel" style="display:grid;grid-template-columns:1fr 1fr;gap:20px;">


      <!-- Left: description -->
       <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.14);border-radius:16px;padding:24px 22px;">
       <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.14);border-radius:16px;padding:24px 22px;">
         <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;">
         <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;">
Line 39: Line 178:
         <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 16px;">O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.</p>
         <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 16px;">O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.</p>
         <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.</p>
         <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.</p>
 
        <!-- Pros/cons -->
         <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;">
         <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;">
           <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);">
           <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);">
Line 60: Line 199:
       </div>
       </div>


      <!-- Right: quick metrics -->
       <div style="display:flex;flex-direction:column;gap:12px;">
       <div style="display:flex;flex-direction:column;gap:12px;">
         <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:18px 20px;">
         <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);border-radius:14px;padding:18px 20px;">
Line 137: Line 277:
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div>
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div>
           <div style="display:flex;flex-wrap:wrap;gap:6px;">
           <div style="display:flex;flex-wrap:wrap;gap:6px;">
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Capital inicial</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.07);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Veteranos</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Veteranos</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.07);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Com capital</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Analistas de preço</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(0,212,255,0.07);border:1px solid rgba(0,212,255,0.18);font-size:0.74rem;color:#00d4ff;font-weight:700;">Pacientes</span>
           </div>
           </div>
         </div>
         </div>
Line 149: Line 289:
         <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;">
         <div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;">
           <div style="width:44px;height:44px;border-radius:12px;background:rgba(176,108,255,0.14);border:1px solid rgba(176,108,255,0.26);display:flex;align-items:center;justify-content:center;font-size:1.3rem;">💤</div>
           <div style="width:44px;height:44px;border-radius:12px;background:rgba(176,108,255,0.14);border:1px solid rgba(176,108,255,0.26);display:flex;align-items:center;justify-content:center;font-size:1.3rem;">💤</div>
           <div><div style="font-size:1.05rem;font-weight:900;color:#fff;">Renda Passiva</div><div style="font-size:0.72rem;color:rgba(122,144,176,0.60);">Menos esforço · Mais planejamento</div></div>
           <div><div style="font-size:1.05rem;font-weight:900;color:#fff;">Renda Passiva</div><div style="font-size:0.72rem;color:rgba(122,144,176,0.60);">Quests · Vendor shop · Producção</div></div>
         </div>
         </div>
         <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">Métodos passivos funcionam melhor quando você entende a economia do servidor e monta uma rotina previsível de geração de valor.</p>
         <p style="font-size:0.88rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 14px;">Fontes de Zeny que geram renda enquanto você não está ativamente grindando: quests diárias, open shop, produção de itens (Alchemist/Blacksmith), e sistemas automáticos do servidor.</p>
         <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com dados reais sobre estoque, revenda lenta, itens de demanda recorrente e estratégias de longo prazo.</p>
         <p style="font-size:0.84rem;color:rgba(122,144,176,0.65);line-height:1.65;margin:0;">Substitua com detalhes reais do TimeRO: existe sistema de venda automática? Quests diárias com recompensa em Zeny? Quais profissões são mais lucrativas passivamente?</p>
         <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;">
         <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;">
           <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);">
           <div style="padding:10px 12px;border-radius:8px;background:rgba(0,255,136,0.05);border:1px solid rgba(0,255,136,0.12);">
             <div style="font-size:0.62rem;font-weight:800;color:#00ff88;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Vantagens</div>
             <div style="font-size:0.62rem;font-weight:800;color:#00ff88;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Vantagens</div>
             <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;">
             <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"><li>Renda sem esforço constante</li><li>Combinável com grind</li></ul>
              <li>Menor esforço ativo</li>
              <li>Boa previsibilidade</li>
              <li>Complementa outros farms</li>
            </ul>
           </div>
           </div>
           <div style="padding:10px 12px;border-radius:8px;background:rgba(255,61,90,0.04);border:1px solid rgba(255,61,90,0.10);">
           <div style="padding:10px 12px;border-radius:8px;background:rgba(255,61,90,0.04);border:1px solid rgba(255,61,90,0.10);">
             <div style="font-size:0.62rem;font-weight:800;color:#ff3d5a;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Desvantagens</div>
             <div style="font-size:0.62rem;font-weight:800;color:#ff3d5a;letter-spacing:0.10em;text-transform:uppercase;margin-bottom:5px;">Desvantagens</div>
             <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;">
             <ul style="margin:0;padding-left:14px;font-size:0.80rem;color:rgba(176,192,224,0.75);line-height:1.7;"><li>Menor volume de Zeny</li><li>Setup inicial necessário</li></ul>
              <li>Retorno mais lento</li>
              <li>Depende de planejamento</li>
              <li>Pode exigir capital</li>
            </ul>
           </div>
           </div>
         </div>
         </div>
Line 176: Line 308:
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:12px;">📊 Métricas Estimadas</div>
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:12px;">📊 Métricas Estimadas</div>
           <div style="display:flex;flex-direction:column;gap:10px;">
           <div style="display:flex;flex-direction:column;gap:10px;">
             <div><div style="display:flex;justify-content:space-between;margin-bottom:5px;"><span style="font-size:0.82rem;font-weight:700;color:#e8eef8;">Esforço ativo</span><span style="font-size:0.82rem;font-weight:900;color:#b06cff;">Baixo</span></div><div style="height:6px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:35%;background:linear-gradient(90deg,#b06cff,#8f57ff);border-radius:999px;"></div></div></div>
             <div><div style="display:flex;justify-content:space-between;margin-bottom:5px;"><span style="font-size:0.82rem;font-weight:700;color:#e8eef8;">Renda/dia estimada</span><span style="font-size:0.82rem;font-weight:900;color:#b06cff;">???M z</span></div><div style="height:6px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:45%;background:linear-gradient(90deg,#b06cff,#8844cc);border-radius:999px;"></div></div></div>
             <div><div style="display:flex;justify-content:space-between;margin-bottom:5px;"><span style="font-size:0.82rem;font-weight:700;color:#e8eef8;">Escalabilidade</span><span style="font-size:0.82rem;font-weight:900;color:#00ff88;">Boa</span></div><div style="height:6px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:72%;background:linear-gradient(90deg,#00ff88,#00c870);border-radius:999px;"></div></div></div>
             <div><div style="display:flex;justify-content:space-between;margin-bottom:5px;"><span style="font-size:0.82rem;font-weight:700;color:#e8eef8;">Esforço necessário</span><span style="font-size:0.82rem;font-weight:900;color:#00ff88;">Baixo</span></div><div style="height:6px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:20%;background:linear-gradient(90deg,#00ff88,#00c870);border-radius:999px;"></div></div></div>
            <div><div style="display:flex;justify-content:space-between;margin-bottom:5px;"><span style="font-size:0.82rem;font-weight:700;color:#e8eef8;">Tempo de retorno</span><span style="font-size:0.82rem;font-weight:900;color:#00d4ff;">Médio</span></div><div style="height:6px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:60%;background:linear-gradient(90deg,#00d4ff,#0099cc);border-radius:999px;"></div></div></div>
           </div>
           </div>
         </div>
         </div>
Line 184: Line 315:
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div>
           <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:10px;">✅ Melhor para</div>
           <div style="display:flex;flex-wrap:wrap;gap:6px;">
           <div style="display:flex;flex-wrap:wrap;gap:6px;">
             <span style="padding:4px 10px;border-radius:6px;background:rgba(176,108,255,0.08);border:1px solid rgba(176,108,255,0.18);font-size:0.74rem;color:#b06cff;font-weight:700;">Casuais</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(176,108,255,0.07);border:1px solid rgba(176,108,255,0.18);font-size:0.74rem;color:#b06cff;font-weight:700;">Qualquer nível</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(176,108,255,0.08);border:1px solid rgba(176,108,255,0.18);font-size:0.74rem;color:#b06cff;font-weight:700;">Planejamento</span>
             <span style="padding:4px 10px;border-radius:6px;background:rgba(176,108,255,0.07);border:1px solid rgba(176,108,255,0.18);font-size:0.74rem;color:#b06cff;font-weight:700;">Multi-tarefa</span>
            <span style="padding:4px 10px;border-radius:6px;background:rgba(176,108,255,0.08);border:1px solid rgba(176,108,255,0.18);font-size:0.74rem;color:#b06cff;font-weight:700;">Longo prazo</span>
           </div>
           </div>
         </div>
         </div>
Line 214: Line 344:
     <div style="display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px;">
     <div style="display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px;">


       <div class="route-pill" data-route="route-a" id="pill-route-a" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(249,197,0,0.20);background:rgba(249,197,0,0.07);color:rgba(249,197,0,0.80);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;user-select:none;">
       <button onclick="expandRoute('route-a')" class="route-pill" id="pill-route-a" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(249,197,0,0.20);background:rgba(249,197,0,0.07);color:rgba(249,197,0,0.80);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
         <span style="font-size:1rem;">🗺️</span> Rota A — Lv.??+
         <span style="font-size:1rem;">🗺️</span> Rota A — Lv.??+
       </div>
       </button>


       <div class="route-pill" data-route="route-b" id="pill-route-b" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,212,255,0.18);background:rgba(0,212,255,0.06);color:rgba(0,212,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;user-select:none;">
       <button onclick="expandRoute('route-b')" class="route-pill" id="pill-route-b" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,212,255,0.18);background:rgba(0,212,255,0.06);color:rgba(0,212,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
         <span style="font-size:1rem;">🗺️</span> Rota B — Lv.??+
         <span style="font-size:1rem;">🗺️</span> Rota B — Lv.??+
       </div>
       </button>


       <div class="route-pill" data-route="route-c" id="pill-route-c" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,255,136,0.18);background:rgba(0,255,136,0.06);color:rgba(0,255,136,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;user-select:none;">
       <button onclick="expandRoute('route-c')" class="route-pill" id="pill-route-c" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,255,136,0.18);background:rgba(0,255,136,0.06);color:rgba(0,255,136,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
         <span style="font-size:1rem;">🗺️</span> Rota C — Lv.??+
         <span style="font-size:1rem;">🗺️</span> Rota C — Lv.??+
       </div>
       </button>


       <div class="route-pill" data-route="route-d" id="pill-route-d" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(255,107,0,0.18);background:rgba(255,107,0,0.06);color:rgba(255,107,0,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;user-select:none;">
       <button onclick="expandRoute('route-d')" class="route-pill" id="pill-route-d" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(255,107,0,0.18);background:rgba(255,107,0,0.06);color:rgba(255,107,0,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
         <span style="font-size:1rem;">🗺️</span> Rota D — Lv.??+
         <span style="font-size:1rem;">🗺️</span> Rota D — Lv.??+
       </div>
       </button>


       <div class="route-pill" data-route="route-e" id="pill-route-e" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(176,108,255,0.18);background:rgba(176,108,255,0.06);color:rgba(176,108,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;user-select:none;">
       <button onclick="expandRoute('route-e')" class="route-pill" id="pill-route-e" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(176,108,255,0.18);background:rgba(176,108,255,0.06);color:rgba(176,108,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
         <span style="font-size:1rem;">🗺️</span> Rota E — Lv.??+ (Endgame)
         <span style="font-size:1rem;">🗺️</span> Rota E — Lv.??+ (Endgame)
       </div>
       </button>


     </div>
     </div>


     <!-- Route details -->
     <!-- Route detail cards (hidden until clicked) -->
     <div id="route-a" class="route-detail" style="display:block;background:rgba(0,0,0,0.30);border:1px solid rgba(249,197,0,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
     <div id="route-a" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(249,197,0,0.18);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(249,197,0,0.08),rgba(249,197,0,0.02));border-bottom:1px solid rgba(249,197,0,0.08);display:flex;align-items:center;justify-content:space-between;">
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(249,197,0,0.12),rgba(249,197,0,0.04));border-bottom:1px solid rgba(249,197,0,0.12);display:flex;align-items:center;justify-content:space-between;">
         <div style="display:flex;align-items:center;gap:10px;">
         <div style="display:flex;align-items:center;gap:10px;">
           <span style="font-size:1.3rem;">🗺️</span>
           <span style="font-size:1.3rem;">🗺️</span>
           <div>
           <div>
             <div style="font-size:1rem;font-weight:900;color:#fff;">Rota A — Nome do Mapa/Local</div>
             <div style="font-size:1rem;font-weight:900;color:#fff;">Rota A — Nome do Mapa/Local</div>
             <div style="font-size:0.70rem;color:rgba(249,197,0,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div>
             <div style="font-size:0.70rem;color:rgba(249,197,0,0.60);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M–???M z/hr estimado</div>
           </div>
           </div>
         </div>
         </div>
         <div class="route-close" data-route="route-a" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;user-select:none;">✕ Fechar</div>
         <button onclick="expandRoute('route-a')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button>
       </div>
       </div>
       <div style="padding:20px 22px;">
       <div style="display:grid;grid-template-columns:1fr 1fr;gap:0;">
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota A. Mencione mapa, monstros principais, loot alvo, consumo médio e por que ela é ideal para esse range.</p>
        <div style="padding:20px 22px;border-right:1px solid rgba(255,255,255,0.05);">
          <div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">🐉 Monstros-Alvo</div>
          <div style="display:flex;flex-direction:column;gap:7px;">
            <div style="display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);">
              <span style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Monstro 1</span>
              <span style="font-size:0.76rem;color:#f9c500;font-weight:700;">Drop: Item X (X%)</span>
            </div>
            <div style="display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);">
              <span style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Monstro 2</span>
              <span style="font-size:0.76rem;color:#f9c500;font-weight:700;">Drop: Item Y (X%)</span>
            </div>
          </div>
          <div style="margin-top:12px;padding:10px 12px;border-radius:8px;background:rgba(249,197,0,0.05);border:1px solid rgba(249,197,0,0.10);">
            <div style="font-size:0.70rem;font-weight:700;color:rgba(249,197,0,0.65);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.08em;">Código do mapa</div>
            <div style="font-size:0.84rem;font-weight:800;color:#f9c500;font-family:monospace;">map_code_aqui</div>
          </div>
        </div>
         <div style="padding:20px 22px;">
          <div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:10px;">🎯 Estratégia</div>
          <p style="font-size:0.84rem;color:rgba(176,192,224,0.78);line-height:1.70;margin:0 0 12px;">Substitua com estratégia real para esta rota. Qual classe funciona melhor, qual skill usar, como posicionar, se tem cooldown de respawn, e se vale a pena usar buffs/consumíveis.</p>
          <div style="display:flex;flex-wrap:wrap;gap:5px;">
            <span style="padding:3px 8px;border-radius:5px;background:rgba(249,197,0,0.07);border:1px solid rgba(249,197,0,0.16);font-size:0.70rem;color:#f9c500;font-weight:700;">Classe recomendada</span>
            <span style="padding:3px 8px;border-radius:5px;background:rgba(249,197,0,0.07);border:1px solid rgba(249,197,0,0.16);font-size:0.70rem;color:#f9c500;font-weight:700;">Dificuldade: ???</span>
          </div>
        </div>
       </div>
       </div>
     </div>
     </div>


     <div id="route-b" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,212,255,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
    <!-- Route B -->
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,212,255,0.08),rgba(0,212,255,0.02));border-bottom:1px solid rgba(0,212,255,0.08);display:flex;align-items:center;justify-content:space-between;">
     <div id="route-b" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,212,255,0.18);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
         <div style="display:flex;align-items:center;gap:10px;">
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,212,255,0.10),rgba(0,212,255,0.03));border-bottom:1px solid rgba(0,212,255,0.10);display:flex;align-items:center;justify-content:space-between;">
          <span style="font-size:1.3rem;">🗺️</span>
         <div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota B — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(0,212,255,0.60);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div>
          <div>
         <button onclick="expandRoute('route-b')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button>
            <div style="font-size:1rem;font-weight:900;color:#fff;">Rota B — Nome do Mapa/Local</div>
            <div style="font-size:0.70rem;color:rgba(0,212,255,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div>
          </div>
        </div>
         <div class="route-close" data-route="route-b" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;user-select:none;">✕ Fechar</div>
       </div>
       </div>
       <div style="padding:20px 22px;">
       <div style="padding:20px 22px;">
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota B. Siga o mesmo padrão da Rota A acima.</p>
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com os dados reais desta rota: monstros, mapa, drops mais valiosos e estratégia de farm. Siga o mesmo padrão da Rota A acima.</p>
       </div>
       </div>
     </div>
     </div>


    <!-- Routes C, D, E — same pattern, collapsed -->
     <div id="route-c" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,255,136,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
     <div id="route-c" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(0,255,136,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,255,136,0.08),rgba(0,255,136,0.02));border-bottom:1px solid rgba(0,255,136,0.08);display:flex;align-items:center;justify-content:space-between;">
       <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(0,255,136,0.08),rgba(0,255,136,0.02));border-bottom:1px solid rgba(0,255,136,0.08);display:flex;align-items:center;justify-content:space-between;">
        <div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota C — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(0,255,136,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div>
        <button onclick="expandRoute('route-c')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button>
      </div>
      <div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota C.</p></div>
    </div>
    <div id="route-d" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(255,107,0,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
      <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(255,107,0,0.08),rgba(255,107,0,0.02));border-bottom:1px solid rgba(255,107,0,0.08);display:flex;align-items:center;justify-content:space-between;">
        <div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota D — Nome do Mapa/Local</div><div style="font-size:0.70rem;color:rgba(255,107,0,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div></div></div>
        <button onclick="expandRoute('route-d')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button>
      </div>
      <div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota D.</p></div>
    </div>
    <div id="route-e" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(176,108,255,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
      <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(176,108,255,0.08),rgba(176,108,255,0.02));border-bottom:1px solid rgba(176,108,255,0.08);display:flex;align-items:center;justify-content:space-between;">
        <div style="display:flex;align-items:center;gap:10px;"><span style="font-size:1.3rem;">🗺️</span><div><div style="font-size:1rem;font-weight:900;color:#fff;">Rota E — Endgame Farming</div><div style="font-size:0.70rem;color:rgba(176,108,255,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M+ z/hr estimado</div></div></div>
        <button onclick="expandRoute('route-e')" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;">✕ Fechar</button>
      </div>
      <div style="padding:20px 22px;"><p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota E (endgame). Mencione o nível mínimo, build necessária e por que é a melhor rota para jogadores veteranos.</p></div>
    </div>
  </div>
</div>
<!-- /ROUTES -->
<!-- ═══════════════════════════════════════════════════════════
    EFFICIENCY RANKING — ANIMATED BARS
═══════════════════════════════════════════════════════════ -->
<div style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="max-width:860px;margin:0 auto;">
    <div style="text-align:center;margin-bottom:32px;">
      <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(249,197,0,0.08);border:1px solid rgba(249,197,0,0.20);margin-bottom:12px;">
        <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#f9c500;font-weight:700;">// Ranking de Eficiência</span>
      </div>
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Comparativo de métodos</h2>
      <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Zeny por hora estimado em condições ideais. Valores variam conforme class e build.</p>
    </div>
    <!-- Ranking table with bars -->
    <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(255,255,255,0.07);border-radius:18px;overflow:hidden;">
      <!-- Header -->
      <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;padding:12px 20px;background:rgba(0,0,0,0.30);border-bottom:1px solid rgba(255,255,255,0.06);">
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;">Método</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;">Zeny/hora estimado</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;text-align:center;">Lv. min</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;text-align:center;">Risco</div>
      </div>
      <!-- Row — #1 -->
      <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);background:rgba(249,197,0,0.03);">
        <div>
          <div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#1 — Rota Endgame</div>
          <div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div>
        </div>
         <div style="display:flex;align-items:center;gap:10px;">
         <div style="display:flex;align-items:center;gap:10px;">
           <span style="font-size:1.3rem;">🗺️</span>
           <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);">
          <div>
             <div class="eff-bar" style="height:100%;width:95%;background:linear-gradient(90deg,#f9c500,#f9a826);border-radius:999px;box-shadow:0 0 8px rgba(249,197,0,0.25);"></div>
            <div style="font-size:1rem;font-weight:900;color:#fff;">Rota C — Nome do Mapa/Local</div>
             <div style="font-size:0.70rem;color:rgba(0,255,136,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div>
           </div>
           </div>
          <span style="font-size:0.82rem;font-weight:900;color:#f9c500;white-space:nowrap;min-width:72px;text-align:right;">???M z</span>
        </div>
        <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div>
        <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(255,61,90,0.10);border:1px solid rgba(255,61,90,0.20);font-size:0.68rem;color:#ff3d5a;font-weight:700;">Alto</span></div>
      </div>
      <!-- Row — #2 -->
      <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);">
        <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#2 — Trading Especializado</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div>
        <div style="display:flex;align-items:center;gap:10px;">
          <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:80%;background:linear-gradient(90deg,#00d4ff,#0099cc);border-radius:999px;"></div></div>
          <span style="font-size:0.82rem;font-weight:900;color:#00d4ff;white-space:nowrap;min-width:72px;text-align:right;">???M z</span>
        </div>
        <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div>
        <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(249,168,38,0.10);border:1px solid rgba(249,168,38,0.20);font-size:0.68rem;color:#f9a826;font-weight:700;">Médio</span></div>
      </div>
      <!-- Row — #3 -->
      <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);">
        <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#3 — Rota Mid-Game</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div>
        <div style="display:flex;align-items:center;gap:10px;">
          <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:60%;background:linear-gradient(90deg,#00ff88,#00c870);border-radius:999px;"></div></div>
          <span style="font-size:0.82rem;font-weight:900;color:#00ff88;white-space:nowrap;min-width:72px;text-align:right;">???M z</span>
        </div>
        <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.???+</div>
        <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div>
      </div>
      <!-- Row — #4 -->
      <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);">
        <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#4 — Rota Early-Game</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Substituir com nome</div></div>
        <div style="display:flex;align-items:center;gap:10px;">
          <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:38%;background:linear-gradient(90deg,#b06cff,#8844cc);border-radius:999px;"></div></div>
          <span style="font-size:0.82rem;font-weight:900;color:#b06cff;white-space:nowrap;min-width:72px;text-align:right;">???k z</span>
         </div>
         </div>
         <div class="route-close" data-route="route-c" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;user-select:none;">✕ Fechar</div>
         <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.1+</div>
        <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Baixo</span></div>
       </div>
       </div>
       <div style="padding:20px 22px;">
 
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota C.</p>
      <!-- Row — #5 -->
       <div style="display:grid;grid-template-columns:2fr 3fr 80px 80px;gap:12px;align-items:center;padding:14px 20px;">
         <div><div style="font-size:0.88rem;font-weight:800;color:#fff;margin-bottom:2px;">#5 — Renda Passiva</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">Quests + Open Shop</div></div>
        <div style="display:flex;align-items:center;gap:10px;">
          <div style="flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);"><div class="eff-bar" style="height:100%;width:22%;background:linear-gradient(90deg,#7a90b0,#5a7090);border-radius:999px;"></div></div>
          <span style="font-size:0.82rem;font-weight:900;color:#7a90b0;white-space:nowrap;min-width:72px;text-align:right;">???k z</span>
        </div>
        <div style="text-align:center;font-size:0.82rem;font-weight:800;color:#e8eef8;">Lv.1+</div>
        <div style="text-align:center;"><span style="padding:3px 8px;border-radius:5px;background:rgba(0,255,136,0.08);border:1px solid rgba(0,255,136,0.18);font-size:0.68rem;color:#00ff88;font-weight:700;">Zero</span></div>
      </div>
 
    </div>
    <div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.45);text-align:center;">* Valores estimados sem boosters. Substituir com dados reais do servidor.</div>
  </div>
</div>
<!-- /EFFICIENCY RANKING -->
 
 
<!-- ═══════════════════════════════════════════════════════════
    PROFITABILITY CALCULATOR
═══════════════════════════════════════════════════════════ -->
<div id="calculator-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="max-width:780px;margin:0 auto;">
 
    <div style="text-align:center;margin-bottom:32px;">
      <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.20);margin-bottom:12px;">
        <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#00d4ff;font-weight:700;">// Calculadora</span>
       </div>
       </div>
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Calculadora de Lucro</h2>
      <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Estime quanto Zeny você pode acumular com base na sua rotina de jogo.</p>
     </div>
     </div>


     <div id="route-d" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(255,107,0,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
     <div style="background:rgba(0,0,0,0.32);border:1px solid rgba(0,212,255,0.16);border-radius:22px;overflow:hidden;">
      <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(255,107,0,0.08),rgba(255,107,0,0.02));border-bottom:1px solid rgba(255,107,0,0.08);display:flex;align-items:center;justify-content:space-between;">
 
         <div style="display:flex;align-items:center;gap:10px;">
      <!-- Calculator inputs -->
          <span style="font-size:1.3rem;">🗺️</span>
      <div style="padding:28px 28px 20px;">
        <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px;">
 
          <!-- Input: hours/day -->
          <div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;">
            <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⏱ Horas/dia</div>
            <div style="display:flex;align-items:center;gap:8px;">
              <button onclick="adjustCalc('hours', -0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">−</button>
              <div id="calc-hours" style="flex:1;text-align:center;font-size:1.6rem;font-weight:900;color:#fff;">2</div>
              <button onclick="adjustCalc('hours', 0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">+</button>
            </div>
          </div>
 
          <!-- Input: method select -->
          <div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;">
            <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚔️ Método</div>
            <select id="calc-method" onchange="updateCalc()" style="width:100%;padding:8px;border-radius:8px;background:rgba(0,0,0,0.40);border:1px solid rgba(255,255,255,0.10);color:#e8eef8;font-size:0.88rem;font-family:inherit;outline:none;">
              <option value="95">Rota Endgame (???M/hr)</option>
              <option value="70" selected>Rota Mid-Game (???M/hr)</option>
              <option value="40">Rota Early-Game (???k/hr)</option>
              <option value="20">Renda Passiva (???k/hr)</option>
            </select>
          </div>
 
          <!-- Input: booster? -->
          <div style="background:rgba(0,0,0,0.30);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 18px;">
            <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(0,212,255,0.55);font-weight:700;margin-bottom:8px;">⚗️ Booster Ativo?</div>
            <div style="display:flex;gap:8px;margin-top:4px;">
              <button id="boost-no" onclick="setBooster(false)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,61,90,0.15);border:1px solid rgba(255,61,90,0.30);color:#ff3d5a;font-size:0.80rem;font-weight:800;cursor:pointer;font-family:inherit;">Não</button>
              <button id="boost-yes" onclick="setBooster(true)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.80rem;font-weight:700;cursor:pointer;font-family:inherit;">+50%</button>
            </div>
          </div>
 
        </div>
 
        <!-- Results display -->
         <div style="background:linear-gradient(135deg,rgba(249,197,0,0.10),rgba(249,197,0,0.03));border:1px solid rgba(249,197,0,0.22);border-radius:16px;padding:20px 24px;">
          <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;text-align:center;">
            <div>
              <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Sessão</div>
              <div id="result-session" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;">???M z</div>
            </div>
            <div>
              <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Dia</div>
              <div id="result-day" style="font-size:1.6rem;font-weight:900;color:#f9c500;letter-spacing:-0.02em;">???M z</div>
            </div>
            <div>
              <div style="font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(249,197,0,0.55);font-weight:700;margin-bottom:5px;">Por Semana</div>
              <div id="result-week" style="font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:-0.02em;">???M z</div>
            </div>
          </div>
 
          <!-- Visual gauge -->
           <div>
           <div>
             <div style="font-size:1rem;font-weight:900;color:#fff;">Rota D — Nome do Mapa/Local</div>
             <div style="display:flex;justify-content:space-between;margin-bottom:6px;">
             <div style="font-size:0.70rem;color:rgba(255,107,0,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M z/hr estimado</div>
              <span style="font-size:0.70rem;color:rgba(122,144,176,0.55);">Progresso semanal</span>
              <span id="result-pct" style="font-size:0.70rem;font-weight:800;color:#f9c500;">0%</span>
            </div>
             <div style="height:8px;border-radius:999px;background:rgba(255,255,255,0.06);">
              <div id="result-bar" style="height:100%;width:0%;background:linear-gradient(90deg,#f9c500,#f9a826);border-radius:999px;transition:width 0.5s cubic-bezier(0.22,1,0.36,1);"></div>
            </div>
           </div>
           </div>
         </div>
         </div>
        <div class="route-close" data-route="route-d" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;user-select:none;">✕ Fechar</div>
       </div>
       </div>
       <div style="padding:20px 22px;">
 
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota D.</p>
       <div style="padding:14px 28px 20px;">
         <div style="font-size:0.75rem;color:rgba(122,144,176,0.45);text-align:center;">Os valores de Zeny/hr são estimativas. Substitua os números no código JS com valores reais do servidor após testes.</div>
      </div>
    </div>
  </div>
</div>
<!-- /CALCULATOR -->
 
 
<!-- ═══════════════════════════════════════════════════════════
    MARKET BASICS
═══════════════════════════════════════════════════════════ -->
<div style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="max-width:1040px;margin:0 auto;">
 
    <div style="text-align:center;margin-bottom:32px;">
      <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.18);margin-bottom:12px;">
        <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#00d4ff;font-weight:700;">// Mercado</span>
      </div>
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Como funciona a economia</h2>
      <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Entenda onde e como vender seus itens para máximo lucro.</p>
    </div>
 
    <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;">
 
      <div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);">
        <div style="font-size:1.6rem;margin-bottom:12px;">🏪</div>
        <div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#f9c500;font-weight:700;margin-bottom:6px;">Venda NPC</div>
        <h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Venda imediata, preço fixo</h3>
        <p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Use para itens sem valor no mercado de jogadores. Rápido mas menos lucrativo. Substitua com a lista de itens que valem mais vendendo para NPC do que para jogadores.</p>
      </div>
 
      <div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);">
        <div style="font-size:1.6rem;margin-bottom:12px;">👥</div>
        <div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#00d4ff;font-weight:700;margin-bottom:6px;">Venda P2P / Vending</div>
        <h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Máximo lucro, requer paciência</h3>
        <p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Open shop ou mercado de jogadores. Preços determinados pela oferta e demanda. Substitua com detalhes de como funciona o sistema de venda no TimeRO.</p>
      </div>
 
      <div style="padding:24px 20px;border-radius:16px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,255,136,0.12);">
        <div style="font-size:1.6rem;margin-bottom:12px;">📊</div>
        <div style="font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#00ff88;font-weight:700;margin-bottom:6px;">Pesquisa de Preços</div>
        <h3 style="font-size:1rem;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:0.02em;">Conheça o mercado</h3>
        <p style="font-size:0.84rem;color:rgba(176,192,224,0.72);line-height:1.65;margin:0;">Antes de vender, pesquise os preços praticados. Mencione onde pesquisar: Discord, site oficial, ou @whosell/@whobuy in-game commands se o servidor suportar.</p>
      </div>
 
    </div>
  </div>
</div>
<!-- /MARKET BASICS -->
 
 
<!-- ═══════════════════════════════════════════════════════════
    CONSUMABLE LOADOUT BUILDER
═══════════════════════════════════════════════════════════ -->
<div id="loadout-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="max-width:860px;margin:0 auto;">
 
    <div style="text-align:center;margin-bottom:32px;">
      <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(176,108,255,0.08);border:1px solid rgba(176,108,255,0.20);margin-bottom:12px;">
        <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#b06cff;font-weight:700;">// Loadout Builder</span>
       </div>
       </div>
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Monte seu loadout de farming</h2>
      <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Selecione os consumíveis que você usa por sessão e veja o custo total. Ajuda a calcular o lucro real.</p>
     </div>
     </div>


     <div id="route-e" class="route-detail" style="display:none;background:rgba(0,0,0,0.30);border:1px solid rgba(176,108,255,0.16);border-radius:18px;overflow:hidden;margin-bottom:12px;animation:route-in 0.3s ease both;">
     <div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.14);border-radius:22px;overflow:hidden;">
      <div style="padding:16px 22px;background:linear-gradient(135deg,rgba(176,108,255,0.08),rgba(176,108,255,0.02));border-bottom:1px solid rgba(176,108,255,0.08);display:flex;align-items:center;justify-content:space-between;">
 
        <div style="display:flex;align-items:center;gap:10px;">
      <!-- Consumable toggles -->
          <span style="font-size:1.3rem;">🗺️</span>
      <div style="padding:24px 24px 0;">
           <div>
        <div style="font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:14px;">🎒 Clique para adicionar ao loadout</div>
             <div style="font-size:1rem;font-weight:900;color:#fff;">Rota E — Endgame Farming</div>
        <div id="loadout-items" style="display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;">
            <div style="font-size:0.70rem;color:rgba(176,108,255,0.55);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;">Nível: ??? · ???M+ z/hr estimado</div>
 
          <!-- Loadout item template — cost in thousands of Zeny per session -->
          <div class="loadout-item" data-cost="15" data-name="HP Potion (Grande)" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
            <div style="flex:1;">
              <div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">HP Potion (Grande)</div>
              <div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">15k z / sessão (estimado)</div>
            </div>
          </div>
 
          <div class="loadout-item" data-cost="10" data-name="SP Potion" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
            <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">SP Potion</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">10k z / sessão (estimado)</div></div>
          </div>
 
          <div class="loadout-item" data-cost="25" data-name="Boost de EXP/Drop" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
            <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Boost de EXP/Drop</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">25k z / sessão (estimado)</div></div>
          </div>
 
          <div class="loadout-item" data-cost="8" data-name="Buff de STR/AGI" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
            <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Buff de STR/AGI</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">8k z / sessão (estimado)</div></div>
           </div>
 
          <div class="loadout-item" data-cost="20" data-name="Consumível Raro" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
             <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Consumível Raro</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">20k z / sessão (estimado)</div></div>
          </div>
 
          <div class="loadout-item" data-cost="5" data-name="Arrow / Ammo" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;">
            <div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div>
            <div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Arrow / Ammo</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">5k z / sessão (estimado)</div></div>
           </div>
           </div>
        </div>
      </div>
      <!-- Running total -->
      <div style="border-top:1px solid rgba(176,108,255,0.12);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(176,108,255,0.04);">
        <div>
          <div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(176,108,255,0.60);font-weight:700;margin-bottom:4px;">Custo total por sessão</div>
          <div id="loadout-total" style="font-size:1.6rem;font-weight:900;color:#b06cff;letter-spacing:-0.02em;">0k z</div>
        </div>
        <div style="text-align:right;">
          <div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;margin-bottom:4px;">Itens selecionados</div>
          <div id="loadout-count" style="font-size:1.4rem;font-weight:900;color:#e8eef8;">0</div>
        </div>
        <button onclick="clearLoadout()" style="padding:9px 18px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.55);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:0.05em;">Limpar</button>
      </div>
    </div>
    <div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.40);text-align:center;">Substitua os custos em <code style="background:rgba(255,255,255,0.05);padding:1px 5px;border-radius:3px;color:rgba(176,108,255,0.65);">data-cost</code> com os preços reais do servidor (em milhares de Zeny).</div>
  </div>
</div>
<!-- /LOADOUT BUILDER -->
<!-- ═══════════════════════════════════════════════════════════
    ADVANCED FARMING TIPS
═══════════════════════════════════════════════════════════ -->
<div style="background:#07080f;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);">
  <div style="max-width:1040px;margin:0 auto;">
    <div style="text-align:center;margin-bottom:32px;">
      <div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(249,197,0,0.08);border:1px solid rgba(249,197,0,0.20);margin-bottom:12px;">
        <span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#f9c500;font-weight:700;">// Dicas Avançadas</span>
      </div>
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Maximize cada hora de farm</h2>
      <p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Detalhes que a maioria dos jogadores ignora e fazem diferença real no lucro.</p>
    </div>
    <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;">
      <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(249,197,0,0.12);">
        <div style="width:40px;height:40px;border-radius:11px;background:rgba(249,197,0,0.12);border:1px solid rgba(249,197,0,0.22);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">📦</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Não venda rápido demais</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Substitua com dica real sobre timing de venda no TimeRO. Ex: certos itens sobem de preço em eventos, outros são mais demandados em certas épocas da progressão do servidor.</div>
        </div>
      </div>
      <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,255,136,0.12);">
        <div style="width:40px;height:40px;border-radius:11px;background:rgba(0,255,136,0.10);border:1px solid rgba(0,255,136,0.20);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">⚗️</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Combine métodos</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Grind ativo durante horários de pico + open shop passivo de madrugada. O jogador rico é o que maximiza as 24 horas do dia, não apenas as horas que está online.</div>
        </div>
      </div>
      <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(0,212,255,0.12);">
        <div style="width:40px;height:40px;border-radius:11px;background:rgba(0,212,255,0.10);border:1px solid rgba(0,212,255,0.20);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">📈</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Saiba o Drop Rate real</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Substitua com como verificar drop rates no TimeRO: se tem comandos in-game, se o servidor lista na wiki, e quais taxas são custom vs base do RO.</div>
         </div>
         </div>
        <div class="route-close" data-route="route-e" style="padding:5px 11px;border-radius:7px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.72rem;cursor:pointer;font-family:inherit;user-select:none;">✕ Fechar</div>
       </div>
       </div>
       <div style="padding:20px 22px;">
 
         <p style="font-size:0.88rem;color:rgba(122,144,176,0.70);margin:0;">Preencha com dados reais da Rota E (endgame). Mencione o nível mínimo, build necessária e por que é a melhor rota para jogadores veteranos.</p>
       <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.12);">
         <div style="width:40px;height:40px;border-radius:11px;background:rgba(176,108,255,0.10);border:1px solid rgba(176,108,255,0.20);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">🎯</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Foco em poucos itens</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Especializar em 2-3 itens de alto valor é mais lucrativo do que coletar tudo. Conheça profundamente o mercado desses itens específicos e domine esse nicho.</div>
        </div>
      </div>
 
      <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(255,107,0,0.12);">
        <div style="width:40px;height:40px;border-radius:11px;background:rgba(255,107,0,0.10);border:1px solid rgba(255,107,0,0.20);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">🔥</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Aproveite eventos do servidor</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Substitua com detalhes de eventos do TimeRO que aumentam drop rate ou geram Zeny extra. Ex: eventos de EXP dobrada, drop especial, boss de evento com loot valioso.</div>
        </div>
      </div>
 
      <div style="display:flex;align-items:flex-start;gap:14px;padding:20px 18px;border-radius:14px;background:rgba(0,0,0,0.28);border:1px solid rgba(255,61,90,0.12);">
        <div style="width:40px;height:40px;border-radius:11px;background:rgba(255,61,90,0.10);border:1px solid rgba(255,61,90,0.20);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;">⚠️</div>
        <div>
          <div style="font-size:0.92rem;font-weight:800;color:#fff;margin-bottom:5px;">Cuidado com deflação</div>
          <div style="font-size:0.82rem;color:rgba(176,192,224,0.72);line-height:1.65;">Se muita gente farma o mesmo item, o preço cai. Diversifique suas fontes de Zeny e esteja disposto a mudar de rota quando o mercado saturar. Flexibilidade é lucro.</div>
        </div>
       </div>
       </div>
    </div>
  </div>
</div>
<!-- /ADVANCED TIPS -->
<!-- ═══════════════════════════════════════════════════════════
    RELATED GUIDES
═══════════════════════════════════════════════════════════ -->
<div style="background:#04060d;padding:52px 64px;">
  <div style="max-width:1000px;margin:0 auto;">
    <div style="text-align:center;margin-bottom:28px;">
      <h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Guias relacionados</h2>
    </div>
    <div style="display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;">
      [[Beginner Leveling Guide|<div style="padding:20px 18px;border-radius:14px;background:linear-gradient(160deg,rgba(8,16,28,0.97),rgba(5,10,18,0.98));border:1px solid rgba(0,255,136,0.14);cursor:pointer;">
        <div style="font-size:1.5rem;margin-bottom:8px;">🌿</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:#00ff88;font-weight:700;margin-bottom:4px;">BASE</div>
        <div style="font-size:0.95rem;font-weight:800;color:#fff;margin-bottom:6px;">Guia de Leveling</div>
        <div style="font-size:0.82rem;color:rgba(122,144,176,0.70);line-height:1.55;">Evolua seu personagem enquanto faz Zeny no caminho.</div>
        <div style="margin-top:12px;font-size:0.72rem;font-weight:700;color:#00ff88;letter-spacing:0.06em;text-transform:uppercase;">Ler →</div>
      </div>]]
      [[MVP Hunting Guide|<div style="padding:20px 18px;border-radius:14px;background:linear-gradient(160deg,rgba(8,16,28,0.97),rgba(5,10,18,0.98));border:1px solid rgba(255,61,90,0.14);cursor:pointer;">
        <div style="font-size:1.5rem;margin-bottom:8px;">💀</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:#ff3d5a;font-weight:700;margin-bottom:4px;">AVANÇADO</div>
        <div style="font-size:0.95rem;font-weight:800;color:#fff;margin-bottom:6px;">Caça a MVPs</div>
        <div style="font-size:0.82rem;color:rgba(122,144,176,0.70);line-height:1.55;">MVPs dropam os itens mais valiosos do servidor. Alta recompensa.</div>
        <div style="margin-top:12px;font-size:0.72rem;font-weight:700;color:#ff3d5a;letter-spacing:0.06em;text-transform:uppercase;">Ler →</div>
      </div>]]
      [[Economy|<div style="padding:20px 18px;border-radius:14px;background:linear-gradient(160deg,rgba(8,16,28,0.97),rgba(5,10,18,0.98));border:1px solid rgba(0,212,255,0.14);cursor:pointer;">
        <div style="font-size:1.5rem;margin-bottom:8px;">💹</div>
        <div style="font-size:0.60rem;letter-spacing:0.14em;text-transform:uppercase;color:#00d4ff;font-weight:700;margin-bottom:4px;">SISTEMA</div>
        <div style="font-size:0.95rem;font-weight:800;color:#fff;margin-bottom:6px;">Economia do Servidor</div>
        <div style="font-size:0.82rem;color:rgba(122,144,176,0.70);line-height:1.55;">Entenda o fluxo de Zeny, inflação e como o mercado funciona no macro.</div>
        <div style="margin-top:12px;font-size:0.72rem;font-weight:700;color:#00d4ff;letter-spacing:0.06em;text-transform:uppercase;">Ler →</div>
      </div>]]
    </div>
    <!-- Edit CTA -->
    <div style="padding:22px;border-radius:14px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);text-align:center;">
      <div style="font-size:1rem;margin-bottom:6px;">📊</div>
      <div style="font-size:0.92rem;font-weight:700;color:#e8eef8;margin-bottom:4px;">Sabe um método de farm melhor?</div>
      <div style="font-size:0.84rem;color:rgba(122,144,176,0.60);margin-bottom:14px;">Compartilhe! Guias são mais ricos com a experiência de toda a comunidade.</div>
      [[Farming_Guide/talk|<span style="display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;background:rgba(249,197,0,0.08);border:1px solid rgba(249,197,0,0.18);color:rgba(249,197,0,0.70);font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;">💬 Discussão do Guia</span>]]
      &nbsp;&nbsp;
      [https://timero.com.br/discord <span style="display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;background:rgba(114,137,218,0.10);border:1px solid rgba(114,137,218,0.20);color:#7289da;font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;">Discord TimeRO</span>]
     </div>
     </div>


   </div>
   </div>
</div>
</div>
<!-- /ROUTES -->
<!-- /RELATED -->
 
 
</div>
<!-- /farming-guide-root -->




<script>
<script>
/* ════════════════════════════════════════════════════════
/* ════════════════════════════════════════════════════════
   FARMING GUIDE JAVASCRIPT — FIXED BINDINGS
   FARMING GUIDE JAVASCRIPT
  All new functions none shared with leveling/mvp guides.
════════════════════════════════════════════════════════ */
════════════════════════════════════════════════════════ */


Line 330: Line 888:
var activeMethod = 'grind';
var activeMethod = 'grind';
var methodColors = {
var methodColors = {
   grind:  { bg: 'linear-gradient(135deg,rgba(249,197,0,0.18),rgba(249,197,0,0.07))', color: '#f9c500' },
   grind:  { bg: 'rgba(249,197,0,0.18)', color: '#f9c500' },
   market:  { bg: 'linear-gradient(135deg,rgba(0,212,255,0.14),rgba(0,212,255,0.05))', color: '#00d4ff' },
   market:  { bg: 'rgba(0,212,255,0.14)', color: '#00d4ff' },
   passive: { bg: 'linear-gradient(135deg,rgba(176,108,255,0.14),rgba(176,108,255,0.05))', color: '#b06cff' }
   passive: { bg: 'rgba(176,108,255,0.14)', color: '#b06cff' }
};
};


Line 338: Line 896:
   activeMethod = m;
   activeMethod = m;


   var allPanels = document.querySelectorAll('#methods-section .method-panel');
   /* Hide all panels */
  for (var i = 0; i < allPanels.length; i++) {
  document.querySelectorAll('.method-panel').forEach(function(p) {
     allPanels[i].style.display = 'none';
     p.style.display = 'none';
   }
   });


  /* Show selected panel */
   var panel = document.getElementById('method-' + m);
   var panel = document.getElementById('method-' + m);
   if (panel) {
   if (panel) { panel.style.display = 'grid'; panel.style.animation = 'method-in 0.3s ease both'; }
    panel.style.display = 'grid';
    panel.style.animation = 'method-in 0.3s ease both';
  }


   var names = ['grind','market','passive'];
  /* Update tab buttons */
   for (var j = 0; j < names.length; j++) {
   var tabs = { grind: 'grind', market: 'market', passive: 'passive' };
    var key = names[j];
   Object.keys(tabs).forEach(function(key) {
     var btn = document.getElementById('mtab-' + key);
     var btn = document.getElementById('mtab-' + key);
     if (!btn) continue;
     if (!btn) return;
 
     if (key === m) {
     if (key === m) {
       btn.style.background = methodColors[m].bg;
      var mc = methodColors[m];
       btn.style.color = methodColors[m].color;
       btn.style.background = mc.bg;
       btn.style.color = mc.color;
       btn.style.fontWeight = '900';
       btn.style.fontWeight = '900';
     } else {
     } else {
       btn.style.background = 'transparent';
       btn.style.background = 'transparent';
       if (key === 'grind') btn.style.color = 'rgba(249,197,0,0.60)';
       btn.style.color = 'rgba(122,144,176,0.55)';
      if (key === 'market') btn.style.color = 'rgba(0,212,255,0.60)';
      if (key === 'passive') btn.style.color = 'rgba(176,108,255,0.60)';
       btn.style.fontWeight = '700';
       btn.style.fontWeight = '700';
     }
     }
   }
   });
}
}


/* ── Route pill viewer ───────────────────────────── */
/* ── Route pill viewer ───────────────────────────── */
var openRoute = 'route-a';
var openRoute = null;


function expandRoute(id) {
function expandRoute(id) {
Line 377: Line 931:


   if (openRoute === id) {
   if (openRoute === id) {
    /* Toggle close */
     detail.style.display = 'none';
     detail.style.display = 'none';
     openRoute = null;
     openRoute = null;
     var pillSelf = document.getElementById('pill-' + id);
     var pill = document.getElementById('pill-' + id);
     if (pillSelf) {
     if (pill) { pill.style.transform = ''; pill.style.fontWeight = '800'; }
      pillSelf.style.transform = '';
      pillSelf.style.fontWeight = '800';
      pillSelf.style.boxShadow = '';
    }
     return;
     return;
   }
   }


  /* Close previously open */
   if (openRoute) {
   if (openRoute) {
     var prev = document.getElementById(openRoute);
     var prev = document.getElementById(openRoute);
     if (prev) prev.style.display = 'none';
     if (prev) prev.style.display = 'none';
     var prevPill = document.getElementById('pill-' + openRoute);
     var prevPill = document.getElementById('pill-' + openRoute);
     if (prevPill) {
     if (prevPill) { prevPill.style.transform = ''; prevPill.style.fontWeight = '800'; }
      prevPill.style.transform = '';
      prevPill.style.fontWeight = '800';
      prevPill.style.boxShadow = '';
    }
   }
   }


   detail.style.display = 'block';
   detail.style.display = 'block';
  detail.style.animation = 'route-in 0.3s ease both';
   openRoute = id;
   openRoute = id;


  /* Highlight active pill */
   var pill = document.getElementById('pill-' + id);
   var pill = document.getElementById('pill-' + id);
   if (pill) {
   if (pill) { pill.style.transform = 'scale(1.04)'; pill.style.fontWeight = '900'; }
    pill.style.transform = 'scale(1.04)';
 
    pill.style.fontWeight = '900';
  /* Scroll to route */
    pill.style.boxShadow = '0 0 0 1px rgba(255,255,255,0.08) inset, 0 0 22px rgba(255,255,255,0.04)';
  setTimeout(function() { detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }, 80);
}
 
/* ── Profitability Calculator ────────────────────── */
var calcState = {
  hours: 2,
  methodRate: 70,   /* estimated M z per hour — change per method option */
  booster: false
};
 
function adjustCalc(field, delta) {
  if (field === 'hours') {
    calcState.hours = Math.max(0.5, Math.min(12, calcState.hours + delta));
    var el = document.getElementById('calc-hours');
    if (el) el.textContent = calcState.hours;
   }
   }
  updateCalc();
}


   setTimeout(function() {
function setBooster(on) {
     if (detail && detail.scrollIntoView) {
  calcState.booster = on;
       detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
  var yes = document.getElementById('boost-yes');
   var no  = document.getElementById('boost-no');
  if (yes && no) {
     if (on) {
      yes.style.background = 'rgba(0,255,136,0.16)';
      yes.style.borderColor = 'rgba(0,255,136,0.35)';
      yes.style.color = '#00ff88';
      no.style.background = 'rgba(255,255,255,0.04)';
      no.style.borderColor = 'rgba(255,255,255,0.09)';
      no.style.color = 'rgba(122,144,176,0.60)';
    } else {
       no.style.background = 'rgba(255,61,90,0.15)';
      no.style.borderColor = 'rgba(255,61,90,0.30)';
      no.style.color = '#ff3d5a';
      yes.style.background = 'rgba(255,255,255,0.04)';
      yes.style.borderColor = 'rgba(255,255,255,0.09)';
      yes.style.color = 'rgba(122,144,176,0.60)';
     }
     }
   }, 80);
   }
  updateCalc();
}
}


/* ── Bind clicks safely ──────────────────────────── */
function updateCalc() {
(function() {
   var sel = document.getElementById('calc-method');
   var methodBtns = document.querySelectorAll('#methods-section [data-method]');
   if (sel) calcState.methodRate = parseInt(sel.value) || 70;
   for (var i = 0; i < methodBtns.length; i++) {
 
     methodBtns[i].onclick = function() {
  var rate = calcState.methodRate * (calcState.booster ? 1.5 : 1.0);
      switchMethod(this.getAttribute('data-method'));
  var session = rate * calcState.hours;
     };
  var day     = session;
  var week    = day * 7;
 
  /* Format: if >= 1000, show as B (billions), >= 1 show as M, else k */
  function fmt(v) {
    if (v >= 1000) return (v / 1000).toFixed(1) + 'B z';
    if (v >= 1)   return v.toFixed(0) + 'M z';
     return (v * 1000).toFixed(0) + 'k z';
   }
   }


   var routeBtns = document.querySelectorAll('#routes-section .route-pill[data-route]');
   var el_s = document.getElementById('result-session');
   for (var j = 0; j < routeBtns.length; j++) {
  var el_d = document.getElementById('result-day');
     routeBtns[j].onclick = function() {
  var el_w = document.getElementById('result-week');
      expandRoute(this.getAttribute('data-route'));
  var el_b = document.getElementById('result-bar');
     };
  var el_p = document.getElementById('result-pct');
 
  if (el_s) el_s.textContent = fmt(session);
   if (el_d) el_d.textContent = fmt(day);
  if (el_w) el_w.textContent = fmt(week);
 
  /* Bar: max = endgame method * 12h * 7d * 1.5x booster */
  var max = 95 * 1.5 * 12 * 7;
  var pct = Math.min(100, Math.round((week / max) * 100));
  if (el_b) el_b.style.width = pct + '%';
  if (el_p) el_p.textContent = pct + '%';
}
 
/* ── Loadout Builder ─────────────────────────────── */
var loadoutTotal = 0;
var loadoutCount = 0;
 
function toggleLoadout(el) {
  var cost = parseInt(el.dataset.cost) || 0;
  var box  = el.querySelector('.li-check');
  var on  = el.dataset.selected === '1';
 
  if (on) {
     el.dataset.selected = '0';
    loadoutTotal -= cost;
    loadoutCount--;
    if (box) { box.textContent = ''; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; }
    el.style.background = 'rgba(255,255,255,0.03)';
    el.style.borderColor = 'rgba(255,255,255,0.07)';
  } else {
    el.dataset.selected = '1';
    loadoutTotal += cost;
    loadoutCount++;
    if (box) { box.textContent = '✓'; box.style.background = 'rgba(176,108,255,0.20)'; box.style.borderColor = 'rgba(176,108,255,0.50)'; box.style.color = '#b06cff'; }
    el.style.background = 'rgba(176,108,255,0.07)';
     el.style.borderColor = 'rgba(176,108,255,0.22)';
   }
   }


   var closeBtns = document.querySelectorAll('#routes-section .route-close[data-route]');
   var tot = document.getElementById('loadout-total');
   for (var k = 0; k < closeBtns.length; k++) {
  var cnt = document.getElementById('loadout-count');
     closeBtns[k].onclick = function() {
   if (tot) tot.textContent = loadoutTotal >= 1000
       expandRoute(this.getAttribute('data-route'));
    ? (loadoutTotal / 1000).toFixed(1) + 'M z'
     };
    : loadoutTotal + 'k z';
   }
  if (cnt) cnt.textContent = loadoutCount;
}
 
function clearLoadout() {
  loadoutTotal = 0; loadoutCount = 0;
  document.querySelectorAll('.loadout-item').forEach(function(el) {
    el.dataset.selected = '0';
    var box = el.querySelector('.li-check');
    if (box) { box.textContent = ''; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; box.style.color = ''; }
     el.style.background = 'rgba(255,255,255,0.03)';
    el.style.borderColor = 'rgba(255,255,255,0.07)';
  });
  var tot = document.getElementById('loadout-total'); if (tot) tot.textContent = '0k z';
  var cnt = document.getElementById('loadout-count'); if (cnt) cnt.textContent = '0';
}
 
/* ── Efficiency bars animate on scroll ──────────── */
(function() {
  var animated = false;
  var observer = new IntersectionObserver(function(entries) {
    entries.forEach(function(e) {
       if (e.isIntersecting && !animated) {
        animated = true;
        document.querySelectorAll('.eff-bar').forEach(function(bar, i) {
          var w = bar.style.width;
          bar.style.width = '0';
          bar.style.transition = 'width 0.8s ' + (i * 0.08) + 's cubic-bezier(0.22,1,0.36,1)';
          setTimeout(function() { bar.style.width = w; }, 50);
        });
      }
     });
   }, { threshold: 0.2 });
  var section = document.querySelector('.eff-bar');
  if (section) observer.observe(section.closest('div') || section);
})();
 
/* ── Init ────────────────────────────────────────── */
document.addEventListener('DOMContentLoaded', function() {
  var sb = document.getElementById('settingsButton'), sm = document.getElementById('settingsMenu');
  if (sb && sm) sb.addEventListener('click', function() { sm.style.right = sm.style.right === '20px' ? '-300px' : '20px'; });


  /* Init first method tab */
   switchMethod('grind');
   switchMethod('grind');
})();
 
  /* Init calculator */
  updateCalc();
 
  /* Smooth anchors */
  document.querySelectorAll('a[href^="#"]').forEach(function(a) {
    a.addEventListener('click', function(e) {
      var id = this.getAttribute('href').slice(1), el = document.getElementById(id);
      if (el) { e.preventDefault(); el.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
    });
  });
 
  /* Mobile padding */
  if (window.innerWidth < 900) {
    document.querySelectorAll(
      '[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:28px 64px"]'
    ).forEach(function(el) { el.style.paddingLeft = '18px'; el.style.paddingRight = '18px'; });
  }
});
</script>
</script>
[[Category:Guides]]
[[Category:Economy]]
[[Category:Farming]]

Revision as of 12:20, 13 April 2026



💰 MERCADO TIMERO
     Item Valioso A ▲ ???M z
     ·
     Carta MVP Rara = ???M z
     ·
     Matéria Prima B ▲ ???k z
     ·
     Consumível Raro ▼ ???k z
     ·
     Oridecon ▲ ???k z
     ·
     Elunium = ???k z
     ·
     Item de Quest ▲ ???M z
     ·
     Headgear Raro ▼ ???M z
     ·
     Item Valioso A ▲ ???M z
     ·
     Carta MVP Rara = ???M z
     ·
     Matéria Prima B ▲ ???k z
     ·
     Consumível Raro ▼ ???k z


z
     TimeRO Wiki
     
     Guias
     
     Farming de Zeny
     💰 Economia
     📈 Alto Lucro
     🏪 Mercado
     ⚔️ Todas as Classes

Guia de Farming
de Zeny

Métodos, rotas, calculadora de lucro e estratégias completas para acumular Zeny no TimeRO — do iniciante que precisa de gear ao veterano otimizando cada hora de jogo.

       Melhor método:
       Substituir com dado real
       Nível mínimo:
       Lv. ???+
       Atualizado:
       Mar 2025


3
Tipos de Farm
10+
Rotas Mapeadas
Calc
Calculadora
Build
Loadout
All
Classes


       // Métodos de Farming

Escolha sua abordagem

Cada estilo tem vantagens diferentes. Clique para explorar.

     <button id="mtab-grind" onclick="switchMethod('grind')" style="flex:1;padding:16px 20px;border:none;background:linear-gradient(135deg,rgba(249,197,0,0.18),rgba(249,197,0,0.07));color:#f9c500;font-size:0.92rem;font-weight:900;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;">
       ⚔️ Grind Ativo
     </button>
     <button id="mtab-market" onclick="switchMethod('market')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(0,212,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;border-right:1px solid rgba(255,255,255,0.07);transition:all 0.18s;">
       🏪 Mercado
     </button>
     <button id="mtab-passive" onclick="switchMethod('passive')" style="flex:1;padding:16px 20px;border:none;background:transparent;color:rgba(176,108,255,0.60);font-size:0.92rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all 0.18s;">
       💤 Renda Passiva
     </button>
⚔️
Grind Ativo
Matar monstros · Coletar drops · Vender

O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.

Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.

Vantagens
  • Lucro imediato em Zeny
  • EXP simultânea
  • Drops raros possíveis
Desvantagens
  • Requer atenção ativa
  • Custo de consumíveis
  • Variação no lucro
📊 Métricas Estimadas
               Zeny/hora (estimado)
               ???M–???M
               Dificuldade
               Moderada
               Consistência
               Alta
✅ Melhor para
           Iniciantes
           Classes DPS
           Lv. 40+


       // Rotas de Farm

Melhores locais de farming

Clique em uma localização para ver a rota completa e estratégia.

     <button onclick="expandRoute('route-a')" class="route-pill" id="pill-route-a" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(249,197,0,0.20);background:rgba(249,197,0,0.07);color:rgba(249,197,0,0.80);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
       🗺️ Rota A — Lv.??+
     </button>
     <button onclick="expandRoute('route-b')" class="route-pill" id="pill-route-b" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,212,255,0.18);background:rgba(0,212,255,0.06);color:rgba(0,212,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
       🗺️ Rota B — Lv.??+
     </button>
     <button onclick="expandRoute('route-c')" class="route-pill" id="pill-route-c" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(0,255,136,0.18);background:rgba(0,255,136,0.06);color:rgba(0,255,136,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
       🗺️ Rota C — Lv.??+
     </button>
     <button onclick="expandRoute('route-d')" class="route-pill" id="pill-route-d" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(255,107,0,0.18);background:rgba(255,107,0,0.06);color:rgba(255,107,0,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
       🗺️ Rota D — Lv.??+
     </button>
     <button onclick="expandRoute('route-e')" class="route-pill" id="pill-route-e" style="display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:12px;border:1px solid rgba(176,108,255,0.18);background:rgba(176,108,255,0.06);color:rgba(176,108,255,0.75);font-size:0.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all 0.18s;letter-spacing:0.02em;">
       🗺️ Rota E — Lv.??+ (Endgame)
     </button>


       // Ranking de Eficiência

Comparativo de métodos

Zeny por hora estimado em condições ideais. Valores variam conforme class e build.

Método
Zeny/hora estimado
Lv. min
Risco
#1 — Rota Endgame
Substituir com nome
         ???M z
Lv.???+
Alto
#2 — Trading Especializado
Substituir com nome
         ???M z
Lv.???+
Médio
#3 — Rota Mid-Game
Substituir com nome
         ???M z
Lv.???+
Baixo
#4 — Rota Early-Game
Substituir com nome
         ???k z
Lv.1+
Baixo
#5 — Renda Passiva
Quests + Open Shop
         ???k z
Lv.1+
Zero
* Valores estimados sem boosters. Substituir com dados reais do servidor.


       // Calculadora

Calculadora de Lucro

Estime quanto Zeny você pode acumular com base na sua rotina de jogo.

⏱ Horas/dia
             <button onclick="adjustCalc('hours', -0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">−</button>
2
             <button onclick="adjustCalc('hours', 0.5)" style="width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:#e8eef8;font-size:1rem;cursor:pointer;font-family:inherit;">+</button>
⚔️ Método
           <select id="calc-method" onchange="updateCalc()" style="width:100%;padding:8px;border-radius:8px;background:rgba(0,0,0,0.40);border:1px solid rgba(255,255,255,0.10);color:#e8eef8;font-size:0.88rem;font-family:inherit;outline:none;">
             <option value="95">Rota Endgame (???M/hr)</option>
             <option value="70" selected>Rota Mid-Game (???M/hr)</option>
             <option value="40">Rota Early-Game (???k/hr)</option>
             <option value="20">Renda Passiva (???k/hr)</option>
           </select>
⚗️ Booster Ativo?
             <button id="boost-no" onclick="setBooster(false)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,61,90,0.15);border:1px solid rgba(255,61,90,0.30);color:#ff3d5a;font-size:0.80rem;font-weight:800;cursor:pointer;font-family:inherit;">Não</button>
             <button id="boost-yes" onclick="setBooster(true)" style="flex:1;padding:8px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.60);font-size:0.80rem;font-weight:700;cursor:pointer;font-family:inherit;">+50%</button>
Por Sessão
???M z
Por Dia
???M z
Por Semana
???M z
             Progresso semanal
             0%
Os valores de Zeny/hr são estimativas. Substitua os números no código JS com valores reais do servidor após testes.


       // Mercado

Como funciona a economia

Entenda onde e como vender seus itens para máximo lucro.

🏪
Venda NPC

Venda imediata, preço fixo

Use para itens sem valor no mercado de jogadores. Rápido mas menos lucrativo. Substitua com a lista de itens que valem mais vendendo para NPC do que para jogadores.

👥
Venda P2P / Vending

Máximo lucro, requer paciência

Open shop ou mercado de jogadores. Preços determinados pela oferta e demanda. Substitua com detalhes de como funciona o sistema de venda no TimeRO.

📊
Pesquisa de Preços

Conheça o mercado

Antes de vender, pesquise os preços praticados. Mencione onde pesquisar: Discord, site oficial, ou @whosell/@whobuy in-game commands se o servidor suportar.


       // Loadout Builder

Monte seu loadout de farming

Selecione os consumíveis que você usa por sessão e veja o custo total. Ajuda a calcular o lucro real.

🎒 Clique para adicionar ao loadout
HP Potion (Grande)
15k z / sessão (estimado)
SP Potion
10k z / sessão (estimado)
Boost de EXP/Drop
25k z / sessão (estimado)
Buff de STR/AGI
8k z / sessão (estimado)
Consumível Raro
20k z / sessão (estimado)
Arrow / Ammo
5k z / sessão (estimado)
Custo total por sessão
0k z
Itens selecionados
0
       <button onclick="clearLoadout()" style="padding:9px 18px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.55);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:0.05em;">Limpar</button>
Substitua os custos em data-cost com os preços reais do servidor (em milhares de Zeny).


       // Dicas Avançadas

Maximize cada hora de farm

Detalhes que a maioria dos jogadores ignora e fazem diferença real no lucro.

📦
Não venda rápido demais
Substitua com dica real sobre timing de venda no TimeRO. Ex: certos itens sobem de preço em eventos, outros são mais demandados em certas épocas da progressão do servidor.
⚗️
Combine métodos
Grind ativo durante horários de pico + open shop passivo de madrugada. O jogador rico é o que maximiza as 24 horas do dia, não apenas as horas que está online.
📈
Saiba o Drop Rate real
Substitua com como verificar drop rates no TimeRO: se tem comandos in-game, se o servidor lista na wiki, e quais taxas são custom vs base do RO.
🎯
Foco em poucos itens
Especializar em 2-3 itens de alto valor é mais lucrativo do que coletar tudo. Conheça profundamente o mercado desses itens específicos e domine esse nicho.
🔥
Aproveite eventos do servidor
Substitua com detalhes de eventos do TimeRO que aumentam drop rate ou geram Zeny extra. Ex: eventos de EXP dobrada, drop especial, boss de evento com loot valioso.
⚠️
Cuidado com deflação
Se muita gente farma o mesmo item, o preço cai. Diversifique suas fontes de Zeny e esteja disposto a mudar de rota quando o mercado saturar. Flexibilidade é lucro.




<script> /* ════════════════════════════════════════════════════════

  FARMING GUIDE JAVASCRIPT
  All new functions — none shared with leveling/mvp guides.

════════════════════════════════════════════════════════ */

/* ── Method tab switcher ─────────────────────────── */ var activeMethod = 'grind'; var methodColors = {

 grind:   { bg: 'rgba(249,197,0,0.18)', color: '#f9c500' },
 market:  { bg: 'rgba(0,212,255,0.14)', color: '#00d4ff' },
 passive: { bg: 'rgba(176,108,255,0.14)', color: '#b06cff' }

};

function switchMethod(m) {

 activeMethod = m;
 /* Hide all panels */
 document.querySelectorAll('.method-panel').forEach(function(p) {
   p.style.display = 'none';
 });
 /* Show selected panel */
 var panel = document.getElementById('method-' + m);
 if (panel) { panel.style.display = 'grid'; panel.style.animation = 'method-in 0.3s ease both'; }
 /* Update tab buttons */
 var tabs = { grind: 'grind', market: 'market', passive: 'passive' };
 Object.keys(tabs).forEach(function(key) {
   var btn = document.getElementById('mtab-' + key);
   if (!btn) return;
   if (key === m) {
     var mc = methodColors[m];
     btn.style.background = mc.bg;
     btn.style.color = mc.color;
     btn.style.fontWeight = '900';
   } else {
     btn.style.background = 'transparent';
     btn.style.color = 'rgba(122,144,176,0.55)';
     btn.style.fontWeight = '700';
   }
 });

}

/* ── Route pill viewer ───────────────────────────── */ var openRoute = null;

function expandRoute(id) {

 var detail = document.getElementById(id);
 if (!detail) return;
 if (openRoute === id) {
   /* Toggle close */
   detail.style.display = 'none';
   openRoute = null;
   var pill = document.getElementById('pill-' + id);
   if (pill) { pill.style.transform = ; pill.style.fontWeight = '800'; }
   return;
 }
 /* Close previously open */
 if (openRoute) {
   var prev = document.getElementById(openRoute);
   if (prev) prev.style.display = 'none';
   var prevPill = document.getElementById('pill-' + openRoute);
   if (prevPill) { prevPill.style.transform = ; prevPill.style.fontWeight = '800'; }
 }
 detail.style.display = 'block';
 openRoute = id;
 /* Highlight active pill */
 var pill = document.getElementById('pill-' + id);
 if (pill) { pill.style.transform = 'scale(1.04)'; pill.style.fontWeight = '900'; }
 /* Scroll to route */
 setTimeout(function() { detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }, 80);

}

/* ── Profitability Calculator ────────────────────── */ var calcState = {

 hours: 2,
 methodRate: 70,   /* estimated M z per hour — change per method option */
 booster: false

};

function adjustCalc(field, delta) {

 if (field === 'hours') {
   calcState.hours = Math.max(0.5, Math.min(12, calcState.hours + delta));
   var el = document.getElementById('calc-hours');
   if (el) el.textContent = calcState.hours;
 }
 updateCalc();

}

function setBooster(on) {

 calcState.booster = on;
 var yes = document.getElementById('boost-yes');
 var no  = document.getElementById('boost-no');
 if (yes && no) {
   if (on) {
     yes.style.background = 'rgba(0,255,136,0.16)';
     yes.style.borderColor = 'rgba(0,255,136,0.35)';
     yes.style.color = '#00ff88';
     no.style.background = 'rgba(255,255,255,0.04)';
     no.style.borderColor = 'rgba(255,255,255,0.09)';
     no.style.color = 'rgba(122,144,176,0.60)';
   } else {
     no.style.background = 'rgba(255,61,90,0.15)';
     no.style.borderColor = 'rgba(255,61,90,0.30)';
     no.style.color = '#ff3d5a';
     yes.style.background = 'rgba(255,255,255,0.04)';
     yes.style.borderColor = 'rgba(255,255,255,0.09)';
     yes.style.color = 'rgba(122,144,176,0.60)';
   }
 }
 updateCalc();

}

function updateCalc() {

 var sel = document.getElementById('calc-method');
 if (sel) calcState.methodRate = parseInt(sel.value) || 70;
 var rate = calcState.methodRate * (calcState.booster ? 1.5 : 1.0);
 var session = rate * calcState.hours;
 var day     = session;
 var week    = day * 7;
 /* Format: if >= 1000, show as B (billions), >= 1 show as M, else k */
 function fmt(v) {
   if (v >= 1000) return (v / 1000).toFixed(1) + 'B z';
   if (v >= 1)    return v.toFixed(0) + 'M z';
   return (v * 1000).toFixed(0) + 'k z';
 }
 var el_s = document.getElementById('result-session');
 var el_d = document.getElementById('result-day');
 var el_w = document.getElementById('result-week');
 var el_b = document.getElementById('result-bar');
 var el_p = document.getElementById('result-pct');
 if (el_s) el_s.textContent = fmt(session);
 if (el_d) el_d.textContent = fmt(day);
 if (el_w) el_w.textContent = fmt(week);
 /* Bar: max = endgame method * 12h * 7d * 1.5x booster */
 var max = 95 * 1.5 * 12 * 7;
 var pct = Math.min(100, Math.round((week / max) * 100));
 if (el_b) el_b.style.width = pct + '%';
 if (el_p) el_p.textContent = pct + '%';

}

/* ── Loadout Builder ─────────────────────────────── */ var loadoutTotal = 0; var loadoutCount = 0;

function toggleLoadout(el) {

 var cost = parseInt(el.dataset.cost) || 0;
 var box  = el.querySelector('.li-check');
 var on   = el.dataset.selected === '1';
 if (on) {
   el.dataset.selected = '0';
   loadoutTotal -= cost;
   loadoutCount--;
   if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; }
   el.style.background = 'rgba(255,255,255,0.03)';
   el.style.borderColor = 'rgba(255,255,255,0.07)';
 } else {
   el.dataset.selected = '1';
   loadoutTotal += cost;
   loadoutCount++;
   if (box) { box.textContent = '✓'; box.style.background = 'rgba(176,108,255,0.20)'; box.style.borderColor = 'rgba(176,108,255,0.50)'; box.style.color = '#b06cff'; }
   el.style.background = 'rgba(176,108,255,0.07)';
   el.style.borderColor = 'rgba(176,108,255,0.22)';
 }
 var tot = document.getElementById('loadout-total');
 var cnt = document.getElementById('loadout-count');
 if (tot) tot.textContent = loadoutTotal >= 1000
   ? (loadoutTotal / 1000).toFixed(1) + 'M z'
   : loadoutTotal + 'k z';
 if (cnt) cnt.textContent = loadoutCount;

}

function clearLoadout() {

 loadoutTotal = 0; loadoutCount = 0;
 document.querySelectorAll('.loadout-item').forEach(function(el) {
   el.dataset.selected = '0';
   var box = el.querySelector('.li-check');
   if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; box.style.color = ; }
   el.style.background = 'rgba(255,255,255,0.03)';
   el.style.borderColor = 'rgba(255,255,255,0.07)';
 });
 var tot = document.getElementById('loadout-total'); if (tot) tot.textContent = '0k z';
 var cnt = document.getElementById('loadout-count'); if (cnt) cnt.textContent = '0';

}

/* ── Efficiency bars animate on scroll ──────────── */ (function() {

 var animated = false;
 var observer = new IntersectionObserver(function(entries) {
   entries.forEach(function(e) {
     if (e.isIntersecting && !animated) {
       animated = true;
       document.querySelectorAll('.eff-bar').forEach(function(bar, i) {
         var w = bar.style.width;
         bar.style.width = '0';
         bar.style.transition = 'width 0.8s ' + (i * 0.08) + 's cubic-bezier(0.22,1,0.36,1)';
         setTimeout(function() { bar.style.width = w; }, 50);
       });
     }
   });
 }, { threshold: 0.2 });
 var section = document.querySelector('.eff-bar');
 if (section) observer.observe(section.closest('div') || section);

})();

/* ── Init ────────────────────────────────────────── */ document.addEventListener('DOMContentLoaded', function() {

 var sb = document.getElementById('settingsButton'), sm = document.getElementById('settingsMenu');
 if (sb && sm) sb.addEventListener('click', function() { sm.style.right = sm.style.right === '20px' ? '-300px' : '20px'; });
 /* Init first method tab */
 switchMethod('grind');
 /* Init calculator */
 updateCalc();
 /* Smooth anchors */
 document.querySelectorAll('a[href^="#"]').forEach(function(a) {
   a.addEventListener('click', function(e) {
     var id = this.getAttribute('href').slice(1), el = document.getElementById(id);
     if (el) { e.preventDefault(); el.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
   });
 });
 /* Mobile padding */
 if (window.innerWidth < 900) {
   document.querySelectorAll(
     '[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:28px 64px"]'
   ).forEach(function(el) { el.style.paddingLeft = '18px'; el.style.paddingRight = '18px'; });
 }

}); </script>