:root{--bg-page: #0A0C12;--bg-surface: #11141D;--bg-surface-2: #171B26;--bg-surface-3: #1E2331;--bg-inset: #0D1017;--border: rgba(255,255,255,.07);--border-strong: rgba(255,255,255,.12);--border-hover: rgba(255,255,255,.2);--text-1: #EDF0F7;--text-2: #A6AEC4;--text-3: #7C86A2;--accent: #6E7CFF;--accent-hover: #8590FF;--accent-press: #5B69F2;--accent-soft: rgba(110,124,255,.14);--accent-line: rgba(110,124,255,.38);--on-accent: #0A0C12;--ok: #34D399;--ok-text: #5FE3AE;--ok-soft: rgba(52,211,153,.12);--ok-line: rgba(52,211,153,.3);--warn: #F0B429;--warn-text: #F5C451;--warn-soft: rgba(240,180,41,.12);--warn-line: rgba(240,180,41,.3);--err: #FF5D6C;--err-text: #FF8391;--err-soft: rgba(255,93,108,.12);--err-line: rgba(255,93,108,.3);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-2xl: 22px;--fs-xl: 17px;--fs-lg: 15px;--fs-md: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-2xs: 11px;--fs-mono: 12.5px;--fs-mono-in: 13px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 12px;--r-5: 16px;--r-full: 999px;--sh-1: 0 1px 2px rgba(0,0,0,.35);--sh-2: 0 6px 20px rgba(0,0,0,.45);--sh-3: 0 24px 56px rgba(0,0,0,.62);--ring: 0 0 0 3px rgba(110,124,255,.22);--app-max: 1200px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-page);color:var(--text-1);font-family:var(--font-sans);font-size:14px;line-height:22px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}::selection{background:var(--accent-soft);color:var(--text-1)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{text-align:right;font-variant-numeric:tabular-nums}.link{font-size:12px;color:var(--accent-hover)}.hint{font-size:12px;line-height:18px;color:var(--text-3)}.topbar{position:sticky;top:0;z-index:50;background:#0a0c12d1;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--border)}.topbar-inner{max-width:var(--app-max);margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.brand h1{font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-1)}.tagline{font-size:12px;line-height:18px;color:var(--text-3)}.app{max-width:var(--app-max);margin:0 auto;padding:24px 24px 80px}.nav-wallet{position:relative;display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-connect{height:36px;padding:0 16px;font-size:13px;white-space:nowrap}.nav-wallet-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--r-full);color:var(--text-1);font-size:12.5px;cursor:pointer;transition:border-color .12s ease;white-space:nowrap}.nav-wallet-pill:hover{border-color:var(--accent-line)}.nav-wallet-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft);flex-shrink:0}.nav-wallet-pill .chain{color:var(--text-3);font-size:12px}.nav-wallet-pill .addr{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nav-wallet-pill .caret{color:var(--text-3);font-size:9px}.nav-wallet-caret{width:28px;height:36px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--r-2);color:var(--text-3);cursor:pointer}.nav-wallet-caret:hover{color:var(--text-1);border-color:var(--border-hover)}.nav-disconnect{width:32px;height:32px;border-radius:var(--r-2);background:transparent;border:1px solid transparent;color:var(--text-3);cursor:pointer;font-size:12px;transition:all .12s ease}.nav-disconnect:hover{background:var(--err-soft);color:var(--err-text);border-color:var(--err-line)}.nav-chain-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:260px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--bg-surface-3);border:1px solid var(--border-strong);border-radius:var(--r-4);box-shadow:var(--sh-3)}.nav-chain-menu-title{padding:6px 10px 4px;font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--text-3)}.nav-chain-divider{height:1px;background:var(--border);margin:6px 2px}.nav-chain-switching{padding:2px 10px 6px;font-size:12px;color:var(--accent-hover)}.nav-chain-item{display:flex;justify-content:space-between;align-items:center;gap:12px;height:34px;padding:0 10px;background:transparent;border:0;border-radius:var(--r-2);color:var(--text-1);font-size:13px;text-align:left;cursor:pointer;transition:background .1s ease}.nav-chain-item:hover{background:#ffffff0d}.nav-chain-item.active{background:var(--accent-soft);color:var(--accent-hover)}.nav-chain-item .cid{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.nav-chain-sync{margin-top:4px;height:32px;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r-2);color:var(--text-3);font-size:12px;cursor:pointer}.nav-chain-sync:hover{color:var(--text-1);border-color:var(--border-hover)}.config-bar{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-3);margin-bottom:16px}.config-bar .field{gap:8px}.cfg-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;color:var(--text-3)}.cfg-input{font-family:var(--font-mono);font-size:13px;max-width:560px}.tab-nav{display:flex;gap:2px;margin:16px 0 24px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab{position:relative;flex:0 0 auto;white-space:nowrap;background:none;border:0;padding:10px 14px;font-size:14px;font-weight:500;color:var(--text-2);border-radius:var(--r-2) var(--r-2) 0 0;cursor:pointer;transition:color .12s ease,background .12s ease}.tab:hover{color:var(--text-1);background:#ffffff0a}.tab.active{color:var(--text-1);font-weight:600}.tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-4);padding:20px;margin-bottom:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:17px;line-height:24px;font-weight:600;letter-spacing:-.01em;color:var(--text-1)}.section-actions{display:inline-flex;align-items:center;gap:8px}.section-title .chip{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:var(--r-1);color:var(--accent-hover);background:var(--accent-soft);border:1px solid var(--accent-line)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.stat{display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-height:76px;padding:12px 14px;background:var(--bg-surface-2);transition:background .12s ease}.stat:hover{background:var(--bg-surface-3)}.stat-label{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;color:var(--text-3)}.stat-value{font-size:15px;line-height:22px;font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums;word-break:break-word}.stat-value.mono{font-family:var(--font-mono);font-size:12.5px;line-height:18px;letter-spacing:0}.stat-grid.is-compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-grid.is-compact .stat{min-height:56px;padding:10px 14px}.stat-copy{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:copy;border-bottom:1px dashed transparent;transition:color .12s ease,border-color .12s ease}.stat-copy:hover{color:var(--accent-hover);border-bottom-color:var(--accent-line)}.stat-copy:focus-visible{outline:none;color:var(--accent-hover);box-shadow:var(--ring);border-radius:var(--r-1)}.stat-copy.is-done{color:var(--ok-text);border-bottom-color:transparent}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{padding:10px 14px;text-align:left;font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;color:var(--text-3);border-bottom:1px solid var(--border-strong);white-space:nowrap}tbody td{padding:12px 14px;color:var(--text-2);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;vertical-align:middle}tbody tr{transition:background .1s ease}tbody tr:hover td{background:#ffffff08}tbody tr:last-child td{border-bottom:none}td.mono,th.mono{font-family:var(--font-mono)}td.num,th.num{text-align:right}.tag{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:var(--r-full);font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.tag:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.tag.yes{color:var(--ok-text);background:var(--ok-soft);border-color:var(--ok-line)}.tag.no{color:var(--err-text);background:var(--err-soft);border-color:var(--err-line)}.tag.info{color:var(--accent-hover);background:var(--accent-soft);border-color:var(--accent-line)}input,select,textarea{width:100%;font-family:inherit;font-size:13px;line-height:20px;color:var(--text-1);background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--r-3);transition:border-color .12s ease,box-shadow .12s ease}input,select{height:38px;padding:0 12px}textarea{min-height:80px;padding:10px 12px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-hover)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background:var(--bg-inset);color:var(--text-3);border-color:var(--border);opacity:.6;cursor:not-allowed}input.mono,textarea.mono{font-family:var(--font-mono);letter-spacing:0}select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237C86A2' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}input[type=checkbox]{width:15px;height:15px;min-width:15px;padding:0;margin:0;accent-color:var(--accent);border:0;background:none;cursor:pointer}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;line-height:18px;color:var(--text-3)}.form-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.form-row .field{flex:1 1 240px}.form-row>.field.full{flex:1 1 100%}.form-row>.field.auto{flex:0 0 auto}.form-row-actions{margin-top:12px}.form-row-center{align-items:center}.form-actions{display:inline-flex;align-items:center;gap:8px}.group-label{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;color:var(--text-2)}.group-label:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--accent)}.check-field{display:flex;align-items:center;gap:8px;height:38px;font-size:13px;color:var(--text-1)}.jump-input{width:72px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:var(--r-3);font-family:inherit;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;background:var(--accent);color:var(--on-accent);transition:background .12s ease,border-color .12s ease,color .12s ease,transform 60ms ease}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){background:var(--accent-press);transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text-1);border-color:var(--border-strong)}.btn.secondary:hover:not(:disabled){background:#ffffff0f;border-color:var(--border-hover)}.btn.secondary:active:not(:disabled){background:#ffffff17}.btn.ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn.ghost:hover:not(:disabled){background:#ffffff0f;color:var(--text-1)}.btn.sm{height:28px;padding:0 10px;font-size:12px;border-radius:var(--r-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-strong);border-radius:var(--r-2);color:var(--text-3);font-size:12px;cursor:pointer;transition:all .12s ease}.icon-btn:hover{color:var(--text-1);border-color:var(--border-hover);background:#ffffff0d}.msg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;border-radius:var(--r-3);font-size:13px;line-height:20px;background:var(--bg-surface-2);border:1px solid var(--border);color:var(--text-2)}.msg:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.msg.ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok-text)}.msg.error{background:var(--err-soft);border-color:var(--err-line);color:var(--err-text)}.msg.loading{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover)}.msg .mono{color:var(--text-2);font-size:12px}.empty{font-size:12px;line-height:18px;color:var(--text-3)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 16px;text-align:center;font-size:13px;line-height:20px;color:var(--text-3)}.empty-state:before{content:"";width:32px;height:32px;border-radius:var(--r-3);border:1px dashed var(--border-strong);background:#ffffff05}.empty-state.is-loading:before{border:2px solid var(--border-strong);border-top-color:var(--accent);background:none;border-radius:50%;width:26px;height:26px;animation:spin .8s linear infinite}.empty-state.is-error{color:var(--err-text)}.empty-state.is-error:before{border-color:var(--err-line);border-style:solid}@keyframes spin{to{transform:rotate(360deg)}}.info-tip{position:relative;display:inline-flex;align-items:center}.info-tip-btn{width:16px;height:16px;padding:0;border-radius:50%;background:transparent;border:1px solid var(--border-strong);color:var(--text-3);font-size:10px;line-height:1;cursor:pointer;transition:all .12s ease}.info-tip-btn:hover{color:var(--accent-hover);border-color:var(--accent-line);background:var(--accent-soft)}.info-tip-btn:focus-visible{outline:none;box-shadow:var(--ring)}.info-tip-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:200;width:min(420px,calc(100vw - 48px));padding:12px 14px;background:var(--bg-surface-3);border:1px solid var(--border-strong);border-radius:var(--r-4);box-shadow:var(--sh-3);font-size:12.5px;line-height:1.65;color:var(--text-2);white-space:pre-line}.info-tip-pop:before{content:"";position:absolute;top:-5px;left:14px;width:8px;height:8px;background:var(--bg-surface-3);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);transform:rotate(45deg)}.config-bar{position:relative}.config-bar .info-tip{position:static}.config-bar .info-tip-pop{top:calc(100% + 8px);left:auto;right:0}.config-bar .info-tip-pop:before{left:auto;right:14px}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#06080cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:20px;background:var(--bg-surface-3);border:1px solid var(--border-strong);border-radius:var(--r-5);box-shadow:var(--sh-3)}.modal-head{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:17px;line-height:24px;font-weight:600;color:var(--text-1)}.modal-meta{font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--text-3);margin-bottom:6px}.modal-method{display:inline-block;padding:6px 10px;margin-bottom:14px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--r-2);font-size:12.5px;color:var(--accent-hover)}table.kv{font-size:13px}table.kv .kv-k{width:120px;color:var(--text-3)}table.kv .kv-v{word-break:break-all}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.tx-line{margin-top:6px;font-size:12px;line-height:18px;color:var(--text-2);word-break:break-all}.txform{margin-bottom:20px}.txform:last-child{margin-bottom:0}.duo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}.duo-col{min-width:0}.duo-col .section:last-child{margin-bottom:0}.duo-right{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:start}.duo-right>.msg{grid-column:1 / -1}.duo-right .section{margin-bottom:0}.duo-right textarea{padding:10px 8px;font-size:10px}@media(max-width:959px){.duo,.duo-right{grid-template-columns:minmax(0,1fr)}}@media(max-width:1023px){.app{padding:20px 20px 64px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:767px){.topbar-inner{padding:10px 16px}.brand .tagline{display:none}.app{padding:16px 16px 56px}.section{padding:16px;margin-bottom:16px}.config-bar{padding:12px}.stat-grid,.stat-grid.is-compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{min-height:64px;padding:10px 12px}.stat-value{font-size:14px}.nav-wallet-pill .chain{display:none}.form-row .field{flex:1 1 100%}.msg{align-items:flex-start}.modal{border-radius:var(--r-4);padding:16px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
