/* JWT decoder landing page (/tools/jwt-token-inspector) only. Layers on market-tools.css + browser-tool.css. */
.tp-jwt .tp-main{max-width:1220px}
.tp-jwt .tp-hero{display:grid;gap:10px;max-width:820px;margin:0 0 20px}
.tp-jwt .tp-hero h1{margin:0;font-size:clamp(1.75rem,3.6vw,2.7rem);line-height:1.12;letter-spacing:-.03em}
.tp-jwt .tp-hero .mt-eyebrow{margin:0}
.tp-jwt .tp-lede{margin:0;font-size:1.05rem;line-height:1.6;color:var(--muted,#52647b);max-width:68ch}
.tp-jwt .tp-facts{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tp-jwt .tp-facts li{padding:7px 12px;border:1px solid var(--line,#d7e1ee);border-radius:999px;background:#fff;font-size:.86rem;color:var(--ink,#071b35)}
.tp-jwt .tp-facts b{font-weight:700}

.tp-jwt .tp-tool{margin:0 0 12px;scroll-margin-top:90px}
.tp-jwt .tp-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"in head" "in pay";gap:16px;margin:0 0 16px}
.tp-jwt .tp-grid .bt-panel{min-width:0;margin:0}
.tp-jwt .tp-input{grid-area:in;display:flex;flex-direction:column;border-color:#9fb7e6;box-shadow:0 10px 30px rgba(7,27,53,.08)}
.tp-jwt .tp-head{grid-area:head}
.tp-jwt .tp-pay{grid-area:pay}
.tp-jwt .tp-grid--wide{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:none}
.tp-jwt .tp-input-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.tp-jwt .tp-input-head h2{margin:0}
.tp-jwt .tp-tag{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1548c7;background:#edf4ff;border-radius:999px;padding:4px 10px;white-space:nowrap}
.tp-jwt .tp-input textarea#tok-in{flex:1 1 auto;min-height:300px;font-size:.9rem;line-height:1.55;word-break:break-all;border-color:#9fb7e6}
.tp-jwt .tp-input textarea#tok-in:focus-visible{outline:3px solid #1f5cf0;outline-offset:1px}
.tp-jwt .tp-hint{margin:12px 0 0;font-size:.86rem;color:var(--muted,#52647b)}
.tp-jwt .tp-hint code{font-size:.84rem;background:#edf4ff;border-radius:4px;padding:1px 5px;word-break:break-all}
.tp-jwt .bt-pre{max-height:320px;white-space:pre-wrap;word-break:break-word}
.tp-jwt .bt-pre:focus-visible{outline:2px solid #1f5cf0;outline-offset:2px}
.tp-jwt .tp-scroll{overflow-x:auto;max-width:100%}
.tp-jwt .bt-table td{word-break:break-word}
.tp-jwt .tp-note{margin:0 0 14px}
.tp-jwt .tp-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font-size:.9rem;color:var(--muted,#52647b)}
.tp-jwt .tp-more a{display:inline-flex;align-items:center;min-height:40px;font-weight:700;color:var(--blue,#1f5cf0)}
.tp-jwt .tp-more a:focus-visible{outline:2px solid #1f5cf0;outline-offset:2px}
.tp-jwt #pay-copy{min-height:40px}
.tp-jwt .bt-copy{min-height:32px}
.tp-jwt .bt-panel .bt-radio{display:flex;align-items:center;gap:8px;min-height:32px;font-weight:400}
/* Browser tool: the footer's generic result-expiry note does not apply here. */
.tp-jwt .wt-foot-note{display:none}

@media (max-width:900px){
  .tp-jwt .tp-grid,.tp-jwt .tp-grid--wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"in" "head" "pay"}
  .tp-jwt .tp-grid--wide{grid-template-areas:none}
  .tp-jwt .tp-input textarea#tok-in{min-height:190px;flex:0 0 auto}
}
@media (max-width:600px){
  .tp-jwt .tp-lede{font-size:1rem}
  .tp-jwt .tp-facts li{font-size:.82rem}
  .tp-jwt .tp-input-head{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .tp-jwt *{scroll-behavior:auto}
}
