:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-bg: #f5f7fa;--color-surface: #ffffff;--color-surface-alt: #f1f4f9;--color-border: #d6dde5;--color-border-strong: #b5c2d1;--color-text: #24303c;--color-text-soft: #586574;--color-accent: #4163ff;--color-accent-hover: #3b58e6;--color-danger: #d12f2f;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 10px rgba(0,0,0,.08);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;display:flex;justify-content:center;background:var(--color-bg);color:var(--color-text)}*,*:before,*:after{box-sizing:border-box}html,body{width:100%;overflow-x:hidden}#root{width:100%;max-width:860px;margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.75rem,2.5vw,2rem)}.mono,.contract-address-value{word-break:break-all;overflow-wrap:anywhere}.attestations-list,.attestation-detail{-webkit-overflow-scrolling:touch}@media (max-width: 480px){h1{font-size:2.2rem}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--color-border);padding:.55em 1.05em;font-size:.95em;font-weight:500;font-family:inherit;background:linear-gradient(145deg,var(--color-surface),var(--color-surface-alt));cursor:pointer;transition:background .25s,border-color .25s,color .25s,box-shadow .25s;color:var(--color-text);box-shadow:var(--shadow-sm)}button:hover{background:linear-gradient(145deg,var(--color-accent),#2f4ed3);border-color:var(--color-accent);color:#fff;box-shadow:0 4px 10px #0000001f,0 0 0 1px #fff6 inset}button:focus-visible{outline:3px solid rgba(65,99,255,.35);outline-offset:2px}#root{max-width:1280px;margin:0 auto;padding:4.4rem 2rem 2rem;text-align:center;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.6rem;margin-top:.5rem}.token-card{position:relative;border:1px solid #d4d9e1;background:linear-gradient(145deg,#fff,#f2f5f9);padding:10px 4px;border-radius:10px;font-size:.7rem;font-weight:600;letter-spacing:.5px;cursor:pointer;color:#2c3340;text-align:center;box-shadow:0 1px 2px #0000000a,0 0 0 2px #fff9 inset;transition:border-color .18s,transform .18s,box-shadow .18s}.token-card:hover:not(.selected){border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 3px 8px #0000001f,0 0 0 2px #fff9 inset}.token-card.selected{border:2px solid #4163ff;background:linear-gradient(160deg,#f0f4ff,#dfe8ff);box-shadow:0 4px 10px #355aff40,0 0 0 2px #ffffffb3 inset}.token-card:focus-visible{outline:2px solid #4163ff;outline-offset:2px}.token-id{pointer-events:none}.token-detail{margin-top:1rem;border:1px solid #d8e0ec;background:#fff;border-radius:14px;padding:.9rem 1rem 1rem;box-shadow:0 4px 14px -2px #00000014,0 1px #fff9 inset;animation:fadeIn .25s ease}.token-detail-header{display:flex;align-items:center;justify-content:space-between}.token-detail-header strong{font-size:.85rem}.close-btn{width:26px;height:26px;padding:0;line-height:1;font-weight:600;font-size:.55rem}.token-detail-body{margin-top:.5rem;font-size:.7rem}.token-detail-body .row{display:flex;gap:.5rem;margin-top:.35rem}.token-detail-body .label{min-width:60px;font-weight:600;color:#475569}.token-detail-body .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.token-detail .actions{display:flex;gap:.5rem;margin-top:.6rem}.token-detail .actions button{font-size:.6rem;padding:4px 8px;border-radius:6px;border:1px solid #c5d0e0;background:#f1f5fb;cursor:pointer}.token-detail .actions button:hover{background:#e2eaf5}.token-detail .actions .external-link-btn{font-size:.6rem;padding:4px 8px;border-radius:6px;border:1px solid #c5d0e0;background:#fff;text-decoration:none;color:#2c3d52;display:inline-flex;align-items:center;gap:4px}.token-detail .actions .external-link-btn:hover{background:#eef3f8;color:#1d2a38}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app-root{color:var(--color-text);background:var(--color-bg)}.app-root .token-card{color:var(--color-text)}.attestations-list{list-style:none;margin:.25rem 0 0;padding:0;border:1px solid #d8e0ec;border-radius:12px;background:#fff;box-shadow:0 3px 10px #0000000f,0 0 0 1px #fff9 inset}.attestation-item{display:flex;align-items:center;justify-content:flex-start;font-size:.72rem;padding:.55rem .75rem;cursor:pointer;border-bottom:1px solid #eef2f7;transition:background .15s,color .15s}.attestation-item:last-child{border-bottom:none}.attestation-item:hover{background:#f1f5fb}.attestation-item.selected{background:#e3ecff;color:#1d3d8f;font-weight:600}.attestation-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attestation-item .chevron{font-size:.8rem;opacity:.4}.attestation-item.selected .chevron{opacity:.8}.status-tag{display:inline-block;margin-left:.35rem;margin-right:.35rem;font-size:.5rem;letter-spacing:.5px;padding:2px 5px 3px;border-radius:999px;font-weight:600;vertical-align:middle;text-transform:uppercase}.status-tag.expired{background:#fff4d6;color:#8b5a00;border:1px solid #f2d28a}.status-tag.revoked{background:#ffe0e0;color:#8f1d1d;border:1px solid #f5a1a1}.token-thumb-wrap{width:28px;height:28px;flex:0 0 auto;border-radius:6px;overflow:hidden;margin-right:.55rem;box-shadow:0 1px 3px #00000026;background:#f1f5fb;display:flex;align-items:center;justify-content:center}.token-thumb{width:100%;height:100%;object-fit:cover;display:block}.attestation-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attestation-line1{display:flex;align-items:center;gap:.4rem;min-width:0}.attestation-line2{font-size:.52rem;display:flex;gap:.4rem;flex-wrap:wrap}.date-badge{background:#eef3f9;color:#334155;padding:2px 6px;border-radius:999px;font-weight:500;letter-spacing:.3px}.date-badge.exp.valid{background:#eef9ef;color:#225530}.date-badge.exp.expired{background:#fff4d6;color:#8b5a00}.date-badge.rev{background:#ffe9e9;color:#7d1c1c}.status-tag.valid{background:#e3f8e8;color:#146532;border:1px solid #9dd8b0}.contract-address-bar{display:flex;align-items:center;gap:.5rem;font-size:.65rem;margin-bottom:.35rem}.contract-address-bar .label{font-weight:600;color:#475569}.contract-address-bar .contract-address-value{font-size:.62rem}.mini-btn{font-size:.55rem;padding:3px 6px;border-radius:6px;border:1px solid #b9c6d8;background:#f4f7fb;cursor:pointer}.mini-btn:hover{background:#e5ecf5}.attestation-detail{margin-top:.9rem;border:1px solid #d8e0ec;background:#fff;border-radius:14px;padding:.85rem .95rem 1rem;box-shadow:0 4px 14px -2px #00000014,0 1px #fff9 inset;animation:fadeIn .25s ease}.attestation-detail-header{display:flex;align-items:center;justify-content:space-between}.attestation-detail-header strong{font-size:.7rem}.attestation-detail-body{margin-top:.55rem;font-size:.63rem}.attestation-detail-body .row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed #e2e8f0}.attestation-detail-body .row:last-child{border-bottom:none}.attestation-detail-body .label{min-width:110px;font-weight:600;color:#334155}.attestation-detail-body .value{word-break:break-all}.attestation-detail-body .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.copy-btn{font-size:.55rem;padding:3px 6px;border-radius:6px;border:1px solid #c5d0e0;background:#f1f5fb;cursor:pointer}.copy-btn:hover:not(:disabled){background:#e2eaf5;color:#1e2d40;border-color:#b1c0d3}.copy-btn:hover:not(:disabled):before{opacity:1;transform:translateY(-1px)}.copy-btn:active:not(:disabled):before{transform:translateY(0)}.download-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}.download-btn{font-size:.6rem;padding:5px 10px;border-radius:8px;border:1px solid #3b5bff;background:#4364ff;color:#fff;cursor:pointer;box-shadow:0 2px 4px #0000001f}.download-btn:hover:not(:disabled){background:#2f52fb}.download-btn:disabled{opacity:.6;cursor:progress}.current-file-name{font-size:.58rem;background:#eef3ff;padding:4px 8px;border-radius:6px;color:#1d2e55;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ext-link-btn{font-size:.55rem;padding:5px 9px;border-radius:8px;background:#fff;border:1px solid #b8c5d8;text-decoration:none;color:#1f3352;display:inline-flex;align-items:center;gap:4px;font-weight:500;cursor:pointer;line-height:1.2}.ext-link-btn:hover:not([aria-disabled=true]):not(:disabled){background:#f1f5fb;border-color:#94a3b8;color:#1f3352}.ext-link-btn:focus-visible{outline:2px solid #4163ff;outline-offset:2px}.ext-link-btn:active:not(:disabled){transform:translateY(1px)}.ext-link-btn:disabled,.ext-link-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.ext-link-btn[aria-disabled=true]{opacity:.45;pointer-events:none}@media (min-width: 820px){.attestations-layout{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:start}}.global-loader-overlay{position:fixed;inset:0;background:#f5f7fa59;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .18s ease}.loader-text{font-size:.75rem;font-weight:600;color:#1e2d45;letter-spacing:.5px}.loader-progress-wrapper{width:min(320px,70%);margin-top:.9rem;display:flex;flex-direction:column;gap:.35rem;align-items:stretch}.loader-progress-wrapper.unified{background:#ffffffd9;padding:1.05rem 1.15rem 1.15rem;border:1px solid #d4dde7;border-radius:16px;box-shadow:0 8px 26px -6px #0003,0 2px #ffffff8c inset;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loader-progress-header{margin-bottom:.55rem;text-align:center}.loader-progress-text{font-size:.55rem;letter-spacing:.45px;color:#334155;text-align:center;font-weight:500}.loader-progress-track{position:relative;height:12px;background:#e5ebf2;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #00000014}.loader-progress-track.indet{background:#e2e8f0}.loader-progress-fill-solid{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#3d5dff,#6b84ff);border-radius:inherit;box-shadow:0 0 0 1px #ffffff73 inset,0 1px 3px #00000038;transition:width .18s ease}.loader-progress-indet{position:absolute;top:0;bottom:0;width:45%;min-width:140px;background:linear-gradient(90deg,#3f63ff,#6f88ff 55%,#3f63ff);background-size:180% 100%;border-radius:inherit;animation:loader-slide 2.4s linear infinite,loader-shift 3.2s ease-in-out infinite;box-shadow:0 0 0 1px #ffffff80 inset,0 1px 4px #00000029;will-change:transform,background-position}@keyframes loader-slide{0%{transform:translate(-55%)}to{transform:translate(120%)}}@keyframes loader-shift{0%,to{background-position:0% 0}50%{background-position:100% 0}}.app-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.75rem 2rem .65rem;position:fixed;top:0;left:0;right:0;background:var(--color-bg);z-index:200;max-width:1280px;box-sizing:border-box;margin:0 auto;min-height:72px;border-bottom:none}.app-header:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:100vw;border-bottom:1px solid #d8e0ec}.brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.brand-title{font-size:1.15rem;margin:0;font-weight:600;letter-spacing:.5px;color:#1d2b3c}.brand-sub{font-size:.55rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#5a6a80}.wallet-block{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto}.wallet-btn{font-size:.55rem;padding:4px 8px;border-radius:6px;border:1px solid #b8c5d8;background:#fff;color:#1f3352;font-weight:500;cursor:pointer;letter-spacing:.4px}.wallet-btn{border:1px solid #3b5bff;background:#4364ff;color:#fff;box-shadow:0 2px 4px #0000001f;transition:background .2s,box-shadow .2s,transform .15s}.wallet-btn:hover:not(:disabled){background:#2f52fb;color:#fff;box-shadow:0 3px 8px #0000002e}.wallet-btn:active:not(:disabled){transform:translateY(1px)}.wallet-btn:disabled{opacity:.6;cursor:progress}.wallet-info{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.addr-pill{background:#f1f5fb;border:1px solid #d3dbe5;padding:4px 8px;border-radius:999px;font-size:.58rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px}.mini-action{font-size:.55rem;padding:4px 8px;border-radius:6px;border:1px solid #b8c5d8;background:#fff;cursor:pointer;font-weight:500;color:#1f3352}.mini-action:hover{background:#f1f5fb}.mini-action.danger{border-color:#d7b1b1;color:#7d1c1c}.mini-action.danger:hover{background:#ffe9e9}.flow-status{margin-top:.4rem;margin-bottom:.6rem;font-size:.62rem;letter-spacing:.5px;color:#475569;font-weight:500}.landing-intro{text-align:left;margin-top:1.4rem;animation:fadeIn .35s ease}.hero-block{background:var(--color-surface);border:1px solid var(--color-border);padding:clamp(1.4rem,3vw,2rem) clamp(1.1rem,2.4vw,2rem);border-radius:18px;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.hero-block:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(65,99,255,.18),transparent 60%);pointer-events:none}.hero-title{margin:0 0 .6rem;font-size:clamp(1.4rem,3.2vw,2.25rem);background:linear-gradient(90deg,#1d2b3c,#345);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.5px;font-weight:600}.hero-tagline{margin:.2rem 0 1rem;font-size:clamp(.78rem,1.4vw,.95rem);line-height:1.4;color:var(--color-text-soft);max-width:640px}.cta-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cta-btn{font-size:.65rem;padding:.65rem 1.1rem;letter-spacing:.6px}.features-grid{margin:1.4rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.f-card{background:#fff;border:1px solid var(--color-border);padding:.9rem .85rem 1rem;border-radius:14px;display:flex;flex-direction:column;gap:.4rem;position:relative;box-shadow:var(--shadow-sm);transition:border-color .2s,transform .25s,box-shadow .25s}.f-card:hover{border-color:#b5c2d1;transform:translateY(-3px);box-shadow:0 6px 18px -4px #0000001a}.f-title{margin:0;font-size:.72rem;letter-spacing:.5px;font-weight:600;color:#1d2b3c}.f-text{margin:0;font-size:.6rem;line-height:1.35;color:#485869}.howto-block{margin:1.6rem 0 0;background:linear-gradient(120deg,#fff,#f2f5fa);border:1px solid var(--color-border);padding:1rem 1rem 1.1rem;border-radius:16px;box-shadow:var(--shadow-sm)}.howto-steps{margin:0;padding-left:1.1rem;font-size:.62rem;line-height:1.4;display:grid;gap:.35rem;counter-reset:step}.howto-steps li{padding-left:.2rem}.disclaimer{margin:1.2rem 0 0;font-size:.52rem;letter-spacing:.4px;color:#5a6a80;max-width:620px}@media (max-width:640px){.hero-block{padding:1.25rem 1rem 1.4rem;border-radius:16px}.features-grid{gap:.85rem}.f-card{padding:.8rem .75rem .9rem}.f-title{font-size:.69rem}.f-text{font-size:.57rem}.howto-block{padding:.9rem .85rem 1rem}.howto-steps{font-size:.6rem}}@media (max-width: 560px){.wallet-info .addr-pill{display:none}.app-header{gap:.6rem}}
