:root{--font-display: "Bricolage Grotesque", Georgia, serif;--font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--accent: #ffd400;--accent-hover: #ffe14d;--accent-ink: #1a1500;--accent-wash: #2a2408;--accent-line: #4d4210;--paper: #0c0c0e;--paper-2: #131316;--paper-3: #1c1c20;--surface: #131316;--ink: #f4f4f6;--ink-2: #a8a8b2;--ink-3: #9a9aa6;--line: #232327;--line-strong: #33333a;--good: #4ade80;--good-wash: #0e2a1f;--warn: #f0b84d;--warn-wash: #2a2109;--danger: #ff8a80;--danger-wash: #2a1310;--shadow-md: 0 4px 16px -6px #0009;--shadow-lg: 0 24px 48px -20px #000c;--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--ease: cubic-bezier(.22, .61, .36, 1);--fast: .16s var(--ease);--gutter: clamp(1rem, 4vw, 2.5rem)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate}.backdrop{--px: 0;--py: 0;position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#0b0716}.backdrop__layer{--depth: 22;position:absolute;inset:calc(var(--depth) * -1px - 6px);background:url(/brand/bg-bar.webp) 50% 50% / cover no-repeat;filter:brightness(.5) saturate(.9);transform:translate3d(calc(var(--px) * var(--depth) * -1px),calc(var(--py) * var(--depth) * -1px),0);will-change:transform}.backdrop__shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 60% 30%,transparent 0%,rgba(5,8,16,.55) 70%,rgba(5,8,16,.85) 100%),linear-gradient(180deg,#05081040,#0508101a 40%,#050810b3)}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--gutter);height:72px}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand__mark{background:var(--accent);border-radius:var(--r-sm);padding:6px 10px;display:flex;align-items:center;height:36px}.brand__mark img{height:16px;display:block}.brand__tag{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink-2);letter-spacing:.01em}.header__actions{display:flex;gap:.5rem;align-items:center;margin-left:auto}.main{flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(.5rem,3vw,2rem) var(--gutter) 3rem}.main:before,.main:after{content:""}.main:before{flex:1 1 0}.main:after{flex:2 1 0}.stack{width:100%;max-width:560px;display:flex;flex-direction:column;gap:1rem}.banner{padding:.9rem 1.1rem;border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-md)}.banner .banner__text{margin:0;color:var(--accent-ink);font-family:var(--font-display);line-height:1.35}.banner .banner__lead{display:block;font-size:1.1rem;font-weight:800}.banner .banner__line{display:block;font-size:.95rem;font-weight:600;text-wrap:balance}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.1rem}.card h1,.card h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.15}.card h1{font-size:clamp(1.6rem,5vw,2.1rem)}.card h1 .wordmark{height:.72em;width:auto;vertical-align:baseline;margin:0 .04em}.card h2{font-size:1.25rem}.card p{margin:0;color:var(--ink-2)}.fine{font-size:.8rem;color:var(--ink-3)}.steps{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.step{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--ink-3);padding:.3rem .7rem;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper-2)}.step i{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:.7rem;font-style:normal;background:var(--line-strong);color:var(--ink)}.step.is-active{color:var(--ink);border-color:var(--accent);background:var(--accent-wash)}.step.is-active i,.step.is-done i{background:var(--accent);color:var(--accent-ink)}.step.is-done{color:var(--ink-2)}.steps .sep{color:var(--line-strong)}@media(max-width:480px){.steps .sep{display:none}}.btn{appearance:none;border:1px solid transparent;border-radius:var(--r-pill);padding:.8rem 1.25rem;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background var(--fast),transform var(--fast),border-color var(--fast);text-decoration:none;color:inherit;min-height:46px}.btn:disabled{opacity:.55;cursor:progress}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--discord{background:#5865f2;color:#fff}.btn--discord:hover:not(:disabled){background:#4752c4}.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover:not(:disabled){background:var(--paper-3)}.btn--sm{padding:.45rem .85rem;font-size:.82rem;min-height:34px}.btn--block{width:100%}.btn--danger{color:var(--danger);border-color:transparent;background:transparent}.btn--danger:hover:not(:disabled){background:var(--danger-wash)}.btn svg{width:18px;height:18px}.user{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:var(--r-md);background:var(--paper-2);border:1px solid var(--line)}.user img,.user .avatar{width:32px;height:32px;border-radius:50%;background:#5865f2;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.85rem}.user__name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user__label{font-size:.72rem;color:var(--ink-3);display:block;font-weight:500}.status{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:var(--r-pill);font-weight:600;font-size:.9rem}.status--good{background:var(--good-wash);color:var(--good)}.status--muted{background:var(--paper-3);color:var(--ink-2)}.status .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.rules{display:flex;flex-direction:column;gap:.4rem}.rule{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);font-size:.9rem}.rule.is-ok{border-color:var(--accent-line);background:var(--accent-wash)}.rule__mark{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--paper-3);color:var(--ink-3)}.rule.is-ok .rule__mark{background:var(--accent);color:var(--accent-ink)}.rule__name{font-weight:600;flex:1}.rule__req,.rule__total{color:var(--ink-2);white-space:nowrap}.rule__total b{color:var(--ink)}.rule__contract code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--ink-3)}.rule__contract{text-decoration:none}.wallet__bals{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.wallets{display:flex;flex-direction:column;gap:.5rem}.wallets__head{display:flex;justify-content:space-between;align-items:baseline}.wallets__head h2{font-size:1rem}.wallet{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}.wallet code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--ink)}.wallet a{color:inherit;text-decoration:none}.wallet a:hover{text-decoration:underline}.wallet__bal{font-weight:700;font-size:.9rem;white-space:nowrap}.wallet__bal.is-zero{color:var(--ink-3);font-weight:500}.wallet__bal.is-unknown{color:var(--warn);font-weight:500;font-size:.78rem}.alert{padding:.8rem 1rem;border-radius:var(--r-md);font-size:.9rem;border:1px solid transparent}.alert--error{background:var(--danger-wash);color:var(--danger)}.alert--warn{background:var(--warn-wash);color:var(--warn)}.alert--info{background:var(--paper-3);color:var(--ink-2)}.progress{display:flex;align-items:center;gap:.75rem;color:var(--ink-2);font-weight:500}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;background:#0000008c;padding:1rem}@media(min-width:640px){.modal{place-items:center}}.modal__panel{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-lg)}.modal__panel h2{margin:0;font-family:var(--font-display);font-size:1.1rem}.wallet-opt{display:flex;align-items:center;gap:.8rem;padding:.8rem .9rem;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper-2);font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;width:100%}.wallet-opt:hover{border-color:var(--accent);background:var(--accent-wash)}.wallet-opt img,.wallet-opt .ico{width:28px;height:28px;border-radius:6px;background:var(--paper-3);display:grid;place-items:center;font-size:.9rem;flex:none}.wallet-opt .ico svg{width:18px;height:18px}.wallet-opt .ico--wc{background:transparent}.wallet-opt .ico--wc svg{width:28px;height:28px}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.actions .btn{flex:1 1 200px}@media(max-width:480px){.brand__tag{display:none}.user{flex-wrap:wrap}.user .status{flex-basis:100%;justify-content:center}.wallet{grid-template-columns:1fr auto}.wallet .btn{grid-column:1 / -1;justify-self:end}}.result{display:grid;justify-items:center;gap:.55rem;text-align:center;padding:.25rem 0}.result p{max-width:34ch}.result__icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:800 1.9rem/1 var(--font-display)}.result__icon svg{width:32px;height:32px}.result--ok .result__icon{background:var(--good-wash);color:var(--good);box-shadow:0 0 0 1px color-mix(in srgb,var(--good) 35%,transparent),0 0 32px color-mix(in srgb,var(--good) 25%,transparent)}.result--warn .result__icon{background:var(--warn-wash);color:var(--warn)}.result--wait .result__icon{background:var(--surface);box-shadow:0 0 0 1px var(--line)}.result.is-new .result__icon{animation:result-pop .5s cubic-bezier(.2,.9,.3,1.3) both}@keyframes result-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.result.is-new .result__icon{animation:none}}.result__note{text-align:center}
