:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#eef2ff,#e0f2fe,#ede9fe);color:#111827}body.print-mode{background:#fff}#root{min-height:100vh}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.layout{display:flex;min-height:100vh;width:100%;gap:2rem;padding:2rem 2.5rem}.print-layout{min-height:100vh;width:100%;padding:2.5rem 2.5rem 3rem;display:flex;justify-content:center;background:#fff}.print-content{width:min(880px,100%);display:flex;justify-content:center;align-items:flex-start}.layout-header{display:none}.sidebar{width:220px;padding:2rem 1.5rem;border-radius:18px;background:#ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 40px #0f172a1f;display:flex;flex-direction:column;gap:1.5rem}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.brand{font-size:1.4rem;font-weight:700;letter-spacing:.04em;color:#1f2937}.sidebar-close{background:transparent;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:#4b5563}.menu-search{position:relative}.menu-search-input{width:100%;padding:.65rem .9rem;border-radius:12px;border:1px solid rgba(148,163,184,.5);background:#ffffffe6;font-size:.95rem;color:#1f2937}.menu-search-input:focus{outline:none;border-color:#3b82f6cc;box-shadow:0 0 0 3px #3b82f626}.github-link{display:inline-flex;align-items:center;justify-content:center;margin:0 0 .5rem;padding:.4rem;border-radius:12px;color:inherit;transition:background-color .2s ease,color .2s ease}.github-link:hover,.github-link:focus{background-color:#2563eb1f;color:#1f2937}.github-icon{width:22px;height:22px}.nav{display:flex;flex-direction:column;gap:.75rem}.nav a{padding:.7rem .9rem;border-radius:12px;text-decoration:none;font-weight:600;color:#374151;transition:background-color .15s ease,color .15s ease}.nav a:hover{background-color:#2563eb1f;color:#1f2937}.nav a.active{background:linear-gradient(135deg,#2563eb29,#7c3aed29);color:#1e40af}.menu-empty{padding:.9rem;border-radius:12px;background:#f8fafcd9;border:1px dashed rgba(148,163,184,.6);color:#6b7280;text-align:center;font-size:.95rem}.tool-section{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(148,163,184,.35);display:grid;gap:.75rem}.tool-section h2{margin:0;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.tool-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.tool-list a{color:#2563eb;text-decoration:none;font-weight:600;letter-spacing:.01em;transition:color .15s ease}.tool-list a:hover{color:#1e40af}.content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5rem;padding:1.5rem 1.25rem 2rem}.tool-meta{width:min(760px,100%);display:grid;gap:.3rem;padding:1rem 1.25rem;border-radius:16px;background:#3b82f614;border:1px solid rgba(59,130,246,.18);color:#1e3a8a;box-shadow:0 12px 32px #2563eb1f}.tool-meta-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#1e40afd9}.tool-meta-value{font-size:1.05rem;font-weight:700}.tool-meta-note{font-size:.92rem;color:#1e40afd9;line-height:1.55}.tool-meta--remote{background:#f973161a;border-color:#f973163d;color:#9a3412;box-shadow:0 12px 32px #f973161f}.tool-meta--remote .tool-meta-label,.tool-meta--remote .tool-meta-note{color:#9a3412d9}.route-fallback{flex:1;display:flex;justify-content:center;align-items:center;min-height:320px}.route-fallback-card{padding:2rem 2.5rem;border-radius:18px;background:#ffffffe0;box-shadow:0 18px 40px #0f172a1f;font-size:1rem;font-weight:600;color:#4b5563;letter-spacing:.03em}.menu-toggle{display:none;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:1rem;font-weight:600;color:#1e40af;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:999px;cursor:pointer;box-shadow:0 10px 24px #3b82f62e}.sidebar-backdrop{display:none}@media (max-width: 900px){.layout{flex-direction:column;padding:1.5rem 1.25rem;gap:1.5rem}.layout-header{display:flex;justify-content:flex-start}.menu-toggle{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);max-width:360px;border-radius:0 18px 18px 0;transform:translate(-120%);transition:transform .25s ease;z-index:30}.sidebar--closed{transform:translate(-120%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20}.content{padding:1rem .25rem 2rem}}.card{width:min(920px,100%);padding:2rem 2.5rem;border-radius:18px;box-shadow:0 20px 45px #0f172a26;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0 auto}.card--full-width{width:100%;max-width:none}.card-description{margin:-.5rem 0 1.8rem;text-align:center;color:#4b5563;font-size:.98rem;line-height:1.55}h1{margin:0 0 1.5rem;font-size:1.75rem;text-align:center;color:#1f2937}.section{display:grid;gap:.9rem;margin-bottom:2rem}.section:last-of-type{margin-bottom:0}.section-header{display:flex;flex-direction:column;gap:.35rem}.section-header h2{margin:0;font-size:1.1rem;color:#1f2937}.section-header p{margin:0;font-size:.95rem;color:#64748b}.form-inline{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.hint{margin:0;font-size:.9rem;color:#64748b}.error{margin:0;font-size:.9rem;color:#dc2626;font-weight:600}.decoded-hex{display:flex;flex-direction:column;gap:.45rem;padding:.75rem .9rem;border-radius:12px;background:#f8fafcc7;border:1px solid rgba(148,163,184,.45)}.decoded-hex pre{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;color:#1f2937;white-space:pre-wrap;word-break:break-all}.note-list{margin:0;padding:.6rem .85rem;list-style:none;border-radius:12px;background:#ffedd599;border:1px solid rgba(251,191,36,.4);display:grid;gap:.45rem}.note-list .warning{margin:0;font-size:.9rem;color:#a16207}.hash-table{display:grid;gap:.9rem}.hash-table-header,.hash-table-row{display:grid;gap:.75rem;grid-template-columns:120px 1fr 1fr;align-items:start}.hash-table-header{font-weight:600;color:#475569;font-size:.92rem}.hash-table-row{padding:.85rem 1rem;border-radius:14px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.45)}.hash-name{font-weight:600;color:#1f2937}.hash-value{display:flex;flex-direction:column;gap:.5rem}.hash-value code{display:block;padding:.45rem .6rem;border-radius:10px;border:1px solid rgba(148,163,184,.5);background:#ffffffeb;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem;word-break:break-all}button.link{border:none;background:transparent;color:#2563eb;cursor:pointer;padding:0;font-size:.85rem;font-weight:600;align-self:flex-start}button.link:hover{text-decoration:underline}.uuid-output{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:14px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.45);word-break:break-all}.uuid-output code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.95rem;color:#111827}.uuid-actions{display:flex;gap:.6rem;flex-wrap:wrap}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-field{display:flex;flex-direction:column;gap:.45rem}.checkbox-row{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#374151}.random-results{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.random-chip{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:999px;background:#3b82f626;color:#1d4ed8;font-weight:600;font-size:.95rem}.checkbox-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.checkbox-grid label{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#374151}.string-results{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.45rem}.string-results code{display:inline-block;padding:.35rem .55rem;border-radius:10px;border:1px solid rgba(148,163,184,.5);background:#ffffffeb;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;word-break:break-all;font-size:.92rem}.form{display:grid;gap:.75rem}.query-params{margin-top:1.5rem;display:grid;gap:.75rem}.query-params h2{margin:0;font-size:1rem;color:#1f2937;letter-spacing:.01em}.query-param-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.query-param{display:grid;gap:.5rem;padding:.9rem;border-radius:14px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.4);box-shadow:0 10px 24px #0f172a14}.query-param-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.query-param-key{font-weight:600;color:#1f2937;word-break:break-all}.query-param-value{padding:.65rem .75rem;border-radius:12px;background:#ffffffeb;border:1px solid rgba(148,163,184,.45);font-size:.95rem;color:#111827;word-break:break-all}.copy-button{border:1px solid rgba(37,99,235,.4);background:transparent;color:#2563eb;padding:.35rem .8rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.copy-button:hover{background-color:#2563eb14;border-color:#2563eb8c}.copy-button.copied{background-color:#2563eb29;color:#1d4ed8;border-color:#2563eb8c}.url-details{margin-top:1.5rem;display:grid;gap:.85rem}.url-details h2{margin:0;font-size:1rem;color:#1f2937;letter-spacing:.01em}.url-detail-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.url-detail{display:grid;gap:.3rem;padding:.85rem 1rem;border-radius:14px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.4);box-shadow:0 10px 24px #0f172a14}.url-detail dt{margin:0;font-size:.85rem;color:#6b7280;letter-spacing:.04em;text-transform:uppercase}.url-detail dd{margin:0;font-size:.95rem;color:#1f2937;word-break:break-all}.url-detail dd strong{font-weight:600}.query-empty{margin:1rem 0 0;padding:.85rem 1rem;border-radius:12px;background:#ffffffc7;border:1px dashed rgba(148,163,184,.5);color:#6b7280;font-size:.95rem;text-align:center}.form-note{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:12px;background:#dbeafed9;border:1px solid rgba(37,99,235,.28);color:#1d4ed8;font-size:.9rem}.transform-tools{margin-top:2rem;display:grid;gap:1.1rem}.transform-tools h2{margin:0;font-size:1rem;color:#1f2937;letter-spacing:.01em}.transform-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.transform-card{display:grid;gap:.6rem;padding:1rem 1.2rem;border-radius:16px;background:#ffffffe0;border:1px solid rgba(148,163,184,.42);box-shadow:0 14px 30px #0f172a1f}.transform-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.transform-header h3{margin:0;font-size:1rem;color:#1f2937}.markdown-card{width:min(1040px,100%)}.markdown-print{width:100%;margin:0;padding:0;background:transparent}.markdown-grid{display:grid;gap:1.5rem}@media (min-width: 900px){.markdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.markdown-panel{display:grid;gap:.85rem;padding:1.25rem 1.45rem;border-radius:18px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.45);box-shadow:0 14px 30px #0f172a24}.markdown-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.markdown-panel-header h2{margin:0;font-size:1.1rem;color:#1f2937}.markdown-panel-header p{margin:.25rem 0 0;font-size:.9rem;color:#64748b;line-height:1.5}.markdown-count{font-size:.9rem;color:#6b7280;white-space:nowrap}.markdown-textarea{min-height:320px;padding:1rem 1.2rem;border-radius:14px;border:1px solid rgba(148,163,184,.55);background:#fffffff2;font-size:.98rem;line-height:1.65;resize:vertical;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease}.markdown-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb29}.markdown-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.markdown-checkbox{display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;color:#374151}.markdown-checkbox input{width:1rem;height:1rem}.markdown-toolbar-actions{display:flex;gap:.65rem;flex-wrap:wrap}.markdown-preview{min-height:320px;padding:1rem 1.25rem;border-radius:14px;background:#fffffff2;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 1px 2px #0f172a0f;overflow:auto;color:#1f2937;line-height:1.7}.markdown-preview--print{min-height:auto;padding:0;border-radius:0;border:none;box-shadow:none;background:transparent;width:100%}.markdown-preview--print>*:first-child{margin-top:0}.markdown-mermaid{margin:1.2rem 0;padding:1rem;border-radius:12px;background:#f8fafceb;border:1px solid rgba(148,163,184,.4);overflow-x:auto}.markdown-mermaid svg{width:100%;height:auto}.markdown-preview--print .markdown-mermaid{margin:1rem 0;padding:0;border:none;background:transparent}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin-top:1.8rem;margin-bottom:.85rem;color:#1f2937}.markdown-preview h1:first-child,.markdown-preview h2:first-child,.markdown-preview h3:first-child{margin-top:0}.markdown-preview p,.markdown-preview ul,.markdown-preview ol,.markdown-preview blockquote{margin:0 0 1.1rem}.markdown-preview ul,.markdown-preview ol{padding-left:1.4rem}.markdown-preview blockquote{border-left:4px solid rgba(59,130,246,.5);padding-left:1rem;color:#4b5563}.markdown-preview pre{margin:1.1rem 0;padding:.9rem 1.1rem;border-radius:12px;background:#0f172a;color:#f9fafb;overflow:auto;font-size:.92rem}.markdown-preview code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#0f172a14;padding:.15em .35em;border-radius:6px}.markdown-preview pre code{background:transparent;padding:0}.markdown-preview table{width:100%;border-collapse:collapse;margin:1.2rem 0}.markdown-preview th,.markdown-preview td{border:1px solid rgba(148,163,184,.6);padding:.6rem .75rem;text-align:left;font-size:.95rem}.markdown-preview a{color:#2563eb;font-weight:600;text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-empty{margin:0;color:#64748b;font-size:.95rem}@media (max-width: 640px){.markdown-panel{padding:1.1rem 1rem}.markdown-toolbar{flex-direction:column;align-items:flex-start}.markdown-textarea,.markdown-preview{min-height:260px}}.transform-label{font-size:.85rem;color:#6b7280;letter-spacing:.03em;text-transform:uppercase}.transform-textarea{min-height:120px;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.6);border-radius:12px;font-size:.95rem;line-height:1.5;background-color:#f8fafcc7;color:#1f2937;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.transform-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.transform-textarea.has-error{border-color:#dc262699;box-shadow:0 0 0 4px #dc262626}.transform-error{margin:0;color:#dc2626;font-size:.85rem}.transform-actions{display:flex;justify-content:flex-end}.auto-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#1f2937}.auto-toggle input{width:1rem;height:1rem}label{font-weight:600;letter-spacing:.01em;color:#374151}input[type=text]{padding:.75rem 1rem;border:1px solid rgba(148,163,184,.65);border-radius:12px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;outline:none}input[type=text]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.form-error{margin:0;color:#dc2626;font-size:.85rem}button{padding:.8rem 1rem;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:0;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 14px 20px #4f46e540}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.secondary{background:transparent;border:1px solid rgba(37,99,235,.35);color:#1e40af;padding:.65rem 1.1rem;border-radius:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.secondary:hover{background-color:#2563eb1a;border-color:#2563eb80}.scanner{width:min(640px,100%);display:grid;gap:1.5rem}.scan-dropzone{border:2px dashed rgba(148,163,184,.7);border-radius:18px;padding:2rem;text-align:center;background-color:#ffffffad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scan-instruction{margin:0 0 1rem;color:#374151;font-size:.95rem}.scan-status{margin-top:.75rem;color:#2563eb;font-size:.9rem}.scan-preview-wrapper{display:grid;gap:.6rem}.scan-preview-label{font-size:.85rem;color:#6b7280}.scan-preview{width:100%;max-height:320px;object-fit:contain;border-radius:14px;box-shadow:0 12px 28px #0f172a2e;background-color:#fffc}.scan-result{padding:1.5rem;border-radius:16px;background:#ffffffc7;box-shadow:0 15px 30px #0f172a1f;display:grid;gap:.9rem}.scan-result-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#1f2937}.icon-button{background:transparent;border:0;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.icon-button:disabled{color:#94a3b8;cursor:not-allowed}.icon-button:not(:disabled):hover{background-color:#2563eb1a}.copy-icon{display:block}.scan-result-text{width:100%;min-height:120px;resize:vertical;padding:1rem;border-radius:12px;border:1px solid rgba(148,163,184,.6);font-size:.95rem;line-height:1.5;background-color:#f8fafcc7;color:#1f2937}.scan-result-text:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.hidden-file-input,.hidden-canvas{display:none}@media (max-width: 960px){.layout{flex-direction:column;padding:1.5rem;gap:1.5rem}.sidebar{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.nav{flex-direction:row}.tool-section{margin-top:0;padding-top:0;padding-left:1.5rem;border-top:0;border-left:1px solid rgba(148,163,184,.35)}}@media (max-width: 640px){.layout{padding:1.25rem}.sidebar{flex-direction:column;align-items:flex-start}.nav{width:100%;flex-direction:column;align-items:stretch}.content{padding:1rem}.tool-section{width:100%;padding-left:0;padding-top:1.25rem;border-left:0;border-top:1px solid rgba(148,163,184,.35)}}.qr-output{margin-top:2rem;display:flex;justify-content:center;align-items:center;min-height:260px;border:1px dashed rgba(148,163,184,.6);border-radius:14px;background-color:#f8fafc99;padding:1rem}.qr-output.empty:before{content:"生成的二维码会显示在这里";color:#6b7280;font-size:.95rem}canvas{image-rendering:pixelated;border-radius:8px}.jwt-wrapper{width:100%;max-width:1180px;display:flex;flex-direction:column;gap:1.8rem;margin:0 auto;align-self:stretch}.jwt-header{display:flex;flex-direction:column;gap:.35rem}.jwt-header h1{margin:0;font-size:2rem;text-align:left}.jwt-header p{margin:0;color:#4b5563;font-size:.95rem;max-width:60ch}.jwt-columns{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.jwt-panel{padding:1.8rem;border-radius:20px;background:#ffffffe6;box-shadow:0 20px 45px #0f172a26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1.4rem;min-height:100%}.jwt-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.jwt-panel-header h2{margin:0;font-size:1.2rem;color:#1f2937}.jwt-panel-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.jwt-status{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.jwt-status.success{background:#10b9812e;color:#047857}.jwt-status.danger{background:#ef444429;color:#b91c1c}.jwt-status.warning{background:#f59e0b2e;color:#b45309}.jwt-status.info{background:#3b82f62e;color:#1d4ed8}.jwt-status.neutral{background:#94a3b82e;color:#475569}.jwt-textarea{min-height:220px;padding:1rem 1.1rem;border-radius:16px;border:1px solid rgba(148,163,184,.6);font-size:.95rem;line-height:1.55;background-color:#f8fafcc7;color:#111827;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.jwt-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.jwt-actions{display:flex;gap:.75rem;flex-wrap:wrap}.jwt-secret{display:grid;gap:.75rem}.jwt-secret-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.jwt-secret input{padding:.75rem 1rem;border:1px solid rgba(148,163,184,.6);border-radius:12px;font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.jwt-secret input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.jwt-secret-hint{font-size:.85rem;color:#6b7280}.jwt-message{margin:0;font-size:.85rem;color:#475569}.jwt-message.danger{color:#dc2626}.jwt-message.success{color:#059669}.jwt-message.info{color:#2563eb}.jwt-message.warning{color:#b45309}.jwt-result{display:grid;gap:1.2rem}.jwt-result-section{display:grid;gap:.6rem}.jwt-result-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.jwt-result-header h3{margin:0;font-size:1rem;color:#1f2937}.jwt-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:999px;background:#3b82f629;color:#1d4ed8;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.jwt-json{margin:0;padding:1rem 1.1rem;border-radius:14px;background:#f8fafcc7;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 1px #fff6;font-size:.9rem;line-height:1.55;color:#111827;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.jwt-signature{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.jwt-placeholder{padding:1rem 1.1rem;border-radius:14px;background:#ffffffeb;border:1px dashed rgba(148,163,184,.5);text-align:center;color:#6b7280;font-size:.9rem}@media (max-width: 1080px){.jwt-columns{grid-template-columns:minmax(0,1fr)}}.json-wrapper{width:100%;max-width:1180px;display:flex;flex-direction:column;gap:1.8rem;margin:0 auto;align-self:stretch}.json-header{display:flex;flex-direction:column;gap:.35rem}.json-header h1{margin:0;font-size:2rem;text-align:left}.json-header p{margin:0;color:#4b5563;font-size:.95rem;max-width:60ch}.json-columns{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.json-panel{padding:1.8rem;border-radius:20px;background:#ffffffe6;box-shadow:0 20px 45px #0f172a26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1.4rem;min-height:100%}.json-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.json-panel-header h2{margin:0;font-size:1.2rem;color:#1f2937}.json-panel-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.json-status{display:inline-flex;align-items:center;padding:.4rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.json-status.success{background:#10b9812e;color:#047857}.json-status.warning{background:#f59e0b2e;color:#b45309}.json-status.info{background:#3b82f62e;color:#1d4ed8}.json-status.danger{background:#ef444429;color:#b91c1c}.json-status.neutral{background:#94a3b82e;color:#475569}.json-actions{display:flex;gap:.75rem;flex-wrap:wrap}.json-message{margin:0;font-size:.85rem;color:#475569}.json-message.danger{color:#dc2626}.json-editor{position:relative;border-radius:16px;border:1px solid rgba(148,163,184,.45);background:#f8fafcd1;box-shadow:inset 0 1px #fff6;overflow:hidden}.json-editor .cm-editor{background:transparent!important;font-size:.95rem;line-height:1.6}.json-editor .cm-gutters{background:transparent;border-right:0}.json-editor .cm-scroller{min-height:240px;padding-top:.75rem;padding-bottom:.75rem}.json-editor--readonly .cm-editor{pointer-events:none}.json-editor--readonly .cm-content{caret-color:transparent}.json-editor--empty{display:flex;align-items:center;justify-content:center;min-height:260px}.json-placeholder{padding:1rem 1.1rem;width:100%;color:#6b7280;font-size:.9rem;text-align:center}@media (max-width: 1080px){.json-columns{grid-template-columns:minmax(0,1fr)}}
