.article-header strong,.highlight-box strong,.jwt-tool p strong,.jwt-tool strong{color:inherit;font-weight:700}.jwt-tool{padding:2rem 0 3rem}.jwt-input-box{background:rgba(96,165,250,.04);border:1px solid rgba(96,165,250,.15);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.jwt-input-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.jwt-input-title{color:#f1f5f9;font-weight:600;font-size:1rem;margin:0}.jwt-actions{display:flex;gap:6px}.jwt-action-btn,.jwt-textarea{border:1px solid rgba(96,165,250,.2)}.jwt-action-btn{background:rgba(96,165,250,.1);color:#60a5fa;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:.8rem;transition:all .2s}.jwt-action-btn:hover{background:#60a5fa;color:#0d1e38}.jwt-textarea{width:100%;min-height:160px;background:rgba(13,30,56,.6);border-radius:8px;color:#f1f5f9;padding:12px;font-family:"JetBrains Mono",monospace;font-size:.9rem;outline:0;resize:vertical;word-break:break-all}.jwt-textarea:focus{border-color:#60a5fa}.jwt-colored{color:#f1f5f9}.jwt-box.header .jwt-box-title,.jwt-header{color:#f87171}.jwt-box.payload .jwt-box-title,.jwt-payload{color:#c084fc}.jwt-signature{color:#60a5fa}.jwt-decoded-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.jwt-box{background:rgba(96,165,250,.04);border:1px solid rgba(96,165,250,.15);border-radius:12px;padding:1.25rem}.jwt-box.header{border-color:rgba(248,113,113,.3)}.jwt-box.payload{border-color:rgba(192,132,252,.3)}.jwt-box-title{font-size:.95rem;font-weight:700;margin:0 0 .75rem;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.jwt-json{background:rgba(13,30,56,.6);border:1px solid rgba(96,165,250,.1);border-radius:8px;padding:12px;color:#f1f5f9;font-family:"JetBrains Mono",monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all;margin:0;overflow-x:auto;max-height:320px}.jwt-json .j-key{color:#60a5fa}.jwt-json .j-str{color:#10b981}.jwt-json .j-num{color:#f59e0b}.jwt-json .j-bool{color:#c084fc}.jwt-json .j-null{color:#94a3b8}.jwt-claims{margin-top:1rem;display:grid;gap:.5rem}.jwt-claim{display:grid;grid-template-columns:140px 1fr;gap:.75rem;padding:.5rem .75rem;background:rgba(13,30,56,.3);border-radius:6px;font-size:.85rem}.jwt-claim-key{color:#60a5fa;font-family:"JetBrains Mono",monospace;font-weight:600}.jwt-claim-val{color:#e2e8f0;word-break:break-all}.jwt-claim-val .jwt-time{color:#94a3b8;font-size:.8rem;display:block;margin-top:2px}.jwt-alert.danger i,.jwt-claim-val.expired{color:#ef4444}.jwt-alert.warn i,.jwt-claim-val.future{color:#f59e0b}.jwt-alert.ok i,.jwt-claim-val.valid{color:#10b981}.jwt-alerts{margin-bottom:1.5rem;display:grid;gap:.75rem}.jwt-alert{padding:1rem;border-radius:10px;display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem}.jwt-alert i{font-size:1.2rem;flex-shrink:0;margin-top:2px}.jwt-alert.danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5}.jwt-alert.warn{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#fcd34d}.jwt-alert.ok{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.jwt-alert strong{color:#f1f5f9;display:block;margin-bottom:3px}.jwt-empty{text-align:center;color:#64748b;padding:3rem 1rem}.jwt-empty i{font-size:3rem;color:#475569;margin-bottom:1rem;display:block}.jwt-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:#0d1e38;border:1px solid #60a5fa;color:#60a5fa;padding:12px 24px;border-radius:10px;font-weight:600;box-shadow:0 4px 20px rgba(96,165,250,.3);opacity:0;transition:all .3s;z-index:9999;pointer-events:none}.jwt-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:768px){.jwt-claim,.jwt-decoded-grid{grid-template-columns:1fr}.jwt-claim{gap:.25rem}.jwt-claim-key{font-size:.75rem}.jwt-textarea{min-height:120px;font-size:.8rem}.jwt-action-btn{min-width:36px;min-height:36px;padding:8px 10px}.jwt-input-head{gap:.75rem}.jwt-actions{width:100%;justify-content:space-between}.jwt-json{font-size:.75rem;padding:8px}.jwt-alert{font-size:.85rem;padding:.75rem}}@media (max-width:480px){.jwt-box,.jwt-input-box{padding:1rem}}