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