*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0e;--surface: rgba(17, 17, 17, 1);--surface-border: rgba(34, 34, 34, 1);--glass: rgba(24, 40, 24, .35);--glass-border: rgba(8, 62, 34, .4);--glass-border-hover: rgba(8, 62, 34, .6);--gold: #d0c98d;--gold-secondary: #d7c529;--gold-dim: rgba(208, 201, 141, .15);--green-bright: #22c55e;--green-dim: rgba(34, 197, 94, .15);--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .3);--text-faint: rgba(255, 255, 255, .15);--red: #ef4444;--red-bg: rgba(239, 68, 68, .08);--red-border: rgba(239, 68, 68, .2);--ring: rgba(255, 255, 255, .06);--ring-hover: rgba(255, 255, 255, .1);--font-display: "Cinzel", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);min-height:100dvh;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.bg-image{position:fixed;inset:0;z-index:0;background:url(/game.png) center center / cover no-repeat}.bg-overlay{position:fixed;inset:0;z-index:1;background:#0a0a0e99}.bg-noise{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px 128px}.bg-fade{position:fixed;bottom:0;left:0;right:0;height:40vh;z-index:2;pointer-events:none;background:linear-gradient(to top,var(--bg),transparent)}.container{max-width:440px;width:100%;padding:2rem 1.5rem;text-align:center;position:relative;z-index:10}.container.wide{max-width:960px;min-width:400px;width:90vw}.logo-wrapper{margin-bottom:1.75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-img{width:220px;height:auto;filter:drop-shadow(0 0 24px rgba(208,201,141,.25));transition:filter .5s ease}.logo-img:hover{filter:drop-shadow(0 0 32px rgba(208,201,141,.4))}.logo-title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;line-height:1}.logo-subtitle{font-size:.7rem;font-weight:500;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase}.card{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:2rem 1.75rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #0006;transition:border-color .3s ease}.wide .card{padding:2rem}.card:hover{border-color:var(--glass-border-hover)}.server-info{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.75rem}.server-icon{width:28px;height:28px;border-radius:50%;border:1px solid var(--ring)}.icon-placeholder{width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--surface-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-muted)}.server-name{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.network-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:500;padding:.25rem .7rem;border:1px solid var(--ring);background:#ffffff0a;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;margin-bottom:1.5rem}.network-badge.ethereum{color:#a0b4d0}.network-dot{width:5px;height:5px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 6px var(--green-bright);animation:dot-pulse 2.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--ring-hover),transparent);margin:.85rem 0}.step-indicator{display:flex;justify-content:center;gap:6px;margin-bottom:1.5rem}.step{width:24px;height:3px;border-radius:2px;background:#ffffff14;transition:all .4s ease}.step.active{background:var(--gold);box-shadow:0 0 8px #d0c98d4d;width:32px}.step.complete{background:#d0c98d4d}.wallet-info{font-size:.8rem;color:var(--text-secondary);margin-bottom:1.25rem}.wallet-address{font-weight:600;color:var(--gold);letter-spacing:.03em}.wallet-info a{color:var(--text-muted);text-decoration:none;cursor:pointer;font-size:.75rem;transition:color .2s}.wallet-info a:hover{color:var(--text-secondary)}.instruction{font-size:.85rem;color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.6}button{font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(208,201,141,.25);background:#d0c98d0f;color:var(--gold);padding:.85rem 2rem;border-radius:8px;cursor:pointer;transition:all .25s ease;width:100%}button:hover{background:#d0c98d1f;border-color:#d0c98d66;box-shadow:0 0 24px #d0c98d14}button:active{transform:translateY(1px)}button:disabled{opacity:.3;cursor:not-allowed}button.secondary{border-color:var(--ring-hover);color:var(--text-secondary);background:#ffffff0a}button.secondary:hover{background:#ffffff14;border-color:#ffffff26;color:var(--text-primary)}.status{font-size:.8rem;color:var(--text-muted);margin-top:1rem;font-style:italic}.danger{color:var(--red);font-size:.8rem;margin-top:1rem;padding:.75rem;border:1px solid var(--red-border);background:var(--red-bg);border-radius:8px;text-align:left;line-height:1.5}.advanced-error{display:block;font-size:.65rem;color:var(--text-muted);word-break:break-all;margin-top:.5rem;padding:.5rem;background:var(--surface);border:1px solid var(--surface-border);border-radius:6px;text-align:left;max-height:80px;overflow-y:auto}.success{margin-top:0}.success-icon{display:block;margin-bottom:1rem}.success-icon img{width:48px;height:auto;filter:drop-shadow(0 0 16px rgba(208,201,141,.3));animation:success-appear .5s ease-out}@keyframes success-appear{0%{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.success-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:500;padding:.25rem .75rem;border:1px solid rgba(34,197,94,.25);background:var(--green-dim);color:var(--green-bright);text-transform:uppercase;letter-spacing:.08em;border-radius:6px;margin-bottom:1.25rem}.success h1{font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.4}.success .close-hint{font-size:.75rem;color:var(--text-muted)}.confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999}.invalid-link{text-align:center;padding:3rem 1.5rem;z-index:10;position:relative}.invalid-link .error-icon{width:48px;height:auto;margin-bottom:1.25rem;opacity:.5;filter:drop-shadow(0 0 12px rgba(208,201,141,.2))}.invalid-link h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:.06em;text-transform:uppercase}.invalid-link p{font-size:.85rem;color:var(--text-muted)}.profile-header{display:flex;align-items:center;gap:1rem}.profile-avatar{width:56px;height:56px;border-radius:50%;border:2px solid var(--glass-border);flex-shrink:0;object-fit:cover}.profile-header-info{display:flex;flex-direction:column;gap:.1rem}.profile-username{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);letter-spacing:.03em}.profile-guild-row{display:flex;align-items:center;gap:.35rem}.profile-guild-icon{width:18px;height:18px;border-radius:4px}.profile-member-since{font-size:.7rem;color:var(--text-muted)}.profile-section{text-align:left}.profile-section-title{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}.profile-connection{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--ring);border-radius:8px;background:#ffffff05;margin-bottom:.5rem;transition:border-color .2s,background .2s}.profile-connection:hover{border-color:var(--ring-hover);background:#ffffff0a}.profile-connection.disabled{opacity:.5;pointer-events:none}.profile-connection-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-connection-icon.discord{background:#5865f226;color:#5865f2}.profile-connection-icon.starknet{background:#d0c98d1a}.profile-connection-icon.ethereum{background:#a0b4d01a}.profile-connection-icon.placeholder{background:#ffffff0a;color:var(--text-muted)}.profile-connection-icon img{border-radius:2px;object-fit:contain}.profile-connection-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.profile-connection-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.profile-connection-name.dimmed{color:var(--text-muted)}.profile-connection-network{font-size:.7rem;color:var(--text-muted);margin-left:.35rem;font-weight:400}.profile-connection-detail{font-size:.75rem;color:var(--text-muted)}.profile-connection-detail.address{color:var(--gold);text-decoration:none;font-weight:500;letter-spacing:.02em;transition:color .2s}.profile-connection-detail.address:hover{color:var(--gold-secondary)}.profile-connection-status{flex-shrink:0;font-size:.85rem}.profile-connection-status.verified{color:var(--green-bright)}.profile-connection-status.pending{color:var(--text-muted)}.profile-roles{display:flex;flex-wrap:wrap;gap:.35rem}.profile-role{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border:1px solid var(--ring);border-radius:20px;background:#ffffff08;transition:border-color .2s,background .2s}.profile-role:hover{border-color:var(--ring-hover);background:#ffffff0f}.profile-role-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;box-shadow:0 0 6px #d0c98d59}.profile-role-info{display:flex;align-items:baseline;gap:.3rem}.profile-role-name{font-size:.78rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.profile-role-type{font-size:.6rem;color:var(--text-muted);white-space:nowrap}.profile-coming-soon{display:flex;flex-direction:column;gap:.4rem}.hidden{display:none!important}@media(max-width:480px){.container{padding:1.5rem 1rem}.card{padding:1.5rem 1.25rem}.logo-title{font-size:1.5rem}}
