
    :root{
      --bg:#f6f8ff;
      --text:rgba(15,23,42,.92);
      --muted:rgba(15,23,42,.65);
      --border:rgba(15,23,42,.12);
      --shadow:0 18px 45px rgba(2,6,23,.10);
      --shadow2:0 10px 22px rgba(2,6,23,.08);
      --radius:18px;
      --maxw:1200px;

      --a1:#7c3aed;
      --a2:#06b6d4;
      --a3:#f97316;

      --topbarH:74px;
    }

    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
      background:
        radial-gradient(900px 500px at 15% -10%, rgba(124,58,237,.14), transparent 60%),
        radial-gradient(900px 500px at 85% -20%, rgba(6,182,212,.12), transparent 55%),
        linear-gradient(180deg, var(--bg), #ffffff 55%, var(--bg) 120%);
      color:var(--text);
      line-height:1.55;
    }

    a{color:inherit;text-decoration:none}
    .container{width:min(var(--maxw),calc(100% - 32px));margin:auto}

    /* ===== TOP HEADER ===== */
    .topbar{
      position:sticky;top:0;z-index:60;
      background:rgba(255,255,255,.72);
      border-bottom:1px solid var(--border);
      backdrop-filter:blur(12px);
    }
    .topbar-row{
      height:var(--topbarH);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }

    .brand{display:flex;align-items:center;gap:12px;min-width:220px}
    .brand-logo{
      width:46px;height:46px;border-radius:14px;
      border:1px solid rgba(15,23,42,.14);
      background: linear-gradient(135deg, rgba(124,58,237,.10), rgba(6,182,212,.10));
      box-shadow: var(--shadow2);
      display:grid;place-items:center;overflow:hidden;flex:0 0 auto;
    }
    .brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
    .brand-text{display:flex;flex-direction:column;line-height:1.08}
    .brand-text strong{font-size:14.8px;letter-spacing:.2px}
    .brand-text span{font-size:12px;color:var(--muted)}

    .menu-btn{
      width:46px;height:46px;border-radius:14px;
      border:1px solid rgba(15,23,42,.14);
      background:rgba(255,255,255,.92);
      box-shadow: var(--shadow2);
      cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      padding:0;
    }
    .menu-btn svg{width:20px;height:20px}

    /* ===== DESKTOP MENU BAR ===== */
    nav.menu-bar{
      background: rgba(255,255,255,.82);
      border-bottom:1px solid var(--border);
      backdrop-filter: blur(10px);
    }
    .menu-row{
      display:flex;
      justify-content:center;
      gap:6px;
      padding:12px 0;
      flex-wrap:wrap;
    }
    .menu-row a{
      padding:10px 12px;
      border-radius:14px;
      font-weight:800;
      font-size:13.2px;
      color: rgba(15,23,42,.86);
      border:1px solid transparent;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
      white-space:nowrap;
    }
    .menu-row a:hover{
      transform: translateY(-1px);
      background: rgba(124,58,237,.08);
      border-color: rgba(124,58,237,.18);
    }

    /* ===== MOBILE DRAWER ===== */
    #mobileMenu{
      background: rgba(255,255,255,.92);
      border-bottom:1px solid var(--border);
    }
    .drawer-inner{
      padding:12px 0 16px;
      display:grid;
      gap:8px;
    }
    .drawer-inner a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:12px 14px;
      font-weight:900;
      border-radius:16px;
      border:1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.92);
      box-shadow: 0 10px 22px rgba(2,6,23,.06);
    }
    .drawer-inner a span.chev{opacity:.6}

    /* ✅ hide desktop menu bar on mobile ALWAYS */
    @media (max-width: 980px){
      nav.menu-bar{ display:none !important; }
    }

    /* Desktop: hide hamburger + mobile drawer */
    @media (min-width: 981px){
      .menu-btn{ display:none; }
      #mobileMenu{ display:none !important; }
      nav.menu-bar{ display:block; }
    }

    /* ===== MAIN ===== */
    main{padding:26px 0 34px}

    .hero{
      background:rgba(255,255,255,.86);
      border-radius:22px;
      border:1px solid var(--border);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .hero-inner{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:16px;
      padding:22px;
      align-items:start;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(15,23,42,.12);
      background:rgba(255,255,255,.92);
      box-shadow: 0 10px 22px rgba(2,6,23,.05);
      font-weight:1000;
      font-size:12.6px;
      letter-spacing:.15px;
    }
    .dot{
      width:10px;height:10px;border-radius:99px;
      background: linear-gradient(135deg,var(--a1),var(--a2),var(--a3));
      box-shadow: 0 8px 16px rgba(2,6,23,.10);
    }
    h1{
      margin:12px 0 0;
      font-size:34px;
      line-height:1.12;
      letter-spacing:-.4px;
    }
    .lead{
      margin:10px 0 0;
      color:var(--muted);
      font-size:14.9px;
      max-width: 72ch;
    }
    .cta-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 14px;
      border-radius:16px;
      font-weight:1000;
      border:1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.92);
      box-shadow: 0 14px 30px rgba(2,6,23,.08);
      transition: transform .12s ease, border-color .12s ease, background .12s ease;
      white-space:nowrap;
    }
    .btn:hover{
      transform: translateY(-1px);
      border-color: rgba(124,58,237,.22);
      background: rgba(124,58,237,.06);
    }
    .btn.primary{
      border-color: rgba(124,58,237,.26);
      background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(6,182,212,.12));
    }
    .btn svg{width:18px;height:18px;opacity:.9}

    .side-card{
      border:1px solid rgba(15,23,42,.12);
      background:
        radial-gradient(700px 260px at 20% 0%, rgba(124,58,237,.12), transparent 55%),
        radial-gradient(700px 260px at 80% 0%, rgba(6,182,212,.12), transparent 55%),
        rgba(255,255,255,.92);
      border-radius:20px;
      box-shadow: 0 16px 38px rgba(2,6,23,.08);
      padding:16px;
    }
    .side-card h2{
      margin:0;
      font-size:14px;
      letter-spacing:.2px;
    }
    .side-card p{
      margin:8px 0 0;
      font-size:13px;
      color:var(--muted);
    }
    .pill-row{
      display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;
    }
    .pill{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(15,23,42,.12);
      background:rgba(255,255,255,.92);
      font-weight:900;
      font-size:12.4px;
      box-shadow: 0 10px 22px rgba(2,6,23,.05);
    }

    .section{
      margin-top:16px;
      background:rgba(255,255,255,.84);
      border-radius:22px;
      border:1px solid var(--border);
      padding:18px;
      box-shadow: var(--shadow);
    }
    .section h2{
      margin:0 0 10px;
      font-size:18px;
      letter-spacing:-.2px;
    }
    .section p{
      margin:0 0 10px;
      color:var(--muted);
      font-size:13.7px;
    }
    /* ===== SECTION IMAGES (fix oversized images) ===== */
