.jwt-decoder{min-height:100vh;display:flex;flex-direction:column;background-color:var(--c-canvas)}.decoder-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--c-border);background-color:var(--c-header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-inner{max-width:1240px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-icon{display:flex;flex-shrink:0}.brand-name{display:block;font-size:14px;font-weight:500;color:var(--c-ink);line-height:1.3;letter-spacing:.2px;white-space:nowrap}.brand-domain{display:block;font-size:11px;color:var(--c-mute);letter-spacing:.3px}.header-badges{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}.header-nav-link{display:inline-flex;align-items:center;height:32px;padding:0 11px;font-size:13px;font-weight:500;color:var(--c-mute);text-decoration:none;border-radius:6px;transition:color .15s ease,background-color .15s ease;white-space:nowrap}.header-nav-link:hover{color:var(--c-ink);background-color:var(--c-hover)}.header-nav-link.active{color:var(--c-blue)}.badge-privacy{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--c-green);background-color:#59d4991a;border:1px solid rgba(89,212,153,.2);padding:3px 10px;border-radius:9999px;letter-spacing:.2px;white-space:nowrap}.hero-band{position:relative;overflow:hidden;padding:48px 24px 40px;text-align:center;border-bottom:1px solid var(--c-border)}.hero-stripe{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,87,87,.1) 0%,rgba(161,19,26,.05) 55%,transparent 100%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:640px;margin:0 auto}.hero-title{font-family:Inter,system-ui,sans-serif;font-size:clamp(28px,4vw,46px);font-weight:600;line-height:1.1;color:var(--c-ink);margin:0 0 14px;letter-spacing:-.5px;font-feature-settings:"calt","kern","liga","ss03"}.hero-title-accent{color:var(--c-blue)}.hero-subtitle{font-size:16px;color:var(--c-mute);margin:0;font-weight:400;line-height:1.65}.tool-tabs-bar{border-bottom:1px solid var(--c-border);background-color:var(--c-canvas);position:sticky;top:56px;z-index:40}.tool-tabs-inner{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px}.tool-tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tool-tab{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;font-size:13px;font-weight:500;color:var(--c-mute);background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:color .15s,background-color .15s;font-family:inherit;white-space:nowrap}.tool-tab:hover{color:var(--c-ink);background-color:var(--c-hover)}.tool-tab.active{color:var(--c-blue);background-color:#57c1ff14}.tab-count-badge{min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;border-radius:9999px;background-color:#57c1ff26;color:var(--c-blue);display:inline-flex;align-items:center;justify-content:center}.kb-hints{display:flex;align-items:center;gap:10px;flex-shrink:0}.kb-hint{font-size:11px;color:var(--c-faint);display:flex;align-items:center;gap:3px;white-space:nowrap}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-weight:500;font-family:inherit;color:var(--c-body);background:var(--c-elevated-2);border:1px solid var(--c-border-2);border-radius:4px;line-height:1}.btn-kb-help{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--c-mute);background:transparent;border:1px solid var(--c-border-2);border-radius:6px;cursor:pointer;transition:color .15s,background-color .15s}.btn-kb-help:hover{color:var(--c-ink);background-color:var(--c-hover)}.modal-overlay{position:fixed;inset:0;z-index:200;background-color:#000000a6;display:flex;align-items:center;justify-content:center;padding:24px}.modal-box{background-color:var(--c-elevated);border:1px solid var(--c-border-2);border-radius:12px;width:100%;max-width:480px;box-shadow:0 24px 64px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-border)}.modal-title{font-size:15px;font-weight:600;color:var(--c-ink);margin:0}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--c-mute);background:transparent;border:1px solid var(--c-border-2);border-radius:6px;cursor:pointer;transition:color .15s,background-color .15s}.modal-close:hover{color:var(--c-ink);background-color:var(--c-hover)}.modal-body{padding:16px 20px}.kb-table{width:100%;border-collapse:collapse}.kb-table tr+tr td{border-top:1px solid var(--c-overlay-05)}.kb-table td{padding:9px 0;font-size:13px;color:var(--c-mute);vertical-align:middle}.kb-table td:first-child{color:var(--c-body);white-space:nowrap;padding-right:20px}.tab-panel{flex:1}.tool-main{max-width:1240px;width:100%;margin:0 auto;padding:28px 24px 56px}.tool-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:24px}.tool-input-pane{position:sticky;top:114px;align-self:start;display:flex;flex-direction:column;gap:16px;min-width:0}.tool-output-pane{display:flex;flex-direction:column;gap:20px;min-width:0}.input-section{display:flex;flex-direction:column;gap:10px}.input-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:8px;column-gap:8px}.input-label{font-size:13px;font-weight:500;color:var(--c-ink);letter-spacing:.2px}.input-actions{display:flex;align-items:center;gap:8px}.btn-tertiary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:36px;min-width:44px;font-size:13px;font-weight:500;color:var(--c-body);background-color:var(--c-elevated-2);border:1px solid var(--c-border-2);border-radius:6px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;font-family:inherit;line-height:1;white-space:nowrap}.btn-tertiary:hover{background-color:var(--c-hover);border-color:var(--c-overlay-22);color:var(--c-ink)}.btn-tertiary:active{background-color:var(--c-surface)}.jwt-textarea{width:100%;min-height:200px;padding:14px 16px;background-color:var(--c-elevated);border:1px solid var(--c-border-2);border-radius:10px;color:var(--c-ink);font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.65;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.jwt-textarea:focus{border-color:#57c1ff66;box-shadow:0 0 0 3px #57c1ff14}.jwt-textarea::placeholder{color:var(--c-placeholder)}.input-hint{font-size:12px;color:var(--c-mute);margin:2px 0 0;display:flex;align-items:center;gap:5px}.token-parts{overflow-x:auto;white-space:nowrap;padding:12px 16px;background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6}.token-part-header{color:var(--c-red)}.token-part-dot{color:var(--c-faint);padding:0 1px}.token-part-payload{color:var(--c-purple)}.token-part-signature{color:var(--c-blue)}.provider-badge{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid;line-height:1.4}.provider-badge.provider-auth0{color:#eb5424;background-color:#eb54241a;border-color:#eb542433}.provider-badge.provider-google{color:#4285f4;background-color:#4285f41a;border-color:#4285f433}.provider-badge.provider-firebase{color:#ffa000;background-color:#ffa0001a;border-color:#ffa00033}.provider-badge.provider-cognito{color:#f90;background-color:#ff99001a;border-color:#f903}.provider-badge.provider-azure{color:#0078d4;background-color:#0078d41a;border-color:#0078d433}.provider-badge.provider-okta{color:#007dc1;background-color:#007dc11a;border-color:#007dc133}.provider-badge.provider-apple,.provider-badge.provider-github{color:var(--c-ink);background-color:var(--c-surface);border-color:var(--c-border)}.provider-badge .provider-name{font-weight:600}.provider-badge .provider-jwks{font-size:11px;color:var(--c-mute);margin-top:2px;display:block}.provider-badge-inner{display:flex;flex-direction:column;gap:2px}.jwks-section .card-header-row{padding-bottom:0}.jwks-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:10px}.jwks-input-row{display:flex;gap:8px}.jwks-hint{font-size:12px;color:var(--c-mute);margin:0;line-height:1.55}.jwks-hint code{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--c-purple);background-color:#c084fc14;padding:1px 5px;border-radius:4px}.status-bar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:8px;font-size:14px;font-weight:500;line-height:1.4}.status-bar svg{flex-shrink:0}.status-bar .status-msg{color:var(--c-body);font-weight:400}.status-bar.status-ok{background-color:#59d49924;border:1px solid rgba(89,212,153,.35);color:var(--c-green)}.status-bar.status-error{background-color:#ff616129;border:1px solid rgba(255,97,97,.35);color:var(--c-red)}.status-bar.status-warn{background-color:#ffc53324;border:1px solid rgba(255,197,51,.35);color:var(--c-yellow)}.empty-error-help{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 24px;background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:10px}.empty-error-title{font-size:14px;font-weight:500;color:var(--c-ink);margin:0}.empty-error-desc{font-size:13px;color:var(--c-mute);margin:0;line-height:1.6}.empty-error-desc code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-purple);background-color:#c084fc14;padding:1px 5px;border-radius:4px}.btn-try-sample{display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:36px;font-size:13px;font-weight:500;color:var(--c-ink);background-color:var(--c-hover);border:1px solid var(--c-overlay-16);border-radius:6px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;font-family:inherit}.btn-try-sample:hover{background-color:var(--c-hover-2);border-color:var(--c-overlay-28)}.decoded-output{display:flex;flex-direction:column;gap:20px}.decoded-col{display:flex;flex-direction:column;gap:20px;min-width:0}.decoded-idle{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:280px;padding:48px 32px;background-color:var(--c-surface);border:1px dashed var(--c-border-2);border-radius:10px}.decoded-idle-icon{color:var(--c-blue);opacity:.7}.decoded-idle-title{font-size:16px;font-weight:500;color:var(--c-ink);margin:0;letter-spacing:.2px}.decoded-idle-desc{font-size:13px;color:var(--c-mute);margin:0;max-width:360px;line-height:1.6}.decoded-idle .btn-try-sample{margin-top:6px}.decoded-card{background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.card-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.card-title-group{display:flex;align-items:center;gap:10px}.part-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.part-dot-red{background-color:var(--c-red);box-shadow:0 0 6px #ff616180}.part-dot-purple{background-color:var(--c-purple);box-shadow:0 0 6px #c084fc80}.part-dot-blue{background-color:var(--c-blue);box-shadow:0 0 6px #57c1ff80}.card-title{font-size:12px;font-weight:500;color:var(--c-ink);margin:0;letter-spacing:.8px;text-transform:uppercase}.btn-copy{display:inline-flex;align-items:center;gap:5px;padding:0 10px;height:30px;font-size:12px;font-weight:500;color:var(--c-mute);background-color:transparent;border:1px solid var(--c-border-2);border-radius:6px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease;font-family:inherit;white-space:nowrap}.btn-copy:hover{color:var(--c-ink);border-color:var(--c-overlay-22);background-color:var(--c-hover)}.btn-copy.copied{color:var(--c-green);border-color:#59d49966;background-color:#59d4990f}.json-pre{margin:0;padding:14px 18px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;color:var(--c-body);overflow-x:auto;overflow-y:auto;white-space:pre;max-height:280px;border-top:1px solid var(--c-border)}.json-key{color:var(--c-purple)}.json-string{color:var(--c-green)}.json-number{color:var(--c-blue)}.json-bool{color:var(--c-yellow)}.json-null{color:var(--c-mute)}.section-label{display:flex;align-items:center;gap:7px;padding:10px 18px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.7px;color:var(--c-mute);border-top:1px solid var(--c-border);background-color:var(--c-overlay-02)}.section-label-warn{color:var(--c-yellow);background-color:#ffc5330a}.warnings-count{margin-left:4px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;border-radius:9999px;background-color:#ffc53326;color:var(--c-yellow)}.warnings-count.count-red{background-color:#ff616126;color:var(--c-red)}.claims-table{padding:4px 0}.claim-row{display:flex;align-items:flex-start;gap:12px;padding:10px 18px;border-bottom:1px solid var(--c-overlay-07);transition:background-color .15s ease}.claim-row:last-child{border-bottom:none}.claim-row:hover{background-color:var(--c-overlay-03)}.claim-name{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-purple);font-weight:500;min-width:52px;flex-shrink:0;padding-top:1px}.claim-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.claim-value{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-value.claim-value-ts{color:var(--c-blue)}.claim-desc{font-size:12px;color:var(--c-mute);line-height:1.45}.claim-badge{flex-shrink:0;align-self:flex-start;font-size:11px;font-weight:500;padding:2px 8px;border-radius:9999px;margin-top:1px}.claim-badge-ok{background-color:#59d49924;color:var(--c-green);border:1px solid rgba(89,212,153,.28)}.claim-badge-warn{background-color:#ffc53324;color:var(--c-yellow);border:1px solid rgba(255,197,51,.28)}.claim-badge-err{background-color:#ff616124;color:var(--c-red);border:1px solid rgba(255,97,97,.28)}.warnings-list{display:flex;flex-direction:column}.warning-item{display:flex;gap:12px;padding:12px 18px;border-top:1px solid var(--c-overlay-06);align-items:flex-start}.warning-item:first-child{border-top:none}.warning-title{font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.4}.warning-desc{font-size:12px;color:var(--c-mute);margin:0;line-height:1.55}.warning-item.warn-red .warning-title{color:var(--c-red)}.warning-item.warn-yellow .warning-title{color:var(--c-yellow)}.warning-item.warn-blue .warning-title{color:var(--c-blue)}.signature-info{padding:14px 18px 18px;border-top:1px solid var(--c-border)}.sig-note{font-size:13px;color:var(--c-mute);line-height:1.6;margin:0 0 12px}.sig-note strong{color:var(--c-ink);font-weight:500}.sig-raw{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--c-blue);word-break:break-all;background-color:#57c1ff1a;border:1px solid rgba(87,193,255,.18);border-radius:6px;padding:10px 12px;margin:0;line-height:1.6;display:block}.alg-warn{margin-top:12px;display:flex;align-items:flex-start;gap:8px;font-size:13px;padding:10px 14px;background-color:#ff616121;border:1px solid rgba(255,97,97,.3);border-radius:6px;line-height:1.5}.alg-warn svg{flex-shrink:0;margin-top:1px}.alg-warn-text{color:var(--c-red)}.alg-warn-text strong{font-weight:600}.claim-explainer{padding:4px 0;border-top:1px solid var(--c-border)}.explainer-row{display:flex;gap:12px;padding:9px 18px;font-size:12px;border-bottom:1px solid var(--c-overlay-05);transition:background-color .12s ease}.explainer-row:last-child{border-bottom:none}.explainer-row:hover{background-color:var(--c-overlay-02)}.explainer-key{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-red);font-weight:500;min-width:48px;flex-shrink:0;padding-top:1px}.explainer-body{display:flex;flex-direction:column;gap:3px}.explainer-val{color:var(--c-body);font-weight:500;font-size:12px}.explainer-subdesc{color:var(--c-mute);font-size:12px;line-height:1.45}.explainer-val-danger{color:var(--c-red);font-weight:600;font-size:12px}.explainer-subdesc-danger{color:#ff6161d9;font-size:12px;line-height:1.45}.token-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.summary-item{display:flex;flex-direction:column;gap:6px;padding:14px 18px;border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.summary-item:nth-child(3n){border-right:none}.summary-item:nth-last-child(-n+3){border-bottom:none}.summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--c-mute);font-weight:500}.summary-value{font-size:13px;font-weight:500;color:var(--c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-value.status-ok{color:var(--c-green)}.summary-value.status-warn{color:var(--c-yellow)}.summary-value.status-error{color:var(--c-red)}.summary-value.status-mute{color:var(--c-mute)}.verify-optional-label{font-size:11px;color:var(--c-faint);letter-spacing:.4px;text-transform:uppercase}.verify-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--c-border)}.verify-alg-tabs{display:flex;gap:6px;flex-wrap:wrap}.verify-tab{padding:4px 12px;height:30px;font-size:12px;font-weight:500;font-family:JetBrains Mono,monospace;color:var(--c-mute);background-color:transparent;border:1px solid var(--c-border-2);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.verify-tab:hover{color:var(--c-ink);border-color:#fff3}.verify-tab.active{color:var(--c-ink);background-color:var(--c-elevated-2);border-color:var(--c-overlay-22)}.verify-panel{display:flex;flex-direction:column;gap:8px}.verify-label{font-size:12px;font-weight:500;color:var(--c-mute);letter-spacing:.2px}.field-optional{font-size:11px;color:var(--c-faint);font-weight:400}.verify-input-row{display:flex;gap:10px;align-items:center}.verify-input{flex:1;height:36px;padding:0 12px;background-color:var(--c-elevated);border:1px solid var(--c-border-2);border-radius:6px;color:var(--c-ink);font-family:JetBrains Mono,monospace;font-size:13px;outline:none;transition:border-color .15s}.verify-input:focus{border-color:#57c1ff66}.verify-b64-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-mute);cursor:pointer;white-space:nowrap;user-select:none}.verify-b64-toggle input{accent-color:var(--c-blue);cursor:pointer}.verify-textarea{width:100%;padding:10px 12px;background-color:var(--c-elevated);border:1px solid var(--c-border-2);border-radius:6px;color:var(--c-ink);font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s}.verify-textarea:focus{border-color:#57c1ff66}.btn-verify{display:inline-flex;align-items:center;gap:7px;padding:0 18px;height:36px;width:fit-content;font-size:13px;font-weight:500;color:var(--c-ink);background-color:var(--c-verify-bg);border:1px solid rgba(89,212,153,.3);border-radius:6px;cursor:pointer;transition:background-color .15s,border-color .15s;font-family:inherit}.btn-verify:hover{background-color:var(--c-verify-bg-hover);border-color:#59d49980}.verify-result{padding:10px 14px;border-radius:6px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.verify-result.result-ok{background-color:#59d4991f;border:1px solid rgba(89,212,153,.3);color:var(--c-green)}.verify-result.result-fail{background-color:#ff61611f;border:1px solid rgba(255,97,97,.3);color:var(--c-red)}.verify-result.result-info{background-color:#57c1ff14;border:1px solid rgba(87,193,255,.2);color:var(--c-blue)}.payload-editor-wrap{border-top:1px solid var(--c-border);padding:14px 18px;display:flex;flex-direction:column;gap:10px}.payload-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.payload-editor-result{padding:8px 12px;border-radius:6px;font-size:12px;font-family:JetBrains Mono,monospace;word-break:break-all;line-height:1.6;color:var(--c-blue);background-color:#57c1ff14;border:1px solid rgba(87,193,255,.18)}.payload-editor-result.editor-error{color:var(--c-red);background-color:#ff616114;border-color:#ff61612e}.form-group{display:flex;flex-direction:column;gap:6px}.gen-select{width:100%;height:36px;padding:0 10px;background-color:var(--c-elevated);border:1px solid var(--c-border-2);border-radius:6px;color:var(--c-ink);font-family:inherit;font-size:13px;outline:none;cursor:pointer;transition:border-color .15s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239c9c9d' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.gen-select:focus{border-color:#57c1ff66}.gen-claim-group{display:flex;flex-direction:column;gap:10px;padding-bottom:4px}.gen-claim-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.7px;color:var(--c-mute);padding-top:4px}.gen-claim-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gen-custom-row{display:flex;gap:8px;align-items:flex-start}.gen-custom-row .gen-key{width:110px;flex-shrink:0}.gen-custom-row .gen-val{flex:1}.gen-custom-row .btn-remove-claim{display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;flex-shrink:0;color:var(--c-faint);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:color .15s,background-color .15s;font-size:18px;line-height:1}.gen-custom-row .btn-remove-claim:hover{color:var(--c-red);background-color:#ff616114;border-color:#ff616133}#gen-token-visualizer{font-size:12px}#gen-token-visualizer .token-part-header{color:var(--c-red)}#gen-token-visualizer .token-part-dot{color:var(--c-faint)}#gen-token-visualizer .token-part-payload{color:var(--c-purple)}#gen-token-visualizer .token-part-signature{color:var(--c-blue)}.diff-grid{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start;gap:24px}.diff-input-col{position:sticky;top:114px;align-self:start}.diff-output-col{display:flex;flex-direction:column;gap:0;min-width:0}.diff-result-body{padding:4px 0}.diff-row{display:flex;align-items:baseline;gap:12px;padding:8px 18px;border-bottom:1px solid var(--c-overlay-05);font-size:13px}.diff-row:last-child{border-bottom:none}.diff-row.diff-added{background-color:#59d49912}.diff-row.diff-removed{background-color:#ff616112}.diff-row.diff-changed{background-color:#ffc53312}.diff-row.diff-same{opacity:.65}.diff-key{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-mute);min-width:80px;flex-shrink:0}.diff-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:9999px;flex-shrink:0;white-space:nowrap}.diff-added-badge{background-color:#59d49924;color:var(--c-green)}.diff-removed-badge{background-color:#ff616124;color:var(--c-red)}.diff-changed-badge{background-color:#ffc53324;color:var(--c-yellow)}.diff-same-badge{background-color:var(--c-overlay-05);color:var(--c-faint)}.diff-val{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-body);word-break:break-all;flex:1}.diff-val-old{color:var(--c-red);text-decoration:line-through;margin-right:8px}.diff-val-new{color:var(--c-green)}.diff-empty{padding:16px 18px;font-size:13px;color:var(--c-mute)}.history-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;cursor:pointer;transition:border-color .15s,background-color .15s}.history-item:hover{border-color:var(--c-overlay-22);background-color:var(--c-elevated)}.history-item-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.history-item-token{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--c-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-item-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:9999px}.history-item-time{font-size:11px;color:var(--c-faint)}.history-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.snippets-lang-tabs{display:flex;gap:6px;flex-wrap:wrap}.report-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.report-score-card{padding:28px 24px}.report-score-inner{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.report-score-circle{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.report-score-num{font-family:Inter,system-ui,sans-serif;font-size:64px;font-weight:600;line-height:1;letter-spacing:-2px}.report-score-label{font-size:20px;color:var(--c-mute);font-weight:400}.report-score-meta{display:flex;flex-direction:column;gap:6px}.report-score-grade{font-size:22px;font-weight:600;letter-spacing:.2px}.report-score-summary{font-size:14px;color:var(--c-mute);line-height:1.5;max-width:320px}.score-excellent{color:var(--c-green)}.score-good{color:#59d499}.score-fair{color:var(--c-yellow)}.score-poor{color:#ff9233}.score-critical{color:var(--c-red)}.report-checklist{padding:4px 0}.checklist-row{display:flex;align-items:flex-start;gap:12px;padding:10px 18px;border-bottom:1px solid var(--c-overlay-05)}.checklist-row:last-child{border-bottom:none}.checklist-icon{flex-shrink:0;margin-top:1px}.checklist-label{font-size:13px;font-weight:500}.checklist-desc{font-size:12px;color:var(--c-mute);margin-top:3px;line-height:1.45}.checklist-row.check-pass .checklist-label{color:var(--c-green)}.checklist-row.check-warn .checklist-label{color:var(--c-yellow)}.checklist-row.check-fail .checklist-label{color:var(--c-red)}.checklist-row.check-info .checklist-label{color:var(--c-blue)}.report-section-body{padding:16px 18px}.risk-band{display:flex;flex-direction:column;gap:8px}.risk-band-row{display:flex;align-items:center;gap:10px}.risk-band-label{font-size:13px;color:var(--c-body);flex:1}.risk-band-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.risk-band-active{border:2px solid var(--c-ink)}.risk-band-row.risk-ok .risk-band-indicator{background-color:var(--c-green)}.risk-band-row.risk-warn .risk-band-indicator{background-color:var(--c-yellow)}.risk-band-row.risk-bad .risk-band-indicator{background-color:var(--c-red)}.risk-value{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-mute)}.tool-footer{border-top:1px solid var(--c-border);padding:28px 24px;text-align:center}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:14px}.footer-link{font-size:13px;color:var(--c-body);text-decoration:none;transition:color .15s ease}.footer-link:hover{color:var(--c-blue)}.footer-text{font-size:13px;color:var(--c-mute);margin:0}.footer-mute{color:var(--c-faint)}.seo-content{border-top:1px solid var(--c-border);background-color:var(--c-canvas);padding:64px 24px}.seo-inner{max-width:760px;margin:0 auto}.seo-heading{font-size:22px;font-weight:600;color:var(--c-ink);margin:36px 0 12px;letter-spacing:-.2px;font-feature-settings:"calt","kern","liga","ss03"}.seo-inner>.seo-heading:first-child{margin-top:0}.seo-content p{font-size:15px;line-height:1.75;color:var(--c-body);margin:0 0 4px}.seo-content p strong{color:var(--c-ink);font-weight:600}.seo-content p em{color:var(--c-body);font-style:italic}.seo-content p code{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--c-purple);background-color:#c084fc14;padding:1px 5px;border-radius:4px}.faq-section{border-top:1px solid var(--c-border);background-color:var(--c-canvas);padding:64px 24px}.faq-inner{max-width:960px;margin:0 auto}.faq-heading{font-size:28px;font-weight:600;color:var(--c-ink);margin:0 0 10px;letter-spacing:-.3px;font-feature-settings:"calt","kern","liga","ss03"}.faq-subheading{font-size:15px;color:var(--c-mute);margin:0 0 40px;line-height:1.6}.faq-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.faq-item{border-bottom:1px solid var(--c-border)}.faq-item:last-child{border-bottom:none}.faq-q{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:14px;font-weight:500;color:var(--c-ink);cursor:pointer;user-select:none;transition:background-color .15s;gap:12px}.faq-q::-webkit-details-marker{display:none}.faq-q:after{content:"";display:inline-block;width:16px;height:16px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239c9c9d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;transition:transform .2s ease}.faq-item[open]>.faq-q:after{transform:rotate(180deg)}.faq-item[open]>.faq-q{background-color:var(--c-overlay-02)}.faq-q:hover{background-color:var(--c-overlay-03)}.faq-a{padding:4px 20px 20px;font-size:14px;color:var(--c-mute);line-height:1.7;border-top:1px solid var(--c-border)}.faq-a p{margin:0 0 12px}.faq-a p:last-child{margin-bottom:0}.faq-a strong{color:var(--c-body);font-weight:500}.faq-a code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-purple);background-color:#c084fc1a;padding:1px 5px;border-radius:4px}.faq-list{margin:8px 0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px;list-style:disc}.faq-list li{padding-left:4px}.faq-code-parts{display:inline-flex;align-items:center;gap:2px;margin:10px 0;font-family:JetBrains Mono,monospace;font-size:12px;background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;padding:8px 14px}.fcp-header{color:var(--c-red)}.fcp-dot{color:var(--c-faint)}.fcp-payload{color:var(--c-purple)}.fcp-sig{color:var(--c-blue)}.faq-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.faq-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--c-faint);border-bottom:1px solid var(--c-border)}.faq-table td{padding:9px 12px;color:var(--c-mute);border-bottom:1px solid var(--c-overlay-04);vertical-align:top}.faq-table tr:last-child td{border-bottom:none}.faq-table td:first-child{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--c-purple);white-space:nowrap}.faq-table td:nth-child(2){color:var(--c-body);white-space:nowrap}@media(max-width:900px){.tool-grid{grid-template-columns:1fr;gap:20px}.tool-input-pane{position:static;top:auto}.diff-grid{grid-template-columns:1fr}.diff-input-col{position:static}.jwt-textarea{min-height:140px}}@media(max-width:768px){.token-summary{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(3n){border-right:1px solid var(--c-border)}.summary-item:nth-last-child(-n+3){border-bottom:1px solid var(--c-border)}.summary-item:nth-child(2n){border-right:none}.summary-item:nth-last-child(-n+2){border-bottom:none}.kb-hints{display:none}}@media(max-width:640px){.header-badges{display:none}.header-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:2px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}.header-inner{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:4px}.hero-band{padding:32px 16px 24px}.tool-main{padding:20px 16px 40px}.card-header-row{flex-wrap:wrap;gap:8px}.btn-copy{height:36px;padding:0 14px;flex:1}.claim-row{flex-wrap:wrap;align-items:flex-start}.claim-badge{margin-top:4px}.token-summary{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(3n){border-right:1px solid var(--c-border)}.summary-item:nth-last-child(-n+3){border-bottom:1px solid var(--c-border)}.summary-item:nth-child(2n){border-right:none}.summary-item:nth-last-child(-n+2){border-bottom:none}.json-pre{font-size:12px;max-height:240px}.jwt-textarea{min-height:110px}.gen-claim-row-2col{grid-template-columns:1fr}}
