.tools-page{--bg:var(--color-vsc-bg);--surface:var(--color-vsc-surface);--elevated:var(--color-vsc-elevated);--border:var(--color-vsc-border);--border-faint:rgb(60 60 60/0.4);--text:var(--color-vsc-text);--text-strong:#ffffff;--muted:var(--color-vsc-muted);--blue:var(--color-vsc-blue);--blue-hover:#4aa5ff;--blue-10:rgb(47 149 255/0.1);--blue-20:rgb(47 149 255/0.2);--blue-40:rgb(47 149 255/0.4);--teal:var(--color-vsc-accent);--teal-hover:#6ee8d2;--teal-10:rgb(73 221 195/0.1);--teal-20:rgb(73 221 195/0.2);--green:var(--color-vsc-highlight);--amber:#e5c07b;--red:#e06c75;--radius:0.375rem;--radius-sm:0.25rem;--focus-ring:0 0 0 3px rgb(47 149 255/0.2);--glow-blue:0 0 40px rgb(47 149 255/0.15),0 0 16px rgb(47 149 255/0.1);min-height:100vh;background:var(--bg);color:var(--text)}.tools-page *,.tools-page :after,.tools-page :before{box-sizing:border-box}.tools-page .page{max-width:1240px;margin:0 auto;padding:88px 32px 28px;display:flex;flex-direction:column;gap:18px;background:var(--bg)}.tools-page .page--with-sidebar{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start}.tools-page .page--with-sidebar .tool-main{display:flex;flex-direction:column;gap:18px;min-width:0}.tools-page .tool-sidebar{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto;scrollbar-width:none}.tools-page .tool-sidebar::-webkit-scrollbar{display:none}.tools-page .tool-sidebar__nav{display:flex;flex-direction:column;gap:6px}.tools-page .tool-sidebar__heading{margin:0 0 4px;padding:0 12px;font-family:var(--font-heading);font-size:.6875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.tools-page .tool-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tools-page .tool-sidebar__item{margin:0}.tools-page .tool-sidebar__link{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:var(--radius);font-size:.875rem;line-height:1.35;color:var(--muted);text-decoration:none;border:1px solid transparent;transition:color .15s,background .15s,border-color .15s}.tools-page .tool-sidebar__link:hover{color:var(--text-strong);background:rgb(255 255 255/.04);text-decoration:none}.tools-page .tool-sidebar__link.is-active{color:var(--teal);background:var(--teal-10);border-color:rgb(73 221 195/.25)}.tools-page .tool-sidebar__link.is-active .tool-sidebar__hint{color:rgb(110 232 210/.85)}.tools-page .tool-sidebar__label{font-weight:500}.tools-page .tool-sidebar__hint{font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.tools-page .tool-sidebar__divider{height:1px;margin:8px 12px;background:var(--border-faint)}.tools-page .tool-sidebar__back{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);font-size:.8125rem;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}.tools-page .tool-sidebar__back:hover{color:var(--text-strong);background:rgb(255 255 255/.04);text-decoration:none}.tools-page a{color:var(--blue);text-decoration:none}.tools-page a:hover{text-decoration:underline}.tools-page code,.tools-page kbd,.tools-page pre,.tools-page samp{font-family:var(--font-mono)}.tools-page pre{margin:0;white-space:pre-wrap;word-break:break-word}.tools-page ::selection{background:var(--teal-20);color:var(--text-strong)}.tools-page .crumbs{font-size:.8125rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.tools-page .crumbs a{color:var(--muted)}.tools-page .crumbs a:hover{color:var(--text)}.tools-page .crumbs .sep{color:var(--border);padding:0 8px}.tools-page .hero{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.tools-page .hero h1{margin:0;font-family:var(--font-heading);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:700;line-height:1;letter-spacing:-.01em;color:var(--text-strong)}.tools-page .gradient-text{display:inline-block;background:linear-gradient(95deg,var(--blue),var(--teal) 72%,var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}.tools-page .hero .lede{margin:0;max-width:720px;font-size:1rem;line-height:1.55;color:var(--muted)}.tools-page .workspace{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px}.tools-page .workspace--even{grid-template-columns:1fr 1fr}.tools-page .workspace--stacked{grid-template-columns:1fr;gap:22px}.tools-page .col{min-width:0;display:flex;flex-direction:column;gap:10px}.tools-page .panel{gap:10px}.tools-page .panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tools-page .panel__head-right{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.tools-page .panel-title{margin:0;font-family:var(--font-heading);font-size:.8125rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.tools-page .tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-faint)}.tools-page .tab{appearance:none;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 0;color:var(--muted);font-size:.875rem;letter-spacing:.02em;cursor:pointer;transition:color .15s}.tools-page .tab:hover{color:var(--text)}.tools-page .tab[aria-selected=true]{color:var(--teal);border-bottom-color:var(--teal)}.tools-page .metric-grid{display:grid;gap:14px 20px}.tools-page .metric-grid--2{grid-template-columns:1fr 1fr}.tools-page .metric-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.tools-page .metric-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.tools-page .metric{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--border-faint)}.tools-page .metric__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tools-page .field-label,.tools-page .metric__label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tools-page .metric__value{font-family:var(--font-heading);font-size:2.25rem;line-height:1.1;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tools-page .metric__value--sm{font-size:1.5rem}.tools-page .field-hint,.tools-page .metric__meta{font-size:.8125rem;color:var(--muted);line-height:1.55}.tools-page .field{display:flex;flex-direction:column;gap:6px;min-width:0}.tools-page button,.tools-page input,.tools-page select,.tools-page textarea{font:inherit}.tools-page input[type=email],.tools-page input[type=number],.tools-page input[type=search],.tools-page input[type=text],.tools-page select,.tools-page textarea{appearance:none;border:1px solid var(--border-faint);border-radius:var(--radius);background:var(--elevated);padding:10px 14px;font-size:.875rem;line-height:1.5;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.tools-page textarea{width:100%;min-height:160px;resize:vertical;padding:14px 16px;font-family:var(--font-mono);line-height:1.6}.tools-page textarea.textarea--sm{min-height:100px}.tools-page textarea.textarea--md{min-height:150px}.tools-page textarea.textarea--grow{min-height:0;flex:1 1 auto}.tools-page input::placeholder,.tools-page textarea::placeholder{color:var(--muted)}.tools-page input:focus,.tools-page select:focus,.tools-page textarea:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.tools-page select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tools-page select option{background:var(--elevated);color:var(--text)}.tools-page .check{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text);cursor:pointer}.tools-page .check input{accent-color:var(--blue)}.tools-page .btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;padding:8px 14px;font-size:.8125rem;font-weight:500;letter-spacing:.02em;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s,box-shadow .15s}.tools-page .btn:hover{color:var(--teal);border-color:var(--teal)}.tools-page .btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tools-page .btn[disabled]{opacity:.3;cursor:not-allowed}.tools-page .btn.is-copied{color:var(--green);border-color:var(--green)}.tools-page .btn-primary{color:#ffffff;font-weight:600;background:var(--blue);border-color:var(--blue)}.tools-page .btn-primary:hover{color:#ffffff;background:var(--blue-hover);border-color:var(--blue-hover);box-shadow:var(--glow-blue)}.tools-page .btn-sm{padding:6px 12px;font-size:.75rem}.tools-page .btn-ghost{color:var(--muted);background:transparent;border-color:transparent}.tools-page .btn-ghost:hover{color:var(--text);background:rgb(255 255 255/.04)}.tools-page .rows{display:flex;flex-direction:column}.tools-page .row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border-faint)}.tools-page .row:first-child{padding-top:0}.tools-page .row:last-child{border-bottom:0}.tools-page .row-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tools-page .row-value{min-width:0;min-height:1.1em;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;color:var(--text);word-break:break-all}.tools-page .row-value.is-empty{color:var(--muted);font-style:italic}.tools-page .row-value.is-error{color:var(--red);font-style:normal}.tools-page .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;padding:4px 10px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--muted)}.tools-page .chip--blue{color:var(--blue);border-color:var(--blue-40)}.tools-page .chip--teal{color:var(--teal);border-color:rgb(73 221 195/.4)}.tools-page .chip--green{color:var(--green);border-color:rgb(139 233 127/.4)}.tools-page .chip--amber{color:var(--amber);border-color:rgb(229 192 123/.5)}.tools-page .chip--red{color:var(--red);border-color:rgb(224 108 117/.5)}.tools-page .dropzone{min-height:70px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:var(--radius);padding:14px 18px;text-align:center;font-size:.8125rem;line-height:1.45;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.tools-page .dropzone--lg{min-height:120px;padding:24px;font-size:.875rem}.tools-page .dropzone:hover{color:var(--text)}.tools-page .dropzone.is-over{color:var(--text);background:var(--blue-10);border-color:var(--blue)}.tools-page .progress{width:100%;height:4px;overflow:hidden;background:var(--border);border-radius:var(--radius-sm)}.tools-page .progress__bar{height:100%;background:linear-gradient(95deg,var(--blue),var(--teal));transition:width .12s linear}.tools-page .howto{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;border-top:1px solid var(--border-faint);padding-top:12px;font-size:.8125rem;line-height:1.55;color:var(--muted)}.tools-page .howto h2{margin:0;font-family:var(--font-heading);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.tools-page .howto__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px}.tools-page .howto p{margin:0}.tools-page .howto code{font-size:.875em;color:var(--text)}.tools-page footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border-faint);padding-top:14px;font-size:.75rem;letter-spacing:.03em;color:var(--muted)}.tools-page .mono{font-family:var(--font-mono)}.tools-page .muted{color:var(--muted)}.tools-page .strong{color:var(--text-strong)}.tools-page .tabular{font-variant-numeric:tabular-nums}.tools-page .stack{display:flex;flex-direction:column;gap:8px}.tools-page .stack-sm{display:flex;flex-direction:column;gap:6px}.tools-page .stack-lg{display:flex;flex-direction:column;gap:14px}.tools-page .row-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tools-page .row-h-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.tools-page .grow{min-height:0;flex:1 1 auto}.tools-page .hidden{display:none!important}.tools-page .num-sm{width:88px;padding-left:10px;padding-right:10px}.tools-page .file-wrap,.tools-page .text-wrap{display:flex;flex-direction:column;gap:10px}.tools-page .tokens-block{display:flex;flex-direction:column;gap:6px;margin-top:2px;padding-top:10px;border-top:1px solid var(--border-faint)}.tools-page .tokens-viz{min-height:80px;max-height:140px;overflow:auto;padding-right:4px;font-family:var(--font-mono);font-size:.8125rem;line-height:1.7}.tools-page .tokens-viz span{border-radius:2px;padding:0 2px;cursor:help}.tools-page .tokens-viz span[data-bg="0"]{background:rgb(47 149 255/.12)}.tools-page .tokens-viz span[data-bg="1"]{background:rgb(73 221 195/.12)}.tools-page .tokens-viz span[data-bg="2"]{background:rgb(139 233 127/.12)}.tools-page .tokens-viz span[data-bg="3"]{background:rgb(229 192 123/.12)}.tools-page .tokens-viz span:hover{outline:1px solid var(--teal)}.tools-page .trim-suggestion{font-size:.8125rem;line-height:1.5;color:var(--muted)}.tools-page .trim-suggestion strong{color:var(--text);font-weight:600}.tools-page .filelist-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border-faint);padding:6px 0;font-size:.8125rem}.tools-page .filelist-row:first-child{border-top:0}.tools-page .filelist-row .name{color:var(--text);font-family:var(--font-mono);word-break:break-all}.tools-page .filelist-row .meta{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.tools-page .cron-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.tools-page .cron-grid .row-h{gap:10px}.tools-page .cron-mode{min-width:0;flex:1 1 auto}.tools-page .dow-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.tools-page .expression{padding:8px 0 6px;font-size:1.75rem;font-weight:500;letter-spacing:.03em;color:var(--text-strong);font-variant-numeric:tabular-nums}.tools-page .firings{display:flex;flex-direction:column;margin:8px 0 0;padding:0;list-style:none}.tools-page .firings li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-faint);padding:6px 0;font-size:.8125rem}.tools-page .firings li:last-child{border-bottom:0}.tools-page .firings li .rel{color:var(--muted)}.tools-page .url-output{min-height:8rem;margin:0;border:1px solid var(--border-faint);border-radius:var(--radius);background:var(--elevated);padding:16px 18px;font-size:.875rem;line-height:1.6;color:var(--text-strong)}.tools-page .url-output:empty:before{content:"(empty)";color:var(--muted);font-style:italic}.tools-page #jwt-input,.tools-page #pem-key{min-height:90px;font-size:.8125rem}.tools-page .jwt-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.tools-page .jwt-sections .jwt-section:nth-child(2){grid-column:1/-1}.tools-page .jwt-json{min-height:2em;max-height:140px;overflow:auto;margin:6px 0 0;border:1px solid var(--border-faint);border-radius:var(--radius);background:var(--elevated);padding:12px 14px;font-size:.8125rem;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-all}.tools-page .jwt-json.jwt-signature{max-height:60px}.tools-page .claim-row{display:grid;grid-template-columns:4.5rem 1fr;gap:10px;font-size:.8125rem;line-height:1.45;color:var(--muted)}.tools-page .claim-row .claim-name{color:var(--blue);font-family:var(--font-mono)}.tools-page .claim-row code{color:var(--text)}.tools-page #verify-status.is-valid{color:var(--green);border-color:rgb(139 233 127/.4)}.tools-page #verify-status.is-invalid{color:var(--red);border-color:rgb(224 108 117/.5)}.tools-page .tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.tools-page .tool-card{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border-faint);padding-top:12px}.tools-page .tool-card__name{margin:0;font-family:var(--font-heading);font-size:1.5rem;line-height:1;color:var(--text-strong)}.tools-page .tool-card__description{margin:0;max-width:48ch;font-size:.875rem;line-height:1.55;color:var(--muted)}.tools-page .tool-card__link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}@media (max-width:900px){.tools-page .page--with-sidebar{grid-template-columns:1fr;gap:18px}.tools-page .tool-sidebar{position:static;max-height:none;overflow:visible;margin-bottom:4px}.tools-page .tool-sidebar__heading{padding:0;margin-bottom:8px}.tools-page .tool-sidebar__list{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:2px 0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tools-page .tool-sidebar__list::-webkit-scrollbar{display:none}.tools-page .tool-sidebar__item{flex-shrink:0}.tools-page .tool-sidebar__link{flex-direction:row;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--border-faint);white-space:nowrap}.tools-page .tool-sidebar__link.is-active{border-color:rgb(73 221 195/.4)}.tools-page .tool-sidebar__divider,.tools-page .tool-sidebar__hint{display:none}.tools-page .tool-sidebar__back{padding:4px 0}.tools-page .workspace,.tools-page .workspace--even{grid-template-columns:1fr;gap:24px}.tools-page .howto{gap:12px}.tools-page .cron-grid,.tools-page .howto,.tools-page .jwt-sections,.tools-page .metric-grid--3,.tools-page .metric-grid--4,.tools-page .tools-grid{grid-template-columns:1fr}.tools-page .page{padding-left:20px;padding-right:20px}.tools-page .panel__head,.tools-page footer{flex-direction:column}.tools-page .panel__head-right{width:100%;justify-content:space-between;gap:12px}.tools-page .tabs{gap:18px}}