.section-img{
  width:100%;
  max-width: 980px;
  display:block;
  margin: 12px auto 14px;

  /* stop images from taking too much vertical space */
  height: auto;
  max-height: 380px;

  /* crop nicely instead of stretching */
  object-fit: contain;

  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 14px 28px rgba(2,6,23,.06);
  background: rgba(15,23,42,.03);
}

@media (max-width: 980px){
  .section-img{ max-height: 280px; }
}
@media (max-width: 520px){
  .section-img{ max-height: 220px; }
}


    .grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .card{
      border:1px solid rgba(15,23,42,.12);
      background:rgba(255,255,255,.92);
      border-radius:20px;
      box-shadow: 0 14px 28px rgba(2,6,23,.06);
      padding:14px;
      display:flex;
      flex-direction:column;
      gap:8px;
      min-height: 150px;
    }
    .card h3{margin:0;font-size:14.2px;letter-spacing:.1px}
    .card p{margin:0;color:var(--muted);font-size:13.2px}
    .more{
      margin-top:auto;
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:1000;
      font-size:12.8px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.92);
      width:fit-content;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
    }
    .more:hover{
      transform: translateY(-1px);
      background: rgba(6,182,212,.06);
      border-color: rgba(6,182,212,.22);
    }

    .info-wrap{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:12px;
      align-items:start;
    }

    .table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      overflow:hidden;
      border-radius:18px;
      border:1px solid rgba(15,23,42,.12);
      background:rgba(255,255,255,.92);
      box-shadow: 0 14px 28px rgba(2,6,23,.06);
    }
    .table th, .table td{
      padding:12px 12px;
      font-size:13.2px;
      border-bottom:1px solid rgba(15,23,42,.10);
      text-align:left;
      vertical-align:top;
    }
    .table th{
      width:42%;
      color:rgba(15,23,42,.86);
      font-weight:1000;
      background: rgba(124,58,237,.06);
    }
    .table tr:last-child th, .table tr:last-child td{border-bottom:none}

    .callout{
      border:1px dashed rgba(15,23,42,.22);
      background:rgba(255,255,255,.78);
      border-radius:20px;
      padding:14px;
    }
    .callout h3{margin:0 0 6px;font-size:14px}
    .callout p{margin:0;color:var(--muted);font-size:13px}
    .callout ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px}
    .callout li{margin:6px 0}

    .downloads{
      display:grid;
      grid-template-columns: repeat(5, 1fr);
      gap:10px;
      margin-top:10px;
    }
    .dl{
      border:1px solid rgba(15,23,42,.12);
      background:rgba(255,255,255,.92);
      border-radius:18px;
      padding:12px;
      box-shadow: 0 12px 26px rgba(2,6,23,.05);
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
      display:flex;
      flex-direction:column;
      gap:6px;
      min-height: 88px;
    }
    .dl:hover{
      transform: translateY(-1px);
      background: rgba(124,58,237,.06);
      border-color: rgba(124,58,237,.22);
    }
    .dl strong{font-size:13.2px;letter-spacing:.1px}
    .dl span{font-size:12.4px;color:var(--muted)}

    details{
      border:1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.92);
      border-radius:18px;
      box-shadow: 0 12px 26px rgba(2,6,23,.05);
      padding:12px 14px;
      margin-top:10px;
    }
    summary{
      cursor:pointer;
      font-weight:1000;
      list-style:none;
      display:flex;align-items:center;justify-content:space-between;gap:12px;
    }
    summary::-webkit-details-marker{display:none}
    details p{
      margin:10px 0 0;
      color: var(--muted);
      font-size: 13.2px;
    }

    .tiny{
      font-size:12.6px;
      color:var(--muted);
      margin:10px 0 0;
    }

    /* ===== FOOTER ===== */
    footer{
      margin-top:34px;
      border-top:1px solid var(--border);
      background:
        radial-gradient(800px 320px at 20% 0%, rgba(124,58,237,.10), transparent 60%),
        radial-gradient(800px 320px at 80% 0%, rgba(6,182,212,.10), transparent 60%),
        rgba(255,255,255,.88);
      backdrop-filter: blur(10px);
    }
    .footer-inner{padding:22px 0;display:grid;gap:14px}
    .footer-top{
      display:flex;align-items:flex-start;justify-content:space-between;
      gap:14px;flex-wrap:wrap;
    }
    .footer-title{font-weight:1000;font-size:13px;letter-spacing:.2px;margin:0}
    .footer-sub{
      margin:6px 0 0;
      font-size:12.6px;
      color:var(--muted);
      max-width:760px;
    }
    .footer-links{
      display:flex;gap:10px;flex-wrap:wrap;
      justify-content:flex-end;align-items:center;
    }
    .footer-links a{
      padding:9px 12px;border-radius:999px;
      border:1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.86);
      font-weight:900;font-size:12.5px;
      box-shadow: 0 10px 22px rgba(2,6,23,.05);
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
    }
    .footer-links a:hover{
      transform: translateY(-1px);
      background: rgba(6,182,212,.08);
      border-color: rgba(6,182,212,.28);
    }
    .footer-bottom{
      display:flex;align-items:center;justify-content:space-between;
      gap:10px;flex-wrap:wrap;padding-top:10px;
      border-top:1px solid rgba(15,23,42,.10);
    }
    .copyright{font-size:12px;color:var(--muted)}

    /* ===== RESPONSIVE ===== */
    @media (max-width: 980px){
      .hero-inner{grid-template-columns: 1fr; padding:16px}
      h1{font-size:28px}
      .grid{grid-template-columns: 1fr}
      .info-wrap{grid-template-columns: 1fr}
      .downloads{grid-template-columns: 1fr 1fr}
    }
    @media (max-width: 620px){
      .downloads{grid-template-columns: 1fr}
    }
    @media(max-width:520px){
      .topbar-row{height:68px}
      main{padding:18px 0 26px}
      .footer-links{justify-content:flex-start}
      .footer-bottom{flex-direction:column;align-items:flex-start}
      .container{width:min(var(--maxw),calc(100% - 24px))}
    }

    /* accessibility */
    :focus-visible{outline:3px solid rgba(124,58,237,.35); outline-offset:2px; border-radius:14px}
    .sr-only{
      position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
    }


    /* =========================
   PIF FUSION TOOL (NAMESPACED)
   Everything is scoped under .pifTool
   ========================= */

