.jwt-main-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;align-items:start}.jwt-left-col{min-width:0}.jwt-right-col{display:grid;gap:12px;min-width:0}.jwt-token-editor{position:relative;overflow:hidden}.jwt-token-highlight{position:absolute;inset:0;z-index:0;overflow:hidden;margin:0;pointer-events:none}.jwt-token-highlight code{display:block;min-height:360px;color:var(--waludo-muted);font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-control);line-height:1.75;overflow-wrap:anywhere;padding:15px 16px;white-space:pre-wrap;word-break:break-all}.jwt-token-input{position:relative;z-index:1;min-height:360px;max-height:520px;resize:vertical;background:transparent;caret-color:var(--waludo-strong);color:transparent;-webkit-text-fill-color:transparent;overflow-wrap:anywhere;word-break:break-all}.jwt-token-input::placeholder{color:var(--waludo-muted-2);-webkit-text-fill-color:var(--waludo-muted-2)}.jwt-token-input::selection{background:color-mix(in srgb,var(--waludo-accent) 30%,transparent)}.jwt-segment--0{color:#c44c65}.jwt-segment--1{color:#8b6f00}.jwt-segment--2{color:#2b7a78}.jwt-token-status{margin-top:10px}.jwt-token-status>:last-child{margin-left:0}.jwt-token-status .jwt-status-dot{width:7px;height:7px;border-radius:var(--tool-radius-round);background:var(--waludo-muted-2)}.jwt-token-status[data-state=valid] .jwt-status-dot{background:var(--waludo-success)}.jwt-token-status[data-state=error] .jwt-status-dot{background:var(--waludo-error)}.jwt-token-status strong[data-state=error]{color:var(--waludo-error)}.jwt-hmac-verifier{margin-top:10px;padding:14px 16px 12px;border-top:1px dashed var(--waludo-line);display:grid;gap:8px}.jwt-hmac-verifier[hidden]{display:none}.jwt-hmac-verifier small{color:var(--waludo-muted-2);font-size:var(--tool-font-size-caption)}.jwt-verify-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jwt-verify-result{font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-caption)}.jwt-verify-result--idle{color:var(--waludo-muted-2)}.jwt-verify-result--ok{color:var(--waludo-success)}.jwt-verify-result--fail{color:var(--waludo-error)}.jwt-json-output{overflow:auto;min-height:120px;max-height:340px;margin:0;background:color-mix(in srgb,var(--waludo-paper) 82%,#fff);color:var(--waludo-text);font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-caption);line-height:1.75;padding:14px;white-space:pre-wrap;word-break:break-word}.jwt-json-output code{color:var(--waludo-muted)}.jk{color:#0969da}.js{color:#0a6b31}.jn{color:#b35900}.jb{color:#8b38b0}.jl{color:var(--waludo-muted-2)}.jwt-signature-output{overflow:auto;min-height:48px;max-height:120px;margin:0;background:color-mix(in srgb,var(--waludo-paper) 82%,#fff);color:#2b7a78;font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-caption);line-height:1.65;padding:14px;white-space:pre-wrap;word-break:break-all}.jwt-claims-view{min-height:120px;max-height:340px;overflow:auto}.jwt-claims-head,#jwt-claims-body>div{display:grid;grid-template-columns:.55fr minmax(0,1.6fr) minmax(100px,.8fr)}.jwt-claims-head{position:sticky;top:0;z-index:1;background:var(--waludo-paper-soft)}.jwt-claims-head span,#jwt-claims-body>div>*{min-width:0;padding:9px 11px}.jwt-claims-head span{color:var(--waludo-muted);font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-caption);text-transform:uppercase}#jwt-claims-body>div{border-top:1px dashed var(--waludo-line-soft)}#jwt-claims-body code{color:var(--waludo-accent);font-family:var(--waludo-font-mono);font-size:var(--tool-font-size-caption)}#jwt-claims-body span{color:var(--waludo-text);font-size:var(--tool-font-size-caption);line-height:1.55;word-break:break-word}#jwt-claims-body span:last-child{color:var(--waludo-muted)}#jwt-claims-body p{padding:30px;color:var(--waludo-muted);text-align:center}@media(max-width:860px){.jwt-main-grid{grid-template-columns:1fr}.jwt-token-highlight code,.jwt-token-input{min-height:220px}}@media(max-width:640px){.jwt-claims-head{display:none}#jwt-claims-body>div{grid-template-columns:1fr}.jwt-verify-row{flex-direction:column;align-items:flex-start}}
