.eth-lang-switch{padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit}.eth-lang-switch:hover{color:var(--text-primary);border-color:var(--text-secondary)}.tool-shell{display:flex;flex-direction:column;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}.tool-shell-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .85rem;background:color-mix(in srgb,var(--bg-primary) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.tool-shell-body{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tool-shell-back{font-size:.8125rem;color:var(--accent);text-decoration:none}.tool-shell-back:hover{color:var(--accent-hover);text-decoration:underline}.tool-fallback{padding:1.5rem;text-align:center;color:var(--text-secondary)}.tool-shell-body>.eth-tool-page{min-height:100%;box-sizing:border-box}.tool-shell-body>.tool-fallback{min-height:100%;display:flex;align-items:center;justify-content:center}.tool-shell-body .eth-tool-header{margin-bottom:1rem}@media (min-width: 768px){.tool-shell-body .eth-tool-header{margin-bottom:1.25rem}}.tool-shell-body .eth-tool-footer{margin-top:1.5rem;padding-top:1.25rem;flex-shrink:0}.home{max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 2rem;min-height:100vh;display:flex;flex-direction:column}.home-header{margin-bottom:2.25rem}.home-header-bar{position:relative;display:flex;align-items:flex-start;justify-content:center;width:100%}.home-header-text{text-align:center;padding:0 3.5rem}.home-header h1{font-size:1.85rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.home-lang-switch{position:absolute;right:0;top:0}.home-lead{color:var(--text-secondary);font-size:.95rem}.tool-grid{list-style:none;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start}.tool-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.25rem 1.35rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.tool-card:hover{border-color:var(--accent);background:var(--bg-tertiary)}.tool-card-title{font-weight:600;font-size:1.05rem}.tool-card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.tool-card-cta{margin-top:.5rem;font-size:.8rem;color:var(--accent)}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--accent: #58a6ff;--accent-hover: #79b8ff;--success: #3fb950;--error: #f85149;--key: #7ee787;--string: #a5d6ff;--number: #79c0ff;--boolean: #ff7b72;--null: #8b949e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{min-height:100vh}.eth-tool-page{display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:.75rem 1rem 1.25rem}@media (min-width: 768px){.eth-tool-page{padding:1rem 1.5rem 1.5rem}}.eth-tool-page .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.65rem}.eth-tool-page .toolbar.toolbar--responsive{flex-direction:column;align-items:stretch;gap:.65rem}@media (min-width: 768px){.eth-tool-page .toolbar.toolbar--responsive{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}}.eth-tool-page .toolbar-left,.eth-tool-page .toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.eth-tool-page .toolbar-right{justify-content:flex-end}.eth-tool-page .btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent;font-family:inherit}.eth-tool-page .toolbar.toolbar--responsive .btn{padding:.5rem .75rem;font-size:.8rem}@media (min-width: 768px){.eth-tool-page .toolbar.toolbar--responsive .btn{padding:.5rem 1rem;font-size:.875rem}}.eth-tool-page .btn:disabled{opacity:.5;cursor:not-allowed}.eth-tool-page .btn-primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.eth-tool-page .btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.eth-tool-page .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border)}.eth-tool-page .btn-secondary:hover:not(:disabled){background:#30363d;border-color:var(--text-secondary)}.eth-tool-page .btn-ghost{background:transparent;color:var(--text-secondary)}.eth-tool-page .btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.eth-tool-page .indent-control,.eth-tool-page .unit-control{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.eth-tool-page .toolbar.toolbar--responsive .indent-control,.eth-tool-page .toolbar.toolbar--responsive .unit-control{font-size:.8rem}@media (min-width: 768px){.eth-tool-page .toolbar.toolbar--responsive .indent-control,.eth-tool-page .toolbar.toolbar--responsive .unit-control{font-size:.875rem}}.eth-tool-page .indent-control select,.eth-tool-page .unit-control select{padding:.35rem .6rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:.8rem;cursor:pointer}.eth-tool-page .error-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8514926;border:1px solid rgba(248,81,73,.3);border-radius:6px;color:var(--error);font-size:.875rem;margin-bottom:1rem}.eth-tool-page .error-icon{font-weight:700;color:var(--error)}.eth-tool-page .editor-container{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex:1;min-height:0}@media (max-width: 900px){.eth-tool-page .editor-container{grid-template-columns:1fr}}.eth-tool-page .panel{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.eth-tool-page>.panel{flex:1 1 auto;min-height:0}.eth-tool-page .panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.eth-tool-page .panel-input,.eth-tool-page .panel-output{flex:1;min-height:clamp(140px,26vh,280px);padding:.75rem 1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6}.eth-tool-page .panel-input{background:var(--bg-primary);color:var(--text-primary);border:none;resize:none;outline:none}.eth-tool-page .panel-input::placeholder{color:var(--text-secondary);opacity:.6}.eth-tool-page .panel-output{background:var(--bg-primary);margin:0;overflow:auto;white-space:pre-wrap;word-break:break-all}.eth-tool-page .panel-output .placeholder{color:var(--text-secondary);opacity:.6}.eth-tool-page .unit-badge,.eth-tool-page .output-mode-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);text-transform:none}.eth-tool-page .eth-tool-options{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;margin-bottom:.75rem;padding:.65rem .85rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-secondary)}.eth-tool-page .eth-tool-field-num{display:inline-flex;align-items:center;gap:.5rem}.eth-tool-page .eth-tool-field-num input{width:4.25rem;padding:.35rem .5rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;font-family:inherit}.eth-tool-page .eth-tool-field-num input:focus{outline:none;border-color:var(--accent)}.eth-tool-page .eth-tool-check{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none}.eth-tool-page .eth-tool-check input{width:.95rem;height:.95rem;accent-color:var(--accent);cursor:pointer}.eth-tool-page .panel-output.panel-output--emphasis{min-height:clamp(100px,18vh,200px);font-size:1rem;letter-spacing:.04em}