.pifTool{
  /* tool-only variables (do NOT touch :root) */
  --pif-bg:#f6f8ff;
  --pif-text:rgba(15,23,42,.92);
  --pif-muted:rgba(15,23,42,.65);
  --pif-border:rgba(15,23,42,.12);

  --pif-shadow:0 18px 45px rgba(2,6,23,.10);
  --pif-shadow2:0 10px 22px rgba(2,6,23,.08);

  --pif-a1:#7c3aed;
  --pif-a2:#06b6d4;
  --pif-a3:#f97316;

  --pif-card:rgba(255,255,255,.88);
  --pif-r:18px;
  --pif-gap:12px;

  --pif-panelH:680px;
  --pif-panelH_lg:640px;
  --pif-panelH_md:600px;

  --pif-baseListMax:420px;
  --pif-fusedListMax:520px;

  color: var(--pif-text);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}

.pifTool *{ box-sizing:border-box; }
.pifTool a{ color:inherit; text-decoration:none; }

.pifTool-shell{
  background: rgba(255,255,255,.84);
  border-radius:22px;
  border:1px solid var(--pif-border);
  box-shadow: var(--pif-shadow);
  overflow:hidden;
}

.pifTool-intro{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.72);
}
.pifTool-intro h2{ margin:0; font-size:18px; letter-spacing:-.3px; }
.pifTool-intro p{
  margin:6px 0 0;
  color:rgba(15,23,42,.72);
  font-size:13.6px;
  max-width:1100px;
}

