.auth-modal-backdrop{background:var(--overlay-bg-heavy);z-index:var(--z-modal);padding:var(--space-comfortable);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-elevated);border:var(--border-thick) solid var(--border-strong);border-radius:var(--radius-modal);padding:var(--pad-spacious);width:100%;max-width:320px;box-shadow:var(--shadow-dramatic);position:relative}.auth-modal h2{font-family:var(--font-display);font-size:var(--text-headline);font-weight:var(--weight-bold);text-align:center;margin-bottom:var(--space-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.auth-modal-subtitle{text-align:left;color:var(--text-secondary);font-size:var(--text-label);margin-bottom:var(--space-roomy);padding-bottom:var(--space-roomy);border-bottom:var(--border-thin) solid var(--border-subtle)}.auth-modal-subtitle:has(+.auth-modal-subtitle-secondary){margin-bottom:var(--space-md);border-bottom:none;padding-bottom:0}.auth-modal-close{top:var(--space-md);right:var(--space-md);width:var(--size-icon-xl);height:var(--size-icon-xl);background:var(--bg-inset);border:var(--border-thin) solid var(--border-default);border-radius:var(--radius-action);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-bold);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute}@media (hover:hover) and (pointer:fine){.auth-modal-close:hover{background:var(--action-danger-bg);color:var(--action-danger);border-color:var(--action-danger-border)}}.auth-providers{gap:var(--gap-default);flex-direction:column;display:flex}.auth-btn{justify-content:center;align-items:center;gap:var(--gap-default);min-height:var(--size-touch-target);padding:var(--pad-y-comfortable) var(--pad-x-roomy);border:var(--border-thick) solid var(--border-strong);border-radius:var(--radius-action);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-subtle);display:flex}@media (hover:hover) and (pointer:fine){.auth-btn:hover{background:var(--bg-hover);border-color:var(--action-primary-border);box-shadow:var(--shadow-default);transform:translateY(calc(-1 * var(--space-micro)))}}.auth-btn:active{box-shadow:var(--shadow-subtle);transform:translateY(0)}.auth-btn:disabled{opacity:var(--opacity-dim);cursor:not-allowed;transform:none}.auth-icon{width:var(--size-icon-lg);height:var(--size-icon-lg);flex-shrink:0}.auth-btn-secondary{border-color:var(--border-default);background:0 0}.auth-disabled-message{text-align:center;color:var(--text-muted);font-size:var(--text-body);margin-bottom:var(--space-comfortable);padding:var(--pad-default);background:var(--bg-inset);border-radius:var(--radius-data)}.auth-terms{text-align:center;color:var(--text-muted);font-size:var(--text-legal-math);margin-top:var(--space-comfortable)}.auth-terms a{color:var(--text-secondary);text-decoration:underline}.login-btn{--avatar-border-width:var(--border-emphasis);--avatar-size:var(--logo-size);width:calc(var(--avatar-size) + var(--avatar-border-width) * 2);height:calc(var(--avatar-size) + var(--avatar-border-width) * 2);background:var(--bg-base);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);cursor:pointer;transition:var(--transition-fast);border:none;flex-shrink:0;padding:0;position:relative}.login-btn:after{content:"";top:var(--avatar-border-width);left:var(--avatar-border-width);width:var(--avatar-size);height:var(--avatar-size);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:url(/default-avatar.png) 50%/cover no-repeat;position:absolute}@media (hover:hover) and (pointer:fine){.login-btn:hover{filter:brightness(1.2);transform:scale(1.1)}}.login-btn:active{transform:scale(1.05)}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;transition:transform var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}@media (hover:hover) and (pointer:fine){.user-menu-trigger:hover{transform:scale(1.1)}.user-menu-trigger:hover .hex-ring-gold{filter:drop-shadow(0 0 6px var(--action-reward)) drop-shadow(0 0 12px var(--action-reward))}}.user-menu-dropdown{top:calc(100% + var(--space-sm));white-space:nowrap;background:var(--bg-elevated);border:var(--border-thin) solid var(--border-strong);border-radius:var(--radius-container);box-shadow:var(--shadow-dramatic);z-index:var(--z-dropdown);position:absolute;right:0;overflow:hidden}a.user-menu-header,a.user-menu-item{color:inherit;text-decoration:none}.user-menu-header{width:100%;padding:var(--pad-default);align-items:center;gap:var(--gap-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;display:flex}@media (hover:hover) and (pointer:fine){.user-menu-header:hover{background:var(--bg-hover)}}.user-menu-name{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary)}.user-menu-header .premium-badge{font-weight:var(--weight-semibold);cursor:default}.user-menu-divider{height:var(--border-thin);background:var(--border-strong)}.user-menu-item{align-items:center;gap:var(--gap-tight);width:100%;padding:var(--pad-default);text-align:left;font-size:var(--text-body);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;display:flex}.menu-item-icon{width:var(--size-icon-md);height:var(--size-icon-md);opacity:var(--opacity-subtle);flex-shrink:0}@media (hover:hover) and (pointer:fine){.user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu-item.danger:hover{background:var(--action-danger-fill);color:var(--text-on-action)}}
