*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg-card: #12121a;--bg-input: #1a1a27;--bg-hover: #22223a;--border: #2a2a3d;--border-focus: #6366f1;--text: #e2e2e9;--text-muted: #8888a0;--text-dim: #55556a;--accent: #6366f1;--accent-hover: #818cf8;--green: #22c55e;--green-bg: #0a2618;--green-border: #16a34a;--red: #ef4444;--red-bg: #2a0a0a;--red-border: #dc2626;--yellow: #eab308;--yellow-bg: #2a2508;--yellow-border: #ca8a04;--blue: #3b82f6;--blue-bg: #0a1a2e;--blue-border: #2563eb;--mono: "SF Mono", "Fira Code", "JetBrains Mono", "Cascadia Code", monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius: 8px;--radius-lg: 12px}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}#app{max-width:800px;margin:0 auto;padding:2rem 1.5rem}header{text-align:center;margin-bottom:2rem}header h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header .subtitle{color:var(--text-muted);font-size:1.05rem;margin-top:.25rem}.chain-tabs{display:flex;gap:4px;background:var(--bg-card);border-radius:var(--radius-lg);padding:4px;margin-bottom:1.5rem;border:1px solid var(--border)}.chain-tab{flex:1;padding:.6rem 1rem;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.chain-tab:hover{color:var(--text);background:var(--bg-hover)}.chain-tab.active{color:#fff;background:var(--accent)}.input-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-of-type{margin-bottom:1.5rem}.label-row{display:flex;justify-content:space-between;align-items:center}label{display:block;font-size:.85rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}textarea,input[type=text]{width:100%;font-family:var(--mono);font-size:.85rem;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;outline:none;transition:border-color .15s ease;resize:vertical}textarea:focus,input[type=text]:focus{border-color:var(--border-focus)}textarea::placeholder,input::placeholder{color:var(--text-dim)}.input-mode-indicator{font-size:.75rem;color:var(--text-muted);margin-top:.35rem;font-family:var(--mono);min-height:1.2em}.utxo-panel{background:var(--blue-bg);border:1px solid var(--blue-border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:1.25rem}.utxo-header{font-size:.85rem;color:var(--text-muted);margin-bottom:.6rem;line-height:1.4}.utxo-icon{margin-right:.35rem}.btn-fetch{font-size:.82rem;padding:.5rem 1rem}.utxo-status{font-size:.8rem;font-family:var(--mono);margin-top:.5rem;color:var(--text-muted);white-space:pre-wrap;word-break:break-all}.utxo-status.success{color:var(--green)}.utxo-status.error{color:var(--red)}.solana-hint{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:1.25rem;font-size:.85rem;color:var(--text-muted);line-height:1.5}.solana-hint .btn-link{display:block;margin-top:.4rem}.button-row{display:flex;gap:.75rem}.btn-primary{flex:1;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:.95rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text)}.btn-link{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;padding:0;margin-bottom:.5rem}.btn-link:hover{color:var(--accent-hover);text-decoration:underline}.result-section{margin-top:1.5rem}.hidden{display:none}.result-banner{padding:1.25rem 1.5rem;border-radius:var(--radius-lg);margin-bottom:1rem;border:1px solid}.result-banner.verified{background:var(--green-bg);border-color:var(--green-border)}.result-banner.failed{background:var(--red-bg);border-color:var(--red-border)}.result-banner .status{font-size:1.3rem;font-weight:700}.result-banner.verified .status{color:var(--green)}.result-banner.failed .status{color:var(--red)}.result-banner .summary{color:var(--text);margin-top:.35rem;font-size:.95rem}.hash-compare{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;font-family:var(--mono);font-size:.78rem}.hash-row{display:flex;gap:.75rem;padding:.4rem 0}.hash-row+.hash-row{border-top:1px solid var(--border)}.hash-label{color:var(--text-muted);min-width:80px;flex-shrink:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.hash-value{word-break:break-all;color:var(--text)}.hash-value.match{color:var(--green)}.hash-value.mismatch{color:var(--red)}.fields-table{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1rem}.fields-header{padding:.75rem 1.25rem;font-weight:600;font-size:.9rem;border-bottom:1px solid var(--border);color:var(--text)}.field-row{display:flex;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);align-items:baseline;gap:1rem}.field-row:last-child{border-bottom:none}.field-label{color:var(--text-muted);font-size:.82rem;min-width:140px;flex-shrink:0}.field-value{font-family:var(--mono);font-size:.82rem;word-break:break-all;color:var(--text)}.field-value.address{color:var(--accent)}.field-value.value-type{color:var(--green)}.unverified-banner{background:var(--yellow-bg);border:1px solid var(--yellow-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem}.unverified-title{font-weight:600;font-size:.95rem;color:var(--yellow);margin-bottom:.35rem}.unverified-description{font-size:.85rem;color:var(--text-muted);line-height:1.5}.unverified-description strong{color:var(--yellow)}.fields-table.unverified{opacity:.75;border-color:var(--yellow-border)}.fields-table.unverified .fields-header{background:var(--yellow-bg);color:var(--yellow)}.field-warning{font-size:.75rem;color:var(--yellow);margin-top:.2rem}.warnings-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.warning-callout{padding:.65rem 1rem;border-radius:var(--radius);font-size:.85rem;border:1px solid}.warning-callout.info{background:var(--blue-bg);border-color:var(--blue-border);color:var(--blue)}.warning-callout.warning{background:var(--yellow-bg);border-color:var(--yellow-border);color:var(--yellow)}.warning-callout.critical{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.raw-hex-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.8rem;padding:.4rem .8rem;cursor:pointer;margin-bottom:1rem}.raw-hex-toggle:hover{border-color:var(--text-muted);color:var(--text)}.raw-hex-content{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-family:var(--mono);font-size:.72rem;word-break:break-all;color:var(--text-dim);margin-bottom:1rem;max-height:120px;overflow-y:auto}.error-section{margin-top:1.5rem}.error-box{background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.error-box h3{color:var(--red);font-size:1rem;margin-bottom:.5rem}.error-box p{color:var(--text);font-size:.9rem}.error-box pre{font-family:var(--mono);font-size:.8rem;color:var(--text-muted);margin-top:.5rem;white-space:pre-wrap;word-break:break-all}footer{text-align:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}footer p{color:var(--text-dim);font-size:.82rem}@media(max-width:600px){#app{padding:1rem}header h1{font-size:2rem}.field-row{flex-direction:column;gap:.25rem}.field-label{min-width:unset}.hash-row{flex-direction:column;gap:.25rem}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}