.pifTool-wrap{ padding:12px; }

.pifTool-grid{
  display:grid;
  gap: var(--pif-gap);
  align-items:stretch;
  grid-template-columns: repeat(3, 1fr);
}


@media (max-width: 1250px){
  .pifTool-grid{ grid-template-columns: minmax(340px, 460px) minmax(0, 1fr); }
  .pifTool-panel--created{ grid-column: 1 / -1; }
}
@media (max-width: 980px){
  .pifTool-grid{ grid-template-columns: 1fr; }
  .pifTool-panel--created{ grid-column:auto; }
}

.pifTool-panel{
  background: var(--pif-card);
  border:1px solid var(--pif-border);
  border-radius: var(--pif-r);
  box-shadow: 0 18px 42px rgba(15,23,42,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  height: var(--pif-panelH);
}
@media (max-width: 1400px){ .pifTool-panel{ height: var(--pif-panelH_lg); } }
@media (max-width: 1250px){ .pifTool-panel{ height: var(--pif-panelH_md); } }
@media (max-width: 980px){
  .pifTool-panel{ height: 560px; }
  .pifTool-panel--created{ height: 520px; }
}
@media (max-width: 520px){
  .pifTool-panel{ height: 520px; }
  .pifTool-panel--created{ height: 500px; }
}

.pifTool-panelH{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 12px;
  border-bottom:1px solid var(--pif-border);
  background: rgba(255,255,255,.74);
  flex:0 0 auto;
}
.pifTool-panelH h3{ margin:0; font-size:14px; letter-spacing:-.2px; }
.pifTool-hint{ font-size:12px; color:rgba(15,23,42,.62); font-weight:750; }

.pifTool-panelB{
  padding:10px;
  overflow:hidden;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pifTool-tools{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

.pifTool-search{
  flex:1; min-width: 160px;
  display:flex; align-items:center; gap:8px;
  background: rgba(255,255,255,.92);
  border:1px solid var(--pif-border);
  border-radius: 999px;
  padding:10px 12px;
}
.pifTool-searchIcon{ font-weight:980; color:rgba(15,23,42,.55); }
.pifTool-q{
  border:0; outline:0; background:transparent; width:100%;
  font-weight:750; color:var(--pif-text);
}

.pifTool-btn{
  border:1px solid var(--pif-border);
  background: rgba(255,255,255,.90);
  border-radius: 999px;
  padding:10px 12px;
  font-weight:950;
  letter-spacing:-.2px;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.pifTool-btn:hover{ transform: translateY(-1px); }
.pifTool-btn--primary{
  border-color: rgba(124,58,237,.25);
  background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(6,182,212,.12));
}

.pifTool-status{
  border:1px solid var(--pif-border);
  background: rgba(255,255,255,.80);
  border-radius: 14px;
  padding:10px 12px;
  font-size:12px;
  font-weight:850;
  color: rgba(15,23,42,.72);
  white-space:pre-wrap;
}

/* Base list */
.pifTool-baseScroll{
  overflow:auto;
  max-height: var(--pif-baseListMax);
  padding-right:4px;
}
@media (max-width: 1250px){ .pifTool-baseScroll{ max-height: 360px; } }
@media (max-width: 980px){ .pifTool-baseScroll{ max-height: 340px; } }

.pifTool-pokeGrid{
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap:8px;
}
@media (max-width: 520px){ .pifTool-pokeGrid{ grid-template-columns: repeat(5, minmax(0,1fr)); } }

.pifTool-poke{
  user-select:none;
  border:1px solid var(--pif-border);
  background: rgba(255,255,255,.94);
  border-radius: 14px;
  padding:10px 6px;
  display:flex; align-items:center; justify-content:center;
  cursor: grab;
  transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}
.pifTool-poke:hover{
  transform: translateY(-1px);
  border-color: rgba(124,58,237,.30);
  box-shadow: 0 14px 24px rgba(15,23,42,.10);
}
.pifTool-poke:active{ cursor:grabbing; }
.pifTool-poke img{ width:56px; height:56px; image-rendering:pixelated; }

/* Sandbox */
.pifTool-sandboxWrap{ flex:1 1 auto; min-height:0; }
.pifTool-sandbox{
  border:2px dashed rgba(124,58,237,.30);
  background: linear-gradient(135deg, rgba(124,58,237,.08), rgba(6,182,212,.07));
  border-radius: 18px;
  height:100%;
  min-height:0;
  position:relative;
  overflow:hidden;
  transition: border-color .12s ease, background .12s ease;
}
.pifTool-sandbox.pifTool-dragover{
  border-color: rgba(6,182,212,.65);
  background: linear-gradient(135deg, rgba(6,182,212,.14), rgba(249,115,22,.08));
}

.pifTool-tile{
  position:absolute;
  width:104px; height:112px;
  border:1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  border-radius: 18px;
  box-shadow: 0 18px 38px rgba(15,23,42,.12);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:6px;
  user-select:none;
  cursor: grab;
  touch-action:none;
}
.pifTool-tile:active{ cursor:grabbing; }
.pifTool-tile img{ width:58px; height:58px; image-rendering:pixelated; }
.pifTool-tname{
  font-size:11px; font-weight:950;
  max-width:92px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  text-align:center; color: rgba(15,23,42,.80);
}
.pifTool-tid{ font-size:10px; font-weight:950; color: rgba(15,23,42,.55); margin-top:-4px; }
.pifTool-combineGlow{
  outline:3px solid rgba(6,182,212,.45);
  box-shadow: 0 22px 50px rgba(6,182,212,.18);
}

/* Created */
.pifTool-createdScroll{
  overflow:auto;
  flex: 1 1 auto;
  min-height:0;
  max-height: var(--pif-fusedListMax);
  padding-right:4px;
}
@media (max-width: 1250px){ .pifTool-createdScroll{ max-height: 420px; } }
@media (max-width: 980px){ .pifTool-createdScroll{ max-height: 360px; } }

.pifTool-results{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}
.pifTool-res{
  border:1px solid var(--pif-border);
  background: rgba(255,255,255,.92);
  border-radius: 16px;
  padding:10px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.pifTool-imgbox{
  display:flex; align-items:center; justify-content:center;
  width:86px; height:86px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
}
.pifTool-res img{ width:80px; height:80px; image-rendering:pixelated; }

/* Toast */
.pifTool-toast{
  position:fixed; left:50%; bottom:16px;
  transform: translateX(-50%);
  background: rgba(15,23,42,.92);
  color:#fff;
  padding:10px 12px;
  border-radius: 999px;
  font-weight:980;
  font-size:12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
  z-index:999;
}
.pifTool-toast.pifTool-show{ opacity:1; transform: translateX(-50%) translateY(-2px); }

/* =========================
   Stats Modal (namespaced)
   ========================= */
.pifTool-modal{
  position:fixed; inset:0;
  background:rgba(2,6,23,.55);
  backdrop-filter: blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:9999;
}
.pifTool-modal[hidden]{ display:none; }

.pifTool-modalCard{
  width:min(860px, calc(100vw - 26px));
  border-radius:22px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.94);
  box-shadow: 0 40px 110px rgba(0,0,0,.32);
  overflow:hidden;
}

.pifTool-modalHead{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.76);
}

.pifTool-modalTitle{
  font-weight:1000;
  letter-spacing:-.2px;
  font-size:14.5px;
}

.pifTool-modalClose{
  border:1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  border-radius: 999px;
  padding:10px 12px;
  font-weight:950;
  cursor:pointer;
  transition: transform .12s ease;
}
.pifTool-modalClose:hover{ transform: translateY(-1px); }

.pifTool-modalBody{ padding:12px 14px 14px; }

.pifTool-statsTop{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
}
@media (max-width: 720px){
  .pifTool-statsTop{ grid-template-columns:1fr; }
}

.pifTool-mini{
  border:1px solid rgba(15,23,42,.12);
  border-radius:16px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 26px rgba(2,6,23,.06);
  padding:10px;
  display:flex;
  gap:10px;
  align-items:center;
}
.pifTool-mini img{ width:56px; height:56px; image-rendering:pixelated; }
.pifTool-miniT{ display:flex; flex-direction:column; line-height:1.12; }
.pifTool-miniT strong{ font-size:13px; }
.pifTool-miniT span{ font-size:12px; color:rgba(15,23,42,.65); font-weight:850; }

.pifTool-statsTable{
  width:100%;
  border-collapse:collapse;
  margin-top:12px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
}
.pifTool-statsTable th,
.pifTool-statsTable td{
  padding:10px 10px;
  border-bottom:1px solid rgba(15,23,42,.10);
  font-size:13px;
}
.pifTool-statsTable th{
  text-align:left;
  font-weight:1000;
  color: rgba(15,23,42,.85);
  background: rgba(124,58,237,.08);
}
.pifTool-statsTable td{
  text-align:right;
  font-weight:950;
  font-variant-numeric: tabular-nums;
}
.pifTool-statsTable td:first-child{ text-align:left; font-weight:1000; }
.pifTool-statsTable tr:last-child td{ border-bottom:0; }

.pifTool-taR{ text-align:right !important; }

.pifTool-statsNote{
  margin-top:10px;
  font-size:12.5px;
  color: rgba(15,23,42,.66);
  font-weight:850;
}

 