body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:Helvetica,Arial,Menlo,Consolas,Courier New,monospace}.App{max-width:900px;margin:0 auto;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh}header{text-align:center;margin-bottom:2rem;background:rgba(255,255,255,.95);padding:2rem;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.network-status{margin-top:1rem}.offline-indicator{display:inline-block;padding:.5rem 1rem;background:#28a745;color:#fff;border-radius:20px;font-size:.9rem;font-weight:500}.section-nav{background:rgba(255,255,255,.95);padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.section-nav h3{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#444;text-align:center}.nav-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.nav-link{display:flex;align-items:center;padding:.6rem .8rem;background:rgba(102,126,234,.1);border:1px solid rgba(102,126,234,.2);border-radius:8px;text-decoration:none;color:#667eea;font-weight:500;font-size:.85rem;transition:all .2s ease;cursor:pointer}.nav-link:hover{background:rgba(102,126,234,.2);border-color:#667eea66;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.nav-link:active{transform:translateY(0)}html{scroll-behavior:smooth}#private-key-analysis,#message-signing,#keccak256-calculator,#address-checksum,#offline-security{scroll-margin-top:20px}@media (max-width: 600px){.nav-links{grid-template-columns:1fr}.nav-link{font-size:.85rem;padding:.6rem .8rem}}.success{color:#28a745;font-weight:600}.error{color:#dc3545;font-weight:600}.warning{color:#ffc107;font-weight:600}.input-with-toggle{position:relative;display:flex;align-items:center}.input-with-toggle .InputField{flex:1;padding-right:50px}.toggle-visibility-btn{position:absolute;right:10px;background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;z-index:1}.toggle-visibility-btn:hover{background:rgba(0,0,0,.1)}.toggle-visibility-btn:focus{outline:2px solid #667eea;outline-offset:2px}.InputSection{background:rgba(255,255,255,.95);padding:2rem;margin-bottom:2rem;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.InputSection h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-description{color:#6c757d;font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#495057}.InputField{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:border-color .2s ease,box-shadow .2s ease;background:#fff;resize:vertical;box-sizing:border-box}.InputField:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.InputField::placeholder{color:#adb5bd;font-style:italic}.InputButton{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.InputButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.InputButton:active{transform:translateY(0)}.InputButton:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.error-message{margin-top:1rem;padding:1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.info-message{margin-top:1rem;padding:1rem;background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;color:#0c5460;font-style:italic}.result-section{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.result-section h3{color:#28a745;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.result-item{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.result-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.result-item label{display:block;font-weight:600;color:#495057;margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.result-value{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.result-value code{background:#fff;padding:8px 12px;border-radius:6px;border:1px solid #dee2e6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;word-break:break-all;flex:1;min-width:0}.signature-result{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #dee2e6;margin-bottom:1rem}.signature-result:last-child{margin-bottom:0}.offline-section details{margin-top:1rem}.offline-section summary{cursor:pointer;font-weight:500;color:#667eea;padding:.5rem 0}.offline-section summary:hover{color:#764ba2}.offline-instructions{background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid #e9ecef;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5;margin-top:.5rem;white-space:pre-wrap;overflow-x:auto}hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.3),transparent);margin:3rem 0}.Footer{text-align:center;margin-top:3rem;padding:2rem;background:rgba(255,255,255,.95);border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.Footer p{margin:0;color:#6c757d;font-size:.9rem}.Footer a{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.Footer a:hover{color:#764ba2;text-decoration:underline}button[style*=marginLeft]{transition:all .2s ease;white-space:nowrap}button[style*=marginLeft]:hover{transform:translateY(-1px)}@media (max-width: 768px){.App{padding:10px}header h1{font-size:2rem}.InputSection{padding:1.5rem}.result-value{flex-direction:column;align-items:stretch}.result-value code{margin-bottom:.5rem}button[style*=marginLeft]{margin-left:0!important;margin-top:.5rem}}@media (prefers-reduced-motion: reduce){.InputButton,button[style*=marginLeft],.Footer a{transition:none}.InputButton:hover:not(:disabled){transform:none}}@media (prefers-contrast: high){.InputField{border:2px solid #000}.InputField:focus{border-color:#06c}.result-value code{border:2px solid #000}}
