.gl-list{gap:var(--space-4);flex-direction:column;display:flex}.gl-list-empty{padding:var(--space-8)var(--space-7);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);text-align:center}.gl-list-empty p{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-base)}.gl-list-empty p:last-child{margin-bottom:0}.gl-list-link{color:var(--color-accent-gold);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--color-accent-gold)40%,transparent);text-decoration-color:color-mix(in srgb,var(--color-accent-gold)40%,transparent);transition:text-decoration-color .2s}.gl-list-link:hover{-webkit-text-decoration-color:var(--color-accent-gold);text-decoration-color:var(--color-accent-gold)}.gl-section{gap:var(--space-3);flex-direction:column;display:flex}.gl-section-title{align-items:center;gap:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0;font-weight:700;display:flex}.gl-section--playing .gl-section-title{color:var(--color-success)}.gl-section--wishlist .gl-section-title{color:var(--color-accent-gold)}.gl-section--played .gl-section-title{color:#c084fc}.gl-section-count{min-width:18px;height:18px;color:var(--color-text-muted);background:var(--color-surface-raised);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.gl-game-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.gl-game-card{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;transition:border-color .2s;display:flex}.gl-game-card:hover{border-color:var(--color-border-strong)}.gl-game-main{align-items:flex-start;gap:var(--space-3);display:flex}.gl-game-thumb{border-radius:var(--radius-md);object-fit:cover;background:var(--color-surface);border:1px solid var(--color-border-subtle);flex:none;width:52px;height:52px;display:block}.gl-game-info{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.gl-game-name{font-size:var(--text-sm);color:var(--color-text);overflow-wrap:anywhere;font-weight:700;line-height:1.3}.gl-game-when{font-size:var(--text-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gl-game-stats{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.gl-stat{align-items:start;gap:var(--space-3);grid-template-columns:68px 1fr;display:grid}.gl-stat-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-faint);padding-top:3px;font-size:10px;font-weight:700;line-height:1.2}.gl-stat-value{align-items:center;min-width:0;display:flex}.gl-stat-empty{font-size:var(--text-xs);color:var(--color-text-faint);font-style:italic}.gl-game-foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);display:flex}.gl-rate-btn{font-size:var(--text-xs);color:var(--color-accent-gold);border:1px solid color-mix(in srgb,var(--color-accent-gold)45%,transparent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;padding:4px 12px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gl-rate-btn:hover{color:var(--color-bg-deep);background:var(--color-accent-gold);border-color:var(--color-accent-gold)}.gl-rate-overlay{z-index:1000;padding:var(--space-6)var(--space-4);background:color-mix(in srgb,var(--color-bg-deep)78%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;animation:.15s gl-rate-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes gl-rate-fade{0%{opacity:0}to{opacity:1}}.gl-rate-modal{background:var(--color-bg-deep);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:100%;max-width:540px;margin:auto 0;animation:.18s gl-rate-rise;box-shadow:0 24px 60px #00000080}@keyframes gl-rate-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gl-rate-modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.gl-rate-modal-title{font-size:var(--text-lg);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.gl-rate-close{width:30px;height:30px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.gl-rate-close:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface)}.gl-rate-modal-body{padding:var(--space-5)}@media (max-width:640px){.gl-game-grid{grid-template-columns:1fr}}
.profile-view{gap:var(--space-7);flex-direction:column;display:flex}@keyframes cosmeticPulse{0%,to{box-shadow:var(--frame-glow,0 0 12px currentColor);opacity:1}50%{box-shadow:var(--frame-glow,0 0 24px currentColor);opacity:.88}}@keyframes cosmeticFlicker{0%,19%,21%,23%,to{opacity:1}20%,22%{opacity:.75}}@keyframes cosmeticShimmer{0%{filter:brightness()}50%{filter:brightness(1.25)}to{filter:brightness()}}.cosmetic-anim-pulse{animation:2.4s ease-in-out infinite cosmeticPulse}.cosmetic-anim-flicker{animation:3.6s linear infinite cosmeticFlicker}.cosmetic-anim-shimmer{animation:2s ease-in-out infinite cosmeticShimmer}@media (prefers-reduced-motion:reduce){.cosmetic-anim-pulse,.cosmetic-anim-flicker,.cosmetic-anim-shimmer{animation:none}}.profile-banner{border-radius:var(--radius-xl);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:220px;position:relative;overflow:hidden}.profile-banner:after{content:"";border-radius:inherit;background:linear-gradient(to bottom,#020a0d00 35%,#020a0d8c 75%,var(--color-bg)100%);pointer-events:none;position:absolute;inset:0}.profile-banner--empty{background:linear-gradient(135deg,var(--color-surface-raised),var(--color-bg-deep));height:150px}.profile-hero{margin-top:calc(-1*var(--space-7) + var(--space-2));padding:0 var(--space-4);z-index:1;position:relative}.profile-avatar-wrap{left:var(--space-4);z-index:2;width:100px;height:100px;position:absolute;top:-84px}.profile-avatar{border:3px solid var(--color-border-strong);background:var(--color-bg-deep);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;transition:border-color .2s,box-shadow .2s;display:flex}.avatar-frame-img{pointer-events:none;z-index:1;object-fit:contain;width:158px;height:158px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.avatar-initial{background:var(--color-surface-raised);width:82px;height:82px;font-family:var(--font-jersey20);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:44px;line-height:1;display:flex}.profile-avatar.frame--golden{border-color:gold;box-shadow:0 0 16px #ffd70073}.profile-avatar.frame--frost{border-color:#7dd3fc;box-shadow:0 0 16px #7dd3fc73}.profile-avatar.frame--fire{border-color:#f97316;box-shadow:0 0 16px #f9731673}.profile-avatar.frame--nature{border-color:#4ade80;box-shadow:0 0 16px #4ade8073}.profile-avatar.frame--murloc{border-color:#06b6d4;box-shadow:0 0 20px #06b6d48c}.profile-avatar.frame--shadow{border-color:#8b5cf6;box-shadow:0 0 16px #8b5cf673}.profile-identity{gap:var(--space-1);margin-left:calc(100px + var(--space-6));flex-direction:column;min-height:22px;display:flex}.profile-name-row{align-items:center;gap:var(--space-2);display:flex}.profile-badge-emoji{font-size:28px;line-height:1}.badge-img{object-fit:contain;flex-shrink:0;width:30px;height:30px}.profile-username{margin:0;line-height:1}.profile-title-chip{padding:2px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-variant:small-caps;letter-spacing:.08em;color:var(--color-accent-gold);text-shadow:0 0 8px #ffd70040;border:1px solid #ffd7004d;border-color:color-mix(in srgb,var(--color-accent-gold)30%,transparent);background:#ffd7001a;background:color-mix(in srgb,var(--color-accent-gold)10%,transparent);width:fit-content;font-weight:700;display:inline-block}.profile-since{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-1)0 0}.profile-platforms{gap:var(--space-2);margin-top:var(--space-2);display:flex}.platform-icon-wrapper{align-items:center;display:flex}.platform-link{opacity:.55;align-items:center;transition:opacity .2s;display:flex}.platform-link:hover{opacity:1}.platform-icon{width:20px;height:20px;color:var(--color-text);display:inline-flex}.platform-text{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase}.invested-strip{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.invested-stat{align-items:center;gap:var(--space-1);padding:var(--space-5)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;display:flex}.invested-stat--hero{border-color:color-mix(in srgb,var(--color-accent-gold)20%,transparent);background:color-mix(in srgb,var(--color-accent-gold)4%,transparent)}.invested-stat--hero .invested-number{color:var(--color-accent-gold);font-size:var(--text-2xl);text-shadow:0 0 24px color-mix(in srgb,var(--color-accent-gold)30%,transparent)}.invested-number{font-family:var(--font-jersey20);font-size:var(--text-xl);color:var(--color-text);line-height:1}.invested-total{font-size:var(--text-base);color:var(--color-text-muted)}.invested-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.rpg-card{gap:var(--space-3);padding:var(--space-5)var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.rpg-card--empty{border-style:dashed}.rpg-card__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:700}.rpg-card__body{align-items:center;gap:var(--space-4);display:flex}.rpg-class-emoji{flex-shrink:0;font-size:36px;line-height:1}.rpg-info{flex-direction:column;gap:2px;display:flex}.rpg-name{font-family:var(--font-jersey20);font-size:var(--text-xl);color:var(--color-text);line-height:1}.rpg-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.rpg-dead{color:var(--color-danger-dim);font-style:italic}.rpg-empty-text{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.rpg-command{background:var(--color-surface-raised);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--text-xs);color:var(--color-text);padding:1px 6px}.section-title{font-family:var(--font-jersey20);font-size:var(--text-2xl);color:var(--color-text);text-transform:uppercase;letter-spacing:1px;margin:0;font-weight:400}.equip-error-banner{padding:var(--space-3)var(--space-4);background:color-mix(in srgb,var(--color-danger)12%,transparent);border:1px solid color-mix(in srgb,var(--color-danger)40%,transparent);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-danger-dim);animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-loadout{gap:var(--space-4);flex-direction:column;display:flex}.loadout-slots{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.loadout-slot{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.slot-header{justify-content:space-between;align-items:center;display:flex}.slot-name{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.slot-edit-btn{font-size:var(--text-xs);color:var(--color-accent-gold);cursor:pointer;padding:2px var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:700;transition:background .2s}.slot-edit-btn:hover{background:color-mix(in srgb,var(--color-accent-gold)10%,transparent)}.slot-current{justify-content:center;align-items:center;min-height:52px;display:flex}.slot-preview-frame{border:3px solid var(--color-border-strong);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.slot-preview-frame .frame-inner{background:var(--color-surface-raised);border-radius:50%;width:38px;height:38px}.slot-preview-frame.frame--golden{border-color:gold;box-shadow:0 0 8px #ffd70066}.slot-preview-frame.frame--frost{border-color:#7dd3fc;box-shadow:0 0 8px #7dd3fc66}.slot-preview-frame.frame--fire{border-color:#f97316;box-shadow:0 0 8px #f9731666}.slot-preview-frame.frame--nature{border-color:#4ade80;box-shadow:0 0 8px #4ade8066}.slot-preview-frame.frame--murloc{border-color:#06b6d4;box-shadow:0 0 12px #06b6d480}.slot-preview-frame.frame--shadow{border-color:#8b5cf6;box-shadow:0 0 8px #8b5cf666}.slot-preview-frame-wrap{width:52px;height:52px;position:relative}.slot-preview-frame-wrap .slot-preview-frame{position:relative}.slot-frame-img{pointer-events:none;z-index:1;object-fit:contain;width:82px;height:82px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slot-badge-img{object-fit:contain;width:36px;height:36px}.option-frame-img{object-fit:contain;flex-shrink:0;width:24px;height:24px}.option-badge-img{object-fit:contain;flex-shrink:0;width:18px;height:18px}.slot-preview-title{font-size:var(--text-base);color:#ffffffd9;font-style:italic;font-weight:700}.slot-preview-badge{font-size:36px;line-height:1}.slot-preview-accent{gap:var(--space-2);align-items:center;display:flex}.accent-swatch{border-radius:var(--radius-full);border:2px solid #fff3;flex-shrink:0;width:24px;height:24px;display:inline-block}.accent-swatch--primary{width:28px;height:28px}.accent-swatch--secondary{opacity:.8;width:20px;height:20px}.slot-preview-background{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);width:100%;height:36px}.slot-empty{font-size:var(--text-sm);color:var(--color-text-faint);font-style:italic;font-weight:300}.slot-options{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.slot-option{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);font-size:var(--text-sm);text-align:left;transition:background .2s,border-color .2s;display:flex}.slot-option:hover:not(:disabled){background:var(--color-surface-raised);border-color:color-mix(in srgb,var(--color-accent-gold)30%,transparent)}.slot-option.equipped{cursor:default;background:#4ade800d;border-color:#4ade8059}.slot-option.unequip{color:var(--color-text-muted);font-style:italic}.slot-option:disabled{opacity:.5;cursor:not-allowed}.option-frame-preview{border:2px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;width:24px;height:24px}.option-frame-preview.frame--golden{border-color:gold}.option-frame-preview.frame--frost{border-color:#7dd3fc}.option-frame-preview.frame--fire{border-color:#f97316}.option-frame-preview.frame--nature{border-color:#4ade80}.option-frame-preview.frame--murloc{border-color:#06b6d4}.option-frame-preview.frame--shadow{border-color:#8b5cf6}.option-accent-swatch{border-radius:var(--radius-full);border:2px solid #fff3;flex-shrink:0;width:20px;height:20px;display:inline-block}.option-bg-preview{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);flex-shrink:0;width:32px;height:20px;display:inline-block}.option-title-preview,.option-badge-preview{flex-shrink:0}.option-badge-preview{font-size:18px}.option-name{flex:1}.option-equipped-badge{color:var(--color-success-dim);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.profile-library,.profile-collection{gap:var(--space-4);flex-direction:column;display:flex}.collection-empty{padding:var(--space-8)var(--space-7);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);text-align:center}.collection-empty p{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-base)}.collection-empty p:last-child{margin-bottom:0}.collection-store-link{color:var(--color-accent-gold);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--color-accent-gold)40%,transparent);text-decoration-color:color-mix(in srgb,var(--color-accent-gold)40%,transparent);transition:text-decoration-color .2s}.collection-store-link:hover{-webkit-text-decoration-color:var(--color-accent-gold);text-decoration-color:var(--color-accent-gold)}.collection-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.collection-item{align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;transition:border-color .2s;display:flex;position:relative}.collection-item.equipped{border-color:#4ade804d}.collection-item.rarity--common{border-top:2px solid #9ca3af}.collection-item.rarity--rare{border-top:2px solid #3b82f6}.collection-item.rarity--epic{border-top:2px solid #a855f7}.collection-item.rarity--legendary{border-top:2px solid #f59e0b}.collection-preview{justify-content:center;align-items:center;min-height:44px;display:flex}.collection-frame{border:2px solid var(--color-border-strong);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.collection-frame .frame-inner{background:var(--color-surface-raised);border-radius:50%;width:28px;height:28px}.collection-frame.frame--golden{border-color:gold}.collection-frame.frame--frost{border-color:#7dd3fc}.collection-frame.frame--fire{border-color:#f97316}.collection-frame.frame--nature{border-color:#4ade80}.collection-frame.frame--murloc{border-color:#06b6d4}.collection-frame.frame--shadow{border-color:#8b5cf6}.collection-frame-wrap{width:40px;height:40px;position:relative}.collection-frame-img{pointer-events:none;z-index:1;object-fit:contain;width:63px;height:63px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collection-badge-img{object-fit:contain;width:26px;height:26px}.collection-title-text{font-size:var(--text-xs);color:#ffffffd9;text-align:center;font-style:italic;font-weight:700}.collection-badge-emoji{font-size:26px;line-height:1}.collection-accent-swatches{gap:var(--space-1);align-items:center;display:flex}.collection-bg-preview{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);width:40px;height:28px}.collection-name{color:#fffc;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:700;overflow:hidden}.collection-equipped{color:var(--color-success-dim);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.store-cta-link{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-2)0;align-self:flex-start;font-weight:700;text-decoration:none;transition:color .2s}.store-cta-link:hover{color:var(--color-accent-gold)}@media screen and (max-width:600px){.profile-hero{text-align:center;flex-direction:column}.profile-name-row,.profile-platforms{justify-content:center}.profile-title-chip{align-self:center}.profile-since{text-align:center}.invested-strip{grid-template-columns:repeat(2,1fr)}.loadout-slots{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.store-cta-link{align-self:center}}
.profile-page{gap:var(--space-7);flex-direction:column;width:100%;max-width:960px;margin:0 auto;display:flex}.profile-page .empty-state{min-height:300px;padding:var(--space-8);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);text-align:center;justify-content:center;align-items:center;display:flex}.profile-page .empty-state p{font-size:var(--text-base);color:var(--color-text-muted);margin:0;font-weight:300}
