@font-face{font-family:Inter;src:url(fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url(fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(fonts/inter-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/jetbrains-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/jetbrains-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--bg: #f4f5f7;--surface: #ffffff;--border: #dde1e7;--text: #1b1f24;--text-muted: #5b6472;--accent: #2f6fed;--accent-hover: #1f5adb;--accent-contrast: #ffffff;--danger: #d1453b;--success: #1f9d55;--radius: 8px;--font-sans: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5}.site-header{border-bottom:1px solid var(--border);background:var(--surface);padding:20px 24px 0}.site-header h1{margin:0 0 4px;font-size:22px;font-weight:700}.site-header p.tagline{margin:0 0 16px;color:var(--text-muted);font-size:14px}.container{max-width:960px;margin:0 auto;padding:0 20px 60px}.banner{background:#fff4e5;border:1px solid #f3c98b;color:#7a4b06;padding:10px 14px;border-radius:var(--radius);font-size:13px;margin:16px 0}.banner.error{background:#fdecea;border-color:#f4b1ac;color:#7a231d}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);background:var(--surface);padding:20px 0 0;position:sticky;top:0;z-index:10}.header-inner{max-width:960px;margin:0 auto;padding:0;display:flex;align-items:center;gap:18px}.header-inner h1{margin:0}.logo-spin{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;animation:logo-rotate 6s linear infinite}.logo-pulse{width:32px;height:32px;display:block;animation:logo-pulse 1.6s ease-in-out infinite}@keyframes logo-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.logo-spin,.logo-pulse{animation:none}}.tab-btn{appearance:none;border:none;background:transparent;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;border-radius:0}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.panel{display:none;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:24px}.panel.active{display:block}.panel h2{margin:0 0 4px;font-size:18px}.panel>p.desc{margin:0 0 20px;color:var(--text-muted);font-size:13.5px}.field-group{margin-bottom:18px}fieldset.field-group,fieldset.col{border:0;padding:0;min-width:0}.group-label{display:block;width:100%;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;padding:0}.checkbox-row,.radio-row{display:flex;flex-wrap:wrap;gap:10px}.checkbox-row label,.radio-row label{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);padding:7px 12px;border-radius:999px;font-size:13.5px;cursor:pointer;user-select:none}.checkbox-row label:has(input:checked),.radio-row label:has(input:checked){background:#eaf1ff;border-color:var(--accent);color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:14px;height:14px}.mode-switch,.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}.mode-switch button,.segmented button{appearance:none;border:none;background:var(--surface);padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text-muted);cursor:pointer;border-right:1px solid var(--border)}.mode-switch button:last-child,.segmented button:last-child{border-right:none}.mode-switch button.active,.segmented button.active{background:var(--accent);color:var(--accent-contrast)}textarea,input[type=text],input[type=number],input[type=password],select{width:100%;font-family:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}textarea:focus,input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea{resize:vertical;min-height:70px;font-family:var(--font-mono)}.row{display:flex;gap:14px;flex-wrap:wrap}.row>.col{flex:1 1 180px;min-width:140px}.col-140{max-width:140px}.col-160{max-width:160px}.col-200{max-width:200px}.col-end{display:flex;align-items:flex-end}.small-input{max-width:110px}.inline-number{width:70px;margin-left:6px}.inline-text-sm{width:110px;margin-left:6px}.error-text{color:var(--danger);font-size:13px;margin-bottom:8px}label.inline-label{display:block;font-size:12.5px;color:var(--text-muted);margin-bottom:5px}.info-line{font-size:12.5px;color:var(--text-muted);margin:10px 0 16px;font-family:var(--font-mono)}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);font-family:inherit;font-size:14px;font-weight:600;padding:10px 20px;border-radius:var(--radius);cursor:pointer}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.copy-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.copy-btn.small{padding:5px 10px;font-size:12px}.copy-btn.copied{background:var(--success);color:#fff;border-color:var(--success)}.copy-btn.copy-failed{background:var(--danger);color:#fff;border-color:var(--danger)}.field-with-copy{display:flex;gap:8px;align-items:stretch}.field-with-copy input,.field-with-copy textarea{flex:1}.output-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.result-row{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.result-row code{flex:1;font-family:var(--font-mono);font-size:13.5px;word-break:break-all}.hash-table{display:flex;flex-direction:column;gap:8px}.hash-table .hash-row{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center}.hash-table .hash-row .algo-name{font-size:12.5px;font-weight:700;color:var(--text-muted)}.hash-table input{font-family:var(--font-mono);font-size:13px}@media(max-width:640px){.hash-table .hash-row{grid-template-columns:1fr}}.qr-preview,.identicon-preview{display:flex;justify-content:center;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.qr-preview canvas,.identicon-preview canvas{max-width:100%;height:auto;image-rendering:pixelated;border-radius:4px}#fakedata-output{display:flex;flex-direction:column;gap:12px;margin-top:6px}.fake-card{border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}footer.site-footer{border-top:1px solid var(--border);margin-top:20px;padding:28px 0}.footer-inner{text-align:center}.footer-note{margin:0 0 16px;color:var(--text-muted);font-size:12.5px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-bottom:16px}.footer-links a{color:var(--text-muted);font-size:12.5px;text-decoration:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.footer-copy{color:var(--text-muted);font-size:12.5px}
