.defirate-perp-rates,.defirate-perp-calc{--pill-char-budget:10;--pr-surface:var(--surface, #fff);--pr-bg:var(--bg, #f8fafc);--pr-bg-alt:var(--border-light, #f1f5f9);--pr-border:var(--border, #e5e7eb);--pr-text-primary:var(--text-primary, #0f172a);--pr-text-secondary:var(--text-secondary, #374151);--pr-text-muted:var(--gray-tag, #64748b);--pr-text-strong:var(--navy, #111827);color:var(--pr-text-primary)}.defirate-perp-rates .container{max-width:1200px;margin:0 auto}.defirate-perp-rates .section{margin-bottom:32px}.defirate-perp-rates .section-title{font-size:22px;font-weight:700;margin:12px 0;border:0!important;padding:0!important;text-decoration:none!important;box-shadow:none!important}.defirate-perp-rates .section-title::before,.defirate-perp-rates .section-title::after{content:none!important;display:none!important}.defirate-perp-rates .table-container{background:var(--pr-surface);border:1px solid var(--pr-border);border-radius:10px;overflow:hidden}.defirate-perp-rates .table-wrapper{overflow-x:auto}.defirate-perp-rates table{width:100%;border-collapse:collapse!important;font-size:14px;margin-bottom:0!important;border-spacing:0!important}.defirate-perp-rates .defirate-rates-table{margin-top:0!important;margin-bottom:0!important}.defirate-perp-rates thead{background:var(--pr-bg)!important}.defirate-perp-rates th{padding:14px 16px!important;text-align:left;color:var(--pr-text-muted)!important;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.4px;border:0!important;border-bottom:2px solid var(--pr-border)!important;background:var(--pr-bg)!important;box-shadow:none!important;vertical-align:middle}.defirate-perp-rates td{padding:16px 14px!important;border:0!important;border-top:1px solid var(--pr-border)!important;background:var(--pr-surface)!important;box-shadow:none!important;color:var(--pr-text-secondary)!important;vertical-align:middle}.defirate-perp-rates tbody tr{border-left:0!important;border-right:0!important}.defirate-perp-rates tbody tr.data-row:hover{background:var(--pr-bg)}.defirate-perp-rates .token-info{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.defirate-perp-rates .token-name{font-weight:800;color:var(--pr-text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.defirate-perp-rates .token-text{display:flex;flex-direction:column;min-width:0}.defirate-perp-rates .token-logo-wrap{position:relative;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--pr-bg-alt);color:var(--pr-text-secondary);font-weight:700;font-size:14px}.defirate-perp-rates .token-logo{width:36px;height:36px;display:block;border-radius:50%}.defirate-perp-rates .token-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%}.defirate-perp-rates .token-logo+.token-fallback{display:none}.defirate-perp-rates .token-logo-wrap.logo-failed .token-logo{display:none}.defirate-perp-rates .token-logo-wrap.logo-failed .token-fallback{display:flex}.defirate-perp-rates .token-price{font-size:12px;color:var(--pr-text-muted);font-variant-numeric:tabular-nums}.defirate-perp-rates .empty-state{text-align:center;padding:28px 16px;color:var(--pr-text-secondary);border-top:1px solid var(--pr-border)}.defirate-perp-rates .empty-state .empty-title{font-weight:700;margin-bottom:6px;color:var(--pr-text-primary)}.defirate-perp-rates .empty-state .empty-hint{font-size:13px;color:var(--pr-text-muted)}.defirate-perp-rates .rate-cell{text-align:center}.defirate-perp-rates .funding-rate{display:inline-block;padding:6px .5ch;border-radius:6px;font-weight:700;width:calc(var(--pill-char-budget, 10) * 1ch + 2ch);box-sizing:border-box;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.defirate-perp-rates .funding-rate.pos{background:rgb(16 185 129 / .08);color:#059669;border:1px solid rgb(16 185 129 / .2)}.defirate-perp-rates .funding-rate.neg{background:rgb(239 68 68 / .08);color:#dc2626;border:1px solid rgb(239 68 68 / .2)}.defirate-perp-rates .funding-rate.zero{background:rgb(245 158 11 / .1);color:#b45309;border:1px solid rgb(245 158 11 / .35)}.defirate-perp-rates .funding-rate.empty{background:var(--pr-bg);color:var(--pr-text-muted);border:1px solid var(--pr-border)}.defirate-perp-rates .pool-badge{display:block;width:max-content;margin:6px auto 0;padding:2px 6px;font-size:11px;color:var(--pr-text-muted);background:var(--pr-bg);border:1px solid var(--pr-border);border-radius:999px;line-height:1.2;vertical-align:middle;white-space:nowrap}.defirate-perp-rates .rate-pill-wrap{position:relative;display:inline-block}.defirate-perp-rates .lev-badge{position:absolute;top:-9px;right:-11px;z-index:2;margin:0;padding:1px 6px;font-size:10px;font-weight:700;color:#6d28d9;background:#f3f0fd;border:1px solid rgb(109 40 217 / .3);border-radius:999px;line-height:1.3;white-space:nowrap;box-shadow:0 1px 2px rgb(0 0 0 / .05)}@media (max-width:640px){.defirate-perp-rates .pool-badge{display:none}.defirate-perp-rates .lev-badge{top:-8px;right:-8px;font-size:9px;padding:1px 5px}}.defirate-perp-rates .rates-filters{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0 16px;padding:12px;background:var(--pr-surface);border:1px solid var(--pr-border);border-radius:10px;align-items:center}.defirate-perp-rates .filter-group{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}.defirate-perp-rates .filter-label{font-size:12px;font-weight:600;color:var(--pr-text-muted);text-transform:uppercase}.defirate-perp-rates .period-selector{display:flex;gap:8px;flex-wrap:wrap}.defirate-perp-rates .period-btn{padding:8px 12px;background:var(--pr-bg);border:1px solid var(--pr-border);border-radius:999px;font-size:13px;font-weight:600;color:var(--pr-text-strong);cursor:pointer}.defirate-perp-rates .period-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.defirate-perp-rates .coin-search{padding:8px 12px;background:var(--pr-surface);border:1px solid var(--pr-border);border-radius:8px;font-size:13px;color:var(--pr-text-primary);min-width:180px}.defirate-perp-rates .coin-search:focus{outline:2px solid #2563eb;outline-offset:1px}.defirate-perp-rates .mode-selector{display:flex;gap:8px;flex-wrap:wrap}.defirate-perp-rates .mode-btn{padding:8px 12px;background:var(--pr-bg);border:1px solid var(--pr-border);border-radius:999px;font-size:13px;font-weight:600;color:var(--pr-text-strong);cursor:pointer}.defirate-perp-rates .mode-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.defirate-perp-rates .category-selector{display:flex;gap:8px;flex-wrap:wrap}.defirate-perp-rates .category-btn{padding:8px 12px;background:var(--pr-bg);border:1px solid var(--pr-border);border-radius:999px;font-size:13px;font-weight:600;color:var(--pr-text-strong);cursor:pointer}.defirate-perp-rates .category-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.defirate-perp-rates .fn-apr{display:none}.defirate-perp-rates[data-mode="apr"] .fn-cycle{display:none}.defirate-perp-rates[data-mode="apr"] .fn-apr{display:inline}.defirate-perp-rates th.spread-column,.defirate-perp-rates td.spread-cell{border-left:2px solid var(--pr-border)!important;background:var(--pr-bg)!important}.defirate-perp-rates th.spread-column{text-align:center;font-size:11px}.defirate-perp-rates td.spread-cell{text-align:center}.defirate-perp-rates .spread-value{display:block;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;font-size:13px;color:var(--pr-text-secondary);background:none;border:0;padding:0}.defirate-perp-rates .spread-value.hot{color:#b45309}.defirate-perp-rates .spread-value.hot::after{content:'●';font-size:7px;vertical-align:super;margin-left:3px;color:#f59e0b}.defirate-perp-rates .spread-pair{font-size:10px;color:var(--pr-text-muted);margin-top:3px;white-space:nowrap}@media (max-width:640px){.defirate-perp-rates .spread-pair{display:none}}.defirate-perp-rates .protocol-affiliate{width:100%;display:flex;justify-content:center}.defirate-perp-rates .affiliate-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;border-radius:0;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-transform:none;color:#0047ff;background:none;border:0;box-shadow:none;transition:color .12s ease}.defirate-perp-rates .affiliate-btn:visited{color:#0047ff}.defirate-perp-rates .affiliate-btn:hover{color:#1d4ed8}.defirate-perp-rates .perp-updated{font-size:12px;color:var(--pr-text-muted);margin:10px 0 0;text-align:right;font-variant-numeric:tabular-nums}.defirate-perp-rates .perp-footnote{font-size:12px;color:var(--pr-text-muted);margin-top:8px}.defirate-perp-rates .legend-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:3px;vertical-align:baseline}.defirate-perp-rates .legend-zero{background:rgb(245 158 11 / .25);border:1px solid rgb(245 158 11 / .5)}.defirate-perp-rates .legend-pos{background:rgb(16 185 129 / .2);border:1px solid rgb(16 185 129 / .4)}.defirate-perp-rates .legend-neg{background:rgb(239 68 68 / .2);border:1px solid rgb(239 68 68 / .4)}.defirate-perp-rates .lev-legend{color:#6d28d9;font-weight:700}.defirate-perp-calc .funding-calc{background:var(--pr-surface);border:1px solid var(--pr-border);border-radius:10px;padding:16px;margin-bottom:16px}.defirate-perp-calc .calc-title{font-size:15px;font-weight:800;color:var(--pr-text-primary);margin-bottom:4px}.defirate-perp-calc .calc-hint{font-size:13px;color:var(--pr-text-muted);margin-bottom:12px;max-width:720px}.defirate-perp-calc .calc-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.defirate-perp-calc .calc-field{display:flex;flex-direction:column;gap:6px}.defirate-perp-calc .calc-label{font-size:11px;font-weight:700;color:var(--pr-text-muted);text-transform:uppercase;letter-spacing:.4px}.defirate-perp-calc .calc-field input,.defirate-perp-calc .calc-field select{padding:8px 10px;background:var(--pr-surface);border:1px solid var(--pr-border);border-radius:8px;font-size:13px;color:var(--pr-text-primary);min-width:120px}.defirate-perp-calc .calc-field input:focus,.defirate-perp-calc .calc-field select:focus{outline:2px solid #2563eb;outline-offset:1px}.defirate-perp-calc .calc-results{display:flex;gap:12px;flex-wrap:wrap}.defirate-perp-calc .calc-chip{flex:1 1 160px;min-width:150px;padding:10px 12px;border-radius:8px;border:1px solid var(--pr-border);background:var(--pr-bg)}.defirate-perp-calc .calc-chip .chip-exchange{font-size:12px;font-weight:700;color:var(--pr-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.defirate-perp-calc .calc-chip .chip-exchange-link{color:inherit;text-decoration:none}.defirate-perp-calc .calc-chip .chip-exchange-link:hover{text-decoration:underline;text-underline-offset:2px}.defirate-perp-calc .calc-chip .chip-verdict{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.defirate-perp-calc .calc-chip .chip-sub{font-size:11px;color:var(--pr-text-muted);margin-top:2px}.defirate-perp-calc .calc-chip.pays{border-color:rgb(239 68 68 / .35);background:rgb(239 68 68 / .05)}.defirate-perp-calc .calc-chip.pays .chip-verdict{color:#dc2626}.defirate-perp-calc .calc-chip.earns{border-color:rgb(16 185 129 / .35);background:rgb(16 185 129 / .05)}.defirate-perp-calc .calc-chip.earns .chip-verdict{color:#059669}.defirate-perp-calc .calc-chip.free{border-color:rgb(245 158 11 / .45);background:rgb(245 158 11 / .07)}.defirate-perp-calc .calc-chip.free .chip-verdict{color:#b45309}.defirate-perp-calc .calc-chip.na .chip-verdict{color:var(--pr-text-muted)}.defirate-perp-calc .calc-chip.best{box-shadow:0 0 0 2px rgb(245 158 11 / .35);position:relative}.defirate-perp-calc .calc-chip.best::after{content:'Cheapest';position:absolute;top:-9px;right:8px;font-size:10px;font-weight:800;color:#b45309;background:#fef3c7;border:1px solid rgb(245 158 11 / .5);padding:1px 6px;border-radius:999px}.defirate-perp-calc .calc-note{font-size:11px;color:var(--pr-text-muted);margin-top:10px}@media (max-width:640px){.defirate-perp-calc .calc-controls{gap:10px}.defirate-perp-calc .calc-field input,.defirate-perp-calc .calc-field select{min-width:100px;width:100%}.defirate-perp-calc .calc-field{flex:1 1 45%}}@media (max-width:768px){.defirate-perp-rates .rates-filters{flex-direction:column;align-items:stretch;gap:12px}.defirate-perp-rates .filter-group{width:100%}}.defirate-perp-rates th.exchange-column{text-align:center;vertical-align:top}.defirate-perp-rates .protocol-header{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-height:68px;padding:4px 2px}.defirate-perp-rates .protocol-logo-wrap{position:relative;width:28px;height:28px}.defirate-perp-rates .protocol-logo{width:28px;height:28px;border-radius:10px;object-fit:cover;box-shadow:0 1px 2px rgb(0 0 0 / .06);background:var(--pr-surface);display:block}.defirate-perp-rates .protocol-fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;border-radius:10px;background:var(--pr-border);color:var(--pr-text-primary);font-weight:700}.defirate-perp-rates .protocol-logo-wrap.logo-failed .protocol-logo{display:none}.defirate-perp-rates .protocol-logo-wrap.logo-failed .protocol-fallback{display:flex}.defirate-perp-rates .protocol-name{display:block;font-size:13px;color:var(--pr-text-primary);text-transform:none;letter-spacing:0;font-weight:700;line-height:1.15;text-align:center;white-space:normal;word-break:break-word;max-width:140px}.defirate-perp-rates a.protocol-link{text-decoration:none}.defirate-perp-rates a.protocol-link:hover{text-decoration:underline;text-underline-offset:2px}.defirate-perp-rates .funding-countdown{font-size:10px;color:var(--pr-text-muted);font-variant-numeric:tabular-nums;display:block}@media (max-width:767px){.defirate-perp-rates .table-wrapper{position:relative}.defirate-perp-rates .defirate-rates-table th:first-child{position:sticky;left:0;z-index:3;background:var(--pr-bg)}.defirate-perp-rates .defirate-rates-table td.token-cell{position:sticky;left:0;z-index:2;background:var(--pr-surface);min-width:120px}.defirate-perp-rates .defirate-rates-table th:first-child::after,.defirate-perp-rates .defirate-rates-table td.token-cell::after{content:'';position:absolute;top:0;bottom:0;right:-1px;width:1px;background:var(--pr-border)}}@media (max-width:640px){.defirate-perp-rates .section-title{font-size:18px;margin:8px 0}.defirate-perp-rates .rates-filters{gap:6px;padding:8px;align-items:stretch}.defirate-perp-rates .filter-group{flex-direction:row;align-items:center;gap:10px;width:100%}.defirate-perp-rates .filter-label{display:block;flex:0 0 58px;margin:0;font-size:10px;line-height:1.1;letter-spacing:.3px;text-align:left;white-space:nowrap}.defirate-perp-rates .period-selector,.defirate-perp-rates .mode-selector,.defirate-perp-rates .category-selector{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;gap:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px}.defirate-perp-rates .period-selector::-webkit-scrollbar,.defirate-perp-rates .mode-selector::-webkit-scrollbar,.defirate-perp-rates .category-selector::-webkit-scrollbar{display:none}.defirate-perp-rates .period-btn,.defirate-perp-rates .mode-btn,.defirate-perp-rates .category-btn{flex:0 0 auto;white-space:nowrap;padding:6px 12px;font-size:12px}.defirate-perp-rates .coin-search{flex:1 1 auto;min-width:0;width:auto;padding:8px 12px;font-size:13px}.defirate-perp-rates th,.defirate-perp-rates td{padding:10px 8px;font-size:11px}.defirate-perp-rates td{padding:10px 6px}.defirate-perp-rates .protocol-header{gap:4px;min-height:56px}.defirate-perp-rates .protocol-logo-wrap{width:24px;height:24px}.defirate-perp-rates .protocol-logo{width:24px;height:24px;border-radius:8px}.defirate-perp-rates .protocol-fallback{font-size:12px}.defirate-perp-rates .protocol-name{font-size:12px;max-width:110px}.defirate-perp-rates{--pill-char-budget:9}.defirate-perp-rates .funding-rate{padding:5px .45ch;font-size:12px}}@media (max-width:480px){.defirate-perp-rates .section-title{font-size:16px}.defirate-perp-rates .rates-filters{gap:6px;padding:6px}.defirate-perp-rates .filter-group{gap:8px}.defirate-perp-rates .filter-label{flex-basis:52px;font-size:9px}.defirate-perp-rates .period-btn,.defirate-perp-rates .mode-btn,.defirate-perp-rates .category-btn{padding:5px 10px;font-size:11px}.defirate-perp-rates th{padding:8px 6px;font-size:10px}.defirate-perp-rates td{padding:10px 6px}.defirate-perp-rates .protocol-header{gap:3px;min-height:48px}.defirate-perp-rates .protocol-logo-wrap{width:20px;height:20px}.defirate-perp-rates .protocol-logo{width:20px;height:20px;border-radius:6px}.defirate-perp-rates .protocol-fallback{font-size:11px}.defirate-perp-rates .protocol-name{font-size:11px;max-width:92px;line-height:1.1}.defirate-perp-rates .token-logo-wrap{width:28px;height:28px;font-size:12px}.defirate-perp-rates .token-name{font-size:14px}.defirate-perp-rates{--pill-char-budget:9}.defirate-perp-rates .funding-rate{padding:4px .4ch;font-size:11px}}