html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{color-scheme:light;--paper: #eee4d1;--paper-soft: #f5efe6;--ink: #2d2a24;--ink-soft: #665f50;--cyan: #55bdc1;--brass: #9a7640;background:var(--paper);color:var(--ink);font-family:Songti SC,STSong,"Noto Serif CJK SC",Georgia,serif}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);scroll-behavior:smooth}html.world-is-loading,html.world-is-loading body{overflow:hidden}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);letter-spacing:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:#55bdc147}#root,.page{min-height:100vh}.world-page{position:relative;overflow:hidden}.paper-world{--sw-bg: #eee4d1;--sw-ink: #2d2a24;--sw-ink-soft: #665f50;--sw-accent: #55bdc1;--sw-font-display: "Kaiti SC", "STKaiti", "KaiTi", "Songti SC", serif;--sw-font-body: "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif}.skip-link{position:fixed;z-index:1200;top:12px;left:12px;padding:8px 12px;border:1px solid var(--ink);background:var(--paper-soft);color:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;transition:opacity .36s ease,visibility .36s ease}.loader--done{opacity:0;visibility:hidden}.loader-frost{position:absolute;top:0;right:0;bottom:0;left:0;background:#eee4d1bd;-webkit-backdrop-filter:blur(30px) saturate(112%);backdrop-filter:blur(30px) saturate(112%)}.loader-core{position:relative;z-index:1;display:grid;width:min(340px,calc(100vw - 56px));justify-items:center;gap:16px}.loader-seal{width:72px;height:72px;border-radius:8px;filter:drop-shadow(0 12px 30px rgba(45,42,36,.16))}.loader-status{display:flex;width:100%;align-items:center;justify-content:space-between;color:#2d2a24b8;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.72rem}.loader-track{width:100%;height:3px;overflow:hidden;background:#2d2a241f}.loader-track span{display:block;width:100%;height:100%;transform-origin:left center;background:var(--cyan);transition:transform .12s linear}.loader-retry{border:0;border-bottom:1px solid currentColor;padding:2px 0 5px;color:var(--ink);background:transparent;cursor:pointer;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.76rem;font-weight:700}.sw-topbar{text-shadow:0 1px 0 rgba(245,239,230,.94),0 0 18px rgba(245,239,230,.82)}.sw-brand__mark{display:none}.sw-brand__name{font-family:Kaiti SC,STKaiti,KaiTi,serif;font-size:1.35rem;font-weight:400}.sw-nav{gap:24px;padding:0;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.sw-nav__item{position:relative;padding:8px 0;border-radius:0;background:transparent;color:var(--ink-soft);font-family:Songti SC,STSong,serif;font-size:.9rem;text-decoration:none}.sw-nav__item:after{position:absolute;right:0;bottom:2px;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .18s ease}.sw-nav__item:hover,.sw-nav__item.is-active{background:transparent;color:var(--ink)}.sw-nav__item:hover:after,.sw-nav__item.is-active:after{transform:scaleX(1);transform-origin:left}.sw-scrollbar{height:2px;background:#2d2a241f}.sw-copylayer:before{width:min(61vw,860px);opacity:var(--sw-copy-veil, 1);background:linear-gradient(90deg,rgba(238,228,209,.98) 0%,rgba(238,228,209,.76) 38%,rgba(238,228,209,.18) 72%,transparent 100%);transition:opacity .18s ease}.sw-copy{width:min(38vw,500px)}.sw-copy__num,.sw-copy__eyebrow,.sw-hint,.sw-route__label{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}.sw-copy__num{font-size:.68rem}.sw-copy__eyebrow{color:var(--sw-accent);font-size:.67rem}.sw-copy__title{max-width:8em;margin-top:12px;font-size:clamp(2.8rem,5.8vw,5rem);font-weight:400;line-height:1.08;letter-spacing:0}.sw-copy--long-title .sw-copy__title{max-width:9em;font-size:clamp(2.6rem,5vw,4.2rem)}.sw-copy__body{max-width:27em;color:var(--ink-soft);font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.8}.sw-copy__cta{margin-top:26px}.sw-btn,.sw-btn--primary,.sw-btn--ghost{border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 6px;background:transparent;color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.74rem;font-weight:700}.sw-btn:after{margin-left:10px;color:var(--brass);content:"↗"}.sw-btn:hover{color:var(--brass);transform:translateY(-2px)}.sw-route:before{width:1px;background:var(--ink);opacity:.18}.sw-route__dot i{width:7px;height:7px;background:color-mix(in srgb,var(--sw-accent) 45%,var(--paper))}.sw-route__dot.is-active i{box-shadow:0 0 0 4px color-mix(in srgb,var(--sw-accent) 20%,transparent)}.sw-route__label{border:0;border-radius:0;background:#f5efe6d1;font-size:.69rem}.sw-hint{font-size:.66rem}.sw-hint i{width:18px;height:30px;border-width:1px}.sw-scene__video,.sw-scene__still{object-position:center center}@media (max-width: 860px){.sw-brand__name{font-size:1.15rem}.sw-copylayer:before{width:100%;height:66%;background:linear-gradient(0deg,rgba(238,228,209,.98) 8%,rgba(238,228,209,.76) 44%,rgba(238,228,209,.08) 82%,transparent 100%)}.sw-copy{bottom:calc(clamp(72px,15dvh,128px) + env(safe-area-inset-bottom));width:auto;max-width:none}.sw-copy__title{max-width:9em;font-size:clamp(2.45rem,11vw,3.5rem)}.sw-copy--long-title .sw-copy__title{font-size:clamp(2.15rem,9vw,2.8rem)}.sw-copy__body{max-width:24em;font-size:.94rem}.sw-scene__video,.sw-scene__still{object-position:center 43%}}@media (max-height: 620px) and (orientation: landscape){.sw-copy{top:54%}.sw-copy__title{font-size:2.5rem}.sw-copy__body{margin-top:10px;font-size:.86rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.loader-track span{transition:none}}:root{--tool-ink: #14171a;--tool-ink-soft: #4d5459;--tool-soft: #7b8288;--tool-line: #ddd6c9;--tool-bg: #eee8dc;--tool-card: #f7f4ec;--tool-night: #14171a;--tool-night-2: #1c2023;--tool-night-line: rgba(255, 255, 255, .09);--tool-night-ink: #eee8dc;--tool-night-soft: #9aa0a3;--tool-jade: #6f8d80;--tool-jade-soft: rgba(111, 141, 128, .14);--tool-jade-strong: #55705f;--tool-copper: #b28c67;--tool-copper-soft: rgba(178, 140, 103, .16);--tool-status-ok: var(--tool-jade);--tool-status-caution: var(--tool-copper);--tool-status-danger: #a24b45;--tool-font: "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--tool-text-2xs: .6875rem;--tool-text-xs: .75rem;--tool-text-sm: .8125rem;--tool-text-base: .9375rem;--tool-text-md: 1.0625rem;--tool-text-lg: 1.375rem;--tool-text-xl: 1.75rem;--tool-text-2xl: 2.25rem;--tool-lh-tight: 1.15;--tool-lh-snug: 1.35;--tool-lh-normal: 1.6;--tool-weight-regular: 500;--tool-weight-medium: 650;--tool-weight-bold: 780}.tools-page,.calculator-page{min-height:100vh;color:var(--tool-ink);font-family:var(--tool-font)}.tools-page *,.calculator-page *{box-sizing:border-box}.tools-page a,.calculator-page a{color:inherit;text-decoration:none}.tools-page button,.tools-page input,.tools-page select,.calculator-page button,.calculator-page input,.calculator-page select{font:inherit}.tools-page button,.calculator-page button,.calculator-page select{cursor:pointer}.tools-page{background:var(--tool-bg);background-image:linear-gradient(90deg,rgba(20,23,26,.035) 1px,transparent 1px),linear-gradient(rgba(20,23,26,.028) 1px,transparent 1px);background-size:72px 72px}.tools-shell,.calculator-shell{width:min(1160px,calc(100vw - 48px));margin-inline:auto}.tools-topbar,.calculator-topbar{display:flex;align-items:center;justify-content:space-between;min-height:74px}.tools-wordmark{display:inline-flex;align-items:center;gap:9px;color:var(--tool-ink);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-bold);letter-spacing:-.04em}.tools-wordmark-dot{width:18px;height:18px;border:5px solid var(--tool-ink);border-radius:50%;box-shadow:6px 0 0 -3px var(--tool-jade)}.tools-back-link{color:var(--tool-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.tools-back-link:hover{color:var(--tool-jade-strong)}.tools-main{padding:38px 0 110px}.tools-intro{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.tools-intro h1{margin:0;color:var(--tool-ink);font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:clamp(2rem,5vw,3.1rem);font-weight:500;line-height:1.06;letter-spacing:.04em}.tools-search{display:grid;width:min(320px,100%);min-height:42px;flex:0 0 auto;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--tool-line);border-radius:4px;background:#fffefb;color:var(--tool-soft)}.tools-search:focus-within{border-color:var(--tool-jade)}.tools-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--tool-ink);font-size:var(--tool-text-sm)}.tools-search button{display:inline-flex;padding:0;border:0;background:transparent;color:var(--tool-soft)}.tools-empty{margin:0;color:var(--tool-soft);font-size:var(--tool-text-sm)}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-card{position:relative;display:block;width:100%;min-height:188px;overflow:hidden;padding:26px;border:1px solid var(--tool-night-2);border-radius:18px;color:var(--tool-night-ink);background:radial-gradient(circle at 78% 20%,var(--tool-jade-soft),transparent 32%),linear-gradient(145deg,var(--tool-night-2),var(--tool-night) 78%);box-shadow:0 24px 56px #14171a3d;transition:transform .2s ease,box-shadow .2s ease}.tool-card:hover{transform:translateY(-4px);box-shadow:0 30px 66px #14171a4d}.tool-card:after{position:absolute;right:-42px;bottom:-56px;width:220px;height:220px;border:1px solid rgba(238,232,220,.16);border-radius:50%;box-shadow:0 0 0 24px #eee8dc0d,0 0 0 53px #eee8dc08;content:""}.tool-card-icon{position:absolute;top:25px;right:25px;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--tool-night-line);border-radius:10px;background:#ffffff0f;color:var(--tool-jade)}.tool-card--copper .tool-card-icon,.tool-card--copper .tool-card-copy b{color:var(--tool-copper)}.tool-card-copy{position:absolute;bottom:25px;left:26px;z-index:1}.tool-card-copy h2{margin:0;color:var(--tool-night-ink);font-size:var(--tool-text-xl);letter-spacing:-.045em;text-shadow:0 2px 14px rgba(0,0,0,.32)}.tool-card-copy>span{display:block;margin-top:9px;color:var(--tool-night-soft);font-size:var(--tool-text-xs)}.tool-card-copy b{display:inline-flex;align-items:center;gap:3px;margin-left:6px;color:var(--tool-jade)}.calculator-page{background:var(--tool-bg)}.calculator-topbar{border-bottom:1px solid var(--tool-line)}.calculator-topbar a{display:inline-flex;align-items:center;gap:4px;color:var(--tool-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.calculator-topbar h1{margin:0;font-size:var(--tool-text-sm);letter-spacing:-.04em}.calculator-topbar button{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--tool-line);border-radius:8px;background:var(--tool-card);color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.calculator-topbar button:hover{border-color:var(--tool-jade);color:var(--tool-jade-strong)}.quick-presets{padding:28px 0 20px}.quick-presets h2{margin:0 0 11px;font-size:var(--tool-text-xs);color:var(--tool-soft);letter-spacing:.03em}.quick-presets>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.quick-preset{min-height:64px;padding:11px;border:1px solid var(--tool-line);border-radius:11px;background:var(--tool-card);text-align:left;transition:.18s}.quick-preset:hover{border-color:var(--tool-jade);background:var(--tool-jade-soft);transform:translateY(-2px)}.quick-preset b{display:block;color:var(--tool-ink);font-size:var(--tool-text-xs)}.quick-preset span{display:block;margin-top:4px;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.calculator-update{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;border:1px solid var(--tool-line);border-radius:10px;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.calculator-update>svg{flex-shrink:0}.calculator-update p{display:flex;flex:1;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:var(--tool-text-sm);line-height:1.6}.calculator-update p span{color:var(--tool-ink-soft)}.calculator-update time{font-size:var(--tool-text-xs);white-space:nowrap}.calculator-update button{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit}.calculator-update button:hover{background:var(--tool-jade-soft)}.calculator-update button:focus-visible{outline:2px solid var(--tool-jade-strong);outline-offset:2px}.calculator-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:16px;align-items:start}.result-stack{position:sticky;top:14px;display:grid;gap:12px}.config-card{position:relative;z-index:3;overflow:visible;border:1px solid var(--tool-line);border-radius:15px;background:var(--tool-card);box-shadow:0 12px 30px #222a430a}.config-section{padding:19px 21px;border-top:1px solid var(--tool-line)}.config-section:first-child{border-top:0}.config-section h2{margin:0 0 13px;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);letter-spacing:.08em}.compact-fields{display:grid;gap:9px}.compact-fields.two{grid-template-columns:1.6fr .4fr}.compact-fields.three{grid-template-columns:1.5fr 1fr 1fr}.compact-fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-field{display:grid;gap:6px;min-width:0;color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-medium)}.compact-field>span{white-space:nowrap}.compact-field select,.compact-field input{width:100%;min-width:0;height:39px;padding:0 10px;border:1px solid var(--tool-line);border-radius:8px;outline:none;background:var(--tool-card);color:var(--tool-ink);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-medium)}.compact-field select:focus,.compact-field input:focus{border-color:var(--tool-jade);box-shadow:0 0 0 3px var(--tool-jade-soft)}.compact-field select:disabled{cursor:not-allowed;opacity:.6}.searchable-select{position:relative;min-width:0}.searchable-select.is-open{z-index:20}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;height:39px;padding:0 10px;border:1px solid var(--tool-line);border-radius:8px;outline:none;background:var(--tool-card);color:var(--tool-ink);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-medium);text-align:left}.searchable-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger>svg{flex:0 0 auto;margin-left:9px;color:var(--tool-soft);transition:transform .18s ease}.searchable-select.is-open .searchable-select-trigger>svg{transform:rotate(180deg)}.searchable-select-trigger:focus{border-color:var(--tool-jade);box-shadow:0 0 0 3px var(--tool-jade-soft)}.searchable-select-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(460px,calc(100vw - 28px));min-width:100%;padding:8px;border:1px solid var(--tool-line);border-radius:10px;background:var(--tool-card);box-shadow:0 18px 42px #14171a29}.searchable-select.opens-upward .searchable-select-panel{top:auto;bottom:calc(100% + 6px)}.searchable-select-input{width:100%;height:34px;padding:0 9px;border:1px solid var(--tool-line);border-radius:7px;outline:none;background:var(--tool-bg);color:var(--tool-ink);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.searchable-select-input:focus{border-color:var(--tool-jade);box-shadow:0 0 0 3px var(--tool-jade-soft)}.searchable-select-results{max-block-size:calc(var(--search-panel-max-height) - 58px);margin-top:7px;overflow-y:auto;overscroll-behavior:contain}.searchable-select-group+.searchable-select-group{margin-top:8px}.searchable-select-group h3{margin:0 0 3px;padding:4px 6px;color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold);letter-spacing:.06em}.searchable-select-option{display:block;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium);line-height:1.35;text-align:left}.searchable-select-option:hover,.searchable-select-option:focus-visible{outline:0;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.searchable-select-option.is-selected{background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.searchable-select-empty{margin:0;padding:16px 8px;color:var(--tool-soft);font-size:var(--tool-text-xs);text-align:center}.custom-fields{margin-top:11px;padding:10px;border:1px dashed var(--tool-line);border-radius:9px;background:var(--tool-bg)}.config-inline-actions{display:flex;align-items:end;gap:12px;margin-top:14px}.config-inline-actions .compact-field{min-width:94px}.cpu-offload-note{margin:10px 0 0;color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.55}.compact-toggle{display:inline-flex;align-items:center;gap:8px;height:39px;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium);cursor:pointer}.compact-toggle input{position:absolute;opacity:0}.compact-toggle span{position:relative;display:block;width:31px;height:18px;border-radius:99px;background:var(--tool-line);transition:.2s}.compact-toggle span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--tool-card);box-shadow:0 1px 2px #14171a33;content:"";transition:.2s}.compact-toggle input:checked+span{background:var(--tool-jade)}.compact-toggle input:checked+span:after{transform:translate(13px)}.result-card{padding:18px;border:1px solid var(--tool-line);border-radius:15px;background:var(--tool-card);color:var(--tool-ink);box-shadow:0 18px 42px #14171a0f}.result-card-top{display:flex;justify-content:space-between;align-items:center}.result-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;background:var(--result-status-soft);color:var(--result-status-color);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold)}.result-status:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.result-status.is-ok{--result-status-soft: var(--tool-jade-soft);--result-status-color: var(--tool-jade-strong)}.result-status.is-caution{--result-status-soft: var(--tool-copper-soft);--result-status-color: var(--tool-copper)}.result-status.is-danger{--result-status-soft: rgba(162, 75, 69, .14);--result-status-color: var(--tool-status-danger)}.result-card-top button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--tool-jade-strong);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.result-main{display:flex;align-items:center;gap:17px;margin:16px 0}.result-dial{position:relative;display:grid;place-items:center;width:96px;height:96px;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--dial-color) calc(min(var(--dial),1)*1turn),var(--tool-line) 0);transform:rotate(-135deg)}.result-dial:after{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:inherit;background:var(--tool-card);content:""}.result-dial b{position:relative;z-index:1;color:var(--tool-ink);font-size:var(--tool-text-lg);letter-spacing:-.05em;transform:rotate(135deg)}.result-main strong{display:block;font-size:var(--tool-text-2xl);font-weight:var(--tool-weight-bold);letter-spacing:-.04em}.result-main strong small{color:var(--tool-soft);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-medium);letter-spacing:0}.result-main p{margin:5px 0 0;color:var(--tool-soft);font-size:var(--tool-text-xs);line-height:1.4}.result-tier-label{margin:0 0 8px;color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold);letter-spacing:.08em}.result-bar{display:flex;height:8px;overflow:hidden;border-radius:99px;background:var(--tool-line)}.result-bar i{display:block;min-width:0}.result-bar .weights{background:var(--tool-jade-strong)}.result-bar .kv{background:var(--tool-jade)}.result-bar .workspace{background:var(--tool-copper)}.result-bar .runtime{background:var(--tool-line)}.result-parts{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin:14px 0 0}.result-parts div{display:flex;justify-content:space-between;gap:8px;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.result-parts b{color:var(--tool-ink-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-medium)}.result-tier-divider{margin:18px 0;border:0;border-top:1px solid var(--tool-line)}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--tool-line);border-radius:9px}.result-metrics>div{min-width:0;padding:9px 8px;border-left:1px solid var(--tool-line)}.result-metrics>div:first-child{border-left:0}.result-metrics span{display:block;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.result-metrics b{display:inline-block;margin:4px 2px 0 0;color:var(--tool-ink-soft);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-medium);letter-spacing:-.03em}.result-metrics small{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.result-performance-note{margin:9px 1px 0;color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.5}.hardware-purchase{margin-top:16px;padding:15px 16px;border:1px solid var(--tool-line);border-radius:14px;background:var(--tool-card);box-shadow:0 10px 26px #14171a0a}.hardware-purchase-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:24px}.hardware-purchase-overview{min-width:0}.config-help{margin:12px 0 0;color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.6}.hardware-purchase-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.hardware-purchase-heading::-webkit-details-marker{display:none}.hardware-purchase-heading:focus-visible{outline:2px solid var(--tool-jade-strong);outline-offset:5px}.hardware-purchase-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--tool-soft);font-size:var(--tool-text-xs)}.hardware-purchase-collapse,.hardware-purchase-disclosure[open] .hardware-purchase-expand{display:none}.hardware-purchase-disclosure[open] .hardware-purchase-collapse{display:inline}.hardware-purchase-disclosure[open]>summary svg{transform:rotate(180deg)}.hardware-purchase-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.hardware-purchase-heading h2{margin:0;color:var(--tool-ink);font-size:var(--tool-text-sm);letter-spacing:-.02em}.hardware-purchase-meta p{margin:4px 0 0;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.hardware-purchase-date{padding:4px 6px;border-radius:99px;background:var(--tool-copper-soft);color:var(--tool-copper);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold);white-space:nowrap}.hardware-purchase-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:15px 0 11px}.hardware-purchase-main strong{color:var(--tool-ink);font-size:var(--tool-text-xl);font-weight:var(--tool-weight-bold);letter-spacing:-.045em}.hardware-purchase-main span{color:var(--tool-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.hardware-purchase-plan,.hardware-purchase-basis,.hardware-purchase-minimum,.hardware-purchase-warning,.hardware-purchase-note,.hardware-purchase-status{margin:10px 0 0;color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.55}.hardware-purchase-plan{margin-top:0;color:var(--tool-ink-soft);font-weight:var(--tool-weight-medium)}.hardware-purchase-basis{margin-top:4px;color:var(--tool-soft)}.hardware-purchase-minimum{color:var(--tool-jade-strong);font-weight:var(--tool-weight-medium)}.hardware-purchase-warning{color:var(--tool-status-danger);font-weight:var(--tool-weight-medium)}.hardware-purchase-status{padding:12px 0 0;color:var(--tool-ink);font-size:var(--tool-text-md);font-weight:var(--tool-weight-bold)}.hardware-purchase-lines{display:grid;gap:0;margin-top:12px;overflow:hidden;border:1px solid var(--tool-line);border-radius:9px}.hardware-purchase-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 9px;border-top:1px solid var(--tool-line)}.hardware-purchase-lines>div:first-child{border-top:0}.hardware-purchase-lines span{min-width:0;color:var(--tool-ink-soft);font-size:var(--tool-text-2xs)}.hardware-purchase-lines span small{margin-left:3px;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.hardware-purchase-lines b{flex:0 0 auto;color:var(--tool-ink);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium);letter-spacing:-.02em}.hardware-purchase-scope{display:grid;gap:4px;margin-top:10px}.hardware-purchase-scope span{color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.45}.hardware-purchase-sources{margin-top:10px;border-top:1px solid var(--tool-line)}.hardware-purchase-sources summary{display:flex;align-items:center;gap:5px;padding:9px 0 0;color:var(--tool-jade-strong);cursor:pointer;font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold)}.hardware-purchase-sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0 0;padding:0;list-style:none}.hardware-purchase-sources li{display:grid;gap:2px;padding:8px;border-radius:7px;background:var(--tool-bg)}.hardware-purchase-sources a{display:inline-flex;align-items:center;gap:3px;color:var(--tool-jade-strong);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold)}.hardware-purchase-sources b{color:var(--tool-ink-soft);font-size:var(--tool-text-2xs)}.hardware-purchase-sources span,.hardware-purchase-sources small{color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.45}.hardware-purchase-sources small{color:var(--tool-soft)}.experience-card{margin:16px 0 42px;padding:18px;border:1px solid var(--tool-night-2);border-radius:15px;background:var(--tool-night);color:var(--tool-night-ink)}.experience-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.experience-heading h2{margin:0;color:var(--tool-night-ink);font-size:var(--tool-text-md);letter-spacing:-.03em}.experience-heading span{min-height:15px;color:var(--tool-night-soft);font-size:var(--tool-text-xs)}.experience-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:15px 0}.experience-mode{display:flex;overflow:hidden;border:1px solid var(--tool-night-line);border-radius:8px}.experience-mode button{height:31px;padding:0 11px;border:0;border-left:1px solid var(--tool-night-line);background:transparent;color:var(--tool-night-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.experience-mode button:first-child{border-left:0}.experience-mode button.is-active{background:var(--tool-jade);color:var(--tool-night)}.experience-controls>label{display:flex;align-items:center;gap:5px;color:var(--tool-night-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.experience-controls input{width:66px;height:31px;padding:0 7px;border:1px solid var(--tool-night-line);border-radius:7px;outline:0;background:var(--tool-night-2);color:var(--tool-night-ink);font-size:var(--tool-text-xs)}.experience-controls input:focus{border-color:var(--tool-jade)}.experience-run{height:31px;margin-left:auto;padding:0 13px;border:0;border-radius:8px;background:var(--tool-jade);color:var(--tool-night);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.experience-run:hover{filter:brightness(1.08)}.experience-run:disabled{cursor:not-allowed;opacity:.5}.experience-terminal{overflow:hidden;border:1px solid var(--tool-night-line);border-radius:11px;background:var(--tool-night-2)}.experience-terminal-bar{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border-bottom:1px solid var(--tool-night-line);color:var(--tool-night-soft)}.experience-terminal-bar svg{color:var(--tool-night-soft)}.experience-terminal-bar b{margin-left:5px;color:var(--tool-night-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-xs)}.experience-terminal-bar small{margin-left:auto;color:var(--tool-night-soft);font-size:var(--tool-text-2xs)}.experience-messages{display:grid;gap:9px;min-height:216px;padding:14px;font-size:var(--tool-text-xs);line-height:1.6}.experience-messages article{max-width:min(680px,94%);margin:0;padding:9px 11px;border-radius:9px}:where(.experience-messages) article>span{display:block;margin-bottom:4px;color:var(--tool-night-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold);letter-spacing:.06em}.experience-messages p{margin:0;white-space:pre-wrap}.experience-user{justify-self:end;background:var(--tool-night-2)}.experience-user>span{color:var(--tool-copper)}.experience-assistant{background:var(--tool-night-2)}.experience-pending{background:var(--tool-jade-soft);color:var(--tool-night-soft)}.experience-tool-call{border:1px solid rgba(111,141,128,.3);background:#6f8d8024}.experience-tool-call>span{color:var(--tool-jade)}.experience-tool-call code{color:var(--tool-night-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-xs);white-space:pre-wrap}.experience-tool-result{border:1px solid rgba(178,140,103,.3);background:#b28c6724}.experience-tool-result>span{color:var(--tool-copper)}.experience-tool-result p{color:var(--tool-night-ink)}.experience-assistant i,.experience-tool-call i{display:inline-block;width:5px;height:12px;margin-left:2px;vertical-align:-2px;background:var(--tool-jade);animation:cursor-blink .8s steps(2,start) infinite}@keyframes cursor-blink{50%{opacity:0}}.calculator-faq{margin:0 0 32px}.faq-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.faq-heading h2{margin:0;color:var(--tool-ink);font-size:var(--tool-text-md);letter-spacing:-.03em}.faq-heading a{display:inline-flex;align-items:center;gap:4px;color:var(--tool-jade-strong);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold);white-space:nowrap}.faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.faq-card{border:1px solid var(--tool-line);border-radius:11px;background:var(--tool-card)}.faq-card summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px;color:var(--tool-ink-soft);cursor:pointer;font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold);list-style:none}.faq-card summary::-webkit-details-marker{display:none}.faq-card summary svg{flex:0 0 auto;color:var(--tool-jade-strong);transition:transform .18s ease}.faq-card[open]{border-color:var(--tool-jade);box-shadow:0 8px 22px #6f8d801a}.faq-card[open] summary svg{transform:rotate(180deg)}.faq-card p{margin:0;padding:0 12px 13px;color:var(--tool-soft);font-size:var(--tool-text-xs);line-height:1.65}.calculator-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:0 0 28px;color:var(--tool-soft);font-size:var(--tool-text-xs)}.calculator-footer-links{display:flex;flex-wrap:wrap;gap:12px}.calculator-footer a{display:inline-flex;align-items:center;gap:4px}.calculator-footer a:hover{color:var(--tool-jade-strong)}.calculator-toast{position:fixed;z-index:30;bottom:20px;left:50%;padding:9px 12px;border-radius:8px;background:var(--tool-night);color:var(--tool-night-ink);box-shadow:0 12px 28px #14171a3d;font-size:var(--tool-text-xs);opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:.2s}.calculator-toast.is-visible{opacity:1;transform:translate(-50%)}@media (max-width: 980px){.hardware-purchase-body,.hardware-purchase-sources ul{grid-template-columns:1fr;gap:12px}.quick-presets>div{grid-template-columns:repeat(3,1fr)}.calculator-grid{grid-template-columns:1fr}.result-stack{position:relative;top:auto}.experience-card{margin-bottom:28px}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.calculator-update{align-items:start;gap:8px}.calculator-update>svg{margin-top:4px}.calculator-update time{display:none}.tools-shell,.calculator-shell{width:min(100% - 28px,540px)}.tools-main{padding-top:40px}.tool-card{width:100%;min-height:205px}.calculator-topbar{min-height:60px}.calculator-topbar h1{font-size:var(--tool-text-xs)}.quick-presets{padding-top:20px}.quick-presets>div{grid-template-columns:repeat(2,1fr)}.quick-preset{min-height:56px}.compact-fields.two,.compact-fields.three,.compact-fields.four{grid-template-columns:1fr 1fr}.compact-fields.three .compact-field:first-child{grid-column:span 2}.config-inline-actions{align-items:center;flex-wrap:wrap}.config-inline-actions .compact-field{width:calc(50% - 6px)}.result-card{padding:15px}.experience-card{padding:14px}.experience-controls{align-items:stretch}.experience-mode{flex:1 0 auto}.experience-mode button{flex:1}.experience-controls>label{flex:1 0 calc(50% - 4px)}.experience-controls input{flex:1;width:auto}.experience-run{width:100%;margin-left:0}.experience-terminal-bar small{display:none}.experience-messages{min-height:250px}.faq-grid{grid-template-columns:1fr}.faq-heading{align-items:start}.calculator-footer{padding-bottom:20px}}@media (prefers-reduced-motion: reduce){.tool-card,.quick-preset,.calculator-toast,.searchable-select-trigger>svg,.faq-card summary svg{transition:none}.experience-assistant i,.experience-tool-call i{animation:none}}.tools-directory-page{padding:18px;background:#d9d5cc;background-image:none}.tools-directory-shell{display:grid;grid-template-columns:252px minmax(0,1fr);width:min(1540px,100%);min-height:calc(100vh - 36px);margin:0 auto;overflow:hidden;border:1px solid rgba(20,23,26,.16);border-radius:14px;background:#f4f1e9}.tools-directory-nav{position:relative;z-index:3;display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--tool-line);background:#eee9de}.directory-brand{display:flex;min-height:74px;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--tool-line)}.directory-brand>a{display:inline-flex;align-items:center;gap:10px;color:var(--tool-ink);font-size:var(--tool-text-base);letter-spacing:-.035em}.directory-brand>button,.directory-content-header>button,.directory-search button{display:none;padding:0;border:0;background:transparent;color:var(--tool-soft)}.tools-directory-nav nav{display:grid;gap:5px;padding:18px 12px}.tools-directory-nav nav>button,.directory-nav-group>button{display:grid;width:100%;min-height:42px;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--tool-ink-soft);font-size:var(--tool-text-sm);font-weight:var(--tool-weight-medium);text-align:left;transition:.2s cubic-bezier(.4,0,.2,1)}.tools-directory-nav nav button small{color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular)}.tools-directory-nav nav button:hover,.tools-directory-nav nav button.is-active{border-color:#55705f33;background:#6f8d8021;color:var(--tool-jade-strong)}.directory-nav-chevron{opacity:.5}.directory-nav-group>button.is-active .directory-nav-chevron{transform:rotate(90deg)}.directory-nav-children{display:grid;gap:2px;margin:4px 0 8px 29px;padding-left:12px;border-left:1px solid rgba(20,23,26,.12)}.directory-nav-children a{padding:7px 8px;color:var(--tool-soft);font-size:var(--tool-text-xs);line-height:1.35}.directory-nav-children a:hover{color:var(--tool-jade-strong)}.directory-nav-footer{display:grid;gap:10px;margin-top:auto;padding:18px 20px;border-top:1px solid var(--tool-line);color:var(--tool-soft);font-size:var(--tool-text-2xs);line-height:1.5}.directory-nav-footer a{display:inline-flex;align-items:center;gap:5px;color:var(--tool-ink-soft);font-weight:var(--tool-weight-medium)}.directory-nav-backdrop{display:none}.tools-directory-content{min-width:0;background:#f8f6f0}.directory-content-header{display:flex;min-height:74px;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--tool-line)}.directory-content-header strong{font-size:var(--tool-text-base);letter-spacing:-.025em}.directory-content-header a{color:var(--tool-soft);font-size:var(--tool-text-xs)}.directory-main{width:min(980px,calc(100% - 52px));margin:0 auto;padding:46px 0 80px}.directory-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:end;gap:32px;padding-bottom:28px}.directory-hero h1{margin:0;color:var(--tool-ink);font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:clamp(2rem,4vw,3.1rem);font-weight:500;line-height:1.05;letter-spacing:.04em}.directory-search{display:grid;min-height:44px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 14px;border:1px solid rgba(20,23,26,.18);border-radius:4px;background:#fffefb;color:var(--tool-soft)}.directory-search:focus-within{border-color:var(--tool-jade)}.directory-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--tool-ink);font-size:var(--tool-text-sm)}.directory-search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.directory-search button{display:inline-flex}.directory-section{padding-top:8px}.directory-all-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.directory-all-grid.is-featured{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-tool-card{position:relative;display:grid;min-width:0;min-height:132px;grid-template-columns:40px minmax(0,1fr);align-content:start;gap:16px 12px;padding:18px;border:1px solid var(--tool-line);border-radius:7px;background:#fdfbf5;transition:.25s cubic-bezier(.4,0,.2,1)}.directory-tool-card:hover{border-color:#55705f85;background:#fff;transform:translateY(-2px)}.directory-tool-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid rgba(85,112,95,.22);border-radius:6px;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.directory-tool-copy{display:grid;min-width:0;align-content:start}.directory-tool-copy strong{color:var(--tool-ink);font-size:var(--tool-text-base);letter-spacing:-.025em}.directory-tool-copy em{margin-top:8px;color:var(--tool-soft);font-size:var(--tool-text-xs);font-style:normal;line-height:1.5}.directory-tool-arrow{position:absolute;right:16px;bottom:16px;color:var(--tool-soft);transition:transform .2s ease}.directory-tool-card:hover .directory-tool-arrow{color:var(--tool-jade-strong);transform:translate(3px)}.directory-empty{margin:0;color:var(--tool-soft);font-size:var(--tool-text-sm)}@media (max-width: 1180px){.directory-all-grid,.directory-all-grid.is-featured{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.tools-directory-page{padding:0}.tools-directory-shell{display:block;min-height:100vh;border:0;border-radius:0}.tools-directory-nav{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);transform:translate(-104%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.tools-directory-nav.is-open{transform:translate(0)}.directory-brand>button,.directory-content-header>button{display:inline-flex}.directory-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;display:block;border:0;background:#14171a57}.directory-content-header{display:grid;min-height:62px;grid-template-columns:36px 1fr auto;padding:0 18px}.directory-main{width:min(100% - 32px,680px);padding-top:32px}.directory-hero{grid-template-columns:1fr;gap:20px}}@media (max-width: 580px){.directory-main{width:min(100% - 24px,520px)}.directory-all-grid,.directory-all-grid.is-featured{grid-template-columns:1fr}.directory-tool-card{min-height:112px}}.code-generator-main{padding-top:28px}.code-generator-card{overflow:hidden}.code-generator-tabs{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--tool-line)}.code-generator-qr-settings{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.code-generator-qr-settings select{min-height:34px;padding:0 28px 0 10px;border:1px solid var(--tool-line);border-radius:5px;outline:0;background:#fffefb;color:var(--tool-ink-soft);font-size:var(--tool-text-xs)}.code-generator-qr-settings select:focus-visible{border-color:var(--tool-jade);box-shadow:0 0 0 2px var(--tool-jade-soft)}.code-generator-tabs button,.code-generator-actions button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid var(--tool-line);border-radius:5px;background:#fffefb;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.code-generator-tabs button.is-active{border-color:var(--tool-jade);background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.code-generator-grid{display:grid;min-height:460px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.code-generator-input{border-right:1px solid var(--tool-line)}.code-generator-input>textarea{min-height:420px;resize:none;border:0;outline:0;background:#fffefb;color:var(--tool-ink);font-family:SFMono-Regular,Consolas,monospace;line-height:var(--tool-lh-normal)}.code-generator-input>textarea:focus-visible{box-shadow:inset 0 0 0 2px var(--tool-jade)}.code-generator-wifi-form{display:grid;align-content:start;gap:16px;padding:0 18px 22px;background:#fffefb}.code-generator-field-heading{display:flex;min-height:38px;align-items:center;justify-content:space-between;margin:0 -18px;padding:0 12px;border-bottom:1px solid var(--tool-line);color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.code-generator-field-heading small,.code-generator-wifi-form>p{color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular)}.code-generator-wifi-form>p{margin:0}.code-generator-wifi-form>label{display:grid;gap:7px;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.code-generator-wifi-form>label input,.code-generator-wifi-form>label select{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--tool-line);border-radius:5px;outline:0;background:#fff;color:var(--tool-ink)}.code-generator-wifi-form>label input:focus-visible,.code-generator-wifi-form>label select:focus-visible{border-color:var(--tool-jade);box-shadow:0 0 0 2px var(--tool-jade-soft)}.code-generator-wifi-options{display:flex;flex-wrap:wrap;gap:16px}.code-generator-wifi-options label{display:inline-flex;align-items:center;gap:6px;color:var(--tool-ink-soft);font-size:var(--tool-text-xs)}.code-generator-result{display:grid;min-width:0;grid-template-rows:minmax(0,1fr) auto;background:#ffffff47}.code-generator-preview{display:flex;min-height:360px;align-items:center;justify-content:center;overflow:auto;padding:30px}.code-generator-preview img{display:block;max-width:100%;max-height:340px}.code-generator-preview--code128 img{width:auto;min-width:min(100%,420px)}.code-generator-actions{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--tool-line);background:#fffefb}.code-generator-actions span{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.code-generator-actions span.is-error{color:var(--tool-status-danger)}.code-generator-downloads{display:flex;flex:0 0 auto;gap:5px}.code-generator-actions button:hover{border-color:var(--tool-jade);color:var(--tool-jade-strong)}.code-generator-result>.simple-error-state{align-self:start;margin:0}@media (max-width: 820px){.code-generator-tabs{flex-wrap:wrap}.code-generator-qr-settings{width:100%;justify-content:space-between;margin:6px 0 0}.code-generator-grid{grid-template-columns:1fr}.code-generator-input{border-right:0;border-bottom:1px solid var(--tool-line)}.code-generator-input>textarea{min-height:180px}.code-generator-preview{min-height:320px}.code-generator-actions{align-items:flex-start;flex-direction:column}.code-generator-downloads{width:100%}.code-generator-downloads button{flex:1}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.simple-tool-main{width:min(1040px,calc(100vw - 48px))}.simple-tool-main--wide{width:min(1280px,calc(100vw - 48px))}.simple-empty-state{display:flex;min-height:180px;align-items:center;justify-content:center;color:var(--tool-soft);font-size:var(--tool-text-sm)}.simple-panel-heading button,.simple-panel-heading a,.diff-result-heading button,.text-stats-editor button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid var(--tool-line);border-radius:5px;background:#fffefb;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-style:normal;font-weight:var(--tool-weight-medium)}.simple-panel-heading button:hover,.simple-panel-heading a:hover,.diff-result-heading button:hover,.text-stats-editor button:hover{border-color:var(--tool-jade);color:var(--tool-jade-strong)}.file-tool-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr);min-height:480px}.base64-mode-switch,.base64-direction-switch,.base64-text-actions{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--tool-line);background:#ffffff38}.base64-mode-switch>div,.base64-direction-switch>div,.base64-text-actions>div{display:flex;gap:5px;flex-wrap:wrap}.base64-mode-switch button,.base64-direction-switch button,.base64-text-actions button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid var(--tool-line);border-radius:6px;background:#fffefb;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.base64-mode-switch button:hover,.base64-direction-switch button:hover,.base64-text-actions button:hover,.base64-mode-switch button.is-active,.base64-direction-switch button.is-active{border-color:var(--tool-jade);color:var(--tool-jade-strong)}.base64-mode-switch button.is-active,.base64-direction-switch button.is-active{background:var(--tool-jade-soft)}.base64-mode-switch>span,.base64-direction-switch>span{color:var(--tool-soft);font-size:var(--tool-text-2xs);text-align:right}.base64-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tool-line)}.base64-text-grid .string-editor-pane textarea{min-height:340px;padding:16px}.base64-text-actions{min-height:56px;border-top:1px solid var(--tool-line);border-bottom:0}.base64-text-actions button:disabled{cursor:not-allowed;opacity:.42}.file-drop-zone{display:flex;min-height:320px;align-items:center;justify-content:center;flex-direction:column;gap:9px;margin:16px;border:1px dashed rgba(85,112,95,.44);border-radius:7px;background:#6f8d8012;color:var(--tool-jade-strong)}.file-drop-zone.is-dragging,.file-drop-zone:hover{border-style:solid;background:var(--tool-jade-soft)}.file-drop-zone strong{color:var(--tool-ink);font-size:var(--tool-text-sm)}.file-drop-zone span{color:var(--tool-soft);font-size:var(--tool-text-xs)}.file-result-pane{min-width:0;border-left:1px solid var(--tool-line);background:#fffefb}.file-result-pane>.simple-empty-state{height:100%;border:0}.simple-panel-heading,.diff-result-heading{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--tool-line)}.simple-panel-heading>div:first-child{display:grid;min-width:0;gap:3px}.simple-panel-heading>div:first-child strong{overflow:hidden;color:var(--tool-ink);font-size:var(--tool-text-sm);text-overflow:ellipsis;white-space:nowrap}.simple-panel-heading>div:first-child span{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.simple-panel-heading>div:last-child{display:flex;flex:0 0 auto;gap:4px}.file-image-preview{display:flex;height:170px;align-items:center;justify-content:center;padding:12px;border-bottom:1px solid var(--tool-line);background-image:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.file-image-preview img{max-width:100%;max-height:100%;object-fit:contain}.file-base64-output{min-height:250px;padding:14px;resize:none}.file-tool-grid>.workbench-notice{grid-column:1 / -1}.simple-preset-row{display:flex;gap:6px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--tool-line)}.simple-preset-row button{min-height:30px;padding:0 9px;border:1px solid var(--tool-line);border-radius:999px;background:#fffefb;color:var(--tool-ink-soft);font-size:var(--tool-text-xs)}.simple-preset-row button:hover{border-color:var(--tool-jade);color:var(--tool-jade-strong)}.cron-input-label,.simple-textarea-label{display:block;background:#fffefb}.cron-input-label>span,.simple-textarea-label>span{display:flex;min-height:38px;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--tool-line);color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.cron-input-label input{width:100%;padding:24px 18px;border:0;outline:0;background:#fffefb;color:var(--tool-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(1.35rem,4vw,2.3rem);text-align:center;letter-spacing:.06em}.cron-input-label input[aria-invalid=true]{color:var(--tool-status-danger)}.cron-result{padding:16px;border-top:1px solid var(--tool-line)}.cron-description{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px;border:1px solid rgba(85,112,95,.24);border-radius:6px;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.cron-description strong{color:var(--tool-ink);font-size:var(--tool-text-md);font-weight:600}.cron-description button{display:inline-flex;gap:5px;align-items:center;padding:7px 9px;border:0;background:transparent;color:var(--tool-jade-strong);font-size:var(--tool-text-xs)}.cron-field-grid,.cron-format-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.cron-field-grid{margin-top:10px}.cron-field-grid>div{display:grid;gap:5px;padding:12px;border:1px solid var(--tool-line);text-align:center}.cron-field-grid code,.cron-format-guide code{color:var(--tool-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-base)}.cron-field-grid span,.cron-format-guide span{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.cron-format-guide{padding:14px 18px;border-top:1px solid var(--tool-line);background:#ffffff3d;text-align:center}.simple-error-state,.jwt-warning{display:flex;align-items:center;gap:9px;padding:12px 14px;border-top:1px solid rgba(162,75,69,.2);border-bottom:1px solid rgba(162,75,69,.2);background:#a24b4512;color:var(--tool-status-danger);font-size:var(--tool-text-xs)}.device-info-list{margin:0}.device-info-list>div{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:48px;border-bottom:1px solid var(--tool-line)}.device-info-list dt,.device-info-list dd{display:flex;min-width:0;align-items:center;margin:0;padding:10px 14px}.device-info-list dt{background:#ffffff47;color:var(--tool-soft);font-size:var(--tool-text-xs)}.device-info-list dd{border-left:1px solid var(--tool-line);color:var(--tool-ink-soft);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-xs);overflow-wrap:anywhere}.simple-textarea-label>textarea{width:100%;min-height:130px;padding:14px;resize:vertical}.jwt-warning{margin:0;border-color:#b28c6747;background:var(--tool-copper-soft);color:#8a6849}.jwt-claim-row{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--tool-line)}.jwt-claim-row span{display:inline-flex;gap:6px;padding:5px 7px;border:1px solid var(--tool-line);color:var(--tool-soft);font-size:var(--tool-text-2xs)}.jwt-claim-row code{color:var(--tool-jade-strong)}.jwt-output-grid,.diff-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tool-line)}.simple-code-panel{min-width:0;background:#fffefb}.simple-code-panel pre{min-height:280px;margin:0;overflow:auto;padding:14px;color:var(--tool-ink-soft);font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-xs);line-height:1.65}.text-stat-grid{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--tool-line);background:#fffefb}.text-stat-grid>div{display:grid;gap:5px;padding:16px 12px;border-right:1px solid var(--tool-line)}.text-stat-grid>div:last-child{border-right:0}.text-stat-grid span{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.text-stat-grid strong{color:var(--tool-ink);font-family:Georgia,serif;font-size:var(--tool-text-lg)}.text-stats-editor>span b,.text-stats-editor>span i{display:inline-flex;align-items:center;gap:5px}.text-stats-editor>span i{gap:4px}.text-stats-editor>textarea{min-height:390px;resize:none}.diff-editor-grid .simple-textarea-label textarea{min-height:260px;resize:vertical}.simple-textarea-label small{color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular)}.diff-result-heading{justify-content:flex-start;min-height:44px}.diff-result-heading>div{display:inline-flex;align-items:center;gap:7px;margin-right:4px}.diff-result-heading span.is-added,.diff-result-heading span.is-removed{padding:3px 6px;border-radius:999px;font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-2xs)}.diff-result-heading span.is-added{background:#4c89621f;color:#3e7652}.diff-result-heading span.is-removed{background:#a24b451a;color:var(--tool-status-danger)}.diff-result-heading em{color:var(--tool-copper);font-size:var(--tool-text-2xs);font-style:normal}.diff-result-heading button{margin-left:auto}.diff-output{max-height:480px;overflow:auto;background:#fffefb;font-family:SFMono-Regular,Consolas,monospace;font-size:var(--tool-text-xs);line-height:1.6}.diff-output>div{display:grid;min-height:26px;grid-template-columns:46px 24px minmax(0,1fr);align-items:stretch}.diff-output>div>span,.diff-output>div>b{padding:3px 7px;color:var(--tool-soft);font-weight:var(--tool-weight-regular);text-align:right;-webkit-user-select:none;user-select:none}.diff-output>div>b{padding-inline:4px;text-align:center}.diff-output>div>code{padding:3px 9px;overflow-wrap:anywhere;white-space:pre-wrap}.diff-output>div.is-added{background:#4c89621c;color:#315f41}.diff-output>div.is-removed{background:#a24b4514;color:#84403b}.diff-output>.simple-empty-state{display:flex}@media (max-width: 1180px){.text-stat-grid{grid-template-columns:repeat(4,1fr)}.text-stat-grid>div{border-bottom:1px solid var(--tool-line)}}@media (max-width: 820px){.file-tool-grid,.base64-text-grid,.jwt-output-grid,.diff-editor-grid{grid-template-columns:1fr}.file-result-pane{min-height:360px;border-top:1px solid var(--tool-line);border-left:0}.file-tool-grid>.workbench-notice{grid-column:1}.text-stat-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 580px){.simple-tool-main,.simple-tool-main--wide{width:min(100% - 24px,540px)}.simple-panel-heading{align-items:start;flex-direction:column}.base64-mode-switch,.base64-direction-switch,.base64-text-actions{align-items:stretch;flex-direction:column}.base64-mode-switch>div,.base64-direction-switch>div,.base64-text-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.base64-mode-switch>span,.base64-direction-switch>span{text-align:left}.cron-description{grid-template-columns:1fr}.cron-description button{justify-self:start}.cron-field-grid>div{padding:8px 3px}.device-info-list>div{grid-template-columns:1fr}.device-info-list dd{border-top:1px solid var(--tool-line);border-left:0}.text-stat-grid{grid-template-columns:repeat(2,1fr)}.diff-result-heading{flex-wrap:wrap}.diff-result-heading button{width:100%;margin-left:0}}.workbench-page{background:linear-gradient(90deg,rgba(20,23,26,.022) 1px,transparent 1px),var(--tool-bg);background-size:72px 72px}.workbench-page textarea,.workbench-page button{font:inherit}.workbench-page button:focus-visible,.workbench-page textarea:focus-visible,.string-options input:focus-visible+i{outline:2px solid var(--tool-jade);outline-offset:2px}.workbench-main{padding:20px 0 48px}.workbench-card{overflow:hidden;border:1px solid var(--tool-line);border-radius:12px;background:var(--tool-card);box-shadow:0 1px #14171a0d,0 18px 42px #14171a0b}.json-tool-page{height:100dvh;overflow:hidden;background:#f5f5f5}.json-tool-page .calculator-shell{width:100%;max-width:none;padding-inline:12px}.json-tool-page .calculator-topbar{min-height:56px;background:#fff}.json-workbench-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:8px;height:calc(100dvh - 56px);min-height:0;padding:8px 12px 12px}.json-workbench-content{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.json-workbench-content.has-output{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:8px;overflow:hidden}.json-workbench-content:fullscreen{width:100vw;height:100vh;padding:8px;background:#f5f5f5}.json-tool-page .workbench-card{border-color:#00000014;border-radius:6px;background:#fff;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.json-editor-card{display:flex;min-height:100%;flex-direction:column}.json-workbench-content.has-output .json-editor-card{height:100%}.json-workbench-content.has-output .workbench-toolbar-title small,.json-workbench-content.has-output .workbench-action kbd{display:none}.json-workbench-content.has-output .json-workbench-toolbar .workbench-quiet-actions button{width:30px;padding:0;font-size:0;gap:0}.workbench-toolbar,.table-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:10px 12px;border-bottom:1px solid var(--tool-line);background:#ffffff42}.workbench-toolbar-title,.workbench-toolbar-title>span,.workbench-quiet-actions,.workbench-quiet-actions button,.string-secondary-actions,.string-secondary-actions button,.table-preview-heading button{display:inline-flex;align-items:center}.workbench-toolbar-title{gap:7px;min-width:0;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.workbench-toolbar-title>svg{color:var(--tool-jade-strong)}.workbench-toolbar-title small{margin-left:5px;color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular)}.json-workbench-toolbar{min-height:44px;gap:8px;padding:6px 8px;background:#fafafa}.json-workbench-toolbar .workbench-toolbar-title{flex:0 0 auto}.json-workbench-toolbar .workbench-actions{display:flex;min-width:0;flex:0 1 auto;flex-wrap:nowrap;gap:4px;padding:0;border:0;background:transparent}.json-workbench-toolbar .workbench-action{min-height:30px;padding:0 8px;border-radius:4px;white-space:nowrap;transition:border-color .12s cubic-bezier(.25,.1,.25,1),background-color .12s cubic-bezier(.25,.1,.25,1),color .12s cubic-bezier(.25,.1,.25,1)}.json-workbench-toolbar .workbench-action:hover{transform:none}.json-workbench-toolbar .workbench-quiet-actions{margin-left:auto;flex:0 0 auto;flex-wrap:nowrap}.json-file-input{display:none}.json-transform-menu{position:relative;flex:0 0 auto}.json-transform-menu>summary{list-style:none;cursor:pointer}.json-transform-menu>summary::-webkit-details-marker{display:none}.json-transform-menu[open]>summary{border-color:#6f8d8085;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.json-transform-menu[open]>summary svg:last-child{transform:rotate(180deg)}.json-transform-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:360px;max-height:min(620px,calc(100vh - 120px));overflow:auto;padding:6px;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:#fff;box-shadow:0 4px 16px #0000001a,0 2px 4px #0000000f}.json-transform-popover strong{grid-column:1 / -1;padding:6px 8px 4px;color:var(--tool-soft);font-size:var(--tool-text-2xs);letter-spacing:.04em}.json-transform-popover button{min-height:32px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);text-align:left}.json-transform-popover button:hover{background:#f5f5f5;color:var(--tool-ink)}.workbench-quiet-actions,.string-secondary-actions{gap:4px;flex-wrap:wrap}.workbench-quiet-actions button,.string-secondary-actions button,.table-preview-heading button{justify-content:center;gap:5px;min-height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--tool-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.workbench-quiet-actions button:hover,.string-secondary-actions button:hover,.table-preview-heading button:hover{background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.workbench-quiet-actions button:disabled{cursor:not-allowed;opacity:.42}.workbench-page .workbench-textarea{display:block;width:100%;resize:vertical;border:0;outline:0;background:#fbfaf6;color:var(--tool-ink);font-family:SFMono-Regular,Consolas,Liberation Mono,Noto Sans Mono CJK SC,monospace;font-size:.82rem;font-weight:500;line-height:1.72;-moz-tab-size:2;tab-size:2}.workbench-textarea:focus{background:#fffefb;box-shadow:inset 0 0 0 2px #6f8d8047}.json-editor-shell{position:relative;display:flex;min-height:0;min-width:0;flex:1;background:#fbfaf6}.json-tool-page .json-editor-shell,.json-tool-page .workbench-textarea{background:#fff}.json-line-numbers{position:absolute;inset:0 auto 0 0;z-index:1;width:54px;margin:0;padding:16px 10px 16px 0;overflow:hidden;border-right:1px solid var(--tool-line);background:#eee8dc6b;color:#a39b8f;font-family:SFMono-Regular,Consolas,Liberation Mono,Noto Sans Mono CJK SC,monospace;font-size:.82rem;font-weight:500;line-height:1.72;text-align:right;pointer-events:none;-webkit-user-select:none;user-select:none}.json-tool-page .json-line-numbers{border-color:#00000014;background:#fafafa}.json-textarea{height:auto;min-height:0;flex:1;padding:16px 20px 16px 72px;resize:none}.json-editor-shell.is-line-numbers-hidden .json-textarea{padding-left:20px}.json-editor-statusbar{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 4px 12px;border-top:1px solid rgba(0,0,0,.08);background:#fafafa}.json-status-message{min-width:0;overflow:hidden;color:var(--tool-soft);font-size:var(--tool-text-2xs);text-overflow:ellipsis;white-space:nowrap}.json-status-message.is-success{color:var(--tool-jade-strong)}.json-status-message.is-error{color:var(--tool-status-danger)}.json-editor-preferences,.json-editor-preferences label{display:inline-flex;align-items:center}.json-editor-preferences{flex:0 0 auto;gap:4px}.json-editor-preferences label{gap:4px;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.json-editor-preferences button,.json-editor-preferences select{min-height:26px;padding:0 6px;border:1px solid rgba(0,0,0,.08);border-radius:4px;background:#fff;color:var(--tool-ink-soft);font-size:var(--tool-text-2xs)}.json-editor-preferences button[aria-pressed=true]{border-color:#6f8d806b;background:var(--tool-jade-soft);color:var(--tool-jade-strong)}.workbench-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--tool-line);background:var(--tool-card)}.workbench-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--tool-line);border-radius:7px;background:#fbfaf6;color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}.workbench-action:hover{border-color:#6f8d8085;background:var(--tool-jade-soft);color:var(--tool-jade-strong);transform:translateY(-1px)}.workbench-action.is-primary{border-color:var(--tool-jade-strong);background:var(--tool-jade-strong);color:#f8f5ed}.workbench-action.is-primary:hover{background:#496252;color:#fff}.workbench-action:disabled{cursor:wait;opacity:.5}.table-preview-heading button:disabled{cursor:not-allowed;opacity:.5}.workbench-action kbd{padding-left:5px;border-left:1px solid currentColor;color:inherit;font:inherit;font-size:.62rem;opacity:.55}.workbench-notice{min-height:37px;margin:0;padding:9px 13px;border-top:1px solid var(--tool-line);background:#ffffff2e;color:var(--tool-soft);font-size:var(--tool-text-xs);line-height:1.5}.workbench-notice.is-success{color:var(--tool-jade-strong)}.workbench-notice.is-error{background:#a24b450f;color:var(--tool-status-danger)}.table-preview-card{margin-top:8px}.json-output-card{display:flex;min-width:0;min-height:0;flex-direction:column}.json-output-heading{min-height:44px;flex:0 0 auto;gap:8px;padding:6px 8px 6px 10px;background:#fafafa}.json-output-heading h3{min-width:0;overflow:hidden;font-size:var(--tool-text-sm);text-overflow:ellipsis;white-space:nowrap}.json-output-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px}.json-output-code{min-width:0;min-height:0;flex:1;margin:0;overflow:auto;padding:14px;background:#fff;color:var(--tool-ink);font-family:SFMono-Regular,Consolas,Liberation Mono,Noto Sans Mono CJK SC,monospace;font-size:var(--tool-text-xs);font-weight:500;line-height:1.62;-moz-tab-size:2;tab-size:2}.table-preview-heading{min-height:52px}.table-preview-heading h3{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--tool-ink);font-size:var(--tool-text-md);letter-spacing:-.03em}.table-preview-heading h3 small{color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular);letter-spacing:0}.json-history-card{display:flex;min-height:0;flex-direction:column;margin:0}.json-history-heading{min-height:44px;flex:0 0 auto;gap:8px;padding:6px 8px;background:#fafafa}.json-history-heading h3{min-width:0;gap:6px;font-size:var(--tool-text-sm);white-space:nowrap}.json-history-heading h3 svg{flex:0 0 auto;color:var(--tool-jade-strong)}.json-history-heading .json-history-clear{min-height:28px;flex:0 0 auto;padding:0 6px;font-size:var(--tool-text-2xs)}.json-history-list{min-height:0;flex:1;overflow:auto;background:#fff;overscroll-behavior:contain}.json-history-item{display:grid;width:100%;gap:5px;min-width:0;padding:10px;border:0;border-bottom:1px solid rgba(0,0,0,.08);background:#fff;color:var(--tool-ink-soft);text-align:left;transition:background-color .12s cubic-bezier(.25,.1,.25,1),box-shadow .12s cubic-bezier(.25,.1,.25,1)}.json-history-item:hover{background:#f5f5f5}.json-history-item.is-active{background:var(--tool-jade-soft);box-shadow:inset 3px 0 0 var(--tool-jade-strong)}.json-history-item>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.json-history-item time{flex:0 0 auto}.json-history-item code{display:-webkit-box;overflow:hidden;color:var(--tool-ink-soft);font-family:SFMono-Regular,Consolas,Liberation Mono,Noto Sans Mono CJK SC,monospace;font-size:var(--tool-text-xs);line-height:1.55;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.json-history-item small,.json-history-empty{color:var(--tool-soft);font-size:var(--tool-text-2xs)}.json-history-empty{margin:0;min-height:0;flex:1;padding:16px 10px;line-height:1.6}.json-history-storage-note{margin:0;padding:8px 10px;border-top:1px solid rgba(0,0,0,.08);background:#fafafa;color:var(--tool-soft);font-size:var(--tool-text-2xs)}.table-preview-scroll{min-height:0;max-height:520px;overflow:auto;overscroll-behavior:contain}.json-output-card .table-preview-scroll{max-height:none;flex:1}.table-preview-card table,.json-output-card table{width:100%;min-width:680px;border-collapse:collapse;background:#fbfaf6;font-size:var(--tool-text-xs);text-align:left}.table-preview-card th,.table-preview-card td,.json-output-card th,.json-output-card td{max-width:360px;padding:9px 11px;border-right:1px solid var(--tool-line);border-bottom:1px solid var(--tool-line);overflow-wrap:anywhere;vertical-align:top}.table-preview-card th:last-child,.table-preview-card td:last-child,.json-output-card th:last-child,.json-output-card td:last-child{border-right:0}.table-preview-card th,.json-output-card th{position:sticky;top:0;z-index:1;background:var(--tool-card);color:var(--tool-ink-soft);font-weight:var(--tool-weight-bold);white-space:nowrap}.table-preview-card td,.json-output-card td{color:var(--tool-ink-soft);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.table-preview-card code,.json-output-card code,.table-empty{color:var(--tool-soft);font:inherit}.table-preview-empty,.table-preview-limit{margin:0;padding:20px;color:var(--tool-soft);font-size:var(--tool-text-xs)}.table-preview-limit{padding:9px 12px;border-top:1px solid var(--tool-line)}.json-tree-view{display:flex;min-height:0;flex:1;flex-direction:column}.json-tree-toolbar{display:flex;flex:0 0 auto;gap:4px;padding:6px 8px;border-bottom:1px solid rgba(0,0,0,.08)}.json-tree-toolbar button{min-height:28px;padding:0 8px;border:1px solid rgba(0,0,0,.08);border-radius:4px;background:#fff;color:var(--tool-ink-soft);font-size:var(--tool-text-2xs)}.json-tree-toolbar button:hover{background:#f5f5f5;color:var(--tool-ink)}.json-tree-scroll{min-height:0;flex:1;overflow:auto;padding:10px 12px 18px;background:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,Noto Sans Mono CJK SC,monospace;font-size:var(--tool-text-xs);line-height:1.6}.json-tree-branch>summary{display:flex;min-height:26px;align-items:center;gap:7px;list-style:none;color:var(--tool-soft);cursor:pointer}.json-tree-branch>summary::-webkit-details-marker{display:none}.json-tree-branch>summary:before{width:12px;flex:0 0 auto;color:var(--tool-soft);content:"›";transform-origin:center;transition:transform .12s cubic-bezier(.25,.1,.25,1)}.json-tree-branch[open]>summary:before{transform:rotate(90deg)}.json-tree-key{color:#6d4c41;font-weight:650}.json-tree-children{margin-left:6px;padding-left:14px;border-left:1px solid rgba(0,0,0,.08)}.json-tree-leaf{display:flex;min-height:26px;align-items:baseline;gap:8px;padding-left:19px}.json-tree-value{min-width:0;overflow-wrap:anywhere}.json-tree-value.is-string{color:#2f6f4e}.json-tree-value.is-number{color:#8a5b00}.json-tree-value.is-boolean{color:#315d91}.json-tree-value.is-null,.json-tree-empty{color:var(--tool-soft)}.string-workbench-card{padding-top:0}.string-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:52px;padding:9px 12px;border-bottom:1px solid var(--tool-line);background:#ffffff3d}.string-options>span{margin-right:4px;color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-bold);letter-spacing:.08em}.string-options label{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 8px;border:1px solid var(--tool-line);border-radius:7px;background:#fbfaf6;color:var(--tool-ink-soft);cursor:pointer;font-size:var(--tool-text-xs);font-weight:var(--tool-weight-medium)}.string-options label:hover{border-color:#6f8d8080}.string-options input{position:absolute;opacity:0}.string-options i{position:relative;display:block;width:14px;height:14px;border:1px solid var(--tool-line);border-radius:4px;background:var(--tool-card)}.string-options input:checked+i{border-color:var(--tool-jade-strong);background:var(--tool-jade-strong)}.string-options input:checked+i:after{position:absolute;top:2px;left:4px;width:3px;height:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;content:"";transform:rotate(45deg)}.string-options code{color:var(--tool-jade-strong);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem}.string-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--tool-line)}.string-editor-pane{display:block;min-width:0;background:#fbfaf6}.string-editor-pane>span{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 12px;border-bottom:1px solid var(--tool-line);color:var(--tool-ink-soft);font-size:var(--tool-text-xs);font-weight:var(--tool-weight-bold)}.string-editor-pane small{color:var(--tool-soft);font-size:var(--tool-text-2xs);font-weight:var(--tool-weight-regular)}.string-editor-pane textarea{min-height:330px;padding:16px}.string-actions{border-top:0}.string-secondary-actions{padding:0 12px 10px}@media (max-width: 980px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.string-editor-grid{grid-template-columns:1fr}}@media (max-width: 620px){.tools-grid{grid-template-columns:1fr}.tools-intro{align-items:stretch;flex-direction:column;margin-bottom:24px}.tools-search{width:100%}.workbench-main{padding:16px 0 32px}.workbench-toolbar{align-items:start;flex-direction:column}.workbench-toolbar-title,.workbench-quiet-actions{width:100%}.workbench-quiet-actions button{flex:1}.json-textarea{min-height:390px;padding:16px 16px 16px 58px}.json-line-numbers{width:44px;padding:16px 8px 16px 0}.json-history-list{grid-template-columns:1fr}.workbench-actions{display:grid;grid-template-columns:1fr 1fr}.workbench-action{width:100%}.workbench-action kbd{display:none}.string-options>span{width:100%}.string-options label{flex:1 0 calc(50% - 8px)}.string-editor-pane textarea{min-height:260px}.string-secondary-actions button{flex:1 0 calc(50% - 4px)}}@media (max-width: 1180px){.json-workbench-toolbar .workbench-action kbd{display:none}.json-workbench-toolbar .workbench-quiet-actions button{width:30px;padding:0;font-size:0;gap:0}.json-workbench-toolbar .workbench-quiet-actions button svg{width:14px;height:14px}.json-workbench-content.has-output{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width: 900px){.json-workbench-layout{grid-template-columns:208px minmax(0,1fr)}.json-workbench-toolbar .workbench-toolbar-title small{display:none}}@media (max-width: 760px){.json-tool-page{height:auto;min-height:100dvh;overflow:visible}.json-workbench-layout{grid-template-columns:1fr;height:auto;min-height:calc(100dvh - 56px)}.json-history-card{max-height:220px}.json-workbench-content{overflow:visible}.json-workbench-content.has-output{display:grid;grid-template-columns:1fr;overflow:visible}.json-editor-card{min-height:520px}.json-output-card{min-height:440px}.json-workbench-toolbar{align-items:center;flex-direction:row;flex-wrap:wrap}.json-workbench-toolbar .workbench-toolbar-title,.json-workbench-toolbar .workbench-quiet-actions{width:auto}.json-workbench-toolbar .workbench-actions{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.json-workbench-toolbar .workbench-action{width:auto;flex:0 0 auto}.json-transform-popover{position:fixed;top:116px;right:8px;left:8px;width:auto;max-height:calc(100vh - 132px)}.json-editor-statusbar{align-items:flex-start;flex-direction:column;gap:4px}.json-status-message{width:100%}.json-editor-preferences{width:100%;justify-content:flex-end}}@media (max-width: 460px){.json-tool-page .calculator-shell{padding-inline:8px}.json-workbench-layout{padding:8px}.json-workbench-toolbar .workbench-toolbar-title small{display:none}.json-workbench-toolbar .workbench-quiet-actions button{flex:0 0 auto;padding-inline:6px}.json-transform-popover{grid-template-columns:1fr}.json-transform-popover strong{grid-column:1}.json-textarea{padding-right:14px}.json-editor-preferences label>span{display:none}}@media (prefers-reduced-motion: reduce){.workbench-action{transition:none}}
