:root{color-scheme:light;--bg: #f8fafc;--panel: #ffffff;--text: #111318;--muted: #5f6672;--line: #dfe4ea;--accent: #1f7a63;--accent-strong: #145a49;--danger: #b42318;--code: #102033;--shadow: 0 14px 28px rgba(17, 24, 39, .09);--shadow-soft: 0 8px 18px rgba(17, 24, 39, .07)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 18% 8%,rgba(219,234,254,.45),transparent 32%),radial-gradient(circle at 86% 20%,rgba(220,252,231,.38),transparent 28%),linear-gradient(180deg,#f8fafc,#fff 54%,#f8fafc);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;min-height:100vh}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1088px,calc(100% - 40px));margin:0 auto}.site-header,.site-footer{background:#f8fafcd1;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.site-header{position:sticky;top:0;z-index:20}.site-footer{border-top:1px solid var(--line);border-bottom:0;margin-top:64px}.header-inner,.footer-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{color:#12151b;font-size:1.08rem;font-weight:800;letter-spacing:0;white-space:nowrap}.brand:hover,nav a:hover{color:var(--text)}nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}nav a{position:relative;color:#151922;font-weight:650}.site-header nav a:first-child:after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:#111318;content:""}.language-link{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;font-weight:900;font-size:.92rem}.language-link:hover{border-color:var(--line);background:#ffffffe6}.hero{padding:78px 0 42px;background:transparent;border-bottom:0;text-align:center}.hero h1{margin:0;color:#12141a;font-size:clamp(2.35rem,4vw,3.45rem);line-height:1.12;font-weight:900;letter-spacing:0}.hero p{max-width:720px;color:var(--muted);font-size:1.1rem}.tool-search{position:relative;max-width:660px;margin:34px auto 0}.tool-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tool-search input{width:100%;border:1px solid var(--line);border-radius:999px;background:#ffffffe6;box-shadow:inset 0 1px #ffffffe6,0 10px 28px #1118270a;color:#12141a;padding:17px 22px 17px 48px}.tool-search:before{position:absolute;top:50%;left:20px;width:16px;height:16px;border:2px solid #7d8794;border-radius:999px;content:"";transform:translateY(-58%)}.tool-search:after{position:absolute;top:50%;left:34px;width:7px;height:2px;border-radius:999px;background:#7d8794;content:"";transform:translateY(4px) rotate(45deg)}.tool-search input:focus{border-color:#b9c4d0;outline:4px solid rgba(31,122,99,.12)}.tool-section{padding:34px 0 0}.tool-section h2{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#12141a;font-size:1.35rem;line-height:1.25;font-weight:850;letter-spacing:0}.tool-section h2 span{display:inline-flex;min-width:20px;color:#111318;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:800}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.category-generators .tool-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.tool-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tool-card:hover{border-color:#cbd5df;box-shadow:var(--shadow);transform:translateY(-2px)}.tool-card a{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;min-height:126px;padding:24px;color:var(--text)}.tool-card-generators a,.tool-card-text a,.tool-card-frontend a{grid-template-columns:46px minmax(0,1fr) auto;align-items:center}.tool-icon{display:inline-grid;width:42px;height:42px;place-items:center;align-self:start;border:1px solid #d8e0e8;border-radius:8px;background:#eef6ff;color:#172033;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;font-weight:850;line-height:1}.tool-card-format:nth-child(2n) .tool-icon,.tool-card-generators .tool-icon{background:#dcfce7;border-color:#bbf7d0;color:#166534}.tool-card-format:nth-child(3n) .tool-icon,.tool-card-encode:nth-child(3n) .tool-icon{background:#fef2f2;border-color:#fee2e2;color:#7f1d1d}.tool-card-encode .tool-icon,.tool-card-text .tool-icon{background:#f5e8ff;border-color:#ead5ff;color:#581c87}.tool-card-frontend .tool-icon{background:#dcfce7;border-color:#bbf7d0;color:#166534}.tool-card-copy{min-width:0}.tool-card h3{margin:0 0 7px;color:#111318;font-size:.98rem;line-height:1.25;font-weight:850;letter-spacing:0}.tool-card p{margin:0;color:#12151b;font-size:.93rem;line-height:1.45}.tool-card-action{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:38px;border-radius:6px;background:#f1f5f9;color:#111318;font-size:.9rem;font-weight:750}.tool-card-arrow{color:#9aa3af;font-size:1.45rem;line-height:1}.tool-page,.content-page{padding:36px 0}.tool-header{max-width:760px}.eyebrow{color:var(--accent-strong);font-weight:700;margin-bottom:8px}.tool-shell{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.tool-panel{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.timestamp-shell{grid-template-columns:minmax(280px,.9fr) minmax(440px,1.1fr)}.json-shell{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);align-items:stretch}.json-shell .tool-panel{display:flex;flex-direction:column;min-height:0}.json-shell .field{display:flex;flex-direction:column;flex:1;min-height:0}.json-shell .field textarea,.json-shell .json-preview{flex:1;min-height:0}.json-shell .tool-actions{margin-top:10px}.field label,.field-label{display:block;font-weight:700;margin-bottom:8px}textarea{width:100%;min-height:280px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--code)}textarea:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--accent)}.timestamp-field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--code)}.timestamp-field input:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--accent)}.field-help{margin:8px 0 0;color:var(--muted);font-size:.9rem}.timestamp-units{border:0;margin:16px 0 0;padding:0}.timestamp-units legend{font-weight:700;margin-bottom:8px}.timestamp-units{display:flex;flex-wrap:wrap;gap:8px}.timestamp-units label{cursor:pointer}.timestamp-units input{position:absolute;opacity:0;pointer-events:none}.timestamp-units span{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:8px 12px}.timestamp-units input:checked+span{border-color:var(--accent);background:#e6f4f1;color:var(--accent-strong);font-weight:700}.timestamp-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.timestamp-results div{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfe}.timestamp-results .timestamp-result-wide{grid-column:1 / -1}.timestamp-results dt{color:var(--muted);font-size:.82rem;margin-bottom:4px}.timestamp-results dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.45;color:var(--code);overflow-wrap:anywhere}.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.tool-actions button{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;padding:9px 12px;cursor:pointer}.tool-actions button[aria-pressed=true]{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:inset 0 0 0 2px #ffffff3d}.tool-actions button[data-action=clear]{background:#fff;color:var(--accent-strong)}.json-preview{min-height:360px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfe;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--code)}.json-node{display:block;width:100%;margin:0 0 6px}.json-node>summary{list-style:none}.json-node>summary::-webkit-details-marker{display:none}.json-node-summary{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;color:var(--text);width:100%}.json-node-caret{width:1ch;color:var(--accent-strong);flex:0 0 auto}.json-node[open]>summary .json-node-caret{transform:rotate(0)}.json-node:not([open])>summary .json-node-caret{transform:rotate(-90deg)}.json-node-label{font-weight:700}.json-node-children{margin:6px 0 0 16px;padding-left:12px;border-left:1px solid var(--line);width:calc(100% - 16px)}.json-entry{display:grid;grid-template-columns:max-content 10px minmax(0,1fr);gap:0 6px;align-items:start;margin-bottom:4px;width:100%}.json-entry-array{grid-template-columns:max-content minmax(0,1fr)}.json-key{color:#7c3aed}.json-index,.json-punctuation{color:var(--muted)}.json-value{min-width:0;overflow-wrap:anywhere;line-height:1.5}.json-value-string{color:#0f766e}.json-value-number{color:#b45309}.json-value-boolean{color:#b42318}.json-value-null{color:var(--muted)}.tool-status{min-height:1.5em;margin:10px 0 0;color:var(--muted);font-size:.92rem}.tool-error{color:var(--danger);margin:8px 0 0}.tool-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}.tool-metrics[hidden]{display:none}.tool-metrics dt{color:var(--muted);font-size:.82rem}.tool-metrics dd{margin:2px 0 0;font-weight:700}.tool-metrics dt,.tool-metrics dd{min-width:0;overflow-wrap:anywhere}pre{overflow:auto;background:#111827;color:#f9fafb;border-radius:8px;padding:14px}details{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px}.related-tools ul{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}@media(max-width:760px){.header-inner,.footer-inner,.tool-shell{display:block}nav{margin-top:12px}.tool-panel+.tool-panel{margin-top:16px}.tool-metrics,.timestamp-results,.json-shell{grid-template-columns:1fr}}